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; }
//TODO: Delete all these blah methods public Object blahblah(Object arg) { Monster m = new Monster(); return m; }
public void RemoveSummon(Monster monster) { summons.Remove(monster); }
public void AddSummon(Monster monster) { summons.Add(monster); }
public void SendAddMonster(Monster monster, Position position) { lock (lockThis) { SendAddCreature(monster, position); } }
public virtual void AppendRemoveMonster(Monster monster) { lock (lockThis) { AppendRemoveCreature(monster); } }
public void AppendAddMonster(Monster monster, Position position) { lock (lockThis) { AppendAddCreature(monster, position); AddMagicEffect(MagicEffect.BLUEBALL, monster.CurrentPosition); monster.PerformThink(); } }