diff --git a/docs/游戏机制与平衡性调整更新草案.md b/docs/游戏机制与平衡性调整更新草案.md index 22c1d45..f08ff94 100644 --- a/docs/游戏机制与平衡性调整更新草案.md +++ b/docs/游戏机制与平衡性调整更新草案.md @@ -57,7 +57,7 @@ v1.6 - 扣血则得分100×受到伤害/基本伤害(1500000) - 技能惩罚(Punish)改为 - CD:45s - - “使用瞬间,在**视野距离/4范围内(不是可视范围)的**翻窗、开锁门、攻击前后摇、**使用技能期间**的捣蛋鬼会被眩晕(3070+**500***已受伤害/基本伤害(1500000))ms” + - “使用瞬间,在**视野距离/3范围内(不是可视范围)的**翻窗、开锁门、攻击前后摇、**使用技能期间**的捣蛋鬼会被眩晕(3070+**500***已受伤害/基本伤害(1500000))ms” - 技能喝茶(HaveTea)(新增) - CD:90s - 在有队友受过伤的情况下,使用瞬间,向当前方向瞬移3000(可以穿墙),如果会碰撞则失败。 diff --git a/logic/GameClass/GameObj/Character/Character.cs b/logic/GameClass/GameObj/Character/Character.cs index 26d29e1..6855120 100644 --- a/logic/GameClass/GameObj/Character/Character.cs +++ b/logic/GameClass/GameObj/Character/Character.cs @@ -361,7 +361,9 @@ namespace GameClass.GameObj { lock (actionLock) { - if (playerState == PlayerStateType.Moving && IsMoving == 1) return PlayerStateType.Moving; + if (playerState == PlayerStateType.Moving) + if (IsMoving == 1) return PlayerStateType.Moving; + else return PlayerStateType.Null; return playerState; } } diff --git a/logic/Gaming/SkillManager/SkillManager.ActiveSkill.cs b/logic/Gaming/SkillManager/SkillManager.ActiveSkill.cs index edc0bd3..5f05c6b 100644 --- a/logic/Gaming/SkillManager/SkillManager.ActiveSkill.cs +++ b/logic/Gaming/SkillManager/SkillManager.ActiveSkill.cs @@ -341,7 +341,7 @@ namespace Gaming || character.PlayerState == PlayerStateType.UsingSkill || character.PlayerState == PlayerStateType.LockingTheDoor || character.PlayerState == PlayerStateType.OpeningTheDoor || character.PlayerState == PlayerStateType.ClimbingThroughWindows) - && gameMap.CanSee(player, character)) + && XY.DistanceFloor3(character.Position, player.Position) <= player.ViewRange / 3) { if (CharacterManager.BeStunned(character, GameData.timeOfGhostStunnedWhenPunish + GameData.factorOfTimeStunnedWhenPunish * (player.MaxHp - player.HP)) > 0) player.AddScore(GameData.StudentScoreTrickerBeStunned(GameData.timeOfGhostStunnedWhenPunish + GameData.factorOfTimeStunnedWhenPunish * (player.MaxHp - player.HP))); diff --git a/logic/Preparation/Interface/ISkill.cs b/logic/Preparation/Interface/ISkill.cs index b06f1a0..c8fa69d 100644 --- a/logic/Preparation/Interface/ISkill.cs +++ b/logic/Preparation/Interface/ISkill.cs @@ -66,7 +66,7 @@ namespace Preparation.Interface public class Punish : ActiveSkill { - public override int SkillCD => GameData.commonSkillCD; + public override int SkillCD => GameData.commonSkillCD * 45 / 30; public override int DurationTime => 0; } diff --git a/logic/Preparation/Utility/EnumType.cs b/logic/Preparation/Utility/EnumType.cs index d296091..1fff97d 100644 --- a/logic/Preparation/Utility/EnumType.cs +++ b/logic/Preparation/Utility/EnumType.cs @@ -106,6 +106,7 @@ namespace Preparation.Utility Inspire = 13, ShowTime = 14, SparksNSplash = 15, + HaveTea = 16, } public enum PassiveSkillType { diff --git a/logic/Preparation/Utility/GameData.cs b/logic/Preparation/Utility/GameData.cs index 682254c..b24dbd1 100644 --- a/logic/Preparation/Utility/GameData.cs +++ b/logic/Preparation/Utility/GameData.cs @@ -214,7 +214,7 @@ namespace Preparation.Utility public const int timeOfStudentStunnedWhenCharge = 2090; public const int timeOfGhostStunnedWhenPunish = 3070; - public const int factorOfTimeStunnedWhenPunish = 300 / basicApOfGhost; + public const int factorOfTimeStunnedWhenPunish = 500 / basicApOfGhost; public const int factorOfScoreWhenTeacherAttacked = 100;//每个 public const int timeOfGhostSwingingAfterHowl = 800;