//ability packs void BasicAttackAbilities(Being b) { Ability ab3 = new Ability(b, "Poor punch", 100, 1, false); NoCondition_Condition noCondition2 = new NoCondition_Condition(battleManager, b, "NoCondition"); ModulateResource_Effect damage = new ModulateResource_Effect(battleManager, b, ab3, "Damage", "HP", -3, false); Others_TargetingCriteria o = new Others_TargetingCriteria(battleManager, b, ab3); ab3.conditions.Add(noCondition2); ab3.effects.Add(damage); ab3.targetingCriteria.Add(o); ab3.numberOfTargets = 1; // b.abilities.Add(ab3); Ability ab4 = new Ability(b, "Punch", 100, 1, false); ResourceAtValue_Condition reqStam = new ResourceAtValue_Condition(battleManager, b, "Stamina above 0", "STAMINA", ">", 0); ModulateResource_Effect costsStamina = new ModulateResource_Effect(battleManager, b, ab3, "CostsStamina", "STAMINA", -20, true); ModulateResource_Effect damage2 = new ModulateResource_Effect(battleManager, b, ab4, "Damage", "HP", -10, false); Others_TargetingCriteria o2 = new Others_TargetingCriteria(battleManager, b, ab4); ab4.abilityType = AbilityType.PublicNormal; ab4.conditions.Add(reqStam); ab4.effects.Add(costsStamina); ab4.effects.Add(damage2); ab4.targetingCriteria.Add(o2); ab4.numberOfTargets = 1; b.abilities.Add(ab4); }
void BasicAttackAbilities(Being b) { Ability ab3 = new Ability(b, "Echoing Punch", AbilityChassis.Melee, AbilityType.PublicNormal, 100, 1, false); StatusIsNot_Condition notStaggered = new StatusIsNot_Condition(actionManager, b, "IsNotStaggered", Being.Status.staggered); ResourceAtValue_Condition reqStam1 = new ResourceAtValue_Condition(actionManager, b, "Stamina above 0", "STAMINA", ">", 0); ModulateResource_Effect costsStamina1 = new ModulateResource_Effect(actionManager, b, ab3, "CostsStamina", "STAMINA", -20, true, CombatState.Activate, 0, 0); Damage_Effect damage = new Damage_Effect(actionManager, b, ab3, "Damage", "HP", 1, CombatState.Hit, 0, 0); Others_TargetingCriteria o = new Others_TargetingCriteria(actionManager, b); ab3.conditions.Add(notStaggered); ab3.conditions.Add(reqStam1); ab3.effects.Add(costsStamina1); ab3.effects.Add(damage); ab3.targetingCriteria.Add(o); ab3.numberOfTargets = 1; b.abilities.Add(ab3); Ability ab4 = new Ability(b, "Punch", AbilityChassis.Melee, AbilityType.PublicNormal, 100, 1, false); StatusIsNot_Condition notStaggered2 = new StatusIsNot_Condition(actionManager, b, "NoCondition", Being.Status.staggered); ResourceAtValue_Condition reqStam = new ResourceAtValue_Condition(actionManager, b, "Stamina above 0", "STAMINA", ">", 0); ModulateResource_Effect costsStamina = new ModulateResource_Effect(actionManager, b, ab3, "CostsStamina", "STAMINA", -20, true, CombatState.Activate, 0, 0); Damage_Effect damage2 = new Damage_Effect(actionManager, b, ab3, "Damage", "HP", 2, CombatState.Hit, 0, 0); Others_TargetingCriteria o2 = new Others_TargetingCriteria(actionManager, b); ab4.abilityType = AbilityType.PublicNormal; ab4.conditions.Add(notStaggered2); //ab4.conditions.Add(reqStam); ab4.effects.Add(costsStamina); ab4.effects.Add(damage2); ab4.targetingCriteria.Add(o2); ab4.numberOfTargets = 1; b.abilities.Add(ab4); Ability overcome = new Ability(b, "Overcome Stagger", AbilityChassis.StaggerRecover, AbilityType.PublicNormal, 100, 1, false); StatusIs_Condition isStaggered = new StatusIs_Condition(actionManager, b, "Staggered", Being.Status.staggered); ResourceAtValue_Condition reqStam2 = new ResourceAtValue_Condition(actionManager, b, "Stamina above 0", "STAMINA", ">", 0); Self_TargetingCriteria selftarget = new Self_TargetingCriteria(actionManager, b); overcome.conditions.Add(isStaggered); overcome.conditions.Add(reqStam2); overcome.targetingCriteria.Add(selftarget); b.abilities.Add(overcome); }
void BasicDefenceAbilities(Being b) { Ability dodge = new Ability(b, "Dodge", AbilityChassis.Dodge, AbilityType.PublicNormal, 100, 1, false); StatusIsNot_Condition notStaggered = new StatusIsNot_Condition(actionManager, b, "NoCondition", Being.Status.staggered); Dodge_DefenceEffect dodgeEffect = new Dodge_DefenceEffect(actionManager, b, dodge, "Dodge", CombatState.Hit, 0, 0); Others_TargetingCriteria others = new Others_TargetingCriteria(actionManager, b); dodge.conditions.Add(notStaggered); dodge.effects.Add(dodgeEffect); dodge.targetingCriteria.Add(others); b.abilities.Add(dodge); Ability block = new Ability(b, "Block", AbilityChassis.Block, AbilityType.PublicNormal, 100, 1, false); StatusIsNot_Condition notStaggered2 = new StatusIsNot_Condition(actionManager, b, "NoCondition", Being.Status.staggered); Block_DefenceEffect block2 = new Block_DefenceEffect(actionManager, b, block, "Block", CombatState.Hit, 0, 0); Others_TargetingCriteria others2 = new Others_TargetingCriteria(actionManager, b); block.conditions.Add(notStaggered2); block.effects.Add(block2); block.targetingCriteria.Add(others2); b.abilities.Add(block); }