Ejemplo n.º 1
0
 public void RemoveStatusEffect(MonsterBuff effect)
 {
     lock (Buffs)
     {
         Buffs.Remove(effect);
     }
 }
Ejemplo n.º 2
0
 public void ApplyStatusEffect(int sourceSkillId, BuffStat buffStat, int buffValue, int durationMS, MapleCharacter applicant)
 {
     lock (Buffs)
     {
         List <MonsterBuff> toRemove = new List <MonsterBuff>();
         foreach (MonsterBuff buff in Buffs)
         {
             if (buff.BuffStat == buffStat) //Mob already has this buff
             {
                 toRemove.Add(buff);
             }
         }
         foreach (var buff in toRemove)
         {
             buff.Dispose(true);
         }
         MonsterBuff newEffect = new MonsterBuff(applicant.Id, sourceSkillId, durationMS, buffStat, buffValue, this);
         Buffs.Add(newEffect);
         Map.BroadcastPacket(newEffect.GetApplicationPacket());
     }
 }