示例#1
0
        private void OnNpcSkillEvent(NpcSkillEvent Event)
        {
            var Level = Master_.Skill.GetSkillLevel(SkillID_);

            if (Random.Range(0, 100) < Level * 5)
            {
                SkillManager.FindSkill(Event.SkillID)?.ClearCD();
            }
        }
示例#2
0
        private void OnNpcSkillEvent(NpcSkillEvent Event)
        {
            if (Event.Master.ID != Master_.ID)
            {
                return;
            }

            var Level = Master_.Skill.GetSkillLevel(SkillID_);

            if (Random.Range(0, 100) < Level * 10)
            {
                Master_.AddAttr(NpcAttrIndex.Mp, Level * 5);
            }
        }
示例#3
0
        public void UseSkill(SkillArgs Args)
        {
            if (Args == null || Args.Skill == null)
            {
                LLogger.LWarning("Npc UseSkill, Args or Args.Skill is null");
                return;
            }

            if (!CanUseSkill(Args.Skill.SkillID))
            {
                return;
            }

            var Evt = new NpcSkillEvent(Master, Args.Skill.SkillID, Args);

            EventManager.Send(Evt);
        }