public Weakling(string name) : base(name) { ActionList.Add("null1", NullAction.GetActionBuilder()); ActionList.Add("null2", NullAction.GetActionBuilder()); ActionList.Add("attack", AttackAction.GetActionBuilder()); ItemBuilderFactory factory = ItemBuilderFactory.GetInstance(); LootTable.Add(new LootTableElement(999, factory.GetBuilder("rusty-spoon"))); LootTable.Add(new LootTableElement(999, factory.GetBuilder("loincloth"))); LootTable.Add(new LootTableElement(100, factory.GetBuilder("healing-potion"))); }
public PlayerCharacter GetPlayer(string name) { string realName; string playerClass; int level; int experience; string weapon; string armor; string itemname; int itemCount; PlayerCharacter player; NpgsqlDataReader reader; Inventory inventory = new Inventory(); lock (lockObject) { PlayerCharacterFactory f = new PlayerCharacterFactory(); reader = Command(string.Format("SELECT name, class, level, experience, weapon, armor FROM GalaMUD.players WHERE lowerName='{0}';", name.ToLower())); reader.Read(); realName = reader.GetString(0); playerClass = reader.GetString(1); level = reader.GetInt32(2); experience = reader.GetInt32(3); weapon = reader.GetString(4); armor = reader.GetString(5); reader.Close(); player = f.GetInstanceByClass(playerClass, realName, level, experience); reader = Command(string.Format("SELECT item, count FROM GalaMUD.inventory WHERE lowerName='{0}';", name.ToLower())); while (reader.Read()) { //reader.Read(); itemname = reader.GetString(0); itemCount = reader.GetInt32(1); ItemBuilderFactory factory = ItemBuilderFactory.GetInstance(); for (int x = 0; x < itemCount; x++) { inventory.AddItem(factory.GetBuilder(itemname.ToLower()).Invoke()); } } reader.Close(); player.SetInventory(inventory); player.Equip(weapon); player.Equip(armor); return(player); } }
public BasicMob(string name, int level) : base(name) { MaxHitPoints = (int)(level * 1.8); Level = level; Damage = level; Armor = level; Power = level; HitPoints = MaxHitPoints; ItemBuilderFactory factory = ItemBuilderFactory.GetInstance(); ActionList.Add("attack", AttackAction.GetActionBuilder()); LootTable.Add(new LootTableElement(100, factory.GetBuilder("healing-potion"))); if (level == 2) { LootTable.Add(new Mud.Items.LootTableElement(500, factory.GetBuilder("rusty-dagger"))); } if (level == 3) { LootTable.Add(new LootTableElement(500, factory.GetBuilder("quilted-armor"))); } }