/** * @param skillTemplate * @param effector * @param skillLvl * @param firstTarget */ public Skill( SkillTemplate skillTemplate, Creature effector, int skillLvl, Creature firstTarget, ItemTemplate itemTemplate) { this.effectedList = new ArrayList<Creature>(); this.conditionChangeListener = new StartMovingListener(); this.firstTarget = firstTarget; this.skillLevel = skillLvl; this.skillStackLvl = skillTemplate.getLvl(); this.skillTemplate = skillTemplate; this.effector = effector; this.duration = skillTemplate.getDuration(); this.itemTemplate = itemTemplate; if (itemTemplate != null) skillMethod = SkillMethod.ITEM; else if (skillTemplate.isPassive()) skillMethod = SkillMethod.PASSIVE; else if (skillTemplate.isProvoked()) skillMethod = SkillMethod.PROVOKED; else if (skillTemplate.isCharge()) skillMethod = SkillMethod.CHARGE; }