Log in

View Full Version : Nonworking Disciplines fix


dpjaf4t
01-15-2012, 09:04 PM
This would allow several disciplines that have not been working, like Warder's Wrath (RNG lvl 69), to be learnable. These were all being rejected because of their names ...

In both zone/questmgr.cpp, at lines 647-653, and zone/effects.cpp, at lines 500-506, replace this:

if(!(
item->Name[0] == 'T' &&
item->Name[1] == 'o' &&
item->Name[2] == 'm' &&
item->Name[3] == 'e' &&
item->Name[4] == ' '
)) {


with this:

if(!(
item->Name[0] == 'T' &&
item->Name[1] == 'o' &&
item->Name[2] == 'm' &&
item->Name[3] == 'e' &&
item->Name[4] == ' '
) && !(
item->Name[0] == 'S' &&
item->Name[1] == 'k' &&
item->Name[2] == 'i' &&
item->Name[3] == 'l' &&
item->Name[4] == 'l' &&
item->Name[5] == ':' &&
item->Name[6] == ' '
)) {


Line numbers are as of codebase rev2097. Works when tested locally. My first code submission, don't flog me too hard please.

dpjaf4t
02-26-2012, 08:12 AM
Can't see where to edit the original post, probably too early in the day. Better diff format:

Index: trunk/EQEmuServer/zone/effects.cpp
================================================== =================
--- trunk/EQEmuServer/zone/effects.cpp (revision 2103)
+++ trunk/EQEmuServer/zone/effects.cpp (working copy)
@@ -503,6 +503,14 @@
item->Name[2] == 'm' &&
item->Name[3] == 'e' &&
item->Name[4] == ' '
+ ) && !(
+ item->Name[0] == 'S' &&
+ item->Name[1] == 'k' &&
+ item->Name[2] == 'i' &&
+ item->Name[3] == 'l' &&
+ item->Name[4] == 'l' &&
+ item->Name[5] == ':' &&
+ item->Name[6] == ' '
)) {
Message(13, "This item is not a tome.");
//summon them the item back...
Index: trunk/EQEmuServer/zone/questmgr.cpp
================================================== =================
--- trunk/EQEmuServer/zone/questmgr.cpp (revision 2103)
+++ trunk/EQEmuServer/zone/questmgr.cpp (working copy)
@@ -650,6 +650,14 @@
item->Name[2] == 'm' &&
item->Name[3] == 'e' &&
item->Name[4] == ' '
+ ) && !(
+ item->Name[0] == 'S' &&
+ item->Name[1] == 'k' &&
+ item->Name[2] == 'i' &&
+ item->Name[3] == 'l' &&
+ item->Name[4] == 'l' &&
+ item->Name[5] == ':' &&
+ item->Name[6] == ' '
)) {
return(false);
}