//For this class CanBeShort/Long indicate whether the unit can attack from these ranges public CharacterUnit(Loading.UnitCardData Data) : base(Data) { AttackCost = 1; Modules.Attack.AttackModule M1 = new Modules.Attack.BasicAttack(); M1.Setup(this, null); AMCombiner.Attack.Add(M1); Modules.Target.TargettingModule M2 = new Modules.Target.DefaultTargetting(); M2.Setup(this, null); TMCombiner.Add(M2); Modules.Target.TargettingModule M3 = new Modules.Target.DefaultCost(); M3.Setup(this, null); TMCombiner.Add(M3); Modules.Target.BlockingModule M4 = new Modules.Target.DefaultBlocking(); M4.Setup(this, null); BlockingModules.Add(M4); Modules.Target.BeingTargetedModule M5 = new Modules.Target.DefaultIsBlocked(); M5.Setup(this, null); BeingTargetedModules.Add(M5); Modules.Target.TargettingModule M6 = new Modules.Target.OneAttackPerTurn(); M6.Setup(this, null); TMCombiner.Add(M6); Actions.Add(new ActionInfo("Move", new Move_Action(true, 0), PlayerType.NA, 0, 0)); Actions.Add(new ActionInfo("Attach", new Attach_Action(true, 0), PlayerType.Ally, 1, 1)); }
public BasicUnit(Loading.UnitCardData Data) : base(Data) { AttackCost = 2; Modules.Attack.AttackModule M1 = new Modules.Attack.BasicAttack(); M1.Setup(this, null); AMCombiner.Attack.Add(M1); Modules.Target.TargettingModule M2 = new Modules.Target.DefaultTargetting(); M2.Setup(this, null); TMCombiner.Add(M2); Modules.Target.TargettingModule M3 = new Modules.Target.DefaultCost(); M3.Setup(this, null); TMCombiner.Add(M3); Modules.Target.BlockingModule M4 = new Modules.Target.DefaultBlocking(); M4.Setup(this, null); BlockingModules.Add(M4); Modules.Target.BeingTargetedModule M5 = new Modules.Target.DefaultIsBlocked(); M5.Setup(this, null); BeingTargetedModules.Add(M5); Modules.Target.TargettingModule M6 = new Modules.Target.OneAttackPerTurn(); M6.Setup(this, null); TMCombiner.Add(M6); }
public Unit(Loading.UnitCardData Data) { BaseAttack = Data.Attack; BaseHealth = Data.Health; BaseVP = Data.Victory; Name = Data.mName; CanBeShort = Data.CanBeShort; CanBeLong = Data.CanBeLong; Actions.Add(new ActionInfo("Attack", new Attack_Action(false, 0), PlayerType.Enemy, 1, 1)); if (Data.mActions != null) { foreach (Loading.ActionData actionData in Data.mActions) { if (actionData.mIsPlaced) { PAHolder.AddAction(Loading.CardLoading.GetActionInfoFromData(actionData)); } else { Actions.Add(Loading.CardLoading.GetActionInfoFromData(actionData)); } } } if (Data.mModules != null) { foreach (Loading.ModuleData MD in Data.mModules) { Modules.Module M = Loading.CardLoading.GetModuleFromData(MD); M.Setup(this, MD); AddModule(MD.Type, M); } } Classes = new List <string>(Data.Classes); }