diff options
author | drumsetmonkey <abelleisle@roadrunner.com> | 2016-02-03 18:08:40 -0500 |
---|---|---|
committer | drumsetmonkey <abelleisle@roadrunner.com> | 2016-02-03 18:08:40 -0500 |
commit | b5598688432a0acd416be97ecf54576bbbf07eb6 (patch) | |
tree | a96522aa235b81e496ccf736720c69117b9199f1 /src/world.cpp | |
parent | 00c312051599729074ff3584a0528c1883e1ff42 (diff) | |
parent | 523ef5835f16ece38600b91f84936b7b0d2845a1 (diff) |
Mouse texture, and screenshots
Diffstat (limited to 'src/world.cpp')
-rw-r--r-- | src/world.cpp | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/src/world.cpp b/src/world.cpp index df0f0ac..7126095 100644 --- a/src/world.cpp +++ b/src/world.cpp @@ -1371,13 +1371,23 @@ void IndoorWorld::draw(Player *p){ extern bool inBattle; +std::vector<World *> battleNest; +std::vector<vec2> battleNestLoc; + Arena::Arena(World *leave,Player *p,Mob *m){ generate(800); addMob(MS_DOOR,100,100); + inBattle = true; - exit = leave; - pxy = p->loc; mmob = m; + //exit = leave; + //pxy = p->loc; + + mob.push_back(m); + entity.push_back(m); + + battleNest.push_back(leave); + battleNestLoc.push_back(p->loc); star = new vec2[100]; memset(star,0,100 * sizeof(vec2)); @@ -1392,14 +1402,20 @@ Arena::~Arena(void){ } World *Arena::exitArena(Player *p){ + World *tmp; if(p->loc.x + p->width / 2 > mob[0]->loc.x && p->loc.x + p->width / 2 < mob[0]->loc.x + HLINE * 12 ){ - inBattle = false; + tmp = battleNest.front(); + battleNest.erase(battleNest.begin()); + + inBattle = !battleNest.empty(); ui::toggleBlackFast(); ui::waitForCover(); - p->loc = pxy; - mmob->alive = false; - return exit; + + p->loc = battleNestLoc.back(); + battleNestLoc.pop_back(); + //mmob->alive = false; + return tmp; }else{ return this; } |