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.py 13 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370
  1. from ast import Constant
  2. from asyncio import constants
  3. class NoInstance:
  4. def __call__(self):
  5. raise TypeError("This class cannot be instantiated.")
  6. class Constants(NoInstance):
  7. frameDuration = 50 # 每帧毫秒数
  8. numOfGridPerCell = 1000 # 单位坐标数
  9. rows = 50 # 地图行数
  10. cols = 50 # 地图列数
  11. numOfClassroom = 10 # 教室数量
  12. numOfChest = 8 # 宝箱数量
  13. maxClassroomProgress = 10000000 # 教室最大进度
  14. maxDoorProgress = 10000000 # 开关门最大进度
  15. maxChestProgress = 10000000 # 宝箱最大进度
  16. maxGateProgress = 18000 # 大门最大进度
  17. numOfRequiredClassroomForGate = 7 # 打开大门需要完成的教室数量
  18. numOfRequiredClassroomForHiddenGate = 3 # 打开隐藏门需要完成的教室数量
  19. # 人物属性相关
  20. basicEncourageSpeed = 100
  21. basicLearnSpeed = 123
  22. basicSpeedOfOpeningOrLocking = 5000
  23. basicStudentSpeedOfClimbingThroughWindows = 1222
  24. basicTrickerSpeedOfClimbingThroughWindows = 2540
  25. basicSpeedOfOpenChest = 1250
  26. basicHp = 3000000
  27. basicMaxGamingAddiction = 60000
  28. basicEncouragementDegree = 1500000
  29. basicTimeOfRouse = 1000
  30. basicStudentSpeed = 3000
  31. basicTrickerSpeed = 3600
  32. basicConcealment = 1.0
  33. basicStudentAlertnessRadius = 15 * numOfGridPerCell
  34. basicTrickerAlertnessRadius = 17 * numOfGridPerCell
  35. basicStudentViewRange = 10 * numOfGridPerCell
  36. basicTrickerViewRange = 13 * numOfGridPerCell
  37. PinningDownRange = 5 * numOfGridPerCell
  38. maxNumOfProp = 3 # 人物道具栏容量
  39. # 攻击相关
  40. basicApOfTricker = 1500000
  41. basicCD = 3000 # 初始子弹冷却
  42. basicCastTime = 500 # 基本前摇时间
  43. basicBackswing = 800 # 基本后摇时间
  44. basicRecoveryFromHit = 3700 # 基本命中攻击恢复时长
  45. basicStunnedTimeOfStudent = 4300
  46. basicBulletMoveSpeed = 7400 # 基本子弹移动速度
  47. basicRemoteAttackRange = 6000 # 基本远程攻击范围
  48. basicAttackShortRange = 2200 # 基本近程攻击范围
  49. basicBulletBombRange = 2000 # 基本子弹爆炸范围
  50. # 道具相关
  51. apPropAdd = basicApOfTricker * 12 // 10
  52. apSpearAdd = basicApOfTricker * 6 // 10
  53. # 技能相关
  54. maxNumOfSkill = 3
  55. commonSkillCD = 30000 # 普通技能标准冷却时间
  56. commonSkillTime = 10000 # 普通技能标准持续时间
  57. timeOfTrickerStunnedWhenCharge = 7220
  58. timeOfStudentStunnedWhenCharge = 2090
  59. timeOfTrickerStunnedWhenPunish = 3070
  60. timeOfTrickerSwingingAfterHowl = 800
  61. timeOfStudentStunnedWhenHowl = 5500
  62. timeOfStunnedWhenJumpyDumpty = 3070
  63. addedTimeOfSpeedWhenInspire = 1.6
  64. timeOfAddingSpeedWhenInspire = 6000
  65. addHpWhenEncourage = basicHp // 4
  66. checkIntervalWhenShowTime = 200
  67. addAddictionPer100msWhenShowTime = 300
  68. class Assassin:
  69. moveSpeed = (int)(1.1 * Constants.basicTrickerSpeed)
  70. concealment = 1.5 * Constants.basicConcealment
  71. alertnessRadius = (int)(1.3 * Constants.basicTrickerAlertnessRadius)
  72. viewRange = (int)(1.2 * Constants.basicTrickerViewRange)
  73. speedOfOpeningOrLocking = (int)(1.0 * Constants.basicSpeedOfOpeningOrLocking)
  74. speedOfClimbingThroughWindows = (int)(
  75. 1.0 * Constants.basicTrickerSpeedOfClimbingThroughWindows
  76. )
  77. speedOfOpenChest = (int)(1.0 * Constants.basicSpeedOfOpenChest)
  78. class Klee:
  79. moveSpeed = (int)(1.0 * Constants.basicTrickerSpeed)
  80. concealment = 1.0 * Constants.basicConcealment
  81. alertnessRadius = (int)(1.0 * Constants.basicTrickerAlertnessRadius)
  82. viewRange = (int)(1.0 * Constants.basicTrickerViewRange)
  83. speedOfOpeningOrLocking = (int)(1.0 * Constants.basicSpeedOfOpeningOrLocking)
  84. speedOfClimbingThroughWindows = (int)(
  85. 1.0 * Constants.basicTrickerSpeedOfClimbingThroughWindows
  86. )
  87. speedOfOpenChest = (int)(1.1 * Constants.basicSpeedOfOpenChest)
  88. class ANoisyPerson:
  89. moveSpeed = (int)(1.07 * Constants.basicTrickerSpeed)
  90. concealment = 0.8 * Constants.basicConcealment
  91. alertnessRadius = (int)(0.9 * Constants.basicTrickerAlertnessRadius)
  92. viewRange = (int)(1.0 * Constants.basicTrickerViewRange)
  93. speedOfOpeningOrLocking = (int)(1.0 * Constants.basicSpeedOfOpeningOrLocking)
  94. speedOfClimbingThroughWindows = (int)(
  95. 1.1 * Constants.basicTrickerSpeedOfClimbingThroughWindows
  96. )
  97. speedOfOpenChest = (int)(1.1 * Constants.basicSpeedOfOpenChest)
  98. class Idol:
  99. moveSpeed = (int)(1.0 * Constants.basicTrickerSpeed)
  100. concealment = 0.75 * Constants.basicConcealment
  101. alertnessRadius = (int)(1.0 * Constants.basicTrickerAlertnessRadius)
  102. viewRange = (int)(1.1 * Constants.basicTrickerViewRange)
  103. speedOfOpeningOrLocking = (int)(1.0 * Constants.basicSpeedOfOpeningOrLocking)
  104. speedOfClimbingThroughWindows = (int)(
  105. 1.0 * Constants.basicTrickerSpeedOfClimbingThroughWindows
  106. )
  107. speedOfOpenChest = (int)(1.0 * Constants.basicSpeedOfOpenChest)
  108. class Athlete:
  109. moveSpeed = (int)(1.05 * Constants.basicStudentSpeed)
  110. maxHp = (int)(1.0 * Constants.basicHp)
  111. maxAddiction = (int)(0.9 * Constants.basicMaxGamingAddiction)
  112. LearnSpeed = (int)(0.6 * Constants.basicLearnSpeed)
  113. EncourageSpeed = (int)(0.9 * Constants.basicEncourageSpeed)
  114. concealment = 0.9 * Constants.basicConcealment
  115. alertnessRadius = (int)(1.0 * Constants.basicStudentAlertnessRadius)
  116. viewRange = (int)(1.1 * Constants.basicStudentViewRange)
  117. speedOfOpeningOrLocking = (int)(1.0 * Constants.basicSpeedOfOpeningOrLocking)
  118. speedOfClimbingThroughWindows = (int)(
  119. 1.2 * Constants.basicStudentSpeedOfClimbingThroughWindows
  120. )
  121. speedOfOpenChest = (int)(1.0 * Constants.basicSpeedOfOpenChest)
  122. class Teacher:
  123. moveSpeed = (int)(0.9 * Constants.basicStudentSpeed)
  124. maxHp = (int)(10.0 * Constants.basicHp)
  125. maxAddiction = (int)(10.0 * Constants.basicMaxGamingAddiction)
  126. LearnSpeed = (int)(0.4 * Constants.basicLearnSpeed)
  127. EncourageSpeed = (int)(0.8 * Constants.basicEncourageSpeed)
  128. concealment = 0.5 * Constants.basicConcealment
  129. alertnessRadius = (int)(0.75 * Constants.basicStudentAlertnessRadius)
  130. viewRange = (int)(0.8 * Constants.basicStudentViewRange)
  131. speedOfOpeningOrLocking = (int)(1.0 * Constants.basicSpeedOfOpeningOrLocking)
  132. speedOfClimbingThroughWindows = (int)(
  133. 0.82 * Constants.basicStudentSpeedOfClimbingThroughWindows
  134. )
  135. speedOfOpenChest = (int)(1.0 * Constants.basicSpeedOfOpenChest)
  136. class StraightAStudent:
  137. moveSpeed = (int)(0.96 * Constants.basicStudentSpeed)
  138. maxHp = (int)(1.1 * Constants.basicHp)
  139. maxAddiction = (int)(1.3 * Constants.basicMaxGamingAddiction)
  140. LearnSpeed = (int)(1.1 * Constants.basicLearnSpeed)
  141. EncourageSpeed = (int)(Constants.basicEncourageSpeed)
  142. concealment = 0.9 * Constants.basicConcealment
  143. alertnessRadius = (int)(0.9 * Constants.basicStudentAlertnessRadius)
  144. viewRange = (int)(0.9 * Constants.basicStudentViewRange)
  145. speedOfOpeningOrLocking = (int)(1.0 * Constants.basicSpeedOfOpeningOrLocking)
  146. speedOfClimbingThroughWindows = (int)(
  147. 0.83333 * Constants.basicStudentSpeedOfClimbingThroughWindows
  148. )
  149. speedOfOpenChest = (int)(1.0 * Constants.basicSpeedOfOpenChest)
  150. class Robot:
  151. moveSpeed = (int)(0.9 * Constants.basicStudentSpeed)
  152. maxHp = (int)(0.3 * Constants.basicHp)
  153. maxAddiction = (int)(0.0 * Constants.basicMaxGamingAddiction)
  154. LearnSpeed = (int)(0.7 * Constants.basicLearnSpeed)
  155. EncourageSpeed = 0
  156. concealment = 0.8 * Constants.basicConcealment
  157. alertnessRadius = (int)(0.0 * Constants.basicStudentAlertnessRadius)
  158. viewRange = (int)(0.0 * Constants.basicStudentViewRange)
  159. speedOfOpeningOrLocking = (int)(0.0 * Constants.basicSpeedOfOpeningOrLocking)
  160. speedOfClimbingThroughWindows = (int)(
  161. 0.0008 * Constants.basicStudentSpeedOfClimbingThroughWindows
  162. )
  163. speedOfOpenChest = (int)(0.8 * Constants.basicSpeedOfOpenChest)
  164. class TechOtaku:
  165. moveSpeed = (int)(0.96 * Constants.basicStudentSpeed)
  166. maxHp = (int)(0.9 * Constants.basicHp)
  167. maxAddiction = (int)(1.0 * Constants.basicMaxGamingAddiction)
  168. LearnSpeed = (int)(0.9 * Constants.basicLearnSpeed)
  169. EncourageSpeed = (int)(1.0 * Constants.basicEncourageSpeed)
  170. concealment = 1.0 * Constants.basicConcealment
  171. alertnessRadius = (int)(1.0 * Constants.basicStudentAlertnessRadius)
  172. viewRange = (int)(0.9 * Constants.basicStudentViewRange)
  173. speedOfOpeningOrLocking = (int)(1.0 * Constants.basicSpeedOfOpeningOrLocking)
  174. speedOfClimbingThroughWindows = (int)(
  175. 0.9 * Constants.basicStudentSpeedOfClimbingThroughWindows
  176. )
  177. speedOfOpenChest = (int)(0.88 * Constants.basicSpeedOfOpenChest)
  178. class Sunshine:
  179. moveSpeed = (int)(1.0 * Constants.basicStudentSpeed)
  180. maxHp = (int)(1.0667 * Constants.basicHp)
  181. maxAddiction = (int)(1.1 * Constants.basicMaxGamingAddiction)
  182. LearnSpeed = (int)(1.0 * Constants.basicLearnSpeed)
  183. EncourageSpeed = (int)(1.2 * Constants.basicEncourageSpeed)
  184. concealment = 1.0 * Constants.basicConcealment
  185. alertnessRadius = (int)(1.0 * Constants.basicStudentAlertnessRadius)
  186. viewRange = (int)(1.0 * Constants.basicStudentViewRange)
  187. speedOfOpeningOrLocking = (int)(0.7 * Constants.basicSpeedOfOpeningOrLocking)
  188. speedOfClimbingThroughWindows = (int)(
  189. 1.0 * Constants.basicStudentSpeedOfClimbingThroughWindows
  190. )
  191. speedOfOpenChest = (int)(0.9 * Constants.basicSpeedOfOpenChest)
  192. class CanBeginToCharge:
  193. skillCD = (int)(2 * Constants.commonSkillCD)
  194. durationTime = (int)(0.3 * Constants.commonSkillTime)
  195. class BecomeInvisible:
  196. skillCD = (int)(4 * Constants.commonSkillCD // 3)
  197. durationTime = (int)(Constants.commonSkillTime)
  198. class Punish:
  199. skillCD = (int)(1.5 * Constants.commonSkillCD)
  200. durationTime = (int)(0.0 * Constants.commonSkillTime)
  201. class SparksNSplash:
  202. skillCD = (int)(1.5 * Constants.commonSkillCD)
  203. durationTime = (int)(1.0 * Constants.commonSkillTime)
  204. class HaveTea:
  205. skillCD = (int)(3 * Constants.commonSkillCD)
  206. durationTime = (int)(0.0 * Constants.commonSkillTime)
  207. class Rouse:
  208. skillCD = (int)(4.0 * Constants.commonSkillCD)
  209. durationTime = (int)(0.0 * Constants.commonSkillTime)
  210. class Encourage:
  211. skillCD = (int)(4.0 * Constants.commonSkillCD)
  212. durationTime = (int)(0.0 * Constants.commonSkillTime)
  213. class Inspire:
  214. skillCD = (int)(4.0 * Constants.commonSkillCD)
  215. durationTime = (int)(0.0 * Constants.commonSkillTime)
  216. class Howl:
  217. skillCD = (int)(0.8333 * Constants.commonSkillCD)
  218. durationTime = (int)(0 * Constants.commonSkillTime)
  219. class ShowTime:
  220. skillCD = (int)(8 * Constants.commonSkillCD // 3)
  221. durationTime = (int)(1.0 * Constants.commonSkillTime)
  222. class JumpyBomb:
  223. skillCD = (int)(0.5 * Constants.commonSkillCD)
  224. durationTime = (int)(0.3 * Constants.commonSkillTime)
  225. class UseKnife:
  226. skillCD = (int)(1.0 * Constants.commonSkillCD)
  227. durationTime = (int)(0.1 * Constants.commonSkillTime)
  228. class UseRobot:
  229. skillCD = (int)(0.0667 * Constants.commonSkillCD)
  230. durationTime = (int)(0.0 * Constants.commonSkillTime)
  231. class WriteAnswers:
  232. skillCD = (int)(1.0 * Constants.commonSkillCD)
  233. durationTime = (int)(0.0 * Constants.commonSkillTime)
  234. class SummonGolem:
  235. skillCD = (int)(1.25 * Constants.commonSkillCD)
  236. durationTime = (int)(6.0 * Constants.commonSkillTime)
  237. class CommonAttackOfTricker:
  238. BulletBombRange = 0
  239. BulletAttackRange = Constants.basicAttackShortRange
  240. ap = Constants.basicApOfTricker
  241. Speed = Constants.basicBulletMoveSpeed
  242. IsRemoteAttack = False
  243. CastTime = BulletAttackRange * 1000 // Speed
  244. Backswing = Constants.basicBackswing
  245. RecoveryFromHit = Constants.basicRecoveryFromHit
  246. cd = Constants.basicBackswing
  247. maxBulletNum = 1
  248. class FlyingKnife:
  249. BulletBombRange = 0
  250. BulletAttackRange = Constants.basicRemoteAttackRange * 13
  251. ap = Constants.basicApOfTricker * 4 // 5
  252. Speed = Constants.basicBulletMoveSpeed * 25 // 10
  253. IsRemoteAttack = True
  254. CastTime = Constants.basicCastTime * 6 // 5
  255. Backswing = 0
  256. RecoveryFromHit = 0
  257. cd = Constants.basicBackswing * 3 // 4
  258. maxBulletNum = 1
  259. class BombBomb:
  260. BulletBombRange = Constants.basicBulletBombRange
  261. BulletAttackRange = Constants.basicAttackShortRange
  262. ap = Constants.basicApOfTricker * 6 // 5
  263. Speed = Constants.basicBulletMoveSpeed * 30 // 37
  264. IsRemoteAttack = False
  265. CastTime = BulletAttackRange * 1000 // Speed
  266. Backswing = Constants.basicBackswing * 3 // 2
  267. RecoveryFromHit = Constants.basicRecoveryFromHit
  268. cd = Constants.basicCD
  269. maxBulletNum = 1
  270. class JumpyDumpty:
  271. BulletBombRange = Constants.basicBulletBombRange // 2
  272. BulletAttackRange = Constants.basicRemoteAttackRange * 2
  273. ap = (int)(Constants.basicApOfTricker * 0.6)
  274. Speed = Constants.basicBulletMoveSpeed * 43 // 37
  275. IsRemoteAttack = False
  276. class Strike:
  277. BulletBombRange = 0
  278. BulletAttackRange = Constants.basicAttackShortRange
  279. ap = Constants.basicApOfTricker * 16 // 5
  280. Speed = Constants.basicBulletMoveSpeed * 125 // 148
  281. IsRemoteAttack = False
  282. CastTime = Constants.basicCastTime * 16 // 25
  283. Backswing = Constants.basicBackswing
  284. RecoveryFromHit = Constants.basicRecoveryFromHit
  285. cd = Constants.basicBackswing * 3 // 4
  286. maxBulletNum = 1