public static AbstractTargetTactic getTargetTactic(string name, object ab) { AbstractTargetTactic att = null; if ("RandomTargetTactic".Equals(name)) { att = new RandomTargetTactic(); } if ("AllPartyTargetTactic".Equals(name)) { att = new AllPartyTargetTactic(); } if ("DamagedTargetTactic".Equals(name)) { att = new DamagedTargetTactic(); } if ("ItselfTargetTactic".Equals(name)) { att = new ItselfTargetTactic(); } if ("WithoutBuffTactic".Equals(name)) { att = new WithoutBuffTactic((Buff)ab); } return(att); }
public MeleeAttack(string n) { name = n; timeCast = Constants.PERSON_MELEE_ATTACK_SPEED; targetType = AbilityTargetType.ENEMY; image = Constants.loadSprite("texture/Skills/buffIcons", "buffIcons_2"); type = "activeAbility"; setAbstractTactic(new MeleeAttackTactic(1)); isActive = true; AbstractAbilityEffect effect = new DamageAbilityEffect(); effect.targetsNumber = 1; effect.valueGenerator = new ConstantValueGenerator(1); effectList.Add(effect); targetTactic = new RandomTargetTactic(); }