generated from sigonasr2/CPlusPlusProjectTemplate
Consume items that don't use the consumable battle move type upon use.
Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
This commit is contained in:
parent
169478fdfe
commit
9d2cdaf3d1
6
entity.h
6
entity.h
@ -6,6 +6,7 @@
|
|||||||
#include <cassert>
|
#include <cassert>
|
||||||
|
|
||||||
extern std::vector<Item*>PARTY_INVENTORY;
|
extern std::vector<Item*>PARTY_INVENTORY;
|
||||||
|
extern int INVENTORY_CONSUMABLE_OFFSET[4];
|
||||||
|
|
||||||
using namespace olc;
|
using namespace olc;
|
||||||
|
|
||||||
@ -224,6 +225,11 @@ class Entity{
|
|||||||
|
|
||||||
void RemoveItem(int index) {
|
void RemoveItem(int index) {
|
||||||
if (isPlayer) {
|
if (isPlayer) {
|
||||||
|
for (int i=0;i<4;i++) {
|
||||||
|
if (index<INVENTORY_CONSUMABLE_OFFSET[i]) {
|
||||||
|
INVENTORY_CONSUMABLE_OFFSET[i]--; //Items
|
||||||
|
}
|
||||||
|
}
|
||||||
PARTY_INVENTORY.erase(PARTY_INVENTORY.begin()+index);
|
PARTY_INVENTORY.erase(PARTY_INVENTORY.begin()+index);
|
||||||
} else {
|
} else {
|
||||||
inventory.erase(inventory.begin()+index);
|
inventory.erase(inventory.begin()+index);
|
||||||
|
7
main.cpp
7
main.cpp
@ -115,6 +115,7 @@ int POWER_SELECTION_OFFSET[4]={0,0,0,0};
|
|||||||
int BATTLE_ANIMATION_TIMER=0;
|
int BATTLE_ANIMATION_TIMER=0;
|
||||||
int BATTLE_ROLLING_COUNTER_WAITTIME = 0; //Number of frames to wait for each rolling counter.
|
int BATTLE_ROLLING_COUNTER_WAITTIME = 0; //Number of frames to wait for each rolling counter.
|
||||||
int BATTLE_HIT_SCREENSHAKE = 0; //Amount of time the screen will rapidly shake as getting hit.
|
int BATTLE_HIT_SCREENSHAKE = 0; //Amount of time the screen will rapidly shake as getting hit.
|
||||||
|
int INVENTORY_CONSUMABLE_OFFSET[4]={-1,-1,-1,-1};
|
||||||
bool ITEM_REQUIRES_EQUIPPING=false;
|
bool ITEM_REQUIRES_EQUIPPING=false;
|
||||||
std::string EQUIP_$ITEM_DISPLAY=" "; //Use this to change the $ITEM tag modifier for abilities.
|
std::string EQUIP_$ITEM_DISPLAY=" "; //Use this to change the $ITEM tag modifier for abilities.
|
||||||
std::vector<CustomItemMessage> BATTLE_CUSTOM_MSGS={}; //Used for displaying additional information during battles.
|
std::vector<CustomItemMessage> BATTLE_CUSTOM_MSGS={}; //Used for displaying additional information during battles.
|
||||||
@ -1882,6 +1883,7 @@ void SeasonI::keyUpdates() {
|
|||||||
if (PARTY_INVENTORY[ITEM_SELECTION_CURSOR]->stats.consumable!=Consumable::NOT_A_CONSUMABLE) {
|
if (PARTY_INVENTORY[ITEM_SELECTION_CURSOR]->stats.consumable!=Consumable::NOT_A_CONSUMABLE) {
|
||||||
if (PARTY_INVENTORY[ITEM_SELECTION_CURSOR]->battlemove!=nullptr) {
|
if (PARTY_INVENTORY[ITEM_SELECTION_CURSOR]->battlemove!=nullptr) {
|
||||||
PARTY_MEMBER_STATS[PARTY_MEMBER_ID[-CURRENT_TURN-1]]->selectedMove=PARTY_INVENTORY[ITEM_SELECTION_CURSOR]->battlemove;
|
PARTY_MEMBER_STATS[PARTY_MEMBER_ID[-CURRENT_TURN-1]]->selectedMove=PARTY_INVENTORY[ITEM_SELECTION_CURSOR]->battlemove;
|
||||||
|
INVENTORY_CONSUMABLE_OFFSET[-CURRENT_TURN-1]=ITEM_SELECTION_CURSOR;
|
||||||
} else
|
} else
|
||||||
if (PARTY_INVENTORY[ITEM_SELECTION_CURSOR]->stats.consumable==Consumable::FRIENDLY||PARTY_INVENTORY[ITEM_SELECTION_CURSOR]->stats.consumable==Consumable::FRIENDLY_PERMANENT) {
|
if (PARTY_INVENTORY[ITEM_SELECTION_CURSOR]->stats.consumable==Consumable::FRIENDLY||PARTY_INVENTORY[ITEM_SELECTION_CURSOR]->stats.consumable==Consumable::FRIENDLY_PERMANENT) {
|
||||||
PARTY_MEMBER_STATS[PARTY_MEMBER_ID[-CURRENT_TURN-1]]->selectedMove=MOVELIST[BattleMoveName::CONSUMABLE];
|
PARTY_MEMBER_STATS[PARTY_MEMBER_ID[-CURRENT_TURN-1]]->selectedMove=MOVELIST[BattleMoveName::CONSUMABLE];
|
||||||
@ -3484,6 +3486,10 @@ void SeasonI::HandleBattle() {
|
|||||||
if (PARTY_MEMBER_STATS[PARTY_MEMBER_ID[-CURRENT_TURN-1]]->selectedMove==MOVELIST[BattleMoveName::DEFEND]) {
|
if (PARTY_MEMBER_STATS[PARTY_MEMBER_ID[-CURRENT_TURN-1]]->selectedMove==MOVELIST[BattleMoveName::DEFEND]) {
|
||||||
BATTLE_ANIMATION_TIMER=999;
|
BATTLE_ANIMATION_TIMER=999;
|
||||||
}
|
}
|
||||||
|
if (INVENTORY_CONSUMABLE_OFFSET[-CURRENT_TURN-1]>=0) {
|
||||||
|
PARTY_MEMBER_STATS[PARTY_MEMBER_ID[-CURRENT_TURN-1]]->RemoveItem(INVENTORY_CONSUMABLE_OFFSET[-CURRENT_TURN-1]);
|
||||||
|
INVENTORY_CONSUMABLE_OFFSET[-CURRENT_TURN-1]=-1;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if (BATTLE_ENCOUNTER->objs[CURRENT_TURN]->selectedMove==MOVELIST[BattleMoveName::DEFEND]) {
|
if (BATTLE_ENCOUNTER->objs[CURRENT_TURN]->selectedMove==MOVELIST[BattleMoveName::DEFEND]) {
|
||||||
BATTLE_ANIMATION_TIMER=999;
|
BATTLE_ANIMATION_TIMER=999;
|
||||||
@ -3676,6 +3682,7 @@ void SeasonI::HandleBattle() {
|
|||||||
PARTY_MEMBER_STATS[PARTY_MEMBER_ID[i]]->atb=0;
|
PARTY_MEMBER_STATS[PARTY_MEMBER_ID[i]]->atb=0;
|
||||||
PARTY_MEMBER_STATS[PARTY_MEMBER_ID[i]]->selectedMove=nullptr;
|
PARTY_MEMBER_STATS[PARTY_MEMBER_ID[i]]->selectedMove=nullptr;
|
||||||
PARTY_MEMBER_STATS[PARTY_MEMBER_ID[i]]->channelTimeRemaining=0;
|
PARTY_MEMBER_STATS[PARTY_MEMBER_ID[i]]->channelTimeRemaining=0;
|
||||||
|
INVENTORY_CONSUMABLE_OFFSET[i]=-1;
|
||||||
if (PARTY_MEMBER_STATS[PARTY_MEMBER_ID[i]]->GetTargetHP()>PARTY_MEMBER_STATS[PARTY_MEMBER_ID[i]]->GetHP()) {
|
if (PARTY_MEMBER_STATS[PARTY_MEMBER_ID[i]]->GetTargetHP()>PARTY_MEMBER_STATS[PARTY_MEMBER_ID[i]]->GetHP()) {
|
||||||
PARTY_MEMBER_STATS[PARTY_MEMBER_ID[i]]->_SetDirectHP(PARTY_MEMBER_STATS[PARTY_MEMBER_ID[i]]->GetTargetHP());
|
PARTY_MEMBER_STATS[PARTY_MEMBER_ID[i]]->_SetDirectHP(PARTY_MEMBER_STATS[PARTY_MEMBER_ID[i]]->GetTargetHP());
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user