154 lines
3.8 KiB
C#
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;
|
|
}
|
|
|
|
}
|