-// dekar.SetWeapon(intp.GetItem("lizardBlowItem"));
- dekar.SetArmor(intp.GetItem("holyRobeItem"));
- dekar.SetShield(intp.GetItem("zircoGlovesItem"));
- dekar.SetHelmet(intp.GetItem("holyCapItem"));
- dekar.SetRing(intp.GetItem("rocketRingItem"));
- dekar.SetJewel(intp.GetItem("krakenRockItem"));
-
- BattleState *battleState(new BattleState(bg, monstersLayout, heroesLayout, battleRes));
- battleState->AddMonster(monster);
- battleState->AddMonster(monster);
- battleState->AddMonster(monster);
- battleState->AddMonster(monster);
- battleState->AddHero(maxim);
- battleState->AddHero(selan);
- battleState->AddHero(guy);
- battleState->AddHero(dekar);
- Application app(&screen, battleState);
+// gameState.heroes[3].SetEquipment(Hero::EQUIP_WEAPON, caster.GetItem("lizardBlowItem"));
+ gameState.heroes[3].SetEquipment(Hero::EQUIP_ARMOR, caster.GetItem("holyRobeItem"));
+ gameState.heroes[3].SetEquipment(Hero::EQUIP_SHIELD, caster.GetItem("zircoGlovesItem"));
+ gameState.heroes[3].SetEquipment(Hero::EQUIP_HELMET, caster.GetItem("holyCapItem"));
+ gameState.heroes[3].SetEquipment(Hero::EQUIP_RING, caster.GetItem("rocketRingItem"));
+ gameState.heroes[3].SetEquipment(Hero::EQUIP_JEWEL, caster.GetItem("krakenRockItem"));
+
+ gameState.heroes[0].MapEntity().Position() = Vector<float>(64, 128);
+
+ gameState.heroes[1].MapEntity().Position() = Vector<float>(64, 128);
+ gameState.heroes[1].MapEntity().SetFlags(Entity::FLAG_NONBLOCKING);
+ gameState.heroes[0].MapEntity().AddFollower(&gameState.heroes[1].MapEntity());
+
+ gameState.heroes[2].MapEntity().Position() = Vector<float>(64, 128);
+ gameState.heroes[2].MapEntity().SetFlags(Entity::FLAG_NONBLOCKING);
+ gameState.heroes[1].MapEntity().AddFollower(&gameState.heroes[2].MapEntity());
+
+ gameState.heroes[3].MapEntity().Position() = Vector<float>(64, 128);
+ gameState.heroes[3].MapEntity().SetFlags(Entity::FLAG_NONBLOCKING);
+ gameState.heroes[2].MapEntity().AddFollower(&gameState.heroes[3].MapEntity());
+
+ graphics::Sprite flashSprite(IMG_Load("test-data/flash.png"), 96, 96);
+ graphics::ComplexAnimation flashAttackAnimation(&flashSprite, 132);
+ graphics::ComplexAnimation::FrameProp flashAttackFrames[4];
+ flashAttackFrames[0] = graphics::ComplexAnimation::FrameProp(0, 1, Vector<int>(0, -16));
+ flashAttackFrames[1] = graphics::ComplexAnimation::FrameProp(0, 0, Vector<int>(0, -16));
+ flashAttackFrames[2] = graphics::ComplexAnimation::FrameProp(0, 1, Vector<int>(0, -16));
+ flashAttackFrames[3] = graphics::ComplexAnimation::FrameProp(0, 0, Vector<int>(0, -16));
+ flashAttackAnimation.SetFrames(flashAttackFrames, 4);
+ Capsule capsule;
+ capsule.SetName("Flash");
+ capsule.SetHealth(5, 5);
+ capsule.SetLevel(1);
+ capsule.GetStats().SetAttack(12);
+ capsule.GetStats().SetDefense(18);
+ capsule.GetStats().SetStrength(2);
+ capsule.GetStats().SetAgility(11);
+ capsule.GetStats().SetIntelligence(16);
+ capsule.GetStats().SetGut(23);
+ capsule.GetStats().SetMagicResistance(11);
+ capsule.SetBattleSprite(&flashSprite);
+ capsule.SetAttackAnimation(&flashAttackAnimation);
+ capsule.SetMeleeAnimation(gameState.heroes[0].MeleeAnimation());
+
+ InitScreen screen(width, height);
+
+ app::State *state(0);
+
+ if (battle) {
+ BattleState *battleState(new BattleState(&gameConfig, bg, &monstersLayout));
+ battleState->AddMonster(monster);
+ battleState->AddMonster(monster);
+ battleState->AddMonster(monster);
+ battleState->AddMonster(monster);
+ battleState->SetCapsule(capsule);
+ battleState->AddHero(gameState.heroes[0]);
+ battleState->AddHero(gameState.heroes[1]);
+ battleState->AddHero(gameState.heroes[2]);
+ battleState->AddHero(gameState.heroes[3]);
+ state = battleState;
+ } else {
+ MapState *mapState(new MapState(&gameConfig, caster.GetMap("map1")));
+
+ mapState->ControlEntity(&gameState.heroes[0].MapEntity());
+ mapState->SetWalkingSpeed(walkSpeed);
+
+ state = mapState;
+ }
+
+ Application app(screen, state);