-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathworldState.cpp
More file actions
54 lines (46 loc) · 1.18 KB
/
worldState.cpp
File metadata and controls
54 lines (46 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include "worldState.h"
void WorldState::print()
{
std::cout << "WorldState " << (isTerminal() ? "(terminal)" : "") << ": durability " << durability << " Quality " << quality << " Progress " << progress << " Cp " << cp << " Buffs " << effects.countDowns.size() + effects.countUps.size() << std::endl;
}
bool WorldState::isTerminal() const
{
if(0>=durability)
{
return true;
}
return progress>=recipe.difficulty;
}
bool WorldState::canUseAction(const Action& action) const
{
// We can only use tricks of the trade when the condition is good:
if(Action::Identifier::tricksOfTheTrade==action.identifier)
{
return Condition::Good == condition;
}
return cp >= action.cpCost;
}
float WorldState::hqPercentage() const
{
/*
TODO: Finish.
float qualityPercent = quality / recipe.maxQuality * 100;
float hqPercent = 1;
if(qualityPercent==0)
{
hqPercent=1;
}
else if(qualityPercent>=100)
{
hqPercent=100;
}
else
{
while (qualityFromHqPercent(hqPercent) < qualityPercent && hqPercent < 100) {
hqPercent += 1;
}
}
return hqPercent;
*/
return 0;
}