|
|
|
@ -773,6 +773,25 @@ goes on a very long time, I hope you can understand this is only for testing pur |
|
|
|
|
for (int i=0;i<CURRENT_MAP->encounters.size();i++) { |
|
|
|
|
if (CURRENT_MAP->encounters[i]->IsEncounterAlive()&&CURRENT_MAP->encounters[i]->IsInRange(PARTY_MEMBER_OBJ[0]->GetPos())) { |
|
|
|
|
BATTLE_STATE=BattleState::MOVE_CAMERA; |
|
|
|
|
for (int i=0;i<PARTY_MEMBER_COUNT;i++) { |
|
|
|
|
Entity*member=PARTY_MEMBER_STATS[PARTY_MEMBER_ID[i]]; |
|
|
|
|
for (int j=0;j<3;j++) { |
|
|
|
|
switch (j) { |
|
|
|
|
case 0:{ |
|
|
|
|
player_rollhp_display[i][j]=member->GetHP()%10; |
|
|
|
|
player_rollpp_display[i][j]=member->PP%10; |
|
|
|
|
}break; |
|
|
|
|
case 1:{ |
|
|
|
|
player_rollhp_display[i][j]=member->GetHP()/10%10; |
|
|
|
|
player_rollpp_display[i][j]=member->PP/10%10; |
|
|
|
|
}break; |
|
|
|
|
case 2:{ |
|
|
|
|
player_rollhp_display[i][j]=member->GetHP()/100%10; |
|
|
|
|
player_rollpp_display[i][j]=member->PP/100%10; |
|
|
|
|
}break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
BATTLE_ENCOUNTER=CURRENT_MAP->encounters[i]; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
@ -1198,37 +1217,97 @@ goes on a very long time, I hope you can understand this is only for testing pur |
|
|
|
|
}break; |
|
|
|
|
case BattleState::MOVE_SELECT:{ |
|
|
|
|
if (LeftPressed()) { |
|
|
|
|
for (int i=1;i<=3;i++) { |
|
|
|
|
for (int i=1;i<=8;i++) { |
|
|
|
|
if (MOVEMENT_GRID.count({SELECTED_MOVE_SQUARE.x-i,SELECTED_MOVE_SQUARE.y})) { |
|
|
|
|
SELECTED_MOVE_SQUARE.x-=i; |
|
|
|
|
break; |
|
|
|
|
goto escapeLeft; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
for (int j=1;j<=8;j++) { |
|
|
|
|
for (int i=1;i<=8;i++) { |
|
|
|
|
if (MOVEMENT_GRID.count({SELECTED_MOVE_SQUARE.x-i,SELECTED_MOVE_SQUARE.y+j})) { |
|
|
|
|
SELECTED_MOVE_SQUARE.x-=i; |
|
|
|
|
SELECTED_MOVE_SQUARE.y+=j; |
|
|
|
|
goto escapeLeft; |
|
|
|
|
} |
|
|
|
|
if (MOVEMENT_GRID.count({SELECTED_MOVE_SQUARE.x-i,SELECTED_MOVE_SQUARE.y-j})) { |
|
|
|
|
SELECTED_MOVE_SQUARE.x-=i; |
|
|
|
|
SELECTED_MOVE_SQUARE.y-=j; |
|
|
|
|
goto escapeLeft; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
escapeLeft: |
|
|
|
|
if (RightPressed()) { |
|
|
|
|
for (int i=1;i<=8;i++) { |
|
|
|
|
if (MOVEMENT_GRID.count({SELECTED_MOVE_SQUARE.x+i,SELECTED_MOVE_SQUARE.y})) { |
|
|
|
|
SELECTED_MOVE_SQUARE.x+=i; |
|
|
|
|
break; |
|
|
|
|
goto escapeRight; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
for (int j=1;j<=8;j++) { |
|
|
|
|
for (int i=1;i<=8;i++) { |
|
|
|
|
if (MOVEMENT_GRID.count({SELECTED_MOVE_SQUARE.x+i,SELECTED_MOVE_SQUARE.y+j})) { |
|
|
|
|
SELECTED_MOVE_SQUARE.x+=i; |
|
|
|
|
SELECTED_MOVE_SQUARE.y+=j; |
|
|
|
|
goto escapeRight; |
|
|
|
|
} |
|
|
|
|
if (MOVEMENT_GRID.count({SELECTED_MOVE_SQUARE.x+i,SELECTED_MOVE_SQUARE.y-j})) { |
|
|
|
|
SELECTED_MOVE_SQUARE.x+=i; |
|
|
|
|
SELECTED_MOVE_SQUARE.y-=j; |
|
|
|
|
goto escapeRight; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
escapeRight: |
|
|
|
|
if (UpPressed()) { |
|
|
|
|
for (int i=1;i<=8;i++) { |
|
|
|
|
if (MOVEMENT_GRID.count({SELECTED_MOVE_SQUARE.x,SELECTED_MOVE_SQUARE.y-i})) { |
|
|
|
|
SELECTED_MOVE_SQUARE.y-=i; |
|
|
|
|
break; |
|
|
|
|
goto escapeUp; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
for (int j=1;j<=8;j++) { |
|
|
|
|
for (int i=1;i<=8;i++) { |
|
|
|
|
if (MOVEMENT_GRID.count({SELECTED_MOVE_SQUARE.x-j,SELECTED_MOVE_SQUARE.y-i})) { |
|
|
|
|
SELECTED_MOVE_SQUARE.x-=j; |
|
|
|
|
SELECTED_MOVE_SQUARE.y-=i; |
|
|
|
|
goto escapeUp; |
|
|
|
|
} |
|
|
|
|
if (MOVEMENT_GRID.count({SELECTED_MOVE_SQUARE.x+j,SELECTED_MOVE_SQUARE.y-i})) { |
|
|
|
|
SELECTED_MOVE_SQUARE.x+=j; |
|
|
|
|
SELECTED_MOVE_SQUARE.y-=i; |
|
|
|
|
goto escapeUp; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
escapeUp: |
|
|
|
|
if (DownPressed()) { |
|
|
|
|
for (int i=1;i<=8;i++) { |
|
|
|
|
if (MOVEMENT_GRID.count({SELECTED_MOVE_SQUARE.x,SELECTED_MOVE_SQUARE.y+i})) { |
|
|
|
|
SELECTED_MOVE_SQUARE.y+=i; |
|
|
|
|
break; |
|
|
|
|
goto escapeDown; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
for (int j=1;j<=8;j++) { |
|
|
|
|
for (int i=1;i<=8;i++) { |
|
|
|
|
if (MOVEMENT_GRID.count({SELECTED_MOVE_SQUARE.x-j,SELECTED_MOVE_SQUARE.y+i})) { |
|
|
|
|
SELECTED_MOVE_SQUARE.x-=j; |
|
|
|
|
SELECTED_MOVE_SQUARE.y+=i; |
|
|
|
|
goto escapeDown; |
|
|
|
|
} |
|
|
|
|
if (MOVEMENT_GRID.count({SELECTED_MOVE_SQUARE.x+j,SELECTED_MOVE_SQUARE.y+i})) { |
|
|
|
|
SELECTED_MOVE_SQUARE.x+=j; |
|
|
|
|
SELECTED_MOVE_SQUARE.y+=i; |
|
|
|
|
goto escapeDown; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
escapeDown: |
|
|
|
|
if (ACTIONKEYPRESSED) { |
|
|
|
|
BATTLE_ENCOUNTER->playerPos[-CURRENT_TURN-1]=(BATTLE_ENCOUNTER->playerPos[-CURRENT_TURN-1]/32+SELECTED_MOVE_SQUARE)*32; |
|
|
|
|
BATTLE_STATE=BattleState::MOVE_CAMERA; |
|
|
|
@ -2882,26 +2961,7 @@ goes on a very long time, I hope you can understand this is only for testing pur |
|
|
|
|
if (allDone) { |
|
|
|
|
CAMERA_WAIT_TIMER++; |
|
|
|
|
if (CAMERA_WAIT_TIMER>=CAMERA_WAIT_TIME) { |
|
|
|
|
for (int i=0;i<PARTY_MEMBER_COUNT;i++) { |
|
|
|
|
Entity*member=PARTY_MEMBER_STATS[PARTY_MEMBER_ID[i]]; |
|
|
|
|
for (int j=0;j<3;j++) { |
|
|
|
|
switch (j) { |
|
|
|
|
case 0:{ |
|
|
|
|
player_rollhp_display[i][j]=member->GetHP()%10; |
|
|
|
|
player_rollpp_display[i][j]=member->PP%10; |
|
|
|
|
}break; |
|
|
|
|
case 1:{ |
|
|
|
|
player_rollhp_display[i][j]=member->GetHP()/10%10; |
|
|
|
|
player_rollpp_display[i][j]=member->PP/10%10; |
|
|
|
|
}break; |
|
|
|
|
case 2:{ |
|
|
|
|
player_rollhp_display[i][j]=member->GetHP()/100%10; |
|
|
|
|
player_rollpp_display[i][j]=member->PP/100%10; |
|
|
|
|
}break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
BATTLE_STATE=BattleState::WAIT; |
|
|
|
|
} |
|
|
|
|
BATTLE_STATE=BattleState::WAIT; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}break; |
|
|
|
|