/// <summary> /// 判定伤害后技能影响 /// </summary> /// <param name="src">攻击者</param> /// <param name="dest">受击者</param> /// <param name="damage">伤害值</param> public void CheckHitEffectAfter(LiveMonster src, LiveMonster dest, HitDamage damage) { foreach (var skill in Skills.ToArray()) { var key = MemBaseSkill.GetBurstKey(src.Id, dest.Id); if (skill.IsBurst(key)) { skill.CheckHitEffectAfter(src, dest, damage, key); } } }
/// <summary> /// 判定伤害技能影响 /// </summary> /// <param name="src">攻击者</param> /// <param name="dest">受击者</param> /// <param name="isActive">是否主动</param> /// <param name="damage">伤害值</param> /// <param name="nodef">无视防御</param> public void CheckDamage(LiveMonster src, LiveMonster dest, bool isActive, HitDamage damage, ref bool nodef) { foreach (var skill in Skills.ToArray()) { var key = MemBaseSkill.GetBurstKey(src.Id, dest.Id); if (skill.IsBurst(key)) { skill.CheckDamage(src, dest, isActive, damage, ref nodef, key); } } }
/// <summary> /// 判定hit技能影响 /// </summary> /// <param name="src">攻击者</param> /// <param name="dest">受击者</param> /// <param name="rhit">命中</param> public void CheckHit(LiveMonster src, LiveMonster dest, ref int rhit) { foreach (var skill in Skills.ToArray()) { var key = MemBaseSkill.GetBurstKey(src.Id, dest.Id); if (skill.IsBurst(key)) { skill.CheckHit(src, dest, ref rhit, key); } } }
public void AddSkillBeforeInit(List <RLIdValue> skills, SkillSourceTypes type) { foreach (var skillInfo in skills) { Skill skill = new Skill(skillInfo.Id); skill.UpgradeToLevel(self.Level); MemBaseSkill skillbase = new MemBaseSkill(skill, skillInfo.Value); skillbase.Type = type; skillbase.Level = self.Level; skillbase.Self = self; Skills.Add(skillbase); } }
private List<MemBaseSkill> GetMemSkillDataForMonster() { List<MemBaseSkill> skills = new List<MemBaseSkill>(); foreach (var skill in MonsterBook.GetSkillList(self.Avatar.MonsterConfig.Id)) { int lukLevel = self.Level; Skill luk = new Skill(skill.Id); luk.UpgradeToLevel(lukLevel); MemBaseSkill baseSkill = new MemBaseSkill(luk, skill.Value) { Self = self, Level = lukLevel }; skills.Add(baseSkill); } return skills; }
private List <MemBaseSkill> GetMemSkillDataForMonster() { List <MemBaseSkill> skills = new List <MemBaseSkill>(); foreach (var skill in MonsterBook.GetSkillList(self.Avatar.MonsterConfig.Id)) { int lukLevel = self.Level; Skill luk = new Skill(skill.Id); luk.UpgradeToLevel(lukLevel); MemBaseSkill baseSkill = new MemBaseSkill(luk, skill.Value) { Self = self, Level = lukLevel }; skills.Add(baseSkill); } return(skills); }
public void AddSkill(int sid, int slevel, int rate, SkillSourceTypes type) { foreach (MemBaseSkill memSkill in Skills) { if (memSkill.SkillId == sid) { Skills.Remove(memSkill); break; } } Skill skill = new Skill(sid); skill.UpgradeToLevel(slevel); MemBaseSkill skillbase = new MemBaseSkill(skill, rate); skillbase.Type = type; skillbase.Level = slevel; skillbase.Self = self; skillbase.CheckInitialEffect(); Skills.Add(skillbase); }
public void AddSkill(int sid, int slevel, int rate, SkillSourceTypes type) { foreach (var memSkill in Skills) { if (memSkill.SkillId == sid) { Skills.Remove(memSkill); break; } } Skill skill = new Skill(sid); skill.UpgradeToLevel(slevel); MemBaseSkill skillbase = new MemBaseSkill(skill, rate); skillbase.Type = type; skillbase.Level = slevel; skillbase.Self = self; skillbase.CheckInitialEffect(); Skills.Add(skillbase); }