|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368 |
- from ast import Constant
- from asyncio import constants
-
-
- class NoInstance:
- def __call__(self):
- raise TypeError("This class cannot be instantiated.")
-
-
- class Constants(NoInstance):
- frameDuration = 50 # 每帧毫秒数
- numOfGridPerCell = 1000 # 单位坐标数
- rows = 50 # 地图行数
- cols = 50 # 地图列数
-
- numOfClassroom = 10 # 教室数量
- numOfChest = 8 # 宝箱数量
-
- maxClassroomProgress = 10000000 # 教室最大进度
- maxDoorProgress = 10000000 # 开关门最大进度
- maxChestProgress = 10000000 # 宝箱最大进度
- maxGateProgress = 18000 # 大门最大进度
-
- numOfRequiredClassroomForGate = 7 # 打开大门需要完成的教室数量
- numOfRequiredClassroomForHiddenGate = 3 # 打开隐藏门需要完成的教室数量
-
- # 人物属性相关
- basicEncourageSpeed = 100
- basicLearnSpeed = 123
- basicSpeedOfOpeningOrLocking = 5000
- basicStudentSpeedOfClimbingThroughWindows = 1222
- basicTrickerSpeedOfClimbingThroughWindows = 2540
- basicSpeedOfOpenChest = 1250
-
- basicHp = 3000000
- basicMaxGamingAddiction = 60000
- basicEncouragementDegree = 1500000
- basicTimeOfRouse = 1000
-
- basicStudentSpeed = 3000
- basicTrickerSpeed = 3600
-
- basicConcealment = 1.0
- basicStudentAlertnessRadius = 15 * numOfGridPerCell
- basicTrickerAlertnessRadius = 17 * numOfGridPerCell
- basicStudentViewRange = 10 * numOfGridPerCell
- basicTrickerViewRange = 13 * numOfGridPerCell
- PinningDownRange = 5 * numOfGridPerCell
-
- maxNumOfProp = 3 # 人物道具栏容量
-
- # 攻击相关
-
- basicApOfTricker = 1500000
- basicCD = 3000 # 初始子弹冷却
- basicCastTime = 500 # 基本前摇时间
- basicBackswing = 800 # 基本后摇时间
- basicRecoveryFromHit = 3700 # 基本命中攻击恢复时长
- basicStunnedTimeOfStudent = 4300
-
- basicBulletMoveSpeed = 7400 # 基本子弹移动速度
- basicRemoteAttackRange = 6000 # 基本远程攻击范围
- basicAttackShortRange = 2200 # 基本近程攻击范围
- basicBulletBombRange = 2000 # 基本子弹爆炸范围
-
- # 道具相关
-
- apPropAdd = basicApOfTricker * 12 // 10
- apSpearAdd = basicApOfTricker * 6 // 10
-
- # 技能相关
- maxNumOfSkill = 3
- commonSkillCD = 30000 # 普通技能标准冷却时间
- commonSkillTime = 10000 # 普通技能标准持续时间
-
- timeOfTrickerStunnedWhenCharge = 7220
- timeOfStudentStunnedWhenCharge = 2090
-
- timeOfTrickerStunnedWhenPunish = 3070
-
- timeOfTrickerSwingingAfterHowl = 800
- timeOfStudentStunnedWhenHowl = 5500
-
- timeOfStunnedWhenJumpyDumpty = 3070
-
- addedTimeOfSpeedWhenInspire = 1.6
- timeOfAddingSpeedWhenInspire = 6000
- addHpWhenEncourage = basicHp // 4
-
- checkIntervalWhenShowTime = 200
- addAddictionPer100msWhenShowTime = 300
-
-
- class Assassin:
- moveSpeed = (int)(1.1 * Constants.basicTrickerSpeed)
- concealment = 1.5 * Constants.basicConcealment
- alertnessRadius = (int)(1.3 * Constants.basicTrickerAlertnessRadius)
- viewRange = (int)(1.2 * Constants.basicTrickerViewRange)
- speedOfOpeningOrLocking = (int)(1.0 * Constants.basicSpeedOfOpeningOrLocking)
- speedOfClimbingThroughWindows = (int)(
- 1.0 * Constants.basicTrickerSpeedOfClimbingThroughWindows
- )
- speedOfOpenChest = (int)(1.0 * Constants.basicSpeedOfOpenChest)
-
-
- class Klee:
- moveSpeed = (int)(1.0 * Constants.basicTrickerSpeed)
- concealment = 1.0 * Constants.basicConcealment
- alertnessRadius = (int)(1.0 * Constants.basicTrickerAlertnessRadius)
- viewRange = (int)(1.0 * Constants.basicTrickerViewRange)
- speedOfOpeningOrLocking = (int)(1.0 * Constants.basicSpeedOfOpeningOrLocking)
- speedOfClimbingThroughWindows = (int)(
- 1.0 * Constants.basicTrickerSpeedOfClimbingThroughWindows
- )
- speedOfOpenChest = (int)(1.1 * Constants.basicSpeedOfOpenChest)
-
-
- class ANoisyPerson:
- moveSpeed = (int)(1.07 * Constants.basicTrickerSpeed)
- concealment = 0.8 * Constants.basicConcealment
- alertnessRadius = (int)(0.9 * Constants.basicTrickerAlertnessRadius)
- viewRange = (int)(1.0 * Constants.basicTrickerViewRange)
- speedOfOpeningOrLocking = (int)(1.0 * Constants.basicSpeedOfOpeningOrLocking)
- speedOfClimbingThroughWindows = (int)(
- 1.1 * Constants.basicTrickerSpeedOfClimbingThroughWindows
- )
- speedOfOpenChest = (int)(1.1 * Constants.basicSpeedOfOpenChest)
-
-
- class Idol:
- moveSpeed = (int)(1.0 * Constants.basicTrickerSpeed)
- concealment = 0.75 * Constants.basicConcealment
- alertnessRadius = (int)(1.0 * Constants.basicTrickerAlertnessRadius)
- viewRange = (int)(1.1 * Constants.basicTrickerViewRange)
- speedOfOpeningOrLocking = (int)(1.0 * Constants.basicSpeedOfOpeningOrLocking)
- speedOfClimbingThroughWindows = (int)(
- 1.0 * Constants.basicTrickerSpeedOfClimbingThroughWindows
- )
- speedOfOpenChest = (int)(1.0 * Constants.basicSpeedOfOpenChest)
-
-
- class Athlete:
- moveSpeed = (int)(1.05 * Constants.basicStudentSpeed)
- maxHp = (int)(1.0 * Constants.basicHp)
- maxAddiction = (int)(0.9 * Constants.basicMaxGamingAddiction)
- LearnSpeed = (int)(0.6 * Constants.basicLearnSpeed)
- EncourageSpeed = (int)(0.9 * Constants.basicEncourageSpeed)
- concealment = 0.9 * Constants.basicConcealment
- alertnessRadius = (int)(1.0 * Constants.basicStudentAlertnessRadius)
- viewRange = (int)(1.1 * Constants.basicStudentViewRange)
- speedOfOpeningOrLocking = (int)(1.0 * Constants.basicSpeedOfOpeningOrLocking)
- speedOfClimbingThroughWindows = (int)(
- 1.2 * Constants.basicStudentSpeedOfClimbingThroughWindows
- )
- speedOfOpenChest = (int)(1.0 * Constants.basicSpeedOfOpenChest)
-
-
- class Teacher:
- moveSpeed = (int)(0.9 * Constants.basicStudentSpeed)
- maxHp = (int)(10.0 * Constants.basicHp)
- maxAddiction = (int)(10.0 * Constants.basicMaxGamingAddiction)
- LearnSpeed = (int)( Constants.basicLearnSpeed* 50//123)
- EncourageSpeed = (int)(0.8 * Constants.basicEncourageSpeed)
- concealment = 0.5 * Constants.basicConcealment
- alertnessRadius = (int)(Constants.basicStudentAlertnessRadius * 2 // 3)
- viewRange = (int)(0.8 * Constants.basicStudentViewRange)
- speedOfOpeningOrLocking = (int)(1.0 * Constants.basicSpeedOfOpeningOrLocking)
- speedOfClimbingThroughWindows = (int)(
- Constants.basicStudentSpeedOfClimbingThroughWindows* 1000 // 1222
- )
- speedOfOpenChest = (int)(1.0 * Constants.basicSpeedOfOpenChest)
-
-
- class StraightAStudent:
- moveSpeed = (int)(0.96 * Constants.basicStudentSpeed)
- maxHp = (int)(1.1 * Constants.basicHp)
- maxAddiction = (int)(1.3 * Constants.basicMaxGamingAddiction)
- LearnSpeed = (int)(1.1 * Constants.basicLearnSpeed)
- EncourageSpeed = (int)(Constants.basicEncourageSpeed)
- concealment = 0.9 * Constants.basicConcealment
- alertnessRadius = (int)(0.9 * Constants.basicStudentAlertnessRadius)
- viewRange = (int)(0.9 * Constants.basicStudentViewRange)
- speedOfOpeningOrLocking = (int)(1.0 * Constants.basicSpeedOfOpeningOrLocking)
- speedOfClimbingThroughWindows = (int)(
- 0.83333 * Constants.basicStudentSpeedOfClimbingThroughWindows
- )
- speedOfOpenChest = (int)(1.0 * Constants.basicSpeedOfOpenChest)
-
-
- class Robot:
- moveSpeed = (int)(0.9 * Constants.basicStudentSpeed)
- maxHp = (int)(0.3 * Constants.basicHp)
- maxAddiction = (int)(0.0 * Constants.basicMaxGamingAddiction)
- LearnSpeed = (int)(0.7 * Constants.basicLearnSpeed)
- EncourageSpeed = 0
- concealment = 0.8 * Constants.basicConcealment
- alertnessRadius = (int)(0.0 * Constants.basicStudentAlertnessRadius)
- viewRange = (int)(0.0 * Constants.basicStudentViewRange)
- speedOfOpeningOrLocking = (int)(0.0 * Constants.basicSpeedOfOpeningOrLocking)
- speedOfClimbingThroughWindows = 1
- speedOfOpenChest = (int)(0.8 * Constants.basicSpeedOfOpenChest)
-
-
- class TechOtaku:
- moveSpeed = (int)(0.96 * Constants.basicStudentSpeed)
- maxHp = (int)(0.9 * Constants.basicHp)
- maxAddiction = (int)(1.0 * Constants.basicMaxGamingAddiction)
- LearnSpeed = (int)(0.9 * Constants.basicLearnSpeed)
- EncourageSpeed = (int)(1.0 * Constants.basicEncourageSpeed)
- concealment = 1.1 * Constants.basicConcealment
- alertnessRadius = (int)(1.0 * Constants.basicStudentAlertnessRadius)
- viewRange = (int)(0.9 * Constants.basicStudentViewRange)
- speedOfOpeningOrLocking = (int)(1.0 * Constants.basicSpeedOfOpeningOrLocking)
- speedOfClimbingThroughWindows = (int)(
- 0.9 * Constants.basicStudentSpeedOfClimbingThroughWindows
- )
- speedOfOpenChest = (int)(0.88 * Constants.basicSpeedOfOpenChest)
-
-
- class Sunshine:
- moveSpeed = (int)(1.0 * Constants.basicStudentSpeed)
- maxHp = (int)(1.0667 * Constants.basicHp)
- maxAddiction = (int)(1.1 * Constants.basicMaxGamingAddiction)
- LearnSpeed = (int)(1.0 * Constants.basicLearnSpeed)
- EncourageSpeed = (int)(1.2 * Constants.basicEncourageSpeed)
- concealment = 1.0 * Constants.basicConcealment
- alertnessRadius = (int)(1.0 * Constants.basicStudentAlertnessRadius)
- viewRange = (int)(1.0 * Constants.basicStudentViewRange)
- speedOfOpeningOrLocking = (int)(0.7 * Constants.basicSpeedOfOpeningOrLocking)
- speedOfClimbingThroughWindows = (int)(
- 1.0 * Constants.basicStudentSpeedOfClimbingThroughWindows
- )
- speedOfOpenChest = (int)(0.9 * Constants.basicSpeedOfOpenChest)
-
-
- class CanBeginToCharge:
- skillCD = (int)(2 * Constants.commonSkillCD)
- durationTime = (int)(0.3 * Constants.commonSkillTime)
-
-
- class BecomeInvisible:
- skillCD = (int)(4 * Constants.commonSkillCD // 3)
- durationTime = (int)(Constants.commonSkillTime)
-
-
- class Punish:
- skillCD = (int)(1.5 * Constants.commonSkillCD)
- durationTime = (int)(0.0 * Constants.commonSkillTime)
-
-
- class SparksNSplash:
- skillCD = (int)(1.5 * Constants.commonSkillCD)
- durationTime = (int)(1.0 * Constants.commonSkillTime)
-
-
- class HaveTea:
- skillCD = (int)(3 * Constants.commonSkillCD)
- durationTime = (int)(0.0 * Constants.commonSkillTime)
-
-
- class Rouse:
- skillCD = (int)(4.0 * Constants.commonSkillCD)
- durationTime = (int)(0.0 * Constants.commonSkillTime)
-
-
- class Encourage:
- skillCD = (int)(4.0 * Constants.commonSkillCD)
- durationTime = (int)(0.0 * Constants.commonSkillTime)
-
-
- class Inspire:
- skillCD = (int)(4.0 * Constants.commonSkillCD)
- durationTime = (int)(0.0 * Constants.commonSkillTime)
-
-
- class Howl:
- skillCD = (int)(0.8333 * Constants.commonSkillCD)
- durationTime = (int)(0 * Constants.commonSkillTime)
-
-
- class ShowTime:
- skillCD = (int)(8 * Constants.commonSkillCD // 3)
- durationTime = (int)(1.0 * Constants.commonSkillTime)
-
-
- class JumpyBomb:
- skillCD = (int)(0.5 * Constants.commonSkillCD)
- durationTime = (int)(0.3 * Constants.commonSkillTime)
-
-
- class UseKnife:
- skillCD = (int)(1.0 * Constants.commonSkillCD)
- durationTime = (int)(0.1 * Constants.commonSkillTime)
-
-
- class UseRobot:
- skillCD = (int)(2 * Constants.commonSkillCD // 30)
- durationTime = (int)(0.0 * Constants.commonSkillTime)
-
-
- class WriteAnswers:
- skillCD = (int)(1.0 * Constants.commonSkillCD)
- durationTime = (int)(0.0 * Constants.commonSkillTime)
-
-
- class SummonGolem:
- skillCD = (int)(4 * Constants.commonSkillCD//3)
- durationTime = (int)(6.0 * Constants.commonSkillTime)
-
-
- class CommonAttackOfTricker:
- BulletBombRange = 0
- BulletAttackRange = Constants.basicAttackShortRange
- ap = Constants.basicApOfTricker
- Speed = Constants.basicBulletMoveSpeed
- IsRemoteAttack = False
- CastTime = BulletAttackRange * 1000 // Speed
- Backswing = Constants.basicBackswing
- RecoveryFromHit = Constants.basicRecoveryFromHit
- cd = Constants.basicBackswing
- maxBulletNum = 1
-
-
- class FlyingKnife:
- BulletBombRange = 0
- BulletAttackRange = Constants.basicRemoteAttackRange * 13
- ap = Constants.basicApOfTricker * 4 // 5
- Speed = Constants.basicBulletMoveSpeed * 25 // 10
- IsRemoteAttack = True
- CastTime = Constants.basicCastTime * 6 // 5
- Backswing = 0
- RecoveryFromHit = 0
- cd = Constants.basicBackswing * 3 // 4
- maxBulletNum = 1
-
-
- class BombBomb:
- BulletBombRange = Constants.basicBulletBombRange
- BulletAttackRange = Constants.basicAttackShortRange
- ap = Constants.basicApOfTricker * 6 // 5
- Speed = Constants.basicBulletMoveSpeed * 30 // 37
- IsRemoteAttack = False
- CastTime = BulletAttackRange * 1000 // Speed
- Backswing = Constants.basicBackswing * 3 // 2
- RecoveryFromHit = Constants.basicRecoveryFromHit
- cd = Constants.basicCD
- maxBulletNum = 1
-
-
- class JumpyDumpty:
- BulletBombRange = Constants.basicBulletBombRange // 2
- BulletAttackRange = Constants.basicRemoteAttackRange * 2
- ap = (int)(Constants.basicApOfTricker * 0.6)
- Speed = Constants.basicBulletMoveSpeed * 43 // 37
- IsRemoteAttack = False
-
-
- class Strike:
- BulletBombRange = 0
- BulletAttackRange = Constants.basicAttackShortRange
- ap = Constants.basicApOfTricker * 16 // 5
- Speed = Constants.basicBulletMoveSpeed * 125 // 148
- IsRemoteAttack = False
- CastTime = Constants.basicCastTime * 16 // 25
- Backswing = Constants.basicBackswing
- RecoveryFromHit = Constants.basicRecoveryFromHit
- cd = Constants.basicBackswing
- maxBulletNum = 1
|