| @@ -22,7 +22,6 @@ namespace GameClass.GameObj | |||||
| return false; // 原来已经死了 | return false; // 原来已经死了 | ||||
| if (bullet.Parent.TeamID != this.TeamID) | if (bullet.Parent.TeamID != this.TeamID) | ||||
| { | { | ||||
| if (CanBeAwed()) PlayerState = PlayerStateType.Stunned; | |||||
| if (HasShield) | if (HasShield) | ||||
| { | { | ||||
| if (bullet.HasSpear) | if (bullet.HasSpear) | ||||
| @@ -317,7 +317,6 @@ namespace Gaming | |||||
| ( | ( | ||||
| () => | () => | ||||
| { | { | ||||
| new FrameRateTaskExecutor<int>( | new FrameRateTaskExecutor<int>( | ||||
| loopCondition: () => player.PlayerState == PlayerStateType.ClimbingThroughWindows && gameMap.Timer.IsGaming, | loopCondition: () => player.PlayerState == PlayerStateType.ClimbingThroughWindows && gameMap.Timer.IsGaming, | ||||
| loopToDo: () => { }, | loopToDo: () => { }, | ||||
| @@ -139,10 +139,29 @@ namespace Gaming | |||||
| case GameObjType.Character: | case GameObjType.Character: | ||||
| if ((!((Character)objBeingShot).IsGhost()) && bullet.Parent.IsGhost()) | if ((!((Character)objBeingShot).IsGhost()) && bullet.Parent.IsGhost()) | ||||
| if (((Student)objBeingShot).BeAttacked(bullet)) | |||||
| { | |||||
| Student oneBeAttacked = (Student)objBeingShot; | |||||
| if (oneBeAttacked.CanBeAwed()) | |||||
| { | |||||
| oneBeAttacked.PlayerState = PlayerStateType.Stunned; | |||||
| new Thread | |||||
| ( | |||||
| () => | |||||
| { | |||||
| Thread.Sleep(GameData.basicStunnedTimeOfStudent); | |||||
| if (oneBeAttacked.PlayerState == PlayerStateType.Stunned) | |||||
| { | |||||
| oneBeAttacked.PlayerState = PlayerStateType.Null; | |||||
| } | |||||
| } | |||||
| ) | |||||
| { IsBackground = true }.Start(); | |||||
| } | |||||
| if (oneBeAttacked.BeAttacked(bullet)) | |||||
| { | { | ||||
| BeAddictedToGame((Student)objBeingShot); | BeAddictedToGame((Student)objBeingShot); | ||||
| } | } | ||||
| } | |||||
| // if (((Character)objBeingShot).IsGhost() && !bullet.Parent.IsGhost() && bullet.TypeOfBullet == BulletType.Ram) | // if (((Character)objBeingShot).IsGhost() && !bullet.Parent.IsGhost() && bullet.TypeOfBullet == BulletType.Ram) | ||||
| // BeStunned((Character)objBeingShot, bullet.AP); | // BeStunned((Character)objBeingShot, bullet.AP); | ||||
| break; | break; | ||||
| @@ -116,6 +116,9 @@ namespace Preparation.Utility | |||||
| { | { | ||||
| return 0; | return 0; | ||||
| } | } | ||||
| public const int StudentScoreTrickerBeStunned = 25; | |||||
| public const int ScoreUseProp = 0; | |||||
| #endregion | #endregion | ||||
| #region 攻击与子弹相关 | #region 攻击与子弹相关 | ||||
| public const int basicApOfGhost = 1500000; // 捣蛋鬼攻击力 | public const int basicApOfGhost = 1500000; // 捣蛋鬼攻击力 | ||||
| @@ -124,8 +127,9 @@ namespace Preparation.Utility | |||||
| public const int basicCD = 3000; // 初始子弹冷却 | public const int basicCD = 3000; // 初始子弹冷却 | ||||
| public const int basicCastTime = 500;//基本前摇时间 | public const int basicCastTime = 500;//基本前摇时间 | ||||
| public const int basicBackswing = 500;//基本后摇时间 | |||||
| public const int basicBackswing = 818;//基本后摇时间 | |||||
| public const int basicRecoveryFromHit = 4300;//基本命中攻击恢复时长 | public const int basicRecoveryFromHit = 4300;//基本命中攻击恢复时长 | ||||
| public const int basicStunnedTimeOfStudent = 4130; | |||||
| public const int bulletRadius = 200; // 默认子弹半径 | public const int bulletRadius = 200; // 默认子弹半径 | ||||
| public const int basicBulletNum = 3; // 基本初始子弹量 | public const int basicBulletNum = 3; // 基本初始子弹量 | ||||