public void AddPetBuff(ClientSession session, Mate mate) { int cardId = -1; if (MateBuffs.TryGetValue(mate.NpcMonsterVNum, out cardId) && session.Character.Buff.All(b => b.Card.CardId != cardId)) { session.Character.AddBuff(new Buff.Buff(cardId, isPermaBuff: true)); } foreach (NpcMonsterSkill skill in mate.Monster.Skills.Where(sk => PetSkills.Contains(sk.SkillVNum))) { session.SendPacket(session.Character.GeneratePetskill(skill.SkillVNum)); } }
public void AddPetBuff(ClientSession session, Mate mate) { if (session == null || mate == null) { return; } if (MateBuffs.TryGetValue(mate.NpcMonsterVNum, out var cardId) && session.Character.Buff.All(b => b.Card.CardId != cardId)) { session.Character.AddBuff(new Buff((short)cardId, isPermaBuff: true)); } if (mate.MateType != MateType.Pet) { return; } foreach (NpcMonsterSkill skill in mate.Monster.Skills.Where(sk => PetSkills.Contains(sk.SkillVNum))) { session.SendPacket(session.Character.GeneratePetSkill(skill.SkillVNum)); } }