Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

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

Merging presentation branch back into trunk.
There are many new features and also a lot of other changes and bugfixes, if you want to know, digg through the svn log.
Not everything is yet working as it should, but it should be fairly stable. If you habe any bug reports, just send me an email.

  • 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 <map>
33#include <vector>
34#include "OrxonoxPrereqs.h"
35#include "Gametype.h"
36#include "tools/Timer.h"
37
38namespace orxonox
39{
40    class _OrxonoxExport Dynamicmatch : public Gametype
41    {
42        public:
43            Dynamicmatch(BaseObject* creator);
44            virtual ~Dynamicmatch() {}
45
46            bool notEnoughPigs;
47            bool notEnoughKillers;
48            bool notEnoughChasers;
49
50            //three different parties
51            int chaser;
52            int piggy;
53            int killer;
54
55            virtual void evaluatePlayerParties();
56            int getParty(PlayerInfo* player);
57            void setPlayerColour(PlayerInfo* player);//own function
58            void setConfigValues();//done
59
60            bool friendlyfire; //goal: player can switch it on/off
61            bool tutorial; //goal: new players receive messages how the new gametype works - later it can be switched off.
62
63            virtual bool allowPawnDamage(Pawn* victim, Pawn* originator = 0); //ok - score function and management of parties
64            virtual bool allowPawnDeath(Pawn* victim, Pawn* originator = 0); //ok - simple
65            virtual void start();
66            virtual void end(); //Wie geht das mit der Punkteausgabe aendern? Z.B: Persoenliche Nachricht?
67            virtual void playerEntered(PlayerInfo* player);
68            virtual void playerStartsControllingPawn(PlayerInfo* player, Pawn* pawn);//is used to initialize the player's party and colour
69            virtual bool playerLeft(PlayerInfo* player);
70            virtual bool playerChangedName(PlayerInfo* player);//unchanged
71
72            /*virtual void instructions();
73            virtual void furtherInstructions();*/
74            virtual void rewardPig();
75            void grantPigBoost(SpaceShip* spaceship); // Added this, since it's used twice on different occasions.
76            void resetSpeedFactor(WeakPtr<SpaceShip>* ptr);
77            void tick (float dt);// used to end the game
78            SpawnPoint* getBestSpawnPoint(PlayerInfo* player) const;
79
80        protected:
81
82            std::map< PlayerInfo*, int > playerParty_; //player's parties are recorded here
83            std::vector<ColourValue> partyColours_; //aus TeamDeathmatch
84            unsigned int numberOf[3]; //array to count number of chasers, pigs, killers
85            float pointsPerTime;
86            float gameTime_;   // from UnderAttack
87            bool gameEnded_; // true if game is over
88            int timesequence_; //used for countdown
89            //Timer callInstructions_;
90    };
91}
92
93#endif /* _Dynamicmatch_H__ */
Note: See TracBrowser for help on using the repository browser.