Beispiel #1
0
 public Monster Clone()
 {
     Monster monster = new Monster();
     monster.CurrentHP = CurrentHP;
     monster.Name = Name;
     monster.CharType = CharType;
     monster.Experience = Experience;
     monster.CurrentHP = CurrentHP;
     monster.MaxHP = MaxHP;
     monster.Corpse = Corpse;
     monster.Attack = Attack;
     monster.Skill = Skill;
     monster.Armor = Armor;
     monster.Defense = Defense;
     monster.Talk = Talk; //Shallow copy
     monster.Spells = Spells; //Shallow copy
     monster.Loot = Loot;
     monster.LootContainer = LootContainer;
     monster.Speed = Speed;
     monster.Immunities = Immunities;
     monster.SummonCost = SummonCost;
     monster.Corpse = Corpse;
     monster.MaxSummons = MaxSummons;
     return monster;
 }
Beispiel #2
0
 //TODO: Delete all these blah methods
 public Object blahblah(Object arg)
 {
     Monster m = new Monster();
     return m;
 }
Beispiel #3
0
 public void RemoveSummon(Monster monster)
 {
     summons.Remove(monster);
 }
Beispiel #4
0
 public void AddSummon(Monster monster)
 {
     summons.Add(monster);
 }
Beispiel #5
0
 public void SendAddMonster(Monster monster, Position position)
 {
     lock (lockThis) {
         SendAddCreature(monster, position);
     }
 }
Beispiel #6
0
 public virtual void AppendRemoveMonster(Monster monster)
 {
     lock (lockThis) {
         AppendRemoveCreature(monster);
     }
 }
Beispiel #7
0
 public void AppendAddMonster(Monster monster, Position position)
 {
     lock (lockThis) {
         AppendAddCreature(monster, position);
         AddMagicEffect(MagicEffect.BLUEBALL, monster.CurrentPosition);
         monster.PerformThink();
     }
 }