EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Development (https://www.eqemulator.org/forums/forumdisplay.php?f=590)
-   -   Forage message fix (https://www.eqemulator.org/forums/showthread.php?t=22494)

sfisque 03-05-2007 10:35 AM

Forage message fix
 
i'm attaching a diff that we use. it appears to fix (have not found a case where it does not) the issue where some foraged items echo the "inedible" message even though they are actually clickable food items. this uses a hack that assumes items NEVER have their high bit set, since i set the high bit so that the parent method can extract the info and echo the appropriate message. FNW (and company) may have a better fix for this when the tradeskill revisions go live.

Code:

Index: zone/forage.cpp
===================================================================
RCS file: /home/cvs/EQEmu-0.7.0-934/zone/forage.cpp,v
retrieving revision 1.1.1.1
diff -r1.1.1.1 forage.cpp
100c100,102
<      if (RunQuery(query, MakeAnyLenString(&query, "SELECT itemid,chance FROM forage WHERE zoneid= '%i' and level <= '%i' LIMIT %i", ZoneID, skill, FORAGE_ITEM_LIMIT), errbuf, &result))
---
>      if (RunQuery(query, MakeAnyLenString(&query,
>              "SELECT forage.itemid, forage.chance, items.itemtype FROM forage, items WHERE zoneid= '%i' and level <= '%i' and items.id = forage.itemid LIMIT %i",
>              ZoneID, skill, FORAGE_ITEM_LIMIT), errbuf, &result))
104a107,111
>
>                      if( atoi( row[ 2 ] ) == 14 )
>                      {
>                              item[ index ] |= 0x80000000;
>                      }
369a377,382
>              if( foragedfood & 0x80000000 )
>              {
>                      stringid = FORAGE_FOOD;
>              }
>              foragedfood &= 0x7fffffff;
>



All times are GMT -4. The time now is 01:44 PM.

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