|
|
|
@ -102,6 +102,10 @@ namespace gameflag{ |
|
|
|
|
REPAIRED_ROVER_1, |
|
|
|
|
REST_IN_DOME, |
|
|
|
|
SLEEP, |
|
|
|
|
FIRST_ENCOUNTER_X_X, |
|
|
|
|
ANALYSIS_X_X, |
|
|
|
|
TUTORIAL1_X_X, |
|
|
|
|
TUTORIAL2_X_X, |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -769,8 +773,8 @@ public: |
|
|
|
|
ENCOUNTER_SPIDEY_1.entities.push_back(new Entity(SPIDEY_DECAL,"Spidey",6,2,80,80,MOVESET_SPIDEY)); |
|
|
|
|
ENCOUNTER_SPIDEY_1.x=79; |
|
|
|
|
ENCOUNTER_SPIDEY_1.y=47; |
|
|
|
|
ENCOUNTER_X_X.playerX=4; |
|
|
|
|
ENCOUNTER_X_X.playerY=3.75; |
|
|
|
|
ENCOUNTER_SPIDEY_1.playerX=4; |
|
|
|
|
ENCOUNTER_SPIDEY_1.playerY=3; |
|
|
|
|
ENCOUNTERS.push_back(ENCOUNTER_SPIDEY_1); |
|
|
|
|
ENCOUNTER_X_X.entities.push_back(new Entity(X_X_DECAL,"X_X",3,2.5,590,590,MOVESET_X_X,{2,2},true)); |
|
|
|
|
ENCOUNTER_X_X.entities.push_back(new Entity(X_X_DECAL,"X Minion",1,4,0,80,MOVESET_XMINION,{0.7,0.7})); |
|
|
|
@ -810,10 +814,6 @@ public: |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void GetAnyKeyPress() override {
|
|
|
|
|
if (!GetKey(W).bPressed&&!GetKey(A).bPressed&&!GetKey(S).bPressed&&!GetKey(D).bPressed&& |
|
|
|
|
!GetKey(UP).bPressed&&!GetKey(RIGHT).bPressed&&!GetKey(DOWN).bPressed&&!GetKey(LEFT).bPressed) { |
|
|
|
|
ActionButtonPress(); |
|
|
|
|
}
|
|
|
|
|
if (messageBoxVisible) { |
|
|
|
|
if (messageBoxCursor!=messageBoxRefText.length()) { |
|
|
|
|
while (messageBoxCursor<messageBoxRefText.length()) { |
|
|
|
@ -821,8 +821,13 @@ public: |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
messageBoxVisible=false; |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (!GetKey(W).bPressed&&!GetKey(A).bPressed&&!GetKey(S).bPressed&&!GetKey(D).bPressed&& |
|
|
|
|
!GetKey(UP).bPressed&&!GetKey(RIGHT).bPressed&&!GetKey(DOWN).bPressed&&!GetKey(LEFT).bPressed) { |
|
|
|
|
ActionButtonPress(); |
|
|
|
|
}
|
|
|
|
|
switch (GAME_STATE) { |
|
|
|
|
case CUTSCENE_1:{ |
|
|
|
|
if (textInd>=CONSOLE_REF_TEXT.length()) { |
|
|
|
@ -1458,6 +1463,11 @@ public: |
|
|
|
|
int TARGET_COORDS_Y=CURRENT_ENCOUNTER.y+HEIGHT/32/2; |
|
|
|
|
if (PLAYER_COORDS[0]==TARGET_COORDS_X&&PLAYER_COORDS[1]==TARGET_COORDS_Y |
|
|
|
|
&&BATTLE_PLAYER_COORDS.x==CURRENT_ENCOUNTER.x+CURRENT_ENCOUNTER.playerX&&BATTLE_PLAYER_COORDS.y==CURRENT_ENCOUNTER.y+CURRENT_ENCOUNTER.playerY) { |
|
|
|
|
if (!GAME_FLAGS[gameflag::FIRST_ENCOUNTER_X_X]&&GAME_FLAGS[gameflag::SLEEP]) { |
|
|
|
|
GAME_FLAGS[gameflag::FIRST_ENCOUNTER_X_X]=true; |
|
|
|
|
DisplayMessageBox(22); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
BATTLE_STATE = battle::PLAYER_SELECTION; |
|
|
|
|
clearPixelEffect(); |
|
|
|
|
EFFECT_TIMER = 0; |
|
|
|
@ -1516,6 +1526,16 @@ public: |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}break; |
|
|
|
|
case battle::PLAYER_SELECTION:{ |
|
|
|
|
if (!GAME_FLAGS[gameflag::TUTORIAL1_X_X]&&GAME_FLAGS[gameflag::ANALYSIS_X_X]) { |
|
|
|
|
GAME_FLAGS[gameflag::TUTORIAL1_X_X]=true; |
|
|
|
|
DisplayMessageBox(24); |
|
|
|
|
} else |
|
|
|
|
if (!GAME_FLAGS[gameflag::TUTORIAL2_X_X]&&GAME_FLAGS[gameflag::TUTORIAL1_X_X]) { |
|
|
|
|
GAME_FLAGS[gameflag::TUTORIAL2_X_X]=true; |
|
|
|
|
DisplayMessageBox(25); |
|
|
|
|
} |
|
|
|
|
}break; |
|
|
|
|
case battle::WAIT_TURN_ANIMATION:{ |
|
|
|
|
if (EFFECT_TIMER==0) { |
|
|
|
|
PIXEL_EFFECT_TRANSPARENCY=0; |
|
|
|
@ -1646,7 +1666,6 @@ public: |
|
|
|
|
case battle::DAMAGE_RESOLUTION:{ |
|
|
|
|
EFFECT_TIMER++; |
|
|
|
|
if (EFFECT_TIMER>60) { |
|
|
|
|
std::cout<<"In here: "<<EFFECT_TIMER<<"\n"; |
|
|
|
|
if (turnOrder.empty()) { |
|
|
|
|
bool allDead=true; |
|
|
|
|
for (auto&ent:CURRENT_ENCOUNTER.entities) { |
|
|
|
@ -1671,6 +1690,11 @@ public: |
|
|
|
|
foodCount++; |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
if (!GAME_FLAGS[gameflag::ANALYSIS_X_X]&&GAME_FLAGS[gameflag::FIRST_ENCOUNTER_X_X]) { |
|
|
|
|
GAME_FLAGS[gameflag::ANALYSIS_X_X]=true; |
|
|
|
|
DisplayMessageBox(23); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
BATTLE_STATE=battle::PLAYER_SELECTION; |
|
|
|
|
PLAYER_SELECTED_TARGET=-1; |
|
|
|
|
} |
|
|
|
@ -2166,8 +2190,8 @@ public: |
|
|
|
|
}break; |
|
|
|
|
case battle::PLAYER_TARGET_SELECTION:{ |
|
|
|
|
if (PLAYER_SELECTED_TARGET>=0) { |
|
|
|
|
DrawWrappedText({5,5},"Target "+CURRENT_ENCOUNTER.entities[PLAYER_SELECTED_TARGET]->name+" "+(char)('A'+PLAYER_SELECTED_TARGET)+" uses "+BATTLE_CARD_SELECTION->name,WIDTH-8,BLACK,{2,2}); |
|
|
|
|
DrawWrappedText({4,4},"Target "+CURRENT_ENCOUNTER.entities[PLAYER_SELECTED_TARGET]->name+" "+(char)('A'+PLAYER_SELECTED_TARGET)+" uses "+BATTLE_CARD_SELECTION->name,WIDTH-8,WHITE,{2,2}); |
|
|
|
|
DrawWrappedText({5,5},"Use "+BATTLE_CARD_SELECTION->name+" on "+CURRENT_ENCOUNTER.entities[PLAYER_SELECTED_TARGET]->name+" "+(char)('A'+PLAYER_SELECTED_TARGET),WIDTH-8,BLACK,{2,2}); |
|
|
|
|
DrawWrappedText({4,4},"Use "+BATTLE_CARD_SELECTION->name+" on "+CURRENT_ENCOUNTER.entities[PLAYER_SELECTED_TARGET]->name+" "+(char)('A'+PLAYER_SELECTED_TARGET),WIDTH-8,WHITE,{2,2}); |
|
|
|
|
DrawStringDecal({(float)(WIDTH-GetTextSize("<UP> Back").x-1),(float)(HEIGHT-GetTextSize("<UP> Back").y-1)},"<UP> Back",BLACK,{1,1}); |
|
|
|
|
DrawStringDecal({(float)(WIDTH-GetTextSize("<UP> Back").x-2),(float)(HEIGHT-GetTextSize("<UP> Back").y-2)},"<UP> Back",GREEN,{1,1}); |
|
|
|
|
} |
|
|
|
@ -2176,7 +2200,7 @@ public: |
|
|
|
|
if (BATTLE_CURRENT_TURN_ENTITY==-1) { |
|
|
|
|
DrawWrappedText({4,4},"Player uses "+BATTLE_CARD_SELECTION->name,WIDTH-8,WHITE,{2,2}); |
|
|
|
|
} else { |
|
|
|
|
DrawWrappedText({4,4},CURRENT_ENCOUNTER.entities[BATTLE_CURRENT_TURN_ENTITY]->name+" "+(char)('A'+BATTLE_CURRENT_TURN_ENTITY)+" with "+CURRENT_ENCOUNTER.entities[BATTLE_CURRENT_TURN_ENTITY]->selectedMove->name,WIDTH-8,WHITE,{2,2}); |
|
|
|
|
DrawWrappedText({4,4},CURRENT_ENCOUNTER.entities[BATTLE_CURRENT_TURN_ENTITY]->name+" "+(char)('A'+BATTLE_CURRENT_TURN_ENTITY)+" uses "+CURRENT_ENCOUNTER.entities[BATTLE_CURRENT_TURN_ENTITY]->selectedMove->name,WIDTH-8,WHITE,{2,2}); |
|
|
|
|
} |
|
|
|
|
}break; |
|
|
|
|
case battle::WAIT_TURN_ANIMATION2:{ |
|
|
|
|