MRMJ-1: Messenger & Skills fixes

This commit is contained in:
Mind Rapist
2025-12-14 05:17:16 +02:00
parent da619922cb
commit 0f79d890ba
53 changed files with 1387 additions and 231 deletions

View File

@@ -686,12 +686,12 @@ void CItem::ModifyPoints(bool bAdd)
{
if (bAdd)
{
if (m_wCell == INVENTORY_MAX_NUM + WEAR_WEAPON)
if (m_wCell == (WORD)INVENTORY_MAX_NUM + (WORD)WEAR_WEAPON)
m_pOwner->SetPart(PART_WEAPON, GetVnum());
}
else
{
if (m_wCell == INVENTORY_MAX_NUM + WEAR_WEAPON)
if (m_wCell == (WORD)INVENTORY_MAX_NUM + (WORD)WEAR_WEAPON)
m_pOwner->SetPart(PART_WEAPON, m_pOwner->GetOriginalPart(PART_WEAPON));
}
}
@@ -701,12 +701,12 @@ void CItem::ModifyPoints(bool bAdd)
{
if (bAdd)
{
if (m_wCell == INVENTORY_MAX_NUM + WEAR_WEAPON)
if (m_wCell == (WORD)INVENTORY_MAX_NUM + (WORD)WEAR_WEAPON)
m_pOwner->SetPart(PART_WEAPON, GetVnum());
}
else
{
if (m_wCell == INVENTORY_MAX_NUM + WEAR_WEAPON)
if (m_wCell == (WORD)INVENTORY_MAX_NUM + (WORD)WEAR_WEAPON)
m_pOwner->SetPart(PART_WEAPON, m_pOwner->GetOriginalPart(PART_WEAPON));
}
}
@@ -824,7 +824,7 @@ bool CItem::EquipTo(LPCHARACTER ch, BYTE bWearCell)
// 용혼석 슬롯 index는 WEAR_MAX_NUM 보다 큼.
if (IsDragonSoul())
{
if (bWearCell < WEAR_MAX_NUM || bWearCell >= WEAR_MAX_NUM + DRAGON_SOUL_DECK_MAX_NUM * DS_SLOT_MAX)
if (bWearCell < WEAR_MAX_NUM || bWearCell >= WEAR_MAX_NUM + (DWORD)DRAGON_SOUL_DECK_MAX_NUM * (DWORD)DS_SLOT_MAX)
{
sys_err("EquipTo: invalid dragon soul cell (this: #%d %s wearflag: %d cell: %d)", GetOriginalVnum(), GetName(), GetSubType(), bWearCell - WEAR_MAX_NUM);
return false;
@@ -869,10 +869,11 @@ bool CItem::EquipTo(LPCHARACTER ch, BYTE bWearCell)
for (int i = 0; i < WEAR_MAX_NUM; ++i)
{
if (item=m_pOwner->GetWear(i))
if ((item = m_pOwner->GetWear(i)))
{
if (item->GetImmuneFlag() != 0)
SET_BIT(dwImmuneFlag, item->GetImmuneFlag());
if (item->GetAttributeCount() > 0)
{
if (item->HasAttr(APPLY_IMMUNE_STUN))
@@ -974,7 +975,7 @@ bool CItem::Unequip()
for (int i = 0; i < WEAR_MAX_NUM; ++i)
{
if (item=m_pOwner->GetWear(i))
if ((item = m_pOwner->GetWear(i)))
{
if (item->GetImmuneFlag() != 0)
SET_BIT(dwImmuneFlag, item->GetImmuneFlag());