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);
    }
Ejemplo n.º 2
0
        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);
        }