const int width = 800;
const int height = 480;
- const int framerate = 33;
-
// std::srand(std::time(0));
try {
battleRes.activeHeroTagFrame = intp.GetFrame("activeHeroTagFrame");
battleRes.smallHeroTagFrame = intp.GetFrame("smallHeroTagFrame");
battleRes.lastSmallHeroTagFrame = intp.GetFrame("lastSmallHeroTagFrame");
- battleRes.heroesBgColor = SDL_MapRGB(screen.Screen()->format, 0x18, 0x28, 0x31);
+ battleRes.heroesBgColor = intp.GetColor("heroesBgColor").MapRGB(screen.Screen()->format);
battleRes.healthGauge = intp.GetGauge("healthGauge");
battleRes.manaGauge = intp.GetGauge("manaGauge");
battleRes.jewelMenuIcon = intp.GetSprite("jewelIcon");
Inventory inventory;
- Item antidote;
- antidote.SetName("Antidote");
- antidote.SetMenuIcon(intp.GetSprite("potionIcon"));
- antidote.SetUsableInBattle();
- antidote.GetTargetingMode().TargetSingleAlly();
- inventory.Add(&antidote, 9);
- Item magicJar;
- magicJar.SetName("Magic jar");
- magicJar.SetMenuIcon(intp.GetSprite("potionIcon"));
- magicJar.SetUsableInBattle();
- magicJar.GetTargetingMode().TargetSingleAlly();
- inventory.Add(&magicJar, 4);
- Item hiPotion;
- hiPotion.SetName("Hi-Potion");
- hiPotion.SetMenuIcon(intp.GetSprite("potionIcon"));
- hiPotion.SetUsableInBattle();
- hiPotion.GetTargetingMode().TargetSingleAlly();
- inventory.Add(&hiPotion, 4);
- Item powerPotion;
- powerPotion.SetName("Power potion");
- powerPotion.SetMenuIcon(intp.GetSprite("potionIcon"));
- inventory.Add(&powerPotion, 4);
- Item escape;
- escape.SetName("Escape");
- inventory.Add(&escape, 2);
- Item sleepBall;
- sleepBall.SetName("Sleep ball");
- sleepBall.SetMenuIcon(intp.GetSprite("ballIcon"));
- sleepBall.SetUsableInBattle();
- sleepBall.GetTargetingMode().TargetSingleEnemy();
- inventory.Add(&sleepBall, 1);
- Item multiBall;
- multiBall.SetName("Multi-ball!");
- multiBall.SetMenuIcon(intp.GetSprite("ballIcon"));
- multiBall.SetUsableInBattle();
- multiBall.GetTargetingMode().TargetMultipleEnemies();
- inventory.Add(&multiBall, 1);
- Item figgoru;
- figgoru.SetName("Figgoru");
- figgoru.SetMenuIcon(intp.GetSprite("crankIcon"));
- figgoru.GetTargetingMode().TargetAllEnemies();
- inventory.Add(&figgoru, 1);
+ inventory.Add(intp.GetItem("antidoteItem"), 9);
+ inventory.Add(intp.GetItem("magicJarItem"), 4);
+ inventory.Add(intp.GetItem("hiPotionItem"), 4);
+ inventory.Add(intp.GetItem("powerPotionItem"), 4);
+ inventory.Add(intp.GetItem("escapeItem"), 2);
+ inventory.Add(intp.GetItem("sleepBallItem"), 1);
battleRes.inventory = &inventory;
- battleRes.itemMenuHeadline = "Please choose an item.";
+ battleRes.itemMenuHeadline = intp.GetString("itemMenuHeadline");
battleRes.itemMenuPrototype = Menu<const common::Item *>(intp.GetFont("normalFont"), intp.GetFont("disabledFont"), intp.GetSprite("handCursor"), 15, 6, 8, 16, 1, 32, 2, ':');
- SDL_Surface *swordAttackImg(IMG_Load("test-data/attack-sword.png"));
- Sprite swordAttackSprite(swordAttackImg, 96, 96);
- SimpleAnimation swordAttackAnimation(&swordAttackSprite, 2 * framerate, 4);
-
- Item zircoSword;
- zircoSword.SetName("Zirco sword");
- zircoSword.SetMenuIcon(intp.GetSprite("swordIcon"));
- zircoSword.GetTargetingMode().TargetSingleEnemy();
- Ikari firestorm;
- firestorm.SetName("Firestorm");
- firestorm.SetCost(224);
- firestorm.GetTargetingMode().TargetAllEnemies();
- firestorm.SetPhysical();
- zircoSword.SetIkari(&firestorm);
- zircoSword.SetAttackAnimation(&swordAttackAnimation);
- maxim.SetWeapon(&zircoSword);
- Item zirconArmor;
- zirconArmor.SetName("Zircon armor");
- zirconArmor.SetMenuIcon(intp.GetSprite("armorIcon"));
- Ikari magicCure;
- magicCure.SetName("Magic cure");
- magicCure.SetCost(128);
- magicCure.GetTargetingMode().TargetSingleAlly();
- magicCure.SetMagical();
- zirconArmor.SetIkari(&magicCure);
- maxim.SetArmor(&zirconArmor);
- Item holyShield;
- holyShield.SetName("Holy shield");
- holyShield.SetMenuIcon(intp.GetSprite("shieldIcon"));
- Ikari lightGuard;
- lightGuard.SetName("Light guard");
- lightGuard.SetCost(128);
- lightGuard.GetTargetingMode().TargetAllAllies(); // actually only targets self
- lightGuard.SetMagical();
- holyShield.SetIkari(&lightGuard);
- maxim.SetShield(&holyShield);
- Item legendHelm;
- legendHelm.SetName("Legend helm");
- legendHelm.SetMenuIcon(intp.GetSprite("helmetIcon"));
- Ikari boomerang;
- boomerang.SetName("Boomerang");
- boomerang.SetCost(164);
- boomerang.GetTargetingMode().TargetAllAllies(); // actually only targets self
- boomerang.SetMagical();
- legendHelm.SetIkari(&boomerang);
- maxim.SetHelmet(&legendHelm);
- Item sProRing;
- sProRing.SetName("S-pro ring");
- sProRing.SetMenuIcon(intp.GetSprite("ringIcon"));
- Ikari courage;
- courage.SetName("Courage");
- courage.SetCost(64);
- courage.GetTargetingMode().TargetMultipleAllies();
- courage.SetMagical();
- sProRing.SetIkari(&courage);
- maxim.SetRing(&sProRing);
- Item evilJewel;
- evilJewel.SetName("Evil jewel");
- evilJewel.SetMenuIcon(intp.GetSprite("jewelIcon"));
- Ikari gloomy;
- gloomy.SetName("Gloomy");
- gloomy.SetCost(164);
- gloomy.GetTargetingMode().TargetAllEnemies();
- gloomy.SetMagical();
- evilJewel.SetIkari(&gloomy);
- maxim.SetJewel(&evilJewel);
-
- Item zircoWhip;
- zircoWhip.SetName("Zirco whip");
- zircoWhip.SetMenuIcon(intp.GetSprite("rodIcon"));
- zircoWhip.GetTargetingMode().TargetSingleEnemy();
- Ikari thundershriek;
- thundershriek.SetName("Thundershriek");
- thundershriek.SetCost(224);
- thundershriek.GetTargetingMode().TargetAllEnemies();
- thundershriek.SetPhysical();
- zircoWhip.SetIkari(&thundershriek);
-// selan.SetWeapon(&zircoWhip);
- Item zirconPlate;
- zirconPlate.SetName("Zircon plate");
- zirconPlate.SetMenuIcon(intp.GetSprite("armorIcon"));
- Ikari suddenCure;
- suddenCure.SetName("Sudden cure");
- suddenCure.SetCost(96);
- suddenCure.GetTargetingMode().TargetAllAllies();
- suddenCure.SetMagical();
- zirconPlate.SetIkari(&suddenCure);
- selan.SetArmor(&zirconPlate);
- Item zircoGloves;
- zircoGloves.SetName("Zirco gloves");
- zircoGloves.SetMenuIcon(intp.GetSprite("shieldIcon"));
- Ikari forcefield;
- forcefield.SetName("Forcefield");
- forcefield.SetCost(64);
- forcefield.GetTargetingMode().TargetAllAllies();
- forcefield.SetMagical();
- zircoGloves.SetIkari(&forcefield);
- selan.SetShield(&zircoGloves);
- Item holyCap;
- holyCap.SetName("Holy cap");
- holyCap.SetMenuIcon(intp.GetSprite("helmetIcon"));
- Ikari vulnerable;
- vulnerable.SetName("Vulnerable");
- vulnerable.SetCost(196);
- vulnerable.GetTargetingMode().TargetAllEnemies();
- vulnerable.SetPhysical();
- holyCap.SetIkari(&vulnerable);
- selan.SetHelmet(&holyCap);
- Item ghostRing;
- ghostRing.SetName("Ghost ring");
- ghostRing.SetMenuIcon(intp.GetSprite("ringIcon"));
- Ikari destroy;
- destroy.SetName("Destroy");
- destroy.SetCost(128);
- destroy.GetTargetingMode().TargetMultipleEnemies();
- destroy.SetMagical();
- ghostRing.SetIkari(&destroy);
- selan.SetRing(&ghostRing);
- Item eagleRock;
- eagleRock.SetName("Eagle rock");
- eagleRock.SetMenuIcon(intp.GetSprite("jewelIcon"));
- Ikari dive;
- dive.SetName("Dive");
- dive.SetCost(128);
- dive.GetTargetingMode().TargetSingleEnemy();
- dive.SetPhysical();
- eagleRock.SetIkari(&dive);
- selan.SetJewel(&eagleRock);
-
- Item zircoAx;
- zircoAx.SetName("Zirco ax");
- zircoAx.SetMenuIcon(intp.GetSprite("axIcon"));
- zircoAx.GetTargetingMode().TargetSingleEnemy();
- Ikari torrent;
- torrent.SetName("Torrent");
- torrent.SetCost(224);
- torrent.GetTargetingMode().TargetAllEnemies();
- torrent.SetPhysical();
- zircoAx.SetIkari(&torrent);
-// guy.SetWeapon(&zircoAx);
- guy.SetArmor(&zirconArmor);
- Item megaShield;
- megaShield.SetName("Mega shield");
- megaShield.SetMenuIcon(intp.GetSprite("shieldIcon"));
- Ikari ironBarrier;
- ironBarrier.SetName("Iron barrier");
- ironBarrier.SetCost(255);
- ironBarrier.GetTargetingMode().TargetAllAllies(); // actually only targets self
- ironBarrier.SetMagical();
- megaShield.SetIkari(&ironBarrier);
- guy.SetShield(&megaShield);
- Item zircoHelmet;
- zircoHelmet.SetName("Zirco helmet");
- zircoHelmet.SetMenuIcon(intp.GetSprite("helmetIcon"));
- Ikari slow;
- slow.SetName("Slow");
- slow.SetCost(196);
- slow.GetTargetingMode().TargetAllEnemies();
- slow.SetPhysical();
- zircoHelmet.SetIkari(&slow);
- guy.SetHelmet(&zircoHelmet);
- Item powerRing;
- powerRing.SetName("Power ring");
- powerRing.SetMenuIcon(intp.GetSprite("ringIcon"));
- Ikari trick;
- trick.SetName("Trick");
- trick.SetCost(32);
- trick.GetTargetingMode().TargetAllEnemies();
- trick.SetMagical();
- zircoHelmet.SetIkari(&trick);
- guy.SetRing(&powerRing);
- guy.SetJewel(&evilJewel);
+ maxim.SetWeapon(intp.GetItem("zircoSwordItem"));
+ maxim.SetArmor(intp.GetItem("zirconArmorItem"));
+ maxim.SetShield(intp.GetItem("holyShieldItem"));
+ maxim.SetHelmet(intp.GetItem("legendHelmItem"));
+ maxim.SetRing(intp.GetItem("sProRingItem"));
+ maxim.SetJewel(intp.GetItem("evilJewelItem"));
+
+// selan.SetWeapon(intp.GetItem("zircoWhipItem"));
+ selan.SetArmor(intp.GetItem("zirconPlateItem"));
+ selan.SetShield(intp.GetItem("zircoGlovesItem"));
+ selan.SetHelmet(intp.GetItem("holyCapItem"));
+ selan.SetRing(intp.GetItem("ghostRingItem"));
+ selan.SetJewel(intp.GetItem("eagleRockItem"));
+
+// guy.SetWeapon(intp.GetItem("zircoAxItem"));
+ guy.SetArmor(intp.GetItem("zirconArmorItem"));
+ guy.SetShield(intp.GetItem("megaShieldItem"));
+ guy.SetHelmet(intp.GetItem("zircoHelmetItem"));
+ guy.SetRing(intp.GetItem("powerRingItem"));
+ guy.SetJewel(intp.GetItem("evilJewelItem"));
// NOTE: this is actually Artea equipment
- Item lizardBlow;
- lizardBlow.SetName("Lizard blow");
- lizardBlow.SetMenuIcon(intp.GetSprite("swordIcon"));
- lizardBlow.GetTargetingMode().TargetSingleEnemy();
- Ikari dragonRush;
- dragonRush.SetName("Dragon rush");
- dragonRush.SetCost(164);
- dragonRush.GetTargetingMode().TargetSingleEnemy();
- dragonRush.SetPhysical();
- lizardBlow.SetIkari(&dragonRush);
-// dekar.SetWeapon(&lizardBlow);
- Item holyRobe;
- holyRobe.SetName("Holy robe");
- holyRobe.SetMenuIcon(intp.GetSprite("armorIcon"));
- Ikari crisisCure;
- crisisCure.SetName("Crisis cure");
- crisisCure.SetCost(164);
- crisisCure.GetTargetingMode().TargetAllAllies();
- crisisCure.SetMagical();
- holyRobe.SetIkari(&crisisCure);
- dekar.SetArmor(&holyRobe);
- dekar.SetShield(&zircoGloves);
- dekar.SetHelmet(&holyCap);
- Item rocketRing;
- rocketRing.SetName("Rocket ring");
- rocketRing.SetMenuIcon(intp.GetSprite("ringIcon"));
- Ikari fake;
- fake.SetName("Fake");
- fake.SetCost(32);
- fake.GetTargetingMode().TargetSingleAlly();
- fake.SetMagical();
- rocketRing.SetIkari(&fake);
- dekar.SetRing(&rocketRing);
- Item krakenRock;
- krakenRock.SetName("Kraken rock");
- krakenRock.SetMenuIcon(intp.GetSprite("jewelIcon"));
- Ikari tenLegger;
- tenLegger.SetName("Ten-legger");
- tenLegger.SetCost(164);
- tenLegger.GetTargetingMode().TargetAllEnemies();
- tenLegger.SetPhysical();
- rocketRing.SetIkari(&tenLegger);
- dekar.SetJewel(&krakenRock);
-
- battleRes.ikariMenuHeadline = "Please choose equipment.";
- battleRes.noEquipmentText = "No equip";
+// 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"));
+
+ battleRes.ikariMenuHeadline = intp.GetString("ikariMenuHeadline");
+ battleRes.noEquipmentText = intp.GetString("noEquipmentText");
battleRes.ikariMenuPrototype = Menu<const Item *>(intp.GetFont("normalFont"), intp.GetFont("disabledFont"), intp.GetSprite("handCursor"), 12, 6, intp.GetFont("normalFont")->CharHeight() / 2, intp.GetFont("normalFont")->CharWidth(), 1, intp.GetFont("normalFont")->CharWidth() * 2, 0, ':', 12, intp.GetFont("normalFont")->CharWidth());
-
- battleRes.escapeText = "Escapes.";
+ battleRes.escapeText = intp.GetString("escapeText");
BattleState *battleState(new BattleState(bg, monstersLayout, heroesLayout, &battleRes));
battleState->AddMonster(monster);