summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-03-06 02:55:41 +0300
committerAndrei Karas <akaras@inbox.ru>2016-03-06 02:55:41 +0300
commit2b019f52da91cb37c00dfa34be6dd3e99e459d47 (patch)
tree566694f2c0951e200cbba175836bc24204e335f0 /src/net/eathena
parent3c6d3063170bb51c27bdb9dccc566e16027eb15f (diff)
downloadmanaplus-2b019f52da91cb37c00dfa34be6dd3e99e459d47.tar.gz
manaplus-2b019f52da91cb37c00dfa34be6dd3e99e459d47.tar.bz2
manaplus-2b019f52da91cb37c00dfa34be6dd3e99e459d47.tar.xz
manaplus-2b019f52da91cb37c00dfa34be6dd3e99e459d47.zip
Add support for two new equipment slots in hercules.
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/beinghandler.cpp2
-rw-r--r--src/net/eathena/beingrecv.cpp10
-rw-r--r--src/net/eathena/inventoryhandler.cpp4
-rw-r--r--src/net/eathena/sprite.h2
4 files changed, 17 insertions, 1 deletions
diff --git a/src/net/eathena/beinghandler.cpp b/src/net/eathena/beinghandler.cpp
index 9e29f850f..39a4460b6 100644
--- a/src/net/eathena/beinghandler.cpp
+++ b/src/net/eathena/beinghandler.cpp
@@ -61,6 +61,8 @@ void BeingHandler::undress(Being *const being) const
being->setSprite(SPRITE_EVOL2, 0);
being->setSprite(SPRITE_EVOL3, 0);
being->setSprite(SPRITE_EVOL4, 0);
+ being->setSprite(SPRITE_EVOL5, 0);
+ being->setSprite(SPRITE_EVOL6, 0);
being->setSprite(SPRITE_HAIR, 0);
being->setSprite(SPRITE_SHOES, 0);
// being->setSprite(SPRITE_BODY, 0, "", true);
diff --git a/src/net/eathena/beingrecv.cpp b/src/net/eathena/beingrecv.cpp
index d35b66168..2852438dc 100644
--- a/src/net/eathena/beingrecv.cpp
+++ b/src/net/eathena/beingrecv.cpp
@@ -244,6 +244,16 @@ void BeingRecv::processBeingChangeLookContinue(const Net::MessageIn &msg,
if (localPlayer)
localPlayer->imitateOutfit(dstBeing, SPRITE_EVOL4);
break;
+ case 18:
+ dstBeing->setSprite(SPRITE_EVOL5, id, color, itemColor);
+ if (localPlayer)
+ localPlayer->imitateOutfit(dstBeing, SPRITE_EVOL5);
+ break;
+ case 19:
+ dstBeing->setSprite(SPRITE_EVOL6, id, color, itemColor);
+ if (localPlayer)
+ localPlayer->imitateOutfit(dstBeing, SPRITE_EVOL6);
+ break;
default:
UNIMPLIMENTEDPACKET;
break;
diff --git a/src/net/eathena/inventoryhandler.cpp b/src/net/eathena/inventoryhandler.cpp
index ce87e5660..90608764f 100644
--- a/src/net/eathena/inventoryhandler.cpp
+++ b/src/net/eathena/inventoryhandler.cpp
@@ -56,6 +56,8 @@ const EquipSlot::Type EQUIP_CONVERT[] =
EquipSlot::PROJECTILE_SLOT, // 13 SPRITE_EVOL2
EquipSlot::COSTUME_ROBE_SLOT, // 14 SPRITE_EVOL3
EquipSlot::RING1_SLOT, // 15 SPRITE_EVOL4
+ EquipSlot::EVOL_SLOT3, // 16 SPRITE_EVOL5
+ EquipSlot::EVOL_SLOT4, // 17 SPRITE_EVOL6
};
namespace EAthena
@@ -207,7 +209,7 @@ void InventoryHandler::selectEgg(const Item *const item) const
int InventoryHandler::convertFromServerSlot(const int serverSlot) const
{
- if (serverSlot < 0 || serverSlot > 15)
+ if (serverSlot < 0 || serverSlot > 17)
return 0;
return CAST_S32(EQUIP_CONVERT[serverSlot]);
diff --git a/src/net/eathena/sprite.h b/src/net/eathena/sprite.h
index 0ae286a00..7ad679197 100644
--- a/src/net/eathena/sprite.h
+++ b/src/net/eathena/sprite.h
@@ -41,6 +41,8 @@ enum
SPRITE_EVOL2 = 13, // in new versions also BODY2
SPRITE_EVOL3 = 14,
SPRITE_EVOL4 = 15,
+ SPRITE_EVOL5 = 16,
+ SPRITE_EVOL6 = 17,
SPRITE_VECTOREND
};