public static void Announce(EntityParent announcer, EntityParent target, int skillID) { UseSkillConditionMessage useSkillConditionMessage = new UseSkillConditionMessage(); useSkillConditionMessage.type = UseSkillAnnouncer.type; useSkillConditionMessage.announcer = announcer; useSkillConditionMessage.target = target; useSkillConditionMessage.skillID = skillID; EventDispatcher.Broadcast <ConditionMessage>(ConditionManagerEvent.CheckCondition, useSkillConditionMessage); }
protected bool CheckUseSkillCondition(Condition conditionData, ConditionMessage message) { if (!(message is UseSkillConditionMessage)) { return(false); } if (conditionData.damageType == null) { return(false); } UseSkillConditionMessage useSkillConditionMessage = message as UseSkillConditionMessage; if (!this.CheckConditionExtraInspection(conditionData, useSkillConditionMessage.announcer, useSkillConditionMessage.target)) { return(false); } Skill skill = DataReader <Skill> .Get(useSkillConditionMessage.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); }