You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

constants.h 9.3 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  1. #pragma once
  2. #ifndef CONSTANTS_H
  3. #define CONSTANTS_H
  4. #ifndef SCCI
  5. #define SCCI static const constexpr inline
  6. #endif
  7. namespace Constants
  8. {
  9. // 地图相关
  10. SCCI int numOfGridPerCell = 1000; // 单位坐标数
  11. SCCI int rows = 50; // 地图行数
  12. SCCI int cols = 50; // 地图列数
  13. SCCI int numOfClassroom = 10; // 教室数量
  14. SCCI int numOfChest = 8; // 宝箱数量
  15. SCCI int maxClassroomProgress = 10000000; // 教室最大进度
  16. SCCI int maxDoorProgress = 10000000; // 开关门最大进度
  17. SCCI int maxChestProgress = 10000000; // 宝箱最大进度
  18. SCCI int maxGateProgress = 18000; // 大门最大进度
  19. SCCI int numOfRequiredClassroomForGate = 7; // 打开大门需要完成的教室数量
  20. SCCI int numOfRequiredClassroomForHiddenGate = 3; // 打开隐藏门需要完成的教室数量
  21. // 人物属性相关
  22. SCCI int basicTreatSpeed = 100;
  23. SCCI int basicFixSpeed = 123;
  24. SCCI int basicSpeedOfOpeningOrLocking = 4000;
  25. SCCI int basicStudentSpeedOfClimbingThroughWindows = 611;
  26. SCCI int basicTrickerSpeedOfClimbingThroughWindows = 1270;
  27. SCCI int basicSpeedOfOpenChest = 1000;
  28. SCCI int basicHp = 3000000;
  29. SCCI int basicMaxGamingAddiction = 60000;
  30. SCCI int BeginGamingAddiction = 20900;
  31. SCCI int MidGamingAddiction = 40300;
  32. SCCI int basicTreatmentDegree = 1500000;
  33. SCCI int basicTimeOfRescue = 1000;
  34. SCCI int basicStudentSpeed = 1270;
  35. SCCI int basicTrickerSpeed = 1504;
  36. SCCI int maxSpeed = 12000;
  37. SCCI double basicConcealment = 1.0;
  38. SCCI int basicStudentAlertnessRadius = 15 * numOfGridPerCell;
  39. SCCI int basicTrickerAlertnessRadius = 17 * numOfGridPerCell;
  40. SCCI int basicStudentViewRange = 10 * numOfGridPerCell;
  41. SCCI int basicTrickerViewRange = 15 * numOfGridPerCell;
  42. SCCI int maxNumOfProp = 3;
  43. // 攻击相关
  44. SCCI int basicApOfTricker = 1500000;
  45. SCCI int basicCD = 3000; // 初始子弹冷却
  46. SCCI int basicCastTime = 500; // 基本前摇时间
  47. SCCI int basicBackswing = 800; // 基本后摇时间
  48. SCCI int basicRecoveryFromHit = 3700; // 基本命中攻击恢复时长
  49. SCCI int basicStunnedTimeOfStudent = 4300;
  50. SCCI int basicBulletMoveSpeed = 3700; // 基本子弹移动速度
  51. SCCI double basicRemoteAttackRange = 3000; // 基本远程攻击范围
  52. SCCI double basicAttackShortRange = 1100; // 基本近程攻击范围
  53. SCCI double basicBulletBombRange = 1000; // 基本子弹爆炸范围
  54. // 道具相关
  55. SCCI int apPropAdd = basicApOfTricker * 12 / 10;
  56. SCCI int apSpearAdd = basicApOfTricker * 6 / 10;
  57. SCCI int remainHpWhenAddLife = 100;
  58. // 职业相关
  59. struct Assassin
  60. {
  61. SCCI double moveSpeed = 1.1;
  62. SCCI double maxHp = 1.0;
  63. SCCI double concealment = 1.5;
  64. SCCI double alertnessRadius = 1.3;
  65. SCCI double viewRange = 1.2;
  66. SCCI double speedOfOpeningOrLocking = 1.0;
  67. SCCI double speedOfClimbingThroughWindows = 1.0;
  68. SCCI double speedOfOpenChest = 1.0;
  69. };
  70. struct Klee
  71. {
  72. SCCI double moveSpeed = 1.0;
  73. SCCI double maxHp = 1.0;
  74. SCCI double concealment = 1.0;
  75. SCCI double alertnessRadius = 1.0;
  76. SCCI double viewRange = 1.0;
  77. SCCI double speedOfOpeningOrLocking = 1.0;
  78. SCCI double speedOfClimbingThroughWindows = 1.0;
  79. SCCI double speedOfOpenChest = 1.1;
  80. };
  81. struct ANoisyPerson
  82. {
  83. SCCI double moveSpeed = 1.07;
  84. SCCI double maxHp = 1.2;
  85. SCCI double concealment = 0.8;
  86. SCCI double alertnessRadius = 0.9;
  87. SCCI double viewRange = 1.0;
  88. SCCI double speedOfOpeningOrLocking = 1.0;
  89. SCCI double speedOfClimbingThroughWindows = 1.1;
  90. SCCI double speedOfOpenChest = 1.1;
  91. };
  92. struct Idol
  93. {
  94. SCCI double moveSpeed = 1.0;
  95. SCCI double maxHp = 1.0;
  96. SCCI double concealment = 0.75;
  97. SCCI double alertnessRadius = 1.0;
  98. SCCI double viewRange = 1.1;
  99. SCCI double speedOfOpeningOrLocking = 1.0;
  100. SCCI double speedOfClimbingThroughWindows = 1.0;
  101. SCCI double speedOfOpenChest = 1.0;
  102. };
  103. struct Athlete
  104. {
  105. SCCI double moveSpeed = 1.1;
  106. SCCI double maxHp = 1.0;
  107. SCCI double maxAddiction = 0.9;
  108. SCCI double fixSpeed = 0.6;
  109. SCCI double treatSpeed = 0.8;
  110. SCCI double concealment = 0.9;
  111. SCCI double alertnessRadius = 1.0;
  112. SCCI double viewRange = 1.1;
  113. SCCI double speedOfOpeningOrLocking = 1.0;
  114. SCCI double speedOfClimbingThroughWindows = 1.2;
  115. SCCI double speedOfOpenChest = 1.0;
  116. };
  117. struct Teacher
  118. {
  119. SCCI double moveSpeed = 0.75;
  120. SCCI double maxHp = 10.0;
  121. SCCI double maxAddiction = 10.0;
  122. SCCI double fixSpeed = 0.0;
  123. SCCI double treatSpeed = 0.7;
  124. SCCI double concealment = 0.5;
  125. SCCI double alertnessRadius = 0.5;
  126. SCCI double viewRange = 0.9;
  127. SCCI double speedOfOpeningOrLocking = 1.0;
  128. SCCI double speedOfClimbingThroughWindows = 0.5;
  129. SCCI double speedOfOpenChest = 1.0;
  130. };
  131. struct StraightAStudent
  132. {
  133. SCCI double moveSpeed = 0.8;
  134. SCCI double maxHp = 1.1;
  135. SCCI double maxAddiction = 1.3;
  136. SCCI double fixSpeed = 1.1;
  137. SCCI double treatSpeed = 0.8;
  138. SCCI double concealment = 0.9;
  139. SCCI double alertnessRadius = 0.9;
  140. SCCI double viewRange = 0.9;
  141. SCCI double speedOfOpeningOrLocking = 1.0;
  142. SCCI double speedOfClimbingThroughWindows = 0.83333;
  143. SCCI double speedOfOpenChest = 1.0;
  144. };
  145. struct Robot
  146. {
  147. SCCI double moveSpeed = 1.0;
  148. SCCI double maxHp = 0.4;
  149. SCCI double maxAddiction = 0.0;
  150. SCCI double fixSpeed = 1.0;
  151. SCCI double treatSpeed = 0.8;
  152. SCCI double concealment = 1.0;
  153. SCCI double alertnessRadius = 1.0;
  154. SCCI double viewRange = 1.0;
  155. SCCI double speedOfOpeningOrLocking = 1.0;
  156. SCCI double speedOfClimbingThroughWindows = 0.0016;
  157. SCCI double speedOfOpenChest = 1.0;
  158. };
  159. struct TechOtaku
  160. {
  161. SCCI double moveSpeed = 0.75;
  162. SCCI double maxHp = 0.9;
  163. SCCI double maxAddiction = 1.1;
  164. SCCI double fixSpeed = 1.1;
  165. SCCI double treatSpeed = 0.9;
  166. SCCI double concealment = 1.0;
  167. SCCI double alertnessRadius = 1.0;
  168. SCCI double viewRange = 0.9;
  169. SCCI double speedOfOpeningOrLocking = 1.0;
  170. SCCI double speedOfClimbingThroughWindows = 0.75;
  171. SCCI double speedOfOpenChest = 1.0;
  172. };
  173. struct Sunshine
  174. {
  175. SCCI double moveSpeed = 1.0;
  176. SCCI double maxHp = 1.0667;
  177. SCCI double maxAddiction = 1.1;
  178. SCCI double fixSpeed = 1.0;
  179. SCCI double treatSpeed = 2.0;
  180. SCCI double concealment = 1.0;
  181. SCCI double alertnessRadius = 1.0;
  182. SCCI double viewRange = 1.0;
  183. SCCI double speedOfOpeningOrLocking = 1.0;
  184. SCCI double speedOfClimbingThroughWindows = 1.0;
  185. SCCI double speedOfOpenChest = 1.0;
  186. };
  187. // 技能相关
  188. SCCI int maxNumOfSkill = 3;
  189. SCCI int commonSkillCD = 30000; // 普通技能标准冷却时间
  190. SCCI int commonSkillTime = 10000; // 普通技能标准持续时间
  191. SCCI int timeOfTrickerFaintingWhenCharge = 7220;
  192. SCCI int timeOfStudentFaintingWhenCharge = 2090;
  193. SCCI int timeOfTrickerFaintingWhenPunish = 3070;
  194. SCCI int timeOfTrickerSwingingAfterHowl = 3070;
  195. SCCI int timeOfStudentFaintingWhenHowl = 6110;
  196. SCCI int timeOfStunnedWhenJumpyDumpty = 3070;
  197. SCCI double addedTimeOfSpeedWhenInspire = 0.6;
  198. SCCI int timeOfAddingSpeedWhenInspire = 6000;
  199. struct CanBeginToCharge
  200. {
  201. SCCI double skillCD = 0.8;
  202. SCCI double durationTime = 0.5;
  203. };
  204. struct BecomeInvisible
  205. {
  206. SCCI double skillCD = 2.0;
  207. SCCI double durationTime = 0.6;
  208. };
  209. struct Punish
  210. {
  211. SCCI double skillCD = 1.0;
  212. SCCI double durationTime = 0.0;
  213. };
  214. struct Rouse
  215. {
  216. SCCI double skillCD = 2.0;
  217. SCCI double durationTime = 0.0;
  218. };
  219. struct Encourage
  220. {
  221. SCCI double skillCD = 2.0;
  222. SCCI double durationTime = 0.0;
  223. };
  224. struct Inspire
  225. {
  226. SCCI double skillCD = 2.0;
  227. SCCI double durationTime = 0.0;
  228. };
  229. struct Howl
  230. {
  231. SCCI double skillCD = 0.8333;
  232. SCCI double durationTime = 0.0;
  233. };
  234. struct ShowTime
  235. {
  236. SCCI double skillCD = 3.0;
  237. SCCI double durationTime = 1.0;
  238. };
  239. struct JumpyBomb
  240. {
  241. SCCI double skillCD = 0.5;
  242. SCCI double durationTime = 0.3;
  243. };
  244. struct UseKnife
  245. {
  246. SCCI double skillCD = 1.0;
  247. SCCI double durationTime = 0.1;
  248. };
  249. struct UseRobot
  250. {
  251. SCCI double skillCD = 0.0017;
  252. SCCI double durationTime = 0.0;
  253. };
  254. struct WriteAnswers
  255. {
  256. SCCI double skillCD = 1.0;
  257. SCCI double durationTime = 0.0;
  258. };
  259. struct SummonGolem
  260. {
  261. SCCI double skillCD = 1.0;
  262. SCCI double durationTime = 0.0;
  263. };
  264. } // namespace Constants
  265. #endif