diff options
author | Andrei Karas <akaras@inbox.ru> | 2016-03-06 02:55:41 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2016-03-06 02:55:41 +0300 |
commit | 2b019f52da91cb37c00dfa34be6dd3e99e459d47 (patch) | |
tree | 566694f2c0951e200cbba175836bc24204e335f0 /src/net/eathena | |
parent | 3c6d3063170bb51c27bdb9dccc566e16027eb15f (diff) | |
download | manaplus-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.cpp | 2 | ||||
-rw-r--r-- | src/net/eathena/beingrecv.cpp | 10 | ||||
-rw-r--r-- | src/net/eathena/inventoryhandler.cpp | 4 | ||||
-rw-r--r-- | src/net/eathena/sprite.h | 2 |
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 }; |