diff --git a/entity.h b/entity.h index e46ccea..6beaf52 100644 --- a/entity.h +++ b/entity.h @@ -6,6 +6,7 @@ #include extern std::vectorPARTY_INVENTORY; +extern int INVENTORY_CONSUMABLE_OFFSET[4]; using namespace olc; @@ -224,6 +225,11 @@ class Entity{ void RemoveItem(int index) { if (isPlayer) { + for (int i=0;i<4;i++) { + if (index 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]->battlemove!=nullptr) { 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 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]; @@ -3484,6 +3486,10 @@ void SeasonI::HandleBattle() { if (PARTY_MEMBER_STATS[PARTY_MEMBER_ID[-CURRENT_TURN-1]]->selectedMove==MOVELIST[BattleMoveName::DEFEND]) { 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 { if (BATTLE_ENCOUNTER->objs[CURRENT_TURN]->selectedMove==MOVELIST[BattleMoveName::DEFEND]) { 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]]->selectedMove=nullptr; 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()) { PARTY_MEMBER_STATS[PARTY_MEMBER_ID[i]]->_SetDirectHP(PARTY_MEMBER_STATS[PARTY_MEMBER_ID[i]]->GetTargetHP()); } else {