WorldSim  inDev
2D tile-based sandbox RPG with procedurally generated fantasy world simulator 🌏
Settlement_Dwarven.hpp
Go to the documentation of this file.
1 #pragma once
2 #ifndef GUILD_SETTLEMENT_DWARVEN_HPP
3 #define GUILD_SETTLEMENT_DWARVEN_HPP
4 
5 #include "Settlement.hpp"
6 
8 {
9  private:
10 
11 
12  public:
14 
15  /* SIMULATE X TURNS OF THE SETTLEMENT. */
16  void incrementTicks ( int /* nTicks */ );
17 
18 
19 
20  void checkStockpileForBestItem(Character* character, Job* job);
21 
22  void putMarketRequest(Character* c, enumLocation type); // Put market request for location to be built.
23  void putMarketRequest(Character* c, enumResource type); // Put market request for resource to be obtained.
24  void putMarketRequest(Character* c, ItemType type); // Put market request for item to be built.
25  void putMarketRequest
26  (Character* c, ItemAction category, int minLevel); // Put market request for a type of item.
27 
28  bool abstractDayJob(Character* character, Job* job);
29  bool abstractDayConstruction(Character* character);
30  bool abstractDayProduction(Character* character);
31  void abstractDayResearch(Character* character);
32  void abstractDaySocial(Character* character);
33  void abstractDaySplit(); // Settlement split
34  void abstractDayBiology(); // Character biology
35 
36  void moveAllCharacterHome(); // Move all characters back to their dwelling or a hall.
37 
38  Character* getFarmer(Vector <Character*>* vExclude);
39  Character* getMiner(Vector <Character*>* vExclude);
40 
41  bool hasLocation(enumLocation _location); // True if there's an area that can be mined.
42  void buildLocation(enumLocation _location);
43 
44  bool miningNeeded(); // True if any more mining resources are required.
45  bool woodNeeded(); // True if any more mining resources are required.
46  bool coinsNeeded();
47 
48 
49 
51  Item* produceItem(ItemType type, Character* creator, Location* location, CanRequestItem* recipient);
52  Item* produceItem(ItemAction type, Character* creator, Location* location, CanRequestItem* recipient, int minimumLevel);
53 
54  void payCharacter(Character* character, int amount);
55  void payCharacterFromTreasury(Character* character, int amount);
56 
57  // WorldObjectGlobal virtual.
58  Texture* currentTexture();
59 };
60 
61 #endif
ItemAction
Definition: Driver_Settings_Enums.hpp:243
void putMarketRequest(Character *c, enumLocation type)
Definition: Settlement_Dwarven.cpp:72
void abstractDayBiology()
Definition: Settlement_Dwarven.cpp:983
enumResource
Definition: Driver_Settings_Enums.hpp:125
int type
Definition: WorldObjectGlobal.hpp:32
bool abstractDayConstruction(Character *character)
Definition: Settlement_Dwarven.cpp:481
Definition: Settlement_Dwarven.hpp:7
void payCharacter(Character *character, int amount)
Definition: Settlement_Dwarven.cpp:448
bool coinsNeeded()
Definition: Settlement_Dwarven.cpp:789
Texture * currentTexture()
Definition: Settlement_Dwarven.cpp:27
enumLocation
Definition: Driver_Settings_Enums.hpp:76
bool miningNeeded()
Definition: Settlement_Dwarven.cpp:765
LocationManager location
Definition: Settlement.hpp:41
void buildLocation(enumLocation _location)
Definition: Settlement_Dwarven.cpp:140
Settlement_Dwarven()
Definition: Settlement_Dwarven.cpp:17
Item * createItem(ItemType type, Character *creator, Location *location)
Definition: Settlement_Dwarven.cpp:362
Definition: Item.hpp:51
void payCharacterFromTreasury(Character *character, int amount)
Definition: Settlement_Dwarven.cpp:475
void abstractDaySplit()
Definition: Settlement_Dwarven.cpp:1114
Definition: Job.hpp:7
Definition: Settlement.hpp:15
void abstractDayResearch(Character *character)
Definition: Settlement_Dwarven.cpp:710
Definition: Character.hpp:38
bool abstractDayJob(Character *character, Job *job)
Definition: Settlement_Dwarven.cpp:158
bool hasLocation(enumLocation _location)
Definition: Settlement_Dwarven.cpp:132
void moveAllCharacterHome()
Definition: Settlement_Dwarven.cpp:823
Definition: HasMoney.cpp:60
bool woodNeeded()
Definition: Settlement_Dwarven.cpp:779
Character * getFarmer(Vector< Character *> *vExclude)
Definition: Settlement_Dwarven.cpp:794
Character * getMiner(Vector< Character *> *vExclude)
Definition: Settlement_Dwarven.cpp:736
void checkStockpileForBestItem(Character *character, Job *job)
Definition: Settlement_Dwarven.cpp:32
Definition: Location.hpp:19
bool abstractDayProduction(Character *character)
Definition: Settlement_Dwarven.cpp:525
void abstractDaySocial(Character *character)
Definition: Settlement_Dwarven.cpp:720
void incrementTicks(int)
Definition: Settlement_Dwarven.cpp:857
Item * produceItem(ItemType type, Character *creator, Location *location, CanRequestItem *recipient)
Definition: Settlement_Dwarven.cpp:368
ItemType
Definition: Driver_Settings_Enums.hpp:268