private void CreatePlayer(int id) { Heroes.Core.Player player = new Heroes.Core.Player(); player._id = id; player._wood = 20; player._mercury = 10; player._ore = 20; player._sulfur = 10; player._crystal = 10; player._gem = 10; player._gold = 20000; _players.Add(player); Random rnd = new Random(); // hero Heroes.Core.Hero hero = (Heroes.Core.Hero)Heroes.Core.Setting._heros[id]; hero._playerId = player._id; hero._player = player; hero._level = 1; hero._experience = rnd.Next(45, 99); hero.CalculateMaxSpellPoint(); hero._spellPointLeft = hero._maxSpellPoint; hero._movementPoint = 1; hero._movementPointLeft = hero._movementPoint; player._heroes.Add(hero); // army { Heroes.Core.Army army = new Heroes.Core.Army(); army.CopyFrom((Heroes.Core.Army)Heroes.Core.Setting._armies[(int)Heroes.Core.ArmyIdEnum.Pikeman]); army.AddAttribute(hero); army._heroId = hero._id; army._playerId = player._id; //army._qty = rnd.Next(20, 49); army._qty = rnd.Next(500, 999); army._slotNo = 1; hero._armyKSlots.Add(army._slotNo, army); army = new Heroes.Core.Army(); army.CopyFrom((Heroes.Core.Army)Heroes.Core.Setting._armies[(int)Heroes.Core.ArmyIdEnum.Archer]); army.AddAttribute(hero); army._heroId = hero._id; army._playerId = player._id; //army._qty = rnd.Next(10, 19); army._qty = rnd.Next(500, 999); army._slotNo = 0; hero._armyKSlots.Add(army._slotNo, army); //army = new Heroes.Core.Army(); //army.CopyFrom((Heroes.Core.Army)Heroes.Core.Setting._armies[(int)Heroes.Core.ArmyIdEnum.Griffin]); //army.AddAttribute(hero); //army._heroId = hero._id; //army._playerId = player._id; //army._qty = rnd.Next(10, 19); ////army._qty = rnd.Next(500, 999); //army._slotNo = 4; //hero._armyKSlots.Add(army._slotNo, army); //army = new Heroes.Core.Army(); //army.CopyFrom((Heroes.Core.Army)Heroes.Core.Setting._armies[(int)Heroes.Core.ArmyIdEnum.Swordman]); //army.AddAttribute(hero); //army._heroId = hero._id; //army._playerId = player._id; //army._qty = rnd.Next(10, 19); ////army._qty = rnd.Next(500, 999); //army._slotNo = 5; //hero._armyKSlots.Add(army._slotNo, army); //army = new Heroes.Core.Army(); //army.CopyFrom((Heroes.Core.Army)Heroes.Core.Setting._armies[(int)Heroes.Core.ArmyIdEnum.Cavalier]); //army.AddAttribute(hero); //army._heroId = hero._id; //army._playerId = player._id; //army._qty = rnd.Next(5, 9); ////army._qty = rnd.Next(500, 999); //army._slotNo = 2; //hero._armyKSlots.Add(army._slotNo, army); //army = new Heroes.Core.Army(); //army.CopyFrom((Heroes.Core.Army)Heroes.Core.Setting._armies[(int)Heroes.Core.ArmyIdEnum.Monk]); //army.AddAttribute(hero); //army._heroId = hero._id; //army._playerId = player._id; //army._qty = rnd.Next(10, 19); ////army._qty = rnd.Next(500, 999); //army._slotNo = 6; //hero._armyKSlots.Add(army._slotNo, army); //army = new Heroes.Core.Army(); //army.CopyFrom((Heroes.Core.Army)Heroes.Core.Setting._armies[(int)Heroes.Core.ArmyIdEnum.Angel]); //army.AddAttribute(hero); //army._heroId = hero._id; //army._playerId = player._id; //army._qty = rnd.Next(1, 4); ////army._qty = rnd.Next(500, 999); //army._slotNo = 3; //hero._armyKSlots.Add(army._slotNo, army); } // spells { Heroes.Core.Spell spell = new Heroes.Core.Spell(); spell.CopyFrom((Heroes.Core.Spell)Heroes.Core.Setting._spells[(int)Heroes.Core.SpellIdEnum.MagicArrow]); spell.CalculateDamage(hero); hero._spells.Add(spell._id, spell); spell = new Heroes.Core.Spell(); spell.CopyFrom((Heroes.Core.Spell)Heroes.Core.Setting._spells[(int)Heroes.Core.SpellIdEnum.Haste]); hero._spells.Add(spell._id, spell); } // castle { Heroes.Core.Town town = new Heroes.Core.Town(); town._id = player._id; town._playerId = player._id; town._player = player; town._heroVisit = hero; player._castles.Add(town); // buildings { Heroes.Core.Building building = new Heroes.Core.Building(); building.CopyFrom((Heroes.Core.Building)Heroes.Core.Setting._buildings[(int)Heroes.Core.BuildingIdEnum.VillageHall]); town._buildingKIds.Add(building._id, building); building = new Heroes.Core.Building(); building.CopyFrom((Heroes.Core.Building)Heroes.Core.Setting._buildings[(int)Heroes.Core.BuildingIdEnum.Tavern]); town._buildingKIds.Add(building._id, building); building = new Heroes.Core.Building(); building.CopyFrom((Heroes.Core.Building)Heroes.Core.Setting._buildings[(int)Heroes.Core.BuildingIdEnum.Fort]); town._buildingKIds.Add(building._id, building); } } }
public void ResurrectHero(Heroes.Core.Hero hero) { hero._armyKSlots.Clear(); { Heroes.Core.Army army = new Heroes.Core.Army(); army.CopyFrom((Heroes.Core.Army)Heroes.Core.Setting._armies[(int)Heroes.Core.ArmyIdEnum.Pikeman]); army.AddAttribute(hero); army._heroId = hero._id; army._playerId = hero._playerId; army._qty = 1; army._slotNo = 0; hero._armyKSlots.Add(army._slotNo, army); } }