EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Server Code Submissions (https://www.eqemulator.org/forums/forumdisplay.php?f=669)
-   -   Undye fix (https://www.eqemulator.org/forums/showthread.php?t=27840)

realityincarnate 04-10-2009 10:07 AM

Undye fix [Committed in Rev420]
 
I noticed that if you try to undye an armor slot by setting all colors to 255, it only works until next time you zone. This makes it permanent (and also consumes a prismatic dye).

Code:

Index: inventory.cpp
===================================================================
--- inventory.cpp        (revision 418)
+++ inventory.cpp        (working copy)
@@ -919,9 +919,9 @@
 void Client::DyeArmor(DyeStruct* dye){
        sint16 slot=0;
        for(int i=0;i<7;i++){
-                if(dye->dye[i].rgb.use_tint && (m_pp.item_tint[i].rgb.blue!=dye->dye[i].rgb.blue ||
+                if(m_pp.item_tint[i].rgb.blue!=dye->dye[i].rgb.blue ||
                        m_pp.item_tint[i].rgb.red!=dye->dye[i].rgb.red ||
-                        m_pp.item_tint[i].rgb.green != dye->dye[i].rgb.green)){
+                        m_pp.item_tint[i].rgb.green != dye->dye[i].rgb.green){
                        slot = m_inv.HasItem(32557, 1, invWherePersonal);
                        if(slot != SLOT_INVALID){
                                DeleteItemInInventory(slot,1,true);
@@ -930,7 +930,10 @@
                                if(inst){
                                        inst->SetColor((dye->dye[i].rgb.red*65536)+(dye->dye[i].rgb.green*256)+(dye->dye[i].rgb.blue));
                                        database.SaveInventory(CharacterID(),inst,slot2);
-                                        m_pp.item_tint[i].rgb.use_tint = 0xFF;
+                                        if(dye->dye[i].rgb.use_tint)
+                                                m_pp.item_tint[i].rgb.use_tint = 0xFF;
+                                        else
+                                                m_pp.item_tint[i].rgb.use_tint=0x00;
                                }
                                m_pp.item_tint[i].rgb.blue=dye->dye[i].rgb.blue;
                                m_pp.item_tint[i].rgb.red=dye->dye[i].rgb.red;


Derision 04-10-2009 12:16 PM

Thanks, I'll test this out and put it in along with your title suffix and bard tweaks.

I think Cavedude was going to test out your merchant list quest one, so I'll wait for him to put that one in.


All times are GMT -4. The time now is 07:56 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.