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); } } }
private void InitPlayer(Heroes.Core.Player player, int startingHeroId) { player._wood = 20; player._mercury = 10; player._ore = 20; player._sulfur = 10; player._crystal = 10; player._gem = 10; player._gold = 20000; //player._wood = 10; //player._mercury = 0; //player._ore = 10; //player._sulfur = 0; //player._crystal = 0; //player._gem = 0; //player._gold = 10000; Random rnd = new Random(); // hero Heroes.Core.Hero hero = (Heroes.Core.Hero)Heroes.Core.Setting._heros[startingHeroId]; hero._playerId = player._id; hero._player = player; hero._level = 1; hero._experience = rnd.Next(45, 99); //hero._movementPoint = 1; hero._movementPoint = 2; 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._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._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.RoyalGiffin]); //army.AddAttribute(hero); //army._heroId = hero._id; //army._playerId = player._id; //army._qty = rnd.Next(10, 19); //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.Crusader]); //army.AddAttribute(hero); //army._heroId = hero._id; //army._playerId = player._id; //army._qty = rnd.Next(10, 19); //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.Champion]); //army.AddAttribute(hero); //army._heroId = hero._id; //army._playerId = player._id; //army._qty = rnd.Next(5, 9); //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.Zealot]); //army.AddAttribute(hero); //army._heroId = hero._id; //army._playerId = player._id; //army._qty = rnd.Next(10, 19); //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.Archangel]); //army.AddAttribute(hero); //army._heroId = hero._id; //army._playerId = player._id; //army._qty = rnd.Next(1, 4); //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]); hero._spells.Add(spell._id, spell); spell = new Heroes.Core.Spell(); spell.CopyFrom((Heroes.Core.Spell)Heroes.Core.Setting._spells[(int)Heroes.Core.SpellIdEnum.IceBolt]); hero._spells.Add(spell._id, spell); spell = new Heroes.Core.Spell(); spell.CopyFrom((Heroes.Core.Spell)Heroes.Core.Setting._spells[(int)Heroes.Core.SpellIdEnum.MeteorShower]); hero._spells.Add(spell._id, spell); spell = new Heroes.Core.Spell(); spell.CopyFrom((Heroes.Core.Spell)Heroes.Core.Setting._spells[(int)Heroes.Core.SpellIdEnum.LightningBolt]); hero._spells.Add(spell._id, spell); spell = new Heroes.Core.Spell(); spell.CopyFrom((Heroes.Core.Spell)Heroes.Core.Setting._spells[(int)Heroes.Core.SpellIdEnum.Implosion]); hero._spells.Add(spell._id, spell); spell = new Heroes.Core.Spell(); spell.CopyFrom((Heroes.Core.Spell)Heroes.Core.Setting._spells[(int)Heroes.Core.SpellIdEnum.FireBall]); hero._spells.Add(spell._id, spell); spell = new Heroes.Core.Spell(); spell.CopyFrom((Heroes.Core.Spell)Heroes.Core.Setting._spells[(int)Heroes.Core.SpellIdEnum.Inferno]); hero._spells.Add(spell._id, spell); } // artifacts //for (int i = 0; i < 20; i++) { GettingArtifactEventArg e2 = new GettingArtifactEventArg(Heroes.Core.Heros.ArtifactLevelEnum.Treasure); OnGettingArtifact(e2); if (e2._artifact != null) { hero.AddArtifacts(e2._artifact); } } hero.CalculateAll(); hero._spellPointLeft = hero._maxSpellPoint; // 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); } } }