Files
m2-mount-like-horse/Srcs-Server/game/src/char_item.cpp
2024-02-05 18:59:21 +01:00

55 lines
1.3 KiB
C++

/// 1.) Search in bool CHARACTER::MoveItem(TItemPos Cell, TItemPos DestCell, BYTE count):
if (!CanHandleItem())
{
if (NULL != DragonSoul_RefineWindow_GetOpener())
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("°­È­Ã¢À» ¿¬ »óÅ¿¡¼­´Â ¾ÆÀÌÅÛÀ» ¿Å±æ ¼ö ¾ø½À´Ï´Ù."));
return false;
}
// and add under, this:
#ifdef ENABLE_MOUNT_LIKE_HORSE
if (item->IsMount() && item->IsEquipped() && DestCell.IsDefaultInventoryPosition()) {
StopRiding();
HorseSummon(false);
}
#endif
/// 2.) Search in bool CHARACTER::SwapItem(BYTE bCell, BYTE bDestCell):
item1->AddToCharacter(this, TItemPos(INVENTORY, bCell2));
item2->AddToCharacter(this, TItemPos(INVENTORY, bCell1));
}
// and add under, this:
#ifdef ENABLE_MOUNT_LIKE_HORSE
if (item1->IsMount() && item2->IsMount() && destCell.IsEquipPosition()) {
HorseSummon(false);
HorseSummon(true);
}
#endif
/// 3.) Search in bool CHARACTER::UnequipItem(LPITEM item):
if (!CanUnequipNow(item))
return false;
// and add before, this:
#ifdef ENABLE_MOUNT_LIKE_HORSE
if (item->IsMount()) {
StopRiding();
HorseSummon(false);
}
#endif
/// 4.) in bool CHARACTER::UnequipItem(LPITEM item):
// before the final "return true;", add this:
#ifdef ENABLE_MOUNT_LIKE_HORSE
if (item->IsMount())
HorseSummon(true);
#endif