Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/trunk/src/orxonox/gametypes/Dynamicmatch.h @ 8727

Last change on this file since 8727 was 8727, checked in by dafrick, 13 years ago

Cleaning up in SpaceShip and Engine. Fixed several bugs.
Kicked localLinearAcceleration, primaryThrust and auxiliaryThrust out of the SpaceShip, since it wasn't used anymore.
Moved the trail lights back a bit.
Added some documentation to SpaceShip and Engine.
SpeedPickup is working again, will need some further tuning.

  • Property svn:eol-style set to native
File size: 3.5 KB
Line 
1/*
2 *   ORXONOX - the hottest 3D action shooter ever to exist
3 *                    > www.orxonox.net <
4 *
5 *
6 *   License notice:
7 *
8 *   This program is free software; you can redistribute it and/or
9 *   modify it under the terms of the GNU General Public License
10 *   as published by the Free Software Foundation; either version 2
11 *   of the License, or (at your option) any later version.
12 *
13 *   This program is distributed in the hope that it will be useful,
14 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
15 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 *   GNU General Public License for more details.
17 *
18 *   You should have received a copy of the GNU General Public License
19 *   along with this program; if not, write to the Free Software
20 *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
21 *
22 *   Author:
23 *      Johannes Ritz
24 *   Co-authors:
25 *      ...
26 *
27 */
28
29#ifndef _Dynamicmatch_H__
30#define _Dynamicmatch_H__
31
32#include "OrxonoxPrereqs.h"
33
34#include <map>
35#include <vector>
36
37#include "tools/Timer.h"
38
39#include "Gametype.h"
40
41namespace orxonox
42{
43    class _OrxonoxExport Dynamicmatch : public Gametype
44    {
45        public:
46            Dynamicmatch(BaseObject* creator);
47            virtual ~Dynamicmatch() {}
48
49            bool notEnoughPigs;
50            bool notEnoughKillers;
51            bool notEnoughChasers;
52
53            //three different parties
54            int chaser;
55            int piggy;
56            int killer;
57
58            virtual void evaluatePlayerParties();
59            int getParty(PlayerInfo* player);
60            void setPlayerColour(PlayerInfo* player);//own function
61            void setConfigValues();//done
62
63            bool friendlyfire; //goal: player can switch it on/off
64            bool tutorial; //goal: new players receive messages how the new gametype works - later it can be switched off.
65
66            virtual bool allowPawnDamage(Pawn* victim, Pawn* originator = 0); //ok - score function and management of parties
67            virtual bool allowPawnDeath(Pawn* victim, Pawn* originator = 0); //ok - simple
68            virtual void start();
69            virtual void end(); //Wie geht das mit der Punkteausgabe aendern? Z.B: Persoenliche Nachricht?
70            virtual void playerEntered(PlayerInfo* player);
71            virtual void playerStartsControllingPawn(PlayerInfo* player, Pawn* pawn);//is used to initialize the player's party and colour
72            virtual bool playerLeft(PlayerInfo* player);
73            virtual bool playerChangedName(PlayerInfo* player);//unchanged
74
75            /*virtual void instructions();
76            virtual void furtherInstructions();*/
77            virtual void rewardPig();
78            void grantPigBoost(SpaceShip* spaceship); // Grant the piggy a boost.
79            void resetSpeedFactor(WeakPtr<SpaceShip>* ptr);
80            void tick (float dt);// used to end the game
81            SpawnPoint* getBestSpawnPoint(PlayerInfo* player) const;
82
83        protected:
84
85            std::map< PlayerInfo*, int > playerParty_; //player's parties are recorded here
86            std::vector<ColourValue> partyColours_; //aus TeamDeathmatch
87            unsigned int numberOf[3]; //array to count number of chasers, pigs, killers
88            float pointsPerTime;
89            float gameTime_;   // from UnderAttack
90            bool gameEnded_; // true if game is over
91            int timesequence_; //used for countdown
92            //Timer callInstructions_;
93    };
94}
95
96#endif /* _Dynamicmatch_H__ */
Note: See TracBrowser for help on using the repository browser.