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

Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
This commit is contained in:
sigonasr2 2022-08-29 15:53:17 -05:00
parent 6edddf45d2
commit 0952608ee2

View File

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