Crossfire Server, Trunk
CREMapInformation.h
Go to the documentation of this file.
1 /*
2  * Crossfire -- cooperative multi-player graphical RPG and adventure game
3  *
4  * Copyright (c) 2022 the Crossfire Development Team
5  *
6  * Crossfire is free software and comes with ABSOLUTELY NO WARRANTY. You are
7  * welcome to redistribute it under certain conditions. For details, please
8  * see COPYING and LICENSE.
9  *
10  * The authors can be reached via e-mail at <crossfire@metalforge.org>.
11  */
12 
13 #ifndef CLASS_CRE_MAP_INFORMATION_H
14 #define CLASS_CRE_MAP_INFORMATION_H
15 
16 #include <QObject>
17 #include <QString>
18 #include <QStringList>
19 #include <QDateTime>
20 #include <QHash>
21 #include <QSet>
22 
23 #include "assets/AssetWrapper.h"
24 
25 class RandomMap;
26 
28 {
29  Q_OBJECT
30 
31  Q_PROPERTY(QString path READ path)
32  Q_PROPERTY(QString name READ name)
33  Q_PROPERTY(int difficulty READ difficulty)
35  Q_PROPERTY(qint64 experience READ experience)
36  Q_PROPERTY(QString resetGroup READ resetGroup)
37  Q_PROPERTY(QString backgroundMusic READ backgroundMusic)
38  Q_PROPERTY(double shopGreed READ shopGreed)
39  Q_PROPERTY(QString shopRace READ shopRace)
40  Q_PROPERTY(quint64 shopMin READ shopMin)
41  Q_PROPERTY(quint64 shopMax READ shopMax)
42 
43  public:
45  CREMapInformation(const QString& path);
46  virtual ~CREMapInformation();
47 
48  virtual QString displayName() const override;
49 
50  virtual PossibleUse uses(const AssetWrapper *asset, std::string &) const override;
51 
52  const QString& path() const;
53  void setPath(const QString& path);
54 
55  const QString& name() const;
56  void setName(const QString& name);
57 
58  const QString& backgroundMusic();
59  void setBackgroundMusic(const QString& music);
60 
61  const QString& resetGroup() const;
62  void setResetGroup(const QString& resetGroup);
63 
64  QStringList archetypes() const;
65  void addArchetype(const QString& archetype);
66 
67  QStringList faces() const;
68  void addFace(const QString& face);
69 
70  QStringList animations() const;
71  void addAnimation(const QString& anim);
72 
73  const QDateTime& mapTime() const;
74  void setMapTime(const QDateTime& date);
75 
76  QStringList exitsTo() const;
77  void addExitTo(const QString& path);
78 
79  QStringList accessedFrom() const;
80  void addAccessedFrom(const QString& path);
81 
82  int difficulty() const;
83  void setDifficulty(int difficulty);
84 
85  int computedDifficulty() const;
86  void setComputedDifficulty(int computed);
87 
88  qint64 experience() const;
89  void setExperience(qint64 experience);
90 
91  const QString& region() const;
92  void setRegion(const QString& region);
93 
94  QStringList messages() const;
95  void addMessage(const QString& message);
96 
97  QStringList quests() const;
98  void addQuest(const QString& quest);
99 
100  QHash<QString, int>& shopItems();
101  const QHash<QString, int>& shopItems() const;
102 
103  double shopGreed() const;
104  void setShopGreed(double greed);
105  const QString& shopRace() const;
106  void setShopRace(const QString& race);
107  quint64 shopMin() const;
108  void setShopMin(quint64 min);
109  quint64 shopMax() const;
110  void setShopMax(quint64 max);
111 
112  QList<RandomMap*> randomMaps() const;
113  void addRandomMap(RandomMap* map);
114 
115  protected:
116  QString myPath;
117  QString myName;
118  QStringList myArchetypes;
119  QSet<QString> myFaces;
120  QSet<QString> myAnimations;
121  QDateTime myMapTime;
122  QStringList myExitsTo;
123  QStringList myAccessedFrom;
126  qint64 myExperience;
127  QString myRegion;
128  QStringList myMessages;
129  QStringList myQuests;
130  QHash<QString, int> myShopItems;
131  double myShopGreed;
132  QString myShopRace;
136  QString myResetGroup;
137 };
138 
139 #endif // CLASS_CRE_MAP_INFORMATION_H
CREMapInformation::shopMax
quint64 shopMax
Definition: CREMapInformation.h:41
CREMapInformation::myBackgroundMusic
QString myBackgroundMusic
Definition: CREMapInformation.h:135
CREMapInformation::myFaces
QSet< QString > myFaces
Definition: CREMapInformation.h:119
CREMapInformation::myShopGreed
double myShopGreed
Definition: CREMapInformation.h:131
CREMapInformation::accessedFrom
QStringList accessedFrom() const
Definition: CREMapInformation.cpp:146
CREMapInformation::shopGreed
double shopGreed
Definition: CREMapInformation.h:38
CREMapInformation::mapTime
const QDateTime & mapTime() const
Definition: CREMapInformation.cpp:125
CREMapInformation::setPath
void setPath(const QString &path)
Definition: CREMapInformation.cpp:59
CREMapInformation::setShopRace
void setShopRace(const QString &race)
Definition: CREMapInformation.cpp:243
send.date
date
Definition: send.py:29
CREMapInformation::myResetGroup
QString myResetGroup
Definition: CREMapInformation.h:136
CREMapInformation::archetypes
QStringList archetypes() const
Definition: CREMapInformation.cpp:94
CREMapInformation::addRandomMap
void addRandomMap(RandomMap *map)
Definition: CREMapInformation.cpp:273
CREMapInformation::resetGroup
QString resetGroup
Definition: CREMapInformation.h:36
CREMapInformation::myRandomMaps
QList< RandomMap * > myRandomMaps
Definition: CREMapInformation.h:134
CREMapInformation::myComputedDifficulty
int myComputedDifficulty
Definition: CREMapInformation.h:125
CREMapInformation::computedDifficulty
int computedDifficulty
Definition: CREMapInformation.h:34
CREMapInformation::myExperience
qint64 myExperience
Definition: CREMapInformation.h:126
CREMapInformation::difficulty
int difficulty
Definition: CREMapInformation.h:33
CREMapInformation::setDifficulty
void setDifficulty(int difficulty)
Definition: CREMapInformation.cpp:162
CREMapInformation::displayName
virtual QString displayName() const override
Definition: CREMapInformation.cpp:47
CREMapInformation::shopItems
QHash< QString, int > & shopItems()
Definition: CREMapInformation.cpp:218
CREMapInformation::setResetGroup
void setResetGroup(const QString &resetGroup)
Definition: CREMapInformation.cpp:89
CREMapInformation::messages
QStringList messages() const
Definition: CREMapInformation.cpp:196
CREMapInformation::faces
QStringList faces() const
Definition: CREMapInformation.cpp:105
CREMapInformation::exitsTo
QStringList exitsTo() const
Definition: CREMapInformation.cpp:135
CREMapInformation::shopRace
QString shopRace
Definition: CREMapInformation.h:39
CREMapInformation::myShopMax
quint64 myShopMax
Definition: CREMapInformation.h:133
AssetWrapper
Definition: AssetWrapper.h:25
CREMapInformation::setComputedDifficulty
void setComputedDifficulty(int computed)
Definition: CREMapInformation.cpp:172
CREMapInformation::animations
QStringList animations() const
Definition: CREMapInformation.cpp:115
CREMapInformation::setShopGreed
void setShopGreed(double greed)
Definition: CREMapInformation.cpp:233
quest
Definition: quest.py:1
CREMapInformation::name
QString name
Definition: CREMapInformation.h:32
CREMapInformation::setShopMax
void setShopMax(quint64 max)
Definition: CREMapInformation.cpp:263
CREMapInformation::myQuests
QStringList myQuests
Definition: CREMapInformation.h:129
disinfect.map
map
Definition: disinfect.py:4
CREMapInformation::myDifficulty
int myDifficulty
Definition: CREMapInformation.h:124
RandomMap
Definition: RandomMap.h:24
CREMapInformation::myShopItems
QHash< QString, int > myShopItems
Definition: CREMapInformation.h:130
CREMapInformation::setRegion
void setRegion(const QString &region)
Definition: CREMapInformation.cpp:191
CREMapInformation::uses
virtual PossibleUse uses(const AssetWrapper *asset, std::string &) const override
Definition: CREMapInformation.cpp:278
CREMapInformation::experience
qint64 experience
Definition: CREMapInformation.h:35
CREMapInformation::quests
QStringList quests() const
Definition: CREMapInformation.cpp:207
message
TIPS on SURVIVING Crossfire is populated with a wealth of different monsters These monsters can have varying immunities and attack types In some of them can be quite a bit smarter than others It will be important for new players to learn the abilities of different monsters and learn just how much it will take to kill them This section discusses how monsters can interact with players Most monsters in the game are out to mindlessly kill and destroy the players These monsters will help boost a player s after he kills them When fighting a large amount of monsters in a single attempt to find a narrower hallway so that you are not being attacked from all sides Charging into a room full of Beholders for instance would not be open the door and fight them one at a time For there are several maps designed for them Find these areas and clear them out All throughout these a player can find signs and books which they can read by stepping onto them and hitting A to apply the book sign These messages will help the player to learn the system One more always keep an eye on your food If your food drops to your character will soon so BE CAREFUL ! NPCs Non Player Character are special monsters which have intelligence Players may be able to interact with these monsters to help solve puzzles and find items of interest To speak with a monster you suspect to be a simply move to an adjacent square to them and push the double ie Enter your message
Definition: survival-guide.txt:34
CREMapInformation::addMessage
void addMessage(const QString &message)
Definition: CREMapInformation.cpp:201
CREMapInformation::setShopMin
void setShopMin(quint64 min)
Definition: CREMapInformation.cpp:253
say.max
dictionary max
Definition: say.py:148
CREMapInformation::addAccessedFrom
void addAccessedFrom(const QString &path)
Definition: CREMapInformation.cpp:151
archetype
Definition: object.h:474
animate.anim
string anim
Definition: animate.py:20
AssetWrapper::PossibleUse
PossibleUse
Definition: AssetWrapper.h:32
CREMapInformation::myArchetypes
QStringList myArchetypes
Definition: CREMapInformation.h:118
CREMapInformation::myRegion
QString myRegion
Definition: CREMapInformation.h:127
CREMapInformation::addAnimation
void addAnimation(const QString &anim)
Definition: CREMapInformation.cpp:120
CREMapInformation::myMessages
QStringList myMessages
Definition: CREMapInformation.h:128
CREMapInformation::addExitTo
void addExitTo(const QString &path)
Definition: CREMapInformation.cpp:140
CREMapInformation::myShopRace
QString myShopRace
Definition: CREMapInformation.h:132
region
Definition: map.h:273
CREMapInformation::shopMin
quint64 shopMin
Definition: CREMapInformation.h:40
CREMapInformation
Definition: CREMapInformation.h:27
CREMapInformation::myShopMin
quint64 myShopMin
Definition: CREMapInformation.h:133
CREMapInformation::addFace
void addFace(const QString &face)
Definition: CREMapInformation.cpp:110
CREMapInformation::setName
void setName(const QString &name)
Definition: CREMapInformation.cpp:69
CREMapInformation::myName
QString myName
Definition: CREMapInformation.h:117
CREMapInformation::myExitsTo
QStringList myExitsTo
Definition: CREMapInformation.h:122
CREMapInformation::addArchetype
void addArchetype(const QString &archetype)
Definition: CREMapInformation.cpp:99
CREMapInformation::backgroundMusic
QString backgroundMusic
Definition: CREMapInformation.h:37
CREMapInformation::randomMaps
QList< RandomMap * > randomMaps() const
Definition: CREMapInformation.cpp:268
std
Definition: json.hpp:4494
CREMapInformation::setExperience
void setExperience(qint64 experience)
Definition: CREMapInformation.cpp:182
AssetWrapper.h
CREMapInformation::myMapTime
QDateTime myMapTime
Definition: CREMapInformation.h:121
CREMapInformation::path
QString path
Definition: CREMapInformation.h:31
CREMapInformation::myAccessedFrom
QStringList myAccessedFrom
Definition: CREMapInformation.h:123
CREMapInformation::myAnimations
QSet< QString > myAnimations
Definition: CREMapInformation.h:120
CREMapInformation::setMapTime
void setMapTime(const QDateTime &date)
Definition: CREMapInformation.cpp:130
CREMapInformation::myPath
QString myPath
Definition: CREMapInformation.h:116
CREMapInformation::addQuest
void addQuest(const QString &quest)
Definition: CREMapInformation.cpp:212
CREMapInformation::setBackgroundMusic
void setBackgroundMusic(const QString &music)
Definition: CREMapInformation.cpp:79