Conquer Space 0.0.0
A space themed grand strategy game set in the near future, with realistic orbital mechanics, and an emphasis on economics and politics.
Classes | Functions
cqsp::common::actions Namespace Reference

Classes

class  NameGenerator
 Name generator is pretty straightforward Format: More...
 

Functions

Node CreateCity (Node &planet, components::types::SurfaceCoordinate coords)
 
Node CreateCity (Node &planet, double lat, double longi)
 
bool BuyGood (components::AuctionHouse &auction_house, Node &agent, Node &good, double price, double quantity)
 Buys a good from the market More...
 
bool SellGood (components::AuctionHouse &auction_house, Node &agent, Node &, double price, double quantity)
 Sells a good to the market More...
 
void AddParticipant (Node &market_node, Node &participant)
 
double GetCost (Node &market, const components::ResourceLedger &ledger)
 
Node CreateMarket (Universe &universe)
 Creates a market two instance. More...
 
bool PurchaseGood (Node &agent, const components::ResourceLedger &purchase)
 Note: This will only buy the maximum resources that are in the market. If there aren't enough resources on the market, then we buy all the remaining resources on the market. You'll have to calculate how much you want later on More...
 
bool SellGood (Node &agent, const components::ResourceLedger &selling)
 
Node OrderConstructionFactory (Node &city, Node &market, Node &recipe, Node &builder, int productivity=1)
 Will charge the entity builder the amount needed to construct the factory/building. You'll have to find a organization that can construct it though. More...
 
Node CreateFactory (Node &city, Node &recipe, int productivity=1, double wages=10)
 Creates a factory from thin air More...
 
components::ResourceLedger GetFactoryCost (Node &city, Node &recipe, int productivity)
 
Node CreateCommercialArea (Node &city)
 
uint64_t GetCityPopulation (Node &city)
 
Node CreateLab (Universe &universe)
 
void AddScienceResearch (Node &lab, Node &research, double progress)
 
void ResearchTech (Node &civilization, Node &tech)
 
void ProcessAction (Node &civilization, const std::string &action)
 
Node CreateShip (Node &starsystem, Node &fleet, const glm::vec3 &orbit, const std::string &shipName="")
 creates a ship with a name and assigns it to a fleet and solar system More...
 
Node CreateShip (Node &starsystem, Node &fleet, Node &orbit, const std::string &shipName)
 
Node CreateShip (Node &starsystem, Node &fleet, const components::types::Orbit &orbit, const std::string &shipName)
 
entt::entity LaunchShip (Universe &universe, const components::types::Orbit &orbit)
 
bool TransferResources (Node &from, Node &to, Node &good, double amount)
 Transfers resources from the first entity to the second More...
 

Function Documentation

◆ AddParticipant()

void cqsp::common::actions::AddParticipant ( Node market_node,
Node participant 
)

◆ AddScienceResearch()

void cqsp::common::actions::AddScienceResearch ( Node lab,
Node research,
double  progress 
)

◆ BuyGood()

bool cqsp::common::actions::BuyGood ( components::AuctionHouse auction_house,
Node agent,
Node good,
double  price,
double  quantity 
)

Buys a good from the market

Parameters
auction_houseAuction house to buy from
goodGood to buy
pricePrice
quantityQuantity
Returns
True if the order is fufilled immediately, false if a buy order is placed.

◆ CreateCity() [1/2]

Node cqsp::common::actions::CreateCity ( Node planet,
components::types::SurfaceCoordinate  coords 
)

◆ CreateCity() [2/2]

Node cqsp::common::actions::CreateCity ( Node planet,
double  lat,
double  longi 
)

◆ CreateCommercialArea()

Node cqsp::common::actions::CreateCommercialArea ( Node city)

◆ CreateFactory()

Node cqsp::common::actions::CreateFactory ( Node city,
Node recipe,
int  productivity = 1,
double  wages = 10 
)

Creates a factory from thin air

Parameters
universe
city
recipe
productivity
Returns
The factory entity created

◆ CreateLab()

Node cqsp::common::actions::CreateLab ( Universe universe)

◆ CreateMarket()

Node cqsp::common::actions::CreateMarket ( Universe universe)

Creates a market two instance.

◆ CreateShip() [1/3]

Node cqsp::common::actions::CreateShip ( Node starsystem,
Node fleet,
const components::types::Orbit orbit,
const std::string &  shipName 
)

◆ CreateShip() [2/3]

Node cqsp::common::actions::CreateShip ( Node starsystem,
Node fleet,
const glm::vec3 &  orbit,
const std::string &  shipName = "" 
)

creates a ship with a name and assigns it to a fleet and solar system

Parameters
universeThe registry for the entities
fleetEntThe fleet to be used
starsystemEntThe star system where the ship is created in
Returns
The ship that is created

◆ CreateShip() [3/3]

Node cqsp::common::actions::CreateShip ( Node starsystem,
Node fleet,
Node orbit,
const std::string &  shipName 
)

◆ GetCityPopulation()

uint64_t cqsp::common::actions::GetCityPopulation ( Node city)

◆ GetCost()

double cqsp::common::actions::GetCost ( Node market,
const components::ResourceLedger ledger 
)

◆ GetFactoryCost()

components::ResourceLedger cqsp::common::actions::GetFactoryCost ( Node city,
Node recipe,
int  productivity 
)

◆ LaunchShip()

entt::entity cqsp::common::actions::LaunchShip ( Universe universe,
const components::types::Orbit orbit 
)

◆ OrderConstructionFactory()

Node cqsp::common::actions::OrderConstructionFactory ( Node city,
Node market,
Node recipe,
Node builder,
int  productivity = 1 
)

Will charge the entity builder the amount needed to construct the factory/building. You'll have to find a organization that can construct it though.

Parameters
city
market
recipe
builder
productivity
Returns
The factory entity created, entt::null if it's not possible.

◆ ProcessAction()

void cqsp::common::actions::ProcessAction ( Node civilization,
const std::string &  action 
)

◆ PurchaseGood()

bool cqsp::common::actions::PurchaseGood ( Node agent,
const components::ResourceLedger purchase 
)

Note: This will only buy the maximum resources that are in the market. If there aren't enough resources on the market, then we buy all the remaining resources on the market. You'll have to calculate how much you want later on

Parameters
universe
agent
purchase
Returns

◆ ResearchTech()

void cqsp::common::actions::ResearchTech ( Node civilization,
Node tech 
)

◆ SellGood() [1/2]

bool cqsp::common::actions::SellGood ( components::AuctionHouse auction_house,
Node agent,
Node ,
double  price,
double  quantity 
)

Sells a good to the market

Parameters
auction_houseAuction house to buy from
goodGood to buy
pricePrice
quantityQuantity
Returns
True if the order is fufilled immediately, false if a sell order is placed.

◆ SellGood() [2/2]

bool cqsp::common::actions::SellGood ( Node agent,
const components::ResourceLedger selling 
)

◆ TransferResources()

bool cqsp::common::actions::TransferResources ( Node from,
Node to,
Node good,
double  amount 
)

Transfers resources from the first entity to the second

Parameters
registryRegistry to transfer
fromNeeds to be a resource stockpile
toNeeds to be a resource stockpile
goodgood to transfer
amountamount of resources to transfer
Returns
If transfering resources failed.