X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmain.cpp;h=3c871cd862fc169fba7221ccc3515d80373ad7eb;hb=d872d756e64b8f1f57cba64ae19f479f8eab3927;hp=5e14001b8454e922348c7260ffd7bbdec9b1e95b;hpb=3c72a71fbf6de96333a641051a20c6bf8b3a5df3;p=l2e.git diff --git a/src/main.cpp b/src/main.cpp index 5e14001..3c871cd 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -14,6 +14,7 @@ #include "battle/Resources.h" #include "common/Inventory.h" #include "common/Item.h" +#include "common/Spell.h" #include "geometry/Point.h" #include "graphics/Font.h" #include "graphics/Frame.h" @@ -37,6 +38,7 @@ using battle::Monster; using battle::PartyLayout; using common::Inventory; using common::Item; +using common::Spell; using geometry::Point; using graphics::Font; using graphics::Frame; @@ -173,8 +175,8 @@ int main(int argc, char **argv) { normalFont.MapRange('a', 'm', 0, 3); normalFont.MapRange('n', 'z', 0, 4); normalFont.MapChar(':', 10, 0); - normalFont.MapChar('!', 10, 0); - normalFont.MapChar('?', 10, 0); + normalFont.MapChar('!', 11, 0); + normalFont.MapChar('?', 12, 0); // TODO: add '.' and '-' characters battleRes.normalFont = &normalFont; @@ -186,8 +188,8 @@ int main(int argc, char **argv) { disabledFont.MapRange('a', 'm', 0, 3); disabledFont.MapRange('n', 'z', 0, 4); disabledFont.MapChar(':', 10, 0); - disabledFont.MapChar('!', 10, 0); - disabledFont.MapChar('?', 10, 0); + disabledFont.MapChar('!', 11, 0); + disabledFont.MapChar('?', 12, 0); // TODO: add '.' and '-' characters battleRes.disabledFont = &disabledFont; @@ -197,21 +199,53 @@ int main(int argc, char **argv) { SDL_Surface *targetingIconsImg(IMG_Load("test-data/targeting-icons.png")); Sprite weaponTargetCursor(targetingIconsImg, 32, 32); + Sprite itemTargetCursor(targetingIconsImg, 32, 32, 0, 64); battleRes.weaponTargetCursor = &weaponTargetCursor; // TODO: add image for magic targeting cursor battleRes.magicTargetCursor = &weaponTargetCursor; // TODO: add image for item targeting cursor - battleRes.itemTargetCursor = &weaponTargetCursor; + battleRes.itemTargetCursor = &itemTargetCursor; + + Spell resetSpell; + resetSpell.SetName("Reset"); + maxim.AddSpell(&resetSpell); + Spell strongSpell; + strongSpell.SetName("Strong"); + strongSpell.SetCost(3); + strongSpell.SetUsableInBattle(); + maxim.AddSpell(&strongSpell); + selan.AddSpell(&strongSpell); + Spell strongerSpell; + strongerSpell.SetName("Stronger"); + strongerSpell.SetCost(8); + strongerSpell.SetUsableInBattle(); + maxim.AddSpell(&strongerSpell); + selan.AddSpell(&strongerSpell); + Spell championSpell; + championSpell.SetName("Champion"); + championSpell.SetCost(16); + championSpell.SetUsableInBattle(); + maxim.AddSpell(&championSpell); + selan.AddSpell(&championSpell); + Spell rallySpell; + rallySpell.SetName("Rally"); + rallySpell.SetCost(10); + rallySpell.SetUsableInBattle(); + maxim.AddSpell(&rallySpell); + selan.AddSpell(&rallySpell); + Spell escapeSpell; + escapeSpell.SetName("Escape"); + escapeSpell.SetCost(8); + selan.AddSpell(&escapeSpell); + Spell valorSpell; + valorSpell.SetName("Valor"); + valorSpell.SetCost(30); + valorSpell.SetUsableInBattle(); + maxim.AddSpell(&valorSpell); + selan.AddSpell(&valorSpell); battleRes.spellMenuHeadline = "Please choose a spell."; - battleRes.spellMenuPrototype = Menu(&normalFont, &disabledFont, &handCursorSprite, 12, 6, 8, 0, 2, 32); - battleRes.spellMenuPrototype.Add("Reset : 0", 0, false); - battleRes.spellMenuPrototype.Add("Strong : 3", 0); - battleRes.spellMenuPrototype.Add("Stronger : 8", 0); - battleRes.spellMenuPrototype.Add("Champion :16", 0); - battleRes.spellMenuPrototype.Add("Rally :10", 0); - battleRes.spellMenuPrototype.Add("Escape : 8", 0, false); - battleRes.spellMenuPrototype.Add("Valor :30", 0); + battleRes.spellMenuPrototype = Menu(&normalFont, &disabledFont, &handCursorSprite, 9, 6, 8, 0, 2, 32, 2, ':'); battleRes.spellMenuPrototype.Add("Poison : 2", 0); battleRes.spellMenuPrototype.Add("Warp : 8", 0, false); battleRes.spellMenuPrototype.Add("Release : 2", 0); @@ -244,16 +278,19 @@ int main(int argc, char **argv) { antidote.SetName("Antidote"); antidote.SetMenuIcon(&potionIcon); antidote.SetUsableInBattle(); + antidote.GetTargetingMode().TargetSingleAlly(); inventory.Add(&antidote, 9); Item magicJar; magicJar.SetName("Magic jar"); magicJar.SetMenuIcon(&potionIcon); magicJar.SetUsableInBattle(); + antidote.GetTargetingMode().TargetSingleAlly(); inventory.Add(&magicJar, 4); Item hiPotion; hiPotion.SetName("Hi-Potion"); hiPotion.SetMenuIcon(&potionIcon); hiPotion.SetUsableInBattle(); + antidote.GetTargetingMode().TargetSingleAlly(); inventory.Add(&hiPotion, 4); Item powerPotion; powerPotion.SetName("Power potion"); @@ -266,10 +303,18 @@ int main(int argc, char **argv) { sleepBall.SetName("Sleep ball"); sleepBall.SetMenuIcon(&ballIcon); sleepBall.SetUsableInBattle(); + antidote.GetTargetingMode().TargetSingleEnemy(); inventory.Add(&sleepBall, 1); + Item multiBall; + multiBall.SetName("Multi-ball!"); + multiBall.SetMenuIcon(&ballIcon); + multiBall.SetUsableInBattle(); + antidote.GetTargetingMode().TargetMultipleEnemies(); + inventory.Add(&multiBall, 1); Item figgoru; figgoru.SetName("Figgoru"); figgoru.SetMenuIcon(&crankIcon); + antidote.GetTargetingMode().TargetAllEnemies(); inventory.Add(&figgoru, 1); battleRes.inventory = &inventory;