public static void Announce(EntityParent announcer, EntityParent target, int effectID) { CauseDamageEffectMessage causeDamageEffectMessage = new CauseDamageEffectMessage(); causeDamageEffectMessage.type = CauseDamageEffectAnnouncer.type; causeDamageEffectMessage.announcer = announcer; causeDamageEffectMessage.target = target; causeDamageEffectMessage.effectID = effectID; EventDispatcher.Broadcast <ConditionMessage>(ConditionManagerEvent.CheckCondition, causeDamageEffectMessage); }
protected bool CheckCauseDamageEffectCondition(Condition conditionData, ConditionMessage message) { if (!(message is CauseDamageEffectMessage)) { return(false); } CauseDamageEffectMessage causeDamageEffectMessage = message as CauseDamageEffectMessage; return(this.CheckConditionExtraInspection(conditionData, causeDamageEffectMessage.announcer, causeDamageEffectMessage.target) && (conditionData.effectIdList.get_Count() == 0 || conditionData.effectIdList.Contains(causeDamageEffectMessage.effectID))); }