]> git.localhorst.tv Git - l2e.git/blobdiff - src/main.cpp
added dummy state that echoes all selected attacks
[l2e.git] / src / main.cpp
index 6baf82770e762318ffc27b34a126f0fd056b77a4..cb4ad91317aa4d311a6dba3fe133e7b62ee36ec1 100644 (file)
@@ -73,14 +73,15 @@ int main(int argc, char **argv) {
                monstersLayout.AddPosition(Point<Uint8>(168, 104));
                monstersLayout.AddPosition(Point<Uint8>(208, 104));
                PartyLayout heroesLayout;
-               heroesLayout.AddPosition(Point<Uint8>(27, 219));
-               heroesLayout.AddPosition(Point<Uint8>(104, 227));
-               heroesLayout.AddPosition(Point<Uint8>(66, 238));
-               heroesLayout.AddPosition(Point<Uint8>(143, 246));
+               heroesLayout.AddPosition(Point<Uint8>(48, 152));
+               heroesLayout.AddPosition(Point<Uint8>(80, 168));
+               heroesLayout.AddPosition(Point<Uint8>(128, 152));
+               heroesLayout.AddPosition(Point<Uint8>(160, 168));
 
                SDL_Surface *monsterImg(IMG_Load("test-data/monster.png"));
                Sprite dummySprite(monsterImg, 64, 64);
                Monster monster;
+               monster.SetName("Monster");
                monster.SetSprite(&dummySprite);
                monster.SetMaxHealth(10);
                monster.SetHealth(10);
@@ -135,6 +136,9 @@ int main(int argc, char **argv) {
 
                battle::Resources battleRes;
 
+               SDL_Surface *swapCursorImg(IMG_Load("test-data/swap-cursor.png"));
+               Sprite swapCursorSprite(swapCursorImg, 32, 32);
+               battleRes.swapCursor = &swapCursorSprite;
                SDL_Surface *attackIconsImg(IMG_Load("test-data/attack-type-icons.png"));
                Sprite attackIconsSprite(attackIconsImg, 32, 32);
                battleRes.attackIcons = &attackIconsSprite;
@@ -144,6 +148,24 @@ int main(int argc, char **argv) {
                SDL_Surface *moveIconsImg(IMG_Load("test-data/move-icons.png"));
                Sprite moveIconsSprite(moveIconsImg, 32, 32);
                battleRes.moveIcons = &moveIconsSprite;
+
+               SDL_Surface *titleFrameImg(IMG_Load("test-data/title-frame.png"));
+               Frame titleFrame(titleFrameImg, 16, 16);
+               battleRes.titleFrame = &titleFrame;
+
+               SDL_Surface *largeFontImg(IMG_Load("test-data/large-font.png"));
+               Sprite largeFontSprite(largeFontImg, 16, 32);
+               Font largeFont(&largeFontSprite);
+               largeFont.MapRange('A', 'M', 0, 1);
+               largeFont.MapRange('N', 'Z', 0, 2);
+               largeFont.MapRange('a', 'm', 0, 3);
+               largeFont.MapRange('n', 'z', 0, 4);
+               largeFont.MapChar(':', 10, 0);
+               largeFont.MapChar('!', 11, 0);
+               largeFont.MapChar('?', 12, 0);
+               // TODO: add '.' and '-' characters
+               battleRes.titleFont = &largeFont;
+
                SDL_Surface *heroTagImg(IMG_Load("test-data/hero-tag-sprites.png"));
                Sprite heroTagSprite(heroTagImg, 32, 16);
                battleRes.heroTagLabels = &heroTagSprite;
@@ -331,6 +353,7 @@ int main(int argc, char **argv) {
                firestorm.SetName("Firestorm");
                firestorm.SetCost(224);
                firestorm.GetTargetingMode().TargetAllEnemies();
+               firestorm.SetPhysical();
                zircoSword.SetIkari(&firestorm);
                maxim.SetWeapon(&zircoSword);
                Item zirconArmor;
@@ -340,6 +363,7 @@ int main(int argc, char **argv) {
                magicCure.SetName("Magic cure");
                magicCure.SetCost(128);
                magicCure.GetTargetingMode().TargetSingleAlly();
+               magicCure.SetMagical();
                zirconArmor.SetIkari(&magicCure);
                maxim.SetArmor(&zirconArmor);
                Item holyShield;
@@ -349,6 +373,7 @@ int main(int argc, char **argv) {
                lightGuard.SetName("Light guard");
                lightGuard.SetCost(128);
                lightGuard.GetTargetingMode().TargetAllAllies(); // FIXME: actually only targets self
+               lightGuard.SetMagical();
                holyShield.SetIkari(&lightGuard);
                maxim.SetShield(&holyShield);
                Item legendHelm;
@@ -358,6 +383,7 @@ int main(int argc, char **argv) {
                boomerang.SetName("Boomerang");
                boomerang.SetCost(164);
                boomerang.GetTargetingMode().TargetAllAllies(); // FIXME: actually only targets self
+               boomerang.SetMagical();
                legendHelm.SetIkari(&boomerang);
                maxim.SetHelmet(&legendHelm);
                Item sProRing;
@@ -367,6 +393,7 @@ int main(int argc, char **argv) {
                courage.SetName("Courage");
                courage.SetCost(64);
                courage.GetTargetingMode().TargetMultipleAllies();
+               courage.SetMagical();
                sProRing.SetIkari(&courage);
                maxim.SetRing(&sProRing);
                Item evilJewel;
@@ -376,6 +403,7 @@ int main(int argc, char **argv) {
                gloomy.SetName("Gloomy");
                gloomy.SetCost(164);
                gloomy.GetTargetingMode().TargetAllEnemies();
+               gloomy.SetMagical();
                evilJewel.SetIkari(&gloomy);
                maxim.SetJewel(&evilJewel);
 
@@ -386,6 +414,7 @@ int main(int argc, char **argv) {
                thundershriek.SetName("Thundershriek");
                thundershriek.SetCost(224);
                thundershriek.GetTargetingMode().TargetAllEnemies();
+               thundershriek.SetPhysical();
                zircoWhip.SetIkari(&thundershriek);
                selan.SetWeapon(&zircoWhip);
                Item zirconPlate;
@@ -395,6 +424,7 @@ int main(int argc, char **argv) {
                suddenCure.SetName("Sudden cure");
                suddenCure.SetCost(96);
                suddenCure.GetTargetingMode().TargetAllAllies();
+               suddenCure.SetMagical();
                zirconPlate.SetIkari(&suddenCure);
                selan.SetArmor(&zirconPlate);
                Item zircoGloves;
@@ -404,6 +434,7 @@ int main(int argc, char **argv) {
                forcefield.SetName("Forcefield");
                forcefield.SetCost(64);
                forcefield.GetTargetingMode().TargetAllAllies();
+               forcefield.SetMagical();
                zircoGloves.SetIkari(&forcefield);
                selan.SetShield(&zircoGloves);
                Item holyCap;
@@ -413,6 +444,7 @@ int main(int argc, char **argv) {
                vulnerable.SetName("Vulnerable");
                vulnerable.SetCost(196);
                vulnerable.GetTargetingMode().TargetAllEnemies();
+               vulnerable.SetPhysical();
                holyCap.SetIkari(&vulnerable);
                selan.SetHelmet(&holyCap);
                Item ghostRing;
@@ -422,6 +454,7 @@ int main(int argc, char **argv) {
                destroy.SetName("Destroy");
                destroy.SetCost(128);
                destroy.GetTargetingMode().TargetMultipleEnemies();
+               destroy.SetMagical();
                ghostRing.SetIkari(&destroy);
                selan.SetRing(&ghostRing);
                Item eagleRock;
@@ -431,6 +464,7 @@ int main(int argc, char **argv) {
                dive.SetName("Dive");
                dive.SetCost(128);
                dive.GetTargetingMode().TargetSingleEnemy();
+               dive.SetPhysical();
                eagleRock.SetIkari(&dive);
                selan.SetJewel(&eagleRock);
 
@@ -441,6 +475,7 @@ int main(int argc, char **argv) {
                torrent.SetName("Torrent");
                torrent.SetCost(224);
                torrent.GetTargetingMode().TargetAllEnemies();
+               torrent.SetPhysical();
                zircoAx.SetIkari(&torrent);
                guy.SetWeapon(&zircoAx);
                guy.SetArmor(&zirconArmor);
@@ -451,6 +486,7 @@ int main(int argc, char **argv) {
                ironBarrier.SetName("Iron barrier");
                ironBarrier.SetCost(255);
                ironBarrier.GetTargetingMode().TargetAllAllies(); // FIXME: actually only targets self
+               ironBarrier.SetMagical();
                megaShield.SetIkari(&ironBarrier);
                guy.SetShield(&megaShield);
                Item zircoHelmet;
@@ -460,6 +496,7 @@ int main(int argc, char **argv) {
                slow.SetName("Slow");
                slow.SetCost(196);
                slow.GetTargetingMode().TargetAllEnemies();
+               slow.SetPhysical();
                zircoHelmet.SetIkari(&slow);
                guy.SetHelmet(&zircoHelmet);
                Item powerRing;
@@ -469,6 +506,7 @@ int main(int argc, char **argv) {
                trick.SetName("Trick");
                trick.SetCost(32);
                trick.GetTargetingMode().TargetAllEnemies();
+               trick.SetMagical();
                zircoHelmet.SetIkari(&trick);
                guy.SetRing(&powerRing);
                guy.SetJewel(&evilJewel);
@@ -481,6 +519,7 @@ int main(int argc, char **argv) {
                dragonRush.SetName("Dragon rush");
                dragonRush.SetCost(164);
                dragonRush.GetTargetingMode().TargetSingleEnemy();
+               dragonRush.SetPhysical();
                lizardBlow.SetIkari(&dragonRush);
                dekar.SetWeapon(&lizardBlow);
                Item holyRobe;
@@ -490,6 +529,7 @@ int main(int argc, char **argv) {
                crisisCure.SetName("Crisis cure");
                crisisCure.SetCost(164);
                crisisCure.GetTargetingMode().TargetAllAllies();
+               crisisCure.SetMagical();
                holyRobe.SetIkari(&crisisCure);
                dekar.SetArmor(&holyRobe);
                dekar.SetShield(&zircoGloves);
@@ -501,6 +541,7 @@ int main(int argc, char **argv) {
                fake.SetName("Fake");
                fake.SetCost(32);
                fake.GetTargetingMode().TargetSingleAlly();
+               fake.SetMagical();
                rocketRing.SetIkari(&fake);
                dekar.SetRing(&rocketRing);
                Item krakenRock;
@@ -510,6 +551,7 @@ int main(int argc, char **argv) {
                tenLegger.SetName("Ten-legger");
                tenLegger.SetCost(164);
                tenLegger.GetTargetingMode().TargetAllEnemies();
+               tenLegger.SetPhysical();
                rocketRing.SetIkari(&tenLegger);
                dekar.SetJewel(&krakenRock);
 
@@ -517,6 +559,8 @@ int main(int argc, char **argv) {
                battleRes.noEquipmentText = "No equip";
                battleRes.ikariMenuPrototype = Menu<const Item *>(&normalFont, &disabledFont, &handCursorSprite, 12, 6, normalFont.CharHeight() / 2, normalFont.CharWidth(), 1, normalFont.CharWidth() * 2, 0, ':', 12, normalFont.CharWidth());
 
+               battleRes.escapeText = "Escapes.";
+
                BattleState *battleState(new BattleState(bg, monstersLayout, heroesLayout, &battleRes));
                battleState->AddMonster(monster);
                battleState->AddMonster(monster);