public static void Announce(EntityParent announcer, EntityParent caster, int skillID) { BecameSkillTargetConditionMessage becameSkillTargetConditionMessage = new BecameSkillTargetConditionMessage(); becameSkillTargetConditionMessage.type = BacameSkillTargetAnnouncer.type; becameSkillTargetConditionMessage.announcer = announcer; becameSkillTargetConditionMessage.caster = caster; becameSkillTargetConditionMessage.skillID = skillID; EventDispatcher.Broadcast <ConditionMessage>(ConditionManagerEvent.CheckCondition, becameSkillTargetConditionMessage); }
protected bool CheckBecameSkillTargetCondition(Condition conditionData, ConditionMessage message) { if (!(message is BecameSkillTargetConditionMessage)) { return(false); } if (conditionData.damageType == null) { return(false); } BecameSkillTargetConditionMessage becameSkillTargetConditionMessage = message as BecameSkillTargetConditionMessage; if (!this.CheckConditionExtraInspection(conditionData, becameSkillTargetConditionMessage.caster, becameSkillTargetConditionMessage.announcer)) { return(false); } Skill skill = DataReader <Skill> .Get(becameSkillTargetConditionMessage.skillID); if (skill == null) { return(false); } if (conditionData.damageType.get_Count() == 0) { return(true); } for (int i = 0; i < conditionData.damageType.get_Count(); i++) { if (conditionData.damageType.get_Item(i) == 0) { return(true); } if (conditionData.damageType.get_Item(i) == skill.skilltype) { return(true); } } return(false); }