Example #1
0
        public Hero()
        {
            _animations = new HeroAnimations();

            _standingPointRight = new PointF(27f, 127f);
            _standingPointLeft = new PointF(800f - 27f, 127f);

            _castingHeight = 64f;
            _castingPointRight = new PointF(27f + 54f, // plus 54f to make it cast in front of hero
                127f - _castingHeight);
            _castingPointLeft = new PointF(800f - 27f - 54f, 127f - _castingHeight);

            _imgSize = new Size(150, 175);
            _rightPt = new Point(43, 146 - 127);
            _leftPt = new Point(48, 146 - 127);
            _rect = new Rectangle(0, 16, 54, 111);

            _currentSpell = null;
            _canCastSpell = true;

            _currentAnimationSeq = null;
        }
Example #2
0
        private void CreateHero(Player player, int cellsRow, int cellsCol)
        {
            heroId += 1;

            Hero hero = new Heroes.Core.Map.Heros.Knight();
            hero._id = heroId;
            hero._playerId = player._id;
            hero._player = player;
            hero._image = player._heroImage;
            player._heroes.Add(hero);

            // spells
            Heroes.Core.Spell spell = new Heroes.Core.Spell();
            hero._spells.Add(spell._id, spell);

            picContainer = new PictureBox();
            picContainer.Size = new Size(_mapTerrain.cellWidth, _mapTerrain.cellHeight);
            picContainer.Location = new Point(_mapTerrain.cellXYss[cellsRow][cellsCol][0], _mapTerrain.cellXYss[cellsRow][cellsCol][1]);
            picContainer.Image = player._heroHighlight;
            picContainer.BorderStyle = BorderStyle.None;
            this.picContainer.MouseClick += new MouseEventHandler(picContainer_MouseClick);
            this.panelBigMap.Controls.Add(picContainer);
        }
Example #3
0
        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);
                }
            }
        }
Example #4
0
        private void CreateHero(int heroId, Player player, int cellsRow, int cellsCol)
        {
            Hero hero = new Heroes.Core.Map.Heros.Knight();
            hero._id = heroId;
            hero._playerId = player._id;
            hero._player = player;
            hero._image = player._heroImage;
            player._heroes.Add(hero);

            // spells
            Heroes.Core.Spell spell = new Heroes.Core.Spell();
            hero._spells.Add(spell._id, spell);

            hero._cell = _cells[cellsRow, cellsCol];
            hero._cell._hero = hero;

            {
                Armies.Pikeman c = new Heroes.Core.Map.Armies.Pikeman();
                c._heroId = hero._id;
                c._playerId = hero._playerId;
                c.AddAttribute(hero);
                c._qty = 20;
                c._slotNo = 0;
                hero._armyKSlots.Add(c._slotNo, c);
            }

            //{
            //    Armies.Pikeman c = new Heroes.Core.Map.Armies.Pikeman();
            //    c._heroId = hero._id;
            //    c._playerId = hero._playerId;
            //    c.AddAttribute(hero);
            //    c._qty = 10;
            //    c._slotNo = 1;
            //    hero._armyKSlots.Add(c._slotNo, c);
            //}

            //{
            //    Armies.Archer c = new Heroes.Core.Map.Armies.Archer();
            //    c._heroId = hero._id;
            //    c._playerId = hero._playerId;
            //    c.AddAttribute(hero);
            //    c._qty = 10;
            //    c._slotNo = 2;
            //    hero._armyKSlots.Add(c._slotNo, c);
            //}

            //{
            //    Armies.Griffin c = new Heroes.Core.Map.Armies.Griffin();
            //    c._heroId = hero._id;
            //    c._playerId = hero._playerId;
            //    c.AddAttribute(hero);
            //    c._qty = 10;
            //    c._slotNo = 3;
            //    hero._armyKSlots.Add(c._slotNo, c);
            //}
        }
Example #5
0
        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);
                }
            }
        }