NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Debug/SROptions.Fight.cs

154 lines
3.8 KiB
C#

using System.ComponentModel;
using Framework;
using Gameplay.Character;
using Gameplay.Common;
using Gameplay.Unit;
public partial class SROptions
{
[Category("战斗"), DisplayName("己方血量无敌")]
public bool SelfUnbeatable
{
get { return CodeDefine.Fight.HP_NOCOST; }
set { CodeDefine.Fight.HP_NOCOST = value; }
}
[Category("战斗"), DisplayName("敌方血量无敌")]
public bool EnemyUnbeatable
{
get { return CodeDefine.Fight.HP_NOCOST_ENEMY; }
set { CodeDefine.Fight.HP_NOCOST_ENEMY = value; }
}
[Category("战斗"), DisplayName("己方士气无敌")]
public bool SelfMoraleUnbeatable
{
get { return CodeDefine.Fight.MORALE_NOCOST; }
set { CodeDefine.Fight.MORALE_NOCOST = value; }
}
[Category("战斗"), DisplayName("敌方士气无敌")]
public bool EnemyMoraleUnbeatable
{
get { return CodeDefine.Fight.MORALE_NOCOST_ENEMY; }
set { CodeDefine.Fight.MORALE_NOCOST_ENEMY = value; }
}
// [Category("战斗"), DisplayName("强制显示地图格子")]
public bool ForceShowMapCell
{
get
{
return CodeDefine.Fight.ForceEnableMapCell;
}
set
{
CodeDefine.Fight.ForceEnableMapCell = value;
}
}
// [Category("战斗"), DisplayName("跳过可移动单位占位等级检查")]
public bool SkipMoveUnitStandLevelCheck
{
get
{
return CodeDefine.Fight.SkipMoveUnitStandLevelCheck;
}
set
{
CodeDefine.Fight.SkipMoveUnitStandLevelCheck = value;
}
}
[Category("战斗"), DisplayName("一击逃跑")]
public bool OneDamageRetreat
{
get
{
return CodeDefine.Fight.ONE_DAMAGE_RETREAT;
}
set
{
CodeDefine.Fight.ONE_DAMAGE_RETREAT = value;
}
}
[Category("战斗"), DisplayName("禁止士气恢复")]
public bool DisableMoraleRecover
{
get
{
return CodeDefine.Fight.DISABLE_MORALE_RECOVER;
}
set
{
CodeDefine.Fight.DISABLE_MORALE_RECOVER = value;
}
}
[Category("战斗"), DisplayName("强制清空己方士气")]
public void ClearSelfSideMorale()
{
ClearSideMorale(ETroopsId.Self);
}
[Category("战斗"), DisplayName("强制清空敌方士气")]
public void ClearEnemySideMorale()
{
ClearSideMorale(ETroopsId.Enemy);
}
// [Category("战斗"), DisplayName("使用玩家技能")]
public void FakeUsePlayerSkill()
{
var fakeEventData = new EDReadyPlayerSkill()
{
playerSkillId = 91101
};
EventManager.Instance.Send(EventManager.EventName.INFIGHT_PLAYER_SKILL_READYUSE, fakeEventData);
}
[Category("战斗"), DisplayName("一击死亡-自己")]
public bool oneDamageKillSelf
{
get
{
return CodeDefine.Fight.ONE_DAMAGE_KILL_SELF;
}
set
{
CodeDefine.Fight.ONE_DAMAGE_KILL_SELF = value;
}
}
[Category("战斗"), DisplayName("一击死亡-敌人")]
public bool oneDamageKillEnemy
{
get
{
return CodeDefine.Fight.ONE_DAMAGE_KILL_ENEMY;
}
set
{
CodeDefine.Fight.ONE_DAMAGE_KILL_ENEMY = value;
}
}
public void ClearSideMorale(int sideType)
{
var oldOneDamageRetreat = OneDamageRetreat;
OneDamageRetreat = true;
var allUnits = GameUnitManager.instance.infightUnits.unitList;
foreach (var unit in allUnits)
{
if (unit.commonData.troopId == sideType)
{
unit.TakeMoraleDamage(1, unit);
}
}
OneDamageRetreat = oldOneDamageRetreat;
}
}