Skip to content

Commit

Permalink
fix: loop related to decay items with duration
Browse files Browse the repository at this point in the history
  • Loading branch information
dudantas authored Mar 12, 2024
1 parent 5ba510d commit 16209a0
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion src/game/game.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2581,7 +2581,15 @@ std::shared_ptr<Item> Game::transformItem(std::shared_ptr<Item> item, uint16_t n
uint16_t itemId = item->getID();
int32_t count = item->getSubType();

if (curType.id != newType.id) {
auto decaying = item->getDecaying();
// If the item is decaying, we need to transform it to the new item
if (decaying > DECAYING_FALSE && item->getDuration() <= 1) {
g_logger().debug("Decay duration old type {}, transformEquipTo {}, transformDeEquipTo {}", curType.decayTo, curType.transformEquipTo, curType.transformDeEquipTo);
g_logger().debug("Decay duration new type, decayTo {}, transformEquipTo {}, transformDeEquipTo {}", newType.decayTo, newType.transformEquipTo, newType.transformDeEquipTo);
if (newType.decayTo) {
itemId = newType.decayTo;
}
} else if (curType.id != newType.id) {
if (newType.group != curType.group) {
item->setDefaultSubtype();
}
Expand Down

0 comments on commit 16209a0

Please sign in to comment.