Browse Source

fix: 🐛 fix a problem about being stunned

tags/0.1.0
shangfengh 2 years ago
parent
commit
2143e2a724
4 changed files with 25 additions and 4 deletions
  1. +0
    -1
      logic/GameClass/GameObj/Character/Character.Student.cs
  2. +0
    -1
      logic/Gaming/ActionManager.cs
  3. +20
    -1
      logic/Gaming/AttackManager.cs
  4. +5
    -1
      logic/Preparation/Utility/GameData.cs

+ 0
- 1
logic/GameClass/GameObj/Character/Character.Student.cs View File

@@ -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)


+ 0
- 1
logic/Gaming/ActionManager.cs View File

@@ -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: () => { },


+ 20
- 1
logic/Gaming/AttackManager.cs View File

@@ -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;


+ 5
- 1
logic/Preparation/Utility/GameData.cs View File

@@ -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; // 基本初始子弹量


Loading…
Cancel
Save