]> git.localhorst.tv Git - l2e.git/blobdiff - src/battle/BattleState.cpp
added item select state
[l2e.git] / src / battle / BattleState.cpp
index 4053220b14c96b5c82076679a6070bc598b159d3..6db79f882f9253e0466ec03bce13f361183b5679 100644 (file)
@@ -20,6 +20,7 @@ using app::Application;
 using app::Input;
 using geometry::Point;
 using geometry::Vector;
+using graphics::Menu;
 
 using std::vector;
 
@@ -50,8 +51,41 @@ void BattleState::EnterState(Application &ctrl, SDL_Surface *screen) {
        heroesLayout->CalculatePositions(background->w, background->h, heroesPositions);
        attackChoices.resize(heroes.size());
        for (vector<Hero>::size_type i(0), end(heroes.size()); i < end; ++i) {
-               heroTags.push_back(HeroTag(&heroes[i], &attackChoices[i], heroTagFrame, activeHeroTagFrame, healthGauge, manaGauge, ikariGauge, heroTagSprites, HeroTag::Alignment((i + 1) % 2)));
+               spellMenus.push_back(res->spellMenuPrototype);
+               // TODO: insert real spell menu entries
+               spellMenus.back().Add("Reset    : 0", 0, false);
+               spellMenus.back().Add("Strong   : 3", 0);
+               spellMenus.back().Add("Stronger : 8", 0);
+               spellMenus.back().Add("Champion :16", 0);
+               spellMenus.back().Add("Rally    :10", 0);
+               spellMenus.back().Add("Escape   : 8", 0, false);
+               spellMenus.back().Add("Valor    :30", 0);
+               spellMenus.back().Add("Poison   : 2", 0);
+               spellMenus.back().Add("Warp     : 8", 0, false);
+               spellMenus.back().Add("Release  : 2", 0);
+               spellMenus.back().Add("Waken    : 4", 0);
+               spellMenus.back().Add("Light    : 0", 0, false);
+               spellMenus.back().Add("Fake     : 4", 0);
+               spellMenus.back().Add("Trick    : 5", 0);
+               spellMenus.back().Add("Flash    : 5", 0);
+               spellMenus.back().Add("Fireball : 6", 0);
+               spellMenus.back().Add("Vortex   : 7", 0);
+               spellMenus.back().Add("Blizzard : 8", 0);
+               spellMenus.back().Add("Spark    : 3", 0);
+               heroTags.push_back(HeroTag(&heroes[i], &attackChoices[i], res, HeroTag::Alignment((i + 1) % 2)));
        }
+       itemMenu = res->itemMenuPrototype;
+       itemMenu.Add("Antidote    : 9", 0);
+       itemMenu.Add("Magic jar   : 4", 0);
+       itemMenu.Add("Miracle     : 4", 0);
+       itemMenu.Add("Hi-Potion   : 6", 0);
+       itemMenu.Add("Hi-Magic    : 7", 0);
+       itemMenu.Add("Regain      : 4", 0);
+       itemMenu.Add("Power potion: 4", 0, false);
+       itemMenu.Add("Life potion : 1", 0, false);
+       itemMenu.Add("Escape      : 2", 0, false);
+       itemMenu.Add("Power gourd : 3", 0);
+       itemMenu.Add("Mystery pin : 2", 0);
 }
 
 void BattleState::ExitState(Application &ctrl, SDL_Surface *screen) {
@@ -59,6 +93,7 @@ void BattleState::ExitState(Application &ctrl, SDL_Surface *screen) {
 }
 
 void BattleState::ResumeState(Application &ctrl, SDL_Surface *screen) {
+       // TODO: check for victory, defeat or run
        // reset attack choices
        activeHero = -1;
        attackChoices.clear();