diff --git a/C++ProjectTemplate b/C++ProjectTemplate index 50e645f..abb8859 100755 Binary files a/C++ProjectTemplate and b/C++ProjectTemplate differ diff --git a/main.cpp b/main.cpp index c5789c2..ac74cf4 100644 --- a/main.cpp +++ b/main.cpp @@ -160,6 +160,7 @@ public: int OVERWORLD_TARGET_SELECTION=0; bool HEALING_OVERWORLD_MEMBERS=false; //When set to true, members will be healed as dialog boxes are closed using the HEALING_OVERWORLD_MEMBER variable. int HEALING_OVERWORLD_MEMBER=0; + bool HEALING_OVERWORLD_SINGLE_MEMBER=false; //When set to true, a single member is being healed. bool MOUSE_PRESSED_DOWN=false,MOUSE_DOWN=false,MOUSE_RELEASED=false; //TODO Implement Mouse things. @@ -337,6 +338,25 @@ This is a test message that lets us trigger straight from a cutscene! Cool!)"), } castingMember->selectedMove=nullptr; } + if (HEALING_OVERWORLD_SINGLE_MEMBER) { + Entity*castingMember=PARTY_MEMBER_STATS[PARTY_MEMBER_ID[OVERWORLD_POWER_SELECTION_MEMBER]]; + castingMember->selectedMove=OVERWORLD_SELECTED_POWER; + Entity*target=PARTY_MEMBER_STATS[PARTY_MEMBER_ID[OVERWORLD_TARGET_SELECTION]]; + int healAmt = CalculateHealing(castingMember); + vi2d box = {(128-32*PARTY_MEMBER_COUNT)+OVERWORLD_TARGET_SELECTION*64+29,170}; + DAMAGE_NUMBERS.push_back(new DamageNumber(-healAmt,box+cameraPos)); + target->AddHP(healAmt); + if (target->GetHP()>0) { + targetText+=target->obj->name+" recovered "+std::to_string(healAmt)+" hitpoints."; + } else { + targetText+="But it failed."; + } + messageBoxLoad=true; + messageBoxVisible=true; + HEALING_OVERWORLD_SINGLE_MEMBER=false; + GAME_STATE=GameState::OVERWORLD_GRADE_MENU; + castingMember->selectedMove=nullptr; + } } } else { while (messageBoxMarkerSubtractPP(move->PPCost); + DisplayMessageBox(PARTY_MEMBER_OBJ[OVERWORLD_POWER_SELECTION_MEMBER]->name+" begins to cast "+move->GetPowerName()+".\n"); + } + }break; case GameState::EDITOR:{ if (IsTextEntryEnabled()) { return; @@ -3865,10 +3905,10 @@ This is a test message that lets us trigger straight from a cutscene! Cool!)"), OVERWORLD_SELECTED_POWER=move; OVERWORLD_TARGET_SELECTION=0; if (move->name=="PK Lifeup") { - PARTY_MEMBER_STATS[PARTY_MEMBER_ID[partyMemberSlot]]->SubtractPP(move->PPCost); if (move->range==1) { GAME_STATE=GameState::OVERWORLD_TARGET_MENU; } else { + PARTY_MEMBER_STATS[PARTY_MEMBER_ID[partyMemberSlot]]->SubtractPP(move->PPCost); DisplayMessageBox(PARTY_MEMBER_OBJ[partyMemberSlot]->name+" begins to cast "+move->GetPowerName()+".\n"); HEALING_OVERWORLD_MEMBERS=true; HEALING_OVERWORLD_MEMBER=0;