| @@ -115,11 +115,11 @@ namespace Constants | |||||
| struct Athlete | struct Athlete | ||||
| { | { | ||||
| SCCI int moveSpeed = basicStudentSpeed * 11 / 10; | |||||
| SCCI int moveSpeed = basicStudentSpeed * 105 / 100; | |||||
| SCCI int maxHp = basicHp; | SCCI int maxHp = basicHp; | ||||
| SCCI int maxAddiction = basicMaxGamingAddiction * 9 / 10; | SCCI int maxAddiction = basicMaxGamingAddiction * 9 / 10; | ||||
| SCCI int fixSpeed = basicFixSpeed * 6 / 10; | SCCI int fixSpeed = basicFixSpeed * 6 / 10; | ||||
| SCCI int encourageSpeed = basicEncourageSpeed * 8 / 10; | |||||
| SCCI int encourageSpeed = basicEncourageSpeed * 9 / 10; | |||||
| SCCI double concealment = 0.9; | SCCI double concealment = 0.9; | ||||
| SCCI int alertnessRadius = basicStudentAlertnessRadius; | SCCI int alertnessRadius = basicStudentAlertnessRadius; | ||||
| SCCI int viewRange = basicStudentViewRange * 11 / 10; | SCCI int viewRange = basicStudentViewRange * 11 / 10; | ||||
| @@ -130,11 +130,11 @@ namespace Constants | |||||
| struct Teacher | struct Teacher | ||||
| { | { | ||||
| SCCI int moveSpeed = basicStudentSpeed * 3 / 4; | |||||
| SCCI int moveSpeed = basicStudentSpeed * 9 / 10; | |||||
| SCCI int maxHp = basicHp * 10; | SCCI int maxHp = basicHp * 10; | ||||
| SCCI int maxAddiction = basicMaxGamingAddiction * 10; | SCCI int maxAddiction = basicMaxGamingAddiction * 10; | ||||
| SCCI int fixSpeed = basicFixSpeed * 0; | SCCI int fixSpeed = basicFixSpeed * 0; | ||||
| SCCI int encourageSpeed = basicEncourageSpeed * 7 / 10; | |||||
| SCCI int encourageSpeed = basicEncourageSpeed * 8 / 10; | |||||
| SCCI double concealment = 0.5; | SCCI double concealment = 0.5; | ||||
| SCCI int alertnessRadius = basicStudentAlertnessRadius / 2; | SCCI int alertnessRadius = basicStudentAlertnessRadius / 2; | ||||
| SCCI int viewRange = basicStudentViewRange * 9 / 10; | SCCI int viewRange = basicStudentViewRange * 9 / 10; | ||||
| @@ -145,11 +145,11 @@ namespace Constants | |||||
| struct StraightAStudent | struct StraightAStudent | ||||
| { | { | ||||
| SCCI int moveSpeed = basicStudentSpeed * 8 / 10; | |||||
| SCCI int moveSpeed = basicStudentSpeed * 96 / 100; | |||||
| SCCI int maxHp = basicHp * 11 / 10; | SCCI int maxHp = basicHp * 11 / 10; | ||||
| SCCI int maxAddiction = basicMaxGamingAddiction * 13 / 10; | SCCI int maxAddiction = basicMaxGamingAddiction * 13 / 10; | ||||
| SCCI int fixSpeed = basicFixSpeed * 11 / 10; | SCCI int fixSpeed = basicFixSpeed * 11 / 10; | ||||
| SCCI int encourageSpeed = basicEncourageSpeed * 8 / 10; | |||||
| SCCI int encourageSpeed = basicEncourageSpeed; | |||||
| SCCI double concealment = 0.9; | SCCI double concealment = 0.9; | ||||
| SCCI int alertnessRadius = basicStudentAlertnessRadius * 9 / 10; | SCCI int alertnessRadius = basicStudentAlertnessRadius * 9 / 10; | ||||
| SCCI int viewRange = basicStudentViewRange * 9 / 10; | SCCI int viewRange = basicStudentViewRange * 9 / 10; | ||||
| @@ -164,7 +164,7 @@ namespace Constants | |||||
| SCCI int maxHp = basicHp * 0.4; | SCCI int maxHp = basicHp * 0.4; | ||||
| SCCI int maxAddiction = basicMaxGamingAddiction * 0; | SCCI int maxAddiction = basicMaxGamingAddiction * 0; | ||||
| SCCI int fixSpeed = basicFixSpeed; | SCCI int fixSpeed = basicFixSpeed; | ||||
| SCCI int encourageSpeed = basicEncourageSpeed * 8 / 10; | |||||
| SCCI int encourageSpeed = 0; | |||||
| SCCI double concealment = 1; | SCCI double concealment = 1; | ||||
| SCCI int alertnessRadius = basicStudentAlertnessRadius * 1; | SCCI int alertnessRadius = basicStudentAlertnessRadius * 1; | ||||
| SCCI int viewRange = basicStudentViewRange; | SCCI int viewRange = basicStudentViewRange; | ||||
| @@ -194,13 +194,13 @@ namespace Constants | |||||
| SCCI int maxHp = basicHp * 32 / 30; | SCCI int maxHp = basicHp * 32 / 30; | ||||
| SCCI int maxAddiction = basicMaxGamingAddiction * 11 / 10; | SCCI int maxAddiction = basicMaxGamingAddiction * 11 / 10; | ||||
| SCCI int fixSpeed = basicFixSpeed; | SCCI int fixSpeed = basicFixSpeed; | ||||
| SCCI int encourageSpeed = basicEncourageSpeed * 2; | |||||
| SCCI int encourageSpeed = basicEncourageSpeed * 12 / 10; | |||||
| SCCI double concealment = 1; | SCCI double concealment = 1; | ||||
| SCCI int alertnessRadius = basicStudentAlertnessRadius; | SCCI int alertnessRadius = basicStudentAlertnessRadius; | ||||
| SCCI int viewRange = basicStudentViewRange; | SCCI int viewRange = basicStudentViewRange; | ||||
| SCCI int speedOfOpeningOrLocking = basicSpeedOfOpeningOrLocking; | |||||
| SCCI int speedOfOpeningOrLocking = basicSpeedOfOpeningOrLocking * 7 / 10; | |||||
| SCCI int speedOfClimbingThroughWindows = basicStudentSpeedOfClimbingThroughWindows; | SCCI int speedOfClimbingThroughWindows = basicStudentSpeedOfClimbingThroughWindows; | ||||
| SCCI int speedOfOpenChest = basicSpeedOfOpenChest; | |||||
| SCCI int speedOfOpenChest = basicSpeedOfOpenChest * 9 / 10; | |||||
| }; | }; | ||||
| // 技能相关 | // 技能相关 | ||||
| @@ -222,14 +222,14 @@ namespace Constants | |||||
| SCCI int timeOfAddingSpeedWhenInspire = 6000; | SCCI int timeOfAddingSpeedWhenInspire = 6000; | ||||
| struct CanBeginToCharge | struct CanBeginToCharge | ||||
| { | { | ||||
| SCCI int skillCD = commonSkillCD * 4 / 3; | |||||
| SCCI int durationTime = commonSkillTime * 1; | |||||
| SCCI int skillCD = commonSkillCD * 2; | |||||
| SCCI int durationTime = commonSkillTime * 3 / 10; | |||||
| }; | }; | ||||
| struct BecomeInvisible | struct BecomeInvisible | ||||
| { | { | ||||
| SCCI int skillCD = commonSkillCD * 2; | |||||
| SCCI int durationTime = commonSkillTime * 6 / 10; | |||||
| SCCI int skillCD = commonSkillCD * 4 / 3; | |||||
| SCCI int durationTime = commonSkillTime; | |||||
| }; | }; | ||||
| struct Punish | struct Punish | ||||
| @@ -240,19 +240,19 @@ namespace Constants | |||||
| struct Rouse | struct Rouse | ||||
| { | { | ||||
| SCCI int skillCD = commonSkillCD * 2; | |||||
| SCCI int skillCD = commonSkillCD * 4; | |||||
| SCCI int durationTime = commonSkillTime * 0; | SCCI int durationTime = commonSkillTime * 0; | ||||
| }; | }; | ||||
| struct Encourage | struct Encourage | ||||
| { | { | ||||
| SCCI int skillCD = commonSkillCD * 2; | |||||
| SCCI int skillCD = commonSkillCD * 4; | |||||
| SCCI int durationTime = commonSkillTime * 0; | SCCI int durationTime = commonSkillTime * 0; | ||||
| }; | }; | ||||
| struct Inspire | struct Inspire | ||||
| { | { | ||||
| SCCI int skillCD = commonSkillCD * 2; | |||||
| SCCI int skillCD = commonSkillCD * 4; | |||||
| SCCI int durationTime = commonSkillTime * 0; | SCCI int durationTime = commonSkillTime * 0; | ||||
| }; | }; | ||||
| @@ -135,11 +135,11 @@ class Idol: | |||||
| class Athlete: | class Athlete: | ||||
| moveSpeed = (int)(1.1 * Constants.basicStudentSpeed) | |||||
| moveSpeed = (int)(1.05 * Constants.basicStudentSpeed) | |||||
| maxHp = (int)(1.0 * Constants.basicHp) | maxHp = (int)(1.0 * Constants.basicHp) | ||||
| maxAddiction = (int)(0.9 * Constants.basicMaxGamingAddiction) | maxAddiction = (int)(0.9 * Constants.basicMaxGamingAddiction) | ||||
| LearnSpeed = (int)(0.6 * Constants.basicLearnSpeed) | LearnSpeed = (int)(0.6 * Constants.basicLearnSpeed) | ||||
| EncourageSpeed = (int)(0.8 * Constants.basicLearnSpeed) | |||||
| EncourageSpeed = (int)(0.9 * Constants.basicEncourageSpeed) | |||||
| concealment = 0.9 * Constants.basicConcealment | concealment = 0.9 * Constants.basicConcealment | ||||
| alertnessRadius = (int)(1.0 * Constants.basicStudentAlertnessRadius) | alertnessRadius = (int)(1.0 * Constants.basicStudentAlertnessRadius) | ||||
| viewRange = (int)(1.1 * Constants.basicStudentViewRange) | viewRange = (int)(1.1 * Constants.basicStudentViewRange) | ||||
| @@ -151,11 +151,11 @@ class Athlete: | |||||
| class Teacher: | class Teacher: | ||||
| moveSpeed = (int)(0.75 * Constants.basicStudentSpeed) | |||||
| moveSpeed = (int)(0.9 * Constants.basicStudentSpeed) | |||||
| maxHp = (int)(10.0 * Constants.basicHp) | maxHp = (int)(10.0 * Constants.basicHp) | ||||
| maxAddiction = (int)(10.0 * Constants.basicMaxGamingAddiction) | maxAddiction = (int)(10.0 * Constants.basicMaxGamingAddiction) | ||||
| LearnSpeed = (int)(0.0 * Constants.basicLearnSpeed) | LearnSpeed = (int)(0.0 * Constants.basicLearnSpeed) | ||||
| EncourageSpeed = (int)(0.7 * Constants.basicLearnSpeed) | |||||
| EncourageSpeed = (int)(0.8 * Constants.basicEncourageSpeed) | |||||
| concealment = 0.5 * Constants.basicConcealment | concealment = 0.5 * Constants.basicConcealment | ||||
| alertnessRadius = (int)(0.5 * Constants.basicStudentAlertnessRadius) | alertnessRadius = (int)(0.5 * Constants.basicStudentAlertnessRadius) | ||||
| viewRange = (int)(0.9 * Constants.basicStudentViewRange) | viewRange = (int)(0.9 * Constants.basicStudentViewRange) | ||||
| @@ -167,11 +167,11 @@ class Teacher: | |||||
| class StraightAStudent: | class StraightAStudent: | ||||
| moveSpeed = (int)(0.8 * Constants.basicStudentSpeed) | |||||
| moveSpeed = (int)(0.96 * Constants.basicStudentSpeed) | |||||
| maxHp = (int)(1.1 * Constants.basicHp) | maxHp = (int)(1.1 * Constants.basicHp) | ||||
| maxAddiction = (int)(1.3 * Constants.basicMaxGamingAddiction) | maxAddiction = (int)(1.3 * Constants.basicMaxGamingAddiction) | ||||
| LearnSpeed = (int)(1.1 * Constants.basicLearnSpeed) | LearnSpeed = (int)(1.1 * Constants.basicLearnSpeed) | ||||
| EncourageSpeed = (int)(0.8 * Constants.basicLearnSpeed) | |||||
| EncourageSpeed = (int)(Constants.basicEncourageSpeed) | |||||
| concealment = 0.9 * Constants.basicConcealment | concealment = 0.9 * Constants.basicConcealment | ||||
| alertnessRadius = (int)(0.9 * Constants.basicStudentAlertnessRadius) | alertnessRadius = (int)(0.9 * Constants.basicStudentAlertnessRadius) | ||||
| viewRange = (int)(0.9 * Constants.basicStudentViewRange) | viewRange = (int)(0.9 * Constants.basicStudentViewRange) | ||||
| @@ -187,7 +187,7 @@ class Robot: | |||||
| maxHp = (int)(0.4 * Constants.basicHp) | maxHp = (int)(0.4 * Constants.basicHp) | ||||
| maxAddiction = (int)(0.0 * Constants.basicMaxGamingAddiction) | maxAddiction = (int)(0.0 * Constants.basicMaxGamingAddiction) | ||||
| LearnSpeed = (int)(1.0 * Constants.basicLearnSpeed) | LearnSpeed = (int)(1.0 * Constants.basicLearnSpeed) | ||||
| EncourageSpeed = (int)(0.8 * Constants.basicLearnSpeed) | |||||
| EncourageSpeed = 0 | |||||
| concealment = 1.0 * Constants.basicConcealment | concealment = 1.0 * Constants.basicConcealment | ||||
| alertnessRadius = (int)(1.0 * Constants.basicStudentAlertnessRadius) | alertnessRadius = (int)(1.0 * Constants.basicStudentAlertnessRadius) | ||||
| viewRange = (int)(1.0 * Constants.basicStudentViewRange) | viewRange = (int)(1.0 * Constants.basicStudentViewRange) | ||||
| @@ -203,7 +203,7 @@ class TechOtaku: | |||||
| maxHp = (int)(0.9 * Constants.basicHp) | maxHp = (int)(0.9 * Constants.basicHp) | ||||
| maxAddiction = (int)(1.1 * Constants.basicMaxGamingAddiction) | maxAddiction = (int)(1.1 * Constants.basicMaxGamingAddiction) | ||||
| LearnSpeed = (int)(1.1 * Constants.basicLearnSpeed) | LearnSpeed = (int)(1.1 * Constants.basicLearnSpeed) | ||||
| EncourageSpeed = (int)(0.9 * Constants.basicLearnSpeed) | |||||
| EncourageSpeed = (int)(0.9 * Constants.basicEncourageSpeed) | |||||
| concealment = 1.0 * Constants.basicConcealment | concealment = 1.0 * Constants.basicConcealment | ||||
| alertnessRadius = (int)(1.0 * Constants.basicStudentAlertnessRadius) | alertnessRadius = (int)(1.0 * Constants.basicStudentAlertnessRadius) | ||||
| viewRange = (int)(0.9 * Constants.basicStudentViewRange) | viewRange = (int)(0.9 * Constants.basicStudentViewRange) | ||||
| @@ -219,20 +219,20 @@ class Sunshine: | |||||
| maxHp = (int)(1.0667 * Constants.basicHp) | maxHp = (int)(1.0667 * Constants.basicHp) | ||||
| maxAddiction = (int)(1.1 * Constants.basicMaxGamingAddiction) | maxAddiction = (int)(1.1 * Constants.basicMaxGamingAddiction) | ||||
| LearnSpeed = (int)(1.0 * Constants.basicLearnSpeed) | LearnSpeed = (int)(1.0 * Constants.basicLearnSpeed) | ||||
| EncourageSpeed = (int)(2.0 * Constants.basicLearnSpeed) | |||||
| EncourageSpeed = (int)(1.2 * Constants.basicEncourageSpeed) | |||||
| concealment = 1.0 * Constants.basicConcealment | concealment = 1.0 * Constants.basicConcealment | ||||
| alertnessRadius = (int)(1.0 * Constants.basicStudentAlertnessRadius) | alertnessRadius = (int)(1.0 * Constants.basicStudentAlertnessRadius) | ||||
| viewRange = (int)(1.0 * Constants.basicStudentViewRange) | viewRange = (int)(1.0 * Constants.basicStudentViewRange) | ||||
| speedOfOpeningOrLocking = (int)( | speedOfOpeningOrLocking = (int)( | ||||
| 1.0 * Constants.basicSpeedOfOpeningOrLocking) | |||||
| 0.7 * Constants.basicSpeedOfOpeningOrLocking) | |||||
| speedOfClimbingThroughWindows = (int)( | speedOfClimbingThroughWindows = (int)( | ||||
| 1.0 * Constants.basicStudentSpeedOfClimbingThroughWindows) | 1.0 * Constants.basicStudentSpeedOfClimbingThroughWindows) | ||||
| speedOfOpenChest = (int)(1.0 * Constants.basicSpeedOfOpenChest) | |||||
| speedOfOpenChest = (int)(0.9 * Constants.basicSpeedOfOpenChest) | |||||
| class CanBeginToCharge: | class CanBeginToCharge: | ||||
| skillCD = (int)(0.8 * Constants.commonSkillCD) | |||||
| durationTime = (int)(0.5 * Constants.commonSkillTime) | |||||
| skillCD = (int)(2 * Constants.commonSkillCD) | |||||
| durationTime = (int)(0.3 * Constants.commonSkillTime) | |||||
| class BecomeInvisible: | class BecomeInvisible: | ||||
| @@ -246,17 +246,17 @@ class Punish: | |||||
| class Rouse: | class Rouse: | ||||
| skillCD = (int)(2.0 * Constants.commonSkillCD) | |||||
| skillCD = (int)(4.0 * Constants.commonSkillCD) | |||||
| durationTime = (int)(0.0 * Constants.commonSkillTime) | durationTime = (int)(0.0 * Constants.commonSkillTime) | ||||
| class Encourage: | class Encourage: | ||||
| skillCD = (int)(2.0 * Constants.commonSkillCD) | |||||
| skillCD = (int)(4.0 * Constants.commonSkillCD) | |||||
| durationTime = (int)(0.0 * Constants.commonSkillTime) | durationTime = (int)(0.0 * Constants.commonSkillTime) | ||||
| class Inspire: | class Inspire: | ||||
| skillCD = (int)(2.0 * Constants.commonSkillCD) | |||||
| skillCD = (int)(4.0 * Constants.commonSkillCD) | |||||
| durationTime = (int)(0.0 * Constants.commonSkillTime) | durationTime = (int)(0.0 * Constants.commonSkillTime) | ||||
| @@ -1,5 +1,5 @@ | |||||
| # 规则 | # 规则 | ||||
| V4.1 | |||||
| V4.2 | |||||
| - [规则](#规则) | - [规则](#规则) | ||||
| - [简则](#简则) | - [简则](#简则) | ||||
| - [地图](#地图) | - [地图](#地图) | ||||
| @@ -225,17 +225,17 @@ V4.1 | |||||
| | 学生职业 | 教师Teacher | 健身狂Athlete | 学霸StraightAStudent | 开心果Sunshine | | | 学生职业 | 教师Teacher | 健身狂Athlete | 学霸StraightAStudent | 开心果Sunshine | | ||||
| | :------------ | :--------------------- | :--------------------- | :--------------------- | :--------------------- | | | :------------ | :--------------------- | :--------------------- | :--------------------- | :--------------------- | | ||||
| | 移动速度 | 1,125 | 1,350 | 1,200 | 1200 | | |||||
| | 移动速度 | 1350 | 1575 | 1440 | 1500 | | |||||
| | 最大毅力值 | 30000000 | 3000000 | 3300000 | 3200000 | | | 最大毅力值 | 30000000 | 3000000 | 3300000 | 3200000 | | ||||
| | 最大沉迷度 | 600000 | 54,000 | 78,000 | 66,000 | | | 最大沉迷度 | 600000 | 54,000 | 78,000 | 66,000 | | ||||
| | 学习一科速度 | 0 | 73 | 135 | 123 | | | 学习一科速度 | 0 | 73 | 135 | 123 | | ||||
| | 勉励速度 | 70 | 80 | 80 | 90 | | |||||
| | 勉励速度 | 80 | 90 | 100 | 120 | | |||||
| | 隐蔽度 | 0.5 | 0.9 | 0.9 | 0.8 | | | 隐蔽度 | 0.5 | 0.9 | 0.9 | 0.8 | | ||||
| | 警戒范围 | 7500 | 15000 | 13,500 | 15000 | | | 警戒范围 | 7500 | 15000 | 13,500 | 15000 | | ||||
| | 视野范围 | 9,000 | 11000 | 9,000 | 10000 | | | 视野范围 | 9,000 | 11000 | 9,000 | 10000 | | ||||
| | 开锁门速度 | 4000 | 4000 | 4000 | 2500 | | |||||
| | 开锁门速度 | 4000 | 4000 | 4000 | 2800 | | |||||
| | 翻窗速度 | 635 | 1,524 | 1,058 | 1270 | | | 翻窗速度 | 635 | 1,524 | 1,058 | 1270 | | ||||
| | 翻箱速度 | 1000 | 1000 | 1000 | 800 | | |||||
| | 翻箱速度 | 1000 | 1000 | 1000 | 900 | | |||||
| #### 运动员 | #### 运动员 | ||||
| - 主动技能 | - 主动技能 | ||||
| @@ -273,8 +273,8 @@ V4.1 | |||||
| - 通过唤醒获得对应得分 | - 通过唤醒获得对应得分 | ||||
| - 勉励 Encourage | - 勉励 Encourage | ||||
| - CD:120s | - CD:120s | ||||
| - 使用瞬间,为可视范围内一个毅力不足的人补充750000的毅力值 | |||||
| - 通过勉励获得对应得分 | |||||
| - 使用瞬间,为可视范围内随机一个毅力不足的人试图补充750000的毅力值 | |||||
| - 获得勉励750000的毅力值对应得分 | |||||
| - 鼓舞 Inspire | - 鼓舞 Inspire | ||||
| - CD:120s | - CD:120s | ||||
| - 使用瞬间,可视范围内学生(包括自己)获得持续6秒的1.6倍速Buff | - 使用瞬间,可视范围内学生(包括自己)获得持续6秒的1.6倍速Buff | ||||
| @@ -193,11 +193,11 @@ namespace Gaming | |||||
| { | { | ||||
| if (character.IsGhost() && | if (character.IsGhost() && | ||||
| (character.PlayerState == PlayerStateType.TryingToAttack || character.PlayerState == PlayerStateType.Swinging | (character.PlayerState == PlayerStateType.TryingToAttack || character.PlayerState == PlayerStateType.Swinging | ||||
| || character.PlayerState == PlayerStateType.UsingSkill) | |||||
| || character.PlayerState == PlayerStateType.UsingSkill || character.PlayerState == PlayerStateType.LockingOrOpeningTheDoor || character.PlayerState == PlayerStateType.ClimbingThroughWindows) | |||||
| && gameMap.CanSee(player, character)) | && gameMap.CanSee(player, character)) | ||||
| { | { | ||||
| if (characterManager.BeStunned(character, GameData.TimeOfGhostStunnedWhenPunish)) | |||||
| player.AddScore(GameData.StudentScoreTrickerBeStunned(GameData.TimeOfGhostStunnedWhenPunish)); | |||||
| if (characterManager.BeStunned(character, GameData.TimeOfGhostStunnedWhenPunish + GameData.factorOfTimeStunnedWhenPunish * (player.MaxHp - player.HP))) | |||||
| player.AddScore(GameData.StudentScoreTrickerBeStunned(GameData.TimeOfGhostStunnedWhenPunish + GameData.factorOfTimeStunnedWhenPunish * (player.MaxHp - player.HP))); | |||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| @@ -254,8 +254,8 @@ namespace Gaming | |||||
| { | { | ||||
| if ((character.HP < character.MaxHp) && gameMap.CanSee(player, character)) | if ((character.HP < character.MaxHp) && gameMap.CanSee(player, character)) | ||||
| { | { | ||||
| player.AddScore(GameData.StudentScoreTreat(character.MaxHp - character.HP)); | |||||
| character.HP = character.MaxHp; | |||||
| player.AddScore(GameData.StudentScoreTreat(GameData.AddHpWhenEncourage)); | |||||
| character.HP += GameData.AddHpWhenEncourage; | |||||
| ((Student)character).SetDegreeOfTreatment0(); | ((Student)character).SetDegreeOfTreatment0(); | ||||
| break; | break; | ||||
| } | } | ||||
| @@ -155,7 +155,7 @@ namespace Preparation.Interface | |||||
| } | } | ||||
| public class Teacher : IStudentType | public class Teacher : IStudentType | ||||
| { | { | ||||
| private const int moveSpeed = GameData.basicStudentMoveSpeed * 3 / 4; | |||||
| private const int moveSpeed = GameData.basicStudentMoveSpeed * 9 / 10; | |||||
| public int MoveSpeed => moveSpeed; | public int MoveSpeed => moveSpeed; | ||||
| private const int maxHp = GameData.basicHp * 10; | private const int maxHp = GameData.basicHp * 10; | ||||
| @@ -172,7 +172,7 @@ namespace Preparation.Interface | |||||
| public const int fixSpeed = 0; | public const int fixSpeed = 0; | ||||
| public int FixSpeed => fixSpeed; | public int FixSpeed => fixSpeed; | ||||
| public const int treatSpeed = (int)(GameData.basicTreatSpeed * 0.7); | |||||
| public const int treatSpeed = (int)(GameData.basicTreatSpeed * 0.8); | |||||
| public int TreatSpeed => treatSpeed; | public int TreatSpeed => treatSpeed; | ||||
| public const double concealment = GameData.basicConcealment * 0.5; | public const double concealment = GameData.basicConcealment * 0.5; | ||||
| @@ -195,7 +195,7 @@ namespace Preparation.Interface | |||||
| } | } | ||||
| public class Athlete : IStudentType | public class Athlete : IStudentType | ||||
| { | { | ||||
| private const int moveSpeed = GameData.basicStudentMoveSpeed * 11 / 10; | |||||
| private const int moveSpeed = GameData.basicStudentMoveSpeed * 105 / 100; | |||||
| public int MoveSpeed => moveSpeed; | public int MoveSpeed => moveSpeed; | ||||
| private const int maxHp = GameData.basicHp; | private const int maxHp = GameData.basicHp; | ||||
| @@ -212,7 +212,7 @@ namespace Preparation.Interface | |||||
| public const int fixSpeed = GameData.basicFixSpeed * 6 / 10; | public const int fixSpeed = GameData.basicFixSpeed * 6 / 10; | ||||
| public int FixSpeed => fixSpeed; | public int FixSpeed => fixSpeed; | ||||
| public const int treatSpeed = GameData.basicTreatSpeed * 8 / 10; | |||||
| public const int treatSpeed = GameData.basicTreatSpeed * 9 / 10; | |||||
| public int TreatSpeed => treatSpeed; | public int TreatSpeed => treatSpeed; | ||||
| public const double concealment = GameData.basicConcealment * 0.9; | public const double concealment = GameData.basicConcealment * 0.9; | ||||
| @@ -235,7 +235,7 @@ namespace Preparation.Interface | |||||
| } | } | ||||
| public class StraightAStudent : IStudentType | public class StraightAStudent : IStudentType | ||||
| { | { | ||||
| private const int moveSpeed = (int)(GameData.basicStudentMoveSpeed * 0.8); | |||||
| private const int moveSpeed = (int)(GameData.basicStudentMoveSpeed * 0.96); | |||||
| public int MoveSpeed => moveSpeed; | public int MoveSpeed => moveSpeed; | ||||
| private const int maxHp = (int)(GameData.basicHp * 1.1); | private const int maxHp = (int)(GameData.basicHp * 1.1); | ||||
| @@ -252,7 +252,7 @@ namespace Preparation.Interface | |||||
| public const int fixSpeed = GameData.basicFixSpeed * 11 / 10; | public const int fixSpeed = GameData.basicFixSpeed * 11 / 10; | ||||
| public int FixSpeed => fixSpeed; | public int FixSpeed => fixSpeed; | ||||
| public const int treatSpeed = GameData.basicTreatSpeed * 8 / 10; | |||||
| public const int treatSpeed = GameData.basicTreatSpeed; | |||||
| public int TreatSpeed => treatSpeed; | public int TreatSpeed => treatSpeed; | ||||
| public const double concealment = GameData.basicConcealment * 0.9; | public const double concealment = GameData.basicConcealment * 0.9; | ||||
| @@ -292,7 +292,7 @@ namespace Preparation.Interface | |||||
| public const int fixSpeed = GameData.basicFixSpeed; | public const int fixSpeed = GameData.basicFixSpeed; | ||||
| public int FixSpeed => fixSpeed; | public int FixSpeed => fixSpeed; | ||||
| public const int treatSpeed = GameData.basicTreatSpeed * 8 / 10; | |||||
| public const int treatSpeed = 0; | |||||
| public int TreatSpeed => treatSpeed; | public int TreatSpeed => treatSpeed; | ||||
| public const double concealment = GameData.basicConcealment; | public const double concealment = GameData.basicConcealment; | ||||
| @@ -372,7 +372,7 @@ namespace Preparation.Interface | |||||
| public const int fixSpeed = GameData.basicFixSpeed; | public const int fixSpeed = GameData.basicFixSpeed; | ||||
| public int FixSpeed => fixSpeed; | public int FixSpeed => fixSpeed; | ||||
| public const int treatSpeed = GameData.basicTreatSpeed * 2; | |||||
| public const int treatSpeed = GameData.basicTreatSpeed * 12 / 10; | |||||
| public int TreatSpeed => treatSpeed; | public int TreatSpeed => treatSpeed; | ||||
| public const double concealment = GameData.basicConcealment; | public const double concealment = GameData.basicConcealment; | ||||
| @@ -384,13 +384,13 @@ namespace Preparation.Interface | |||||
| public int viewRange = GameData.basicStudentViewRange; | public int viewRange = GameData.basicStudentViewRange; | ||||
| public int ViewRange => viewRange; | public int ViewRange => viewRange; | ||||
| public int speedOfOpeningOrLocking = GameData.basicSpeedOfOpeningOrLocking; | |||||
| public int speedOfOpeningOrLocking = GameData.basicSpeedOfOpeningOrLocking * 7 / 10; | |||||
| public int SpeedOfOpeningOrLocking => speedOfOpeningOrLocking; | public int SpeedOfOpeningOrLocking => speedOfOpeningOrLocking; | ||||
| public int speedOfClimbingThroughWindows = GameData.basicStudentSpeedOfClimbingThroughWindows; | public int speedOfClimbingThroughWindows = GameData.basicStudentSpeedOfClimbingThroughWindows; | ||||
| public int SpeedOfClimbingThroughWindows => speedOfClimbingThroughWindows; | public int SpeedOfClimbingThroughWindows => speedOfClimbingThroughWindows; | ||||
| public int speedOfOpenChest = GameData.basicSpeedOfOpenChest; | |||||
| public int speedOfOpenChest = GameData.basicSpeedOfOpenChest * 9 / 10; | |||||
| public int SpeedOfOpenChest => speedOfOpenChest; | public int SpeedOfOpenChest => speedOfOpenChest; | ||||
| } | } | ||||
| @@ -18,8 +18,8 @@ namespace Preparation.Interface | |||||
| } | } | ||||
| public class CanBeginToCharge : IActiveSkill | public class CanBeginToCharge : IActiveSkill | ||||
| { | { | ||||
| public int SkillCD => GameData.commonSkillCD * 24 / 30; | |||||
| public int DurationTime => GameData.commonSkillTime * 5 / 10; | |||||
| public int SkillCD => GameData.commonSkillCD * 2; | |||||
| public int DurationTime => GameData.commonSkillTime * 3 / 10; | |||||
| private readonly object commonSkillLock = new object(); | private readonly object commonSkillLock = new object(); | ||||
| public object ActiveSkillLock => commonSkillLock; | public object ActiveSkillLock => commonSkillLock; | ||||
| @@ -63,7 +63,7 @@ namespace Preparation.Interface | |||||
| public class Rouse : IActiveSkill | public class Rouse : IActiveSkill | ||||
| { | { | ||||
| public int SkillCD => GameData.commonSkillCD * 2; | |||||
| public int SkillCD => GameData.commonSkillCD * 4; | |||||
| public int DurationTime => 0; | public int DurationTime => 0; | ||||
| private readonly object commonSkillLock = new object(); | private readonly object commonSkillLock = new object(); | ||||
| @@ -78,7 +78,7 @@ namespace Preparation.Interface | |||||
| public class Encourage : IActiveSkill | public class Encourage : IActiveSkill | ||||
| { | { | ||||
| public int SkillCD => GameData.commonSkillCD * 2; | |||||
| public int SkillCD => GameData.commonSkillCD * 4; | |||||
| public int DurationTime => 0; | public int DurationTime => 0; | ||||
| private readonly object commonSkillLock = new object(); | private readonly object commonSkillLock = new object(); | ||||
| @@ -93,7 +93,7 @@ namespace Preparation.Interface | |||||
| public class Inspire : IActiveSkill | public class Inspire : IActiveSkill | ||||
| { | { | ||||
| public int SkillCD => GameData.commonSkillCD * 2; | |||||
| public int SkillCD => GameData.commonSkillCD * 4; | |||||
| public int DurationTime => 0; | public int DurationTime => 0; | ||||
| private readonly object commonSkillLock = new object(); | private readonly object commonSkillLock = new object(); | ||||
| @@ -160,7 +160,7 @@ namespace Preparation.Utility | |||||
| //public const int StudentScoreFixed = 25; | //public const int StudentScoreFixed = 25; | ||||
| public static int StudentScorePinDown(int timeOfPinningDown) | public static int StudentScorePinDown(int timeOfPinningDown) | ||||
| { | { | ||||
| return (int)(timeOfPinningDown * 0.00369); | |||||
| return (int)(timeOfPinningDown * 0.00246); | |||||
| } | } | ||||
| public static int StudentScoreTrickerBeStunned(int time) | public static int StudentScoreTrickerBeStunned(int time) | ||||
| { | { | ||||
| @@ -214,6 +214,7 @@ namespace Preparation.Utility | |||||
| public const int TimeOfStudentStunnedWhenCharge = 2090; | public const int TimeOfStudentStunnedWhenCharge = 2090; | ||||
| public const int TimeOfGhostStunnedWhenPunish = 3070; | public const int TimeOfGhostStunnedWhenPunish = 3070; | ||||
| public const int factorOfTimeStunnedWhenPunish = 300 / basicApOfGhost; | |||||
| public const int TimeOfGhostSwingingAfterHowl = 800; | public const int TimeOfGhostSwingingAfterHowl = 800; | ||||
| public const int TimeOfStudentStunnedWhenHowl = 5500; | public const int TimeOfStudentStunnedWhenHowl = 5500; | ||||
| @@ -223,6 +224,8 @@ namespace Preparation.Utility | |||||
| public const double AddedTimeOfSpeedWhenInspire = 0.6; | public const double AddedTimeOfSpeedWhenInspire = 0.6; | ||||
| public const int TimeOfAddingSpeedWhenInspire = 6000; | public const int TimeOfAddingSpeedWhenInspire = 6000; | ||||
| public const int AddHpWhenEncourage = basicHp / 4; | |||||
| #endregion | #endregion | ||||
| #region 道具相关 | #region 道具相关 | ||||
| public const int PropRadius = numOfPosGridPerCell / 2; | public const int PropRadius = numOfPosGridPerCell / 2; | ||||