Restored coin-cost for reset points and added a coin penalty for aborting a level...
authorLMH <lmh.0013@gmail.com>
Tue, 2 Jul 2013 08:42:12 +0000 (22:42 -1000)
committerLMH <lmh.0013@gmail.com>
Mon, 8 Jul 2013 21:54:03 +0000 (11:54 -1000)
src/object/player.cpp
src/supertux/game_session.cpp

index 9647aed..fbb89fa 100644 (file)
@@ -1307,6 +1307,21 @@ Player::kill(bool completely)
       return;
     }
 
+    if (player_status->coins >= 25 && !GameSession::current()->get_reset_point_sectorname().empty())
+    {
+      for (int i = 0; i < 5; i++)
+      {
+        // the numbers: starting x, starting y, velocity y
+        Sector::current()->add_object(new FallingCoin(get_pos() +
+                                                      Vector(graphicsRandom.rand(5), graphicsRandom.rand(-32,18)),
+                                                      graphicsRandom.rand(-100,100)));
+      }
+      player_status->coins -= std::max(player_status->coins/10, 25);
+    }
+    else
+    {
+      GameSession::current()->set_reset_point("", Vector());
+    }
     physic.enable_gravity(true);
     physic.set_gravity_modifier(1.0f); // Undo jump_early_apex
     safe_timer.stop();
index 56c2a9b..2ff9483 100644 (file)
@@ -399,6 +399,9 @@ GameSession::process_menu()
         case MNID_ABORTLEVEL:
           MenuManager::set_current(0);
           g_screen_manager->exit_screen();
+          //Coin penalty for aborting a level
+          if (player_status->coins >= 25)
+            player_status->coins -= std::max(player_status->coins/10, 25);
           break;
       }
     }