Refund food when snacks are not completely consumed. Add crop updates at various events.,

Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
master
sigonasr2 3 years ago
parent 6edddf45d2
commit 0952608ee2
  1. 20
      SeasonsOfLoneliness.cpp

@ -686,30 +686,35 @@ public:
HAILSTORM->playerOwnCount+=amountGained;
std::cout<<"Increased HAILSTORM power inventory count by "<<amountGained<<".\n";
OBJECTS.erase(OBJECTS.begin()+i--);
performCropUpdate(8);
} else
if (obj.name.compare("HURRICANE_NODE")==0&&collidesWithPlayer(obj)) {
int amountGained=rand()%4+2;
HURRICANE->playerOwnCount+=amountGained;
std::cout<<"Increased HURRICANE power inventory count by "<<amountGained<<".\n";
OBJECTS.erase(OBJECTS.begin()+i--);
performCropUpdate(8);
} else
if (obj.name.compare("METEORSHOWER_NODE")==0&&collidesWithPlayer(obj)) {
int amountGained=rand()%4+2;
METEOR_RAIN->playerOwnCount+=amountGained;
std::cout<<"Increased METEORSHOWER power inventory count by "<<amountGained<<".\n";
OBJECTS.erase(OBJECTS.begin()+i--);
performCropUpdate(8);
} else
if (obj.name.compare("METEORSTORM_NODE")==0&&collidesWithPlayer(obj)) {
int amountGained=rand()%4+2;
METEOR_STORM->playerOwnCount+=amountGained;
std::cout<<"Increased METEORSTORM power inventory count by "<<amountGained<<".\n";
OBJECTS.erase(OBJECTS.begin()+i--);
performCropUpdate(8);
} else
if (obj.name.compare("SNOWSTORM_NODE")==0&&collidesWithPlayer(obj)) {
int amountGained=rand()%4+2;
SNOWSTORM->playerOwnCount+=amountGained;
std::cout<<"Increased SNOWSTORM power inventory count by "<<amountGained<<".\n";
OBJECTS.erase(OBJECTS.begin()+i--);
performCropUpdate(8);
}
if (obj.name.compare("EXIT")==0&&collidesWithPlayer(obj)) {
fadeOut();
@ -849,6 +854,11 @@ public:
BATTLE_CARD_SELECTION_IND=0;
PLAYER_SELECTED_TARGET=-1;
BATTLE_STATE=battle::NONE;
performCropUpdate(8);
if (FOOD_REGEN_TURNS>0) {
FOOD_REGEN_TURNS=0;
foodCount++;
}
} else {
BATTLE_STATE=battle::PLAYER_SELECTION;
PLAYER_SELECTED_TARGET=-1;
@ -1441,6 +1451,16 @@ public:
return std::rand();
}
void performCropUpdate(int chanceToRegrow) {
for (int x=0;x<4;x++) {
for (int y=0;y<4;y++) {
if (rand()%chanceToRegrow==0) {
setPlantStatus(x,y,std::clamp(getPlantStatus(x,y)+1,0,2));
}
}
}
}
void setupBattleTurns() {
//Remove the card from inventory.
BATTLE_CARD_SELECTION->playerOwnCount--;

Loading…
Cancel
Save