Ejemplo n.º 1
0
        public static void ObjectHealthChanged(ObjectHealthChanged P)
        {
            MapObject Temp;

            for (int I = 0; I < MapLayer.ObjectList.Count; I++)
            {
                Temp = MapLayer.ObjectList[I];

                if (Temp.ObjectID == P.ObjectID)
                {
                    Temp.CurrentHP = P.HP;
                    Temp.MaxHP     = P.MaxHP;
                    return;
                }
            }
        }
Ejemplo n.º 2
0
 private IEnumerable <AGameEvent> AddBonus(AGameBonus bonus, long time)
 {
     if (bonus.Is(EnumObjectType.Remedy))
     {
         var health          = HealthAmount;
         var potentialHealth = health + health * bonus.DamageFactor;
         HealthAmount = potentialHealth > MaxHealthAmount ? MaxHealthAmount : potentialHealth;
         AGameEvent gameEvent = new ObjectHealthChanged(HealthAmount, Id, time);
         return(new[]
         {
             new ObjectDeleted(bonus.Id, time),
             gameEvent
         });
     }
     Bonuses.RemoveAll(b => b.ObjectType == bonus.ObjectType);
     Bonuses.Add(bonus);
     bonus.Taken(time);
     //t = new BonusesChanged(Id, time, MergeBonuses());
     return(new AGameEvent[]
     {
         new ObjectDeleted(bonus.Id, time)
         //t
     });
 }