From 871fb6eee49c142be78315cc97c1c8e29daf7d61 Mon Sep 17 00:00:00 2001
From: Andrei Karas <akaras@inbox.ru>
Date: Sat, 8 Jan 2011 05:35:20 +0200
Subject: Add support for drawing new slots as sprites.

---
 src/localplayer.cpp               | 3 ++-
 src/net/tmwa/beinghandler.cpp     | 8 ++++++++
 src/net/tmwa/inventoryhandler.cpp | 4 ++--
 src/net/tmwa/protocol.h           | 2 ++
 4 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/src/localplayer.cpp b/src/localplayer.cpp
index edff2ce67..207e71bf5 100644
--- a/src/localplayer.cpp
+++ b/src/localplayer.cpp
@@ -3344,6 +3344,7 @@ void LocalPlayer::imitateOutfit(Being *player, int sprite)
     if (mImitationMode == 1 && !player_imitated.empty()
         && player->getName() == player_imitated)
     {
+//        logger->log("have equip %d", sprite);
 //        std::string filename = ItemDB::get(
 //                player->getId()).getSprite(mGender);
 //        logger->log("LocalPlayer::imitateOutfit sprite: " + toString(sprite));
@@ -3383,7 +3384,7 @@ void LocalPlayer::imitateOutfit(Being *player, int sprite)
         }
         else
         {
-//            logger->log("have unequip");
+//            logger->log("have unequip %d", sprite);
 
             int equipmentSlot = Net::getInventoryHandler()
                 ->convertFromServerSlot(sprite);
diff --git a/src/net/tmwa/beinghandler.cpp b/src/net/tmwa/beinghandler.cpp
index ea4978a20..9c75689a4 100644
--- a/src/net/tmwa/beinghandler.cpp
+++ b/src/net/tmwa/beinghandler.cpp
@@ -674,6 +674,14 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
                     dstBeing->setSprite(SPRITE_MISC2, id);
                     player_node->imitateOutfit(dstBeing, SPRITE_MISC2);
                     break;
+                case 14:
+                    dstBeing->setSprite(SPRITE_EVOL1, id);
+                    player_node->imitateOutfit(dstBeing, SPRITE_EVOL1);
+                    break;
+                case 15:
+                    dstBeing->setSprite(SPRITE_EVOL2, id);
+                    player_node->imitateOutfit(dstBeing, SPRITE_EVOL2);
+                    break;
                 default:
                     logger->log("QQQ3 CHANGE_LOOKS: unsupported type: "
                             "%d, id: %d", type, id);
diff --git a/src/net/tmwa/inventoryhandler.cpp b/src/net/tmwa/inventoryhandler.cpp
index b4b38e623..3cc0e9ce0 100644
--- a/src/net/tmwa/inventoryhandler.cpp
+++ b/src/net/tmwa/inventoryhandler.cpp
@@ -77,8 +77,8 @@ const Equipment::Slot EQUIP_CONVERT[] =
     Equipment::EQUIP_GLOVES_SLOT,   // SPRITE_GLOVES
     Equipment::EQUIP_FIGHT1_SLOT,   // SPRITE_WEAPON
     Equipment::EQUIP_FIGHT2_SLOT,   // SPRITE_SHIELD
-    Equipment::EQUIP_PROJECTILE_SLOT,    // 0
-    Equipment::EQUIP_PROJECTILE_SLOT,    // 0
+    Equipment::EQUIP_EVOL_RING1_SLOT,    // SPRITE_EVOL1
+    Equipment::EQUIP_EVOL_RING2_SLOT,    // SPRITE_EVOL2
     Equipment::EQUIP_PROJECTILE_SLOT,    // 0
 };
 
diff --git a/src/net/tmwa/protocol.h b/src/net/tmwa/protocol.h
index 6001fae3b..83854c4c6 100644
--- a/src/net/tmwa/protocol.h
+++ b/src/net/tmwa/protocol.h
@@ -59,6 +59,8 @@ enum
     SPRITE_GLOVES,
     SPRITE_WEAPON,
     SPRITE_SHIELD,
+    SPRITE_EVOL1,
+    SPRITE_EVOL2,
     SPRITE_VECTOREND
 };
 
-- 
cgit v1.2.3-70-g09d2