Auto potion safeguards

This commit is contained in:
Mind Rapist
2025-12-26 01:17:00 +02:00
parent f430a11e34
commit 5e25a47d2b
4 changed files with 145 additions and 26 deletions

View File

@@ -114,6 +114,9 @@ CHARACTER::CHARACTER()
m_stateIdle.Set(this, &CHARACTER::BeginStateEmpty, &CHARACTER::StateIdle, &CHARACTER::EndStateEmpty);
m_stateMove.Set(this, &CHARACTER::BeginStateEmpty, &CHARACTER::StateMove, &CHARACTER::EndStateEmpty);
m_stateBattle.Set(this, &CHARACTER::BeginStateEmpty, &CHARACTER::StateBattle, &CHARACTER::EndStateEmpty);
#ifdef FIX_POS_SYNC
m_stateSyncing.Set(this, &CHARACTER::BeginStateEmpty, &CHARACTER::StateSyncing, &CHARACTER::EndStateEmpty);
#endif
Initialize();
}
@@ -658,6 +661,25 @@ void CHARACTER::OpenMyShop(const char * c_pszSign, TShopItemTable * pTable, BYTE
return;
}
// MR-3: Deactivate auto potions if active and being sold
switch (pkItem->GetVnum())
{
case ITEM_AUTO_HP_RECOVERY_S:
case ITEM_AUTO_HP_RECOVERY_M:
case ITEM_AUTO_HP_RECOVERY_L:
case ITEM_AUTO_HP_RECOVERY_X:
case ITEM_AUTO_SP_RECOVERY_S:
case ITEM_AUTO_SP_RECOVERY_M:
case ITEM_AUTO_SP_RECOVERY_L:
case ITEM_AUTO_SP_RECOVERY_X:
if (pkItem->GetSocket(0) == 1)
pkItem->SetSocket(0, 0);
break;
default:
break;
}
// MR-3: -- END OF -- Deactivate auto potions if active and being sold
// MYSHOP_PRICE_LIST
itemkind[pkItem->GetVnum()] = (pTable + i)->price / pkItem->GetCount();
// END_OF_MYSHOP_PRICE_LIST