I just compiled this today on my code and it worked fine..I equipped two Silver Fire Wedding Rings (30hp apiece) and went into W Freeport and let them beat me down near death then ran to guards, put on my fungi, and all was good..
Im not using : (werewolf,bixie,kerran,brownie,banshee,any of the pirates)
I'll post the code blocks..
common/item.cpp
Code:
AT -- about line 1893ish (sorry have other custom code)
bool Item_Struct::IsEquipable(uint16 Race, uint16 Class_) const
.
.
.
for (unsigned int CurrentRace = 1; CurrentRace <= PLAYER_RACE_COUNT; ++CurrentRace)
{
if (Races_ % 2 == 1)
{
if (CurrentRace == Race_)
{
IsRace = true;
break;
}
}
Races_ >>= 1;
}
return (IsRace && IsClass);
CHANGE TO --
for (unsigned int CurrentRace = 1; CurrentRace <= PLAYER_RACE_COUNT; ++CurrentRace)
{
if (Races_ % 2 == 1)
{
if (CurrentRace == Race_)
{
IsRace = true;
break;
}
}
Races_ >>= 1;
}
if (Race_ == 69) {IsRace = true;} //davood
return (IsRace && IsClass);
common/races.cpp
Code:
AT -- about line 74
uint32 GetArrayRace(uint16 race) {
.
.
.
case FROGLOK2:
return Array_Race_FROGLOK;
case DRAKKIN:
return Array_Race_DRAKKIN;
default:
return Array_Race_UNKNOWN;
CHANGE TO --
case FROGLOK2:
return Array_Race_FROGLOK;
case DRAKKIN:
return Array_Race_DRAKKIN;
case ALAKAMIN_PYRILEN:
case ALAKAMIN_GELIDRAN:
case ALAKAMIN_SHILLISKIN:
case ALAKAMIN_BEHOLDER:
case ALAKAMIN_HARPYR:
case ALAKAMIN_SATYR:
case ALAKAMIN_AVIAK:
case ALAKAMIN_SIREN:
case ALAKAMIN_MINOTAUR:
case ALAKAMIN_FUNGOID:
case ALAKAMIN_KOBOLD:
case ALAKAMIN_GOBLIN:
case ALAKAMIN_ORC:
case ALAKAMIN_ULTRATAUR:
case ALAKAMIN_BAZU:
case ALAKAMIN_FAERIE:
case ALAKAMIN_GARGOYLE:
case ALAKAMIN_ZOMBIE:
case ALAKAMIN_GNOLL:
case ALAKAMIN_IMP:
case ALAKAMIN_SCRYKIN:
case ALAKAMIN_GOLEM:
return Array_Race_SHROUD; // davood
default:
return Array_Race_UNKNOWN;
common/races.h
Code:
In the Defines --
#define FROGLOK2 74 // Not sure why /who all reports race as 74 for frogloks
#define DRAKKIN 522 // 32768
#define EMU_RACE_NPC 131069 // was 65533
#define EMU_RACE_PET 131070 // was 65534
#define EMU_RACE_UNKNOWN 131071 // was 65535
#define human_1 1
#define barbarian_1 2
CHANGE TO --
#define FROGLOK2 74 // Not sure why /who all reports race as 74 for frogloks
#define DRAKKIN 522 // 32768
#define EMU_RACE_NPC 131069 // was 65533
#define EMU_RACE_PET 131070 // was 65534
#define EMU_RACE_UNKNOWN 131071 // was 65535
//davood custom races
#define ALAKAMIN_PYRILEN 408
#define ALAKAMIN_GELIDRAN 417
#define ALAKAMIN_SHILLISKIN 467
#define ALAKAMIN_BEHOLDER 469
#define ALAKAMIN_HARPYR 527
#define ALAKAMIN_SATYR 529
#define ALAKAMIN_AVIAK 558
#define ALAKAMIN_SIREN 564
#define ALAKAMIN_MINOTAUR 574
#define ALAKAMIN_FUNGOID 456
#define ALAKAMIN_KOBOLD 455
#define ALAKAMIN_GOBLIN 433
#define ALAKAMIN_ORC 458
#define ALAKAMIN_ULTRATAUR 470
#define ALAKAMIN_BAZU 409
#define ALAKAMIN_FAERIE 473
#define ALAKAMIN_GARGOYLE 464
#define ALAKAMIN_ZOMBIE 471
#define ALAKAMIN_GNOLL 524
#define ALAKAMIN_IMP 46
#define ALAKAMIN_SCRYKIN 495
#define ALAKAMIN_GOLEM 374 // davood
#define human_1 1
#define barbarian_1 2
zone/client.cpp (NOTE--There are two locations need editing in this file)
Code:
AT -- about line 6200
void Client::SendStatsWindow(Client* client, bool use_window)
.
.
.
case 130: race_Name = "Vah Shir"; break;
case 330: race_Name = "Froglok"; break;
case 522: race_Name = "Drakkin"; break;
default: break;
}
/*##########################################################
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
H/M/E String
CHANGE TO --
case 130: race_Name = "Vah Shir"; break;
case 330: race_Name = "Froglok"; break;
case 522: race_Name = "Drakkin"; break;
//davood
case 408: race_Name = "Pyrilen"; break;
case 417: race_Name = "Gelidran"; break;
case 467: race_Name = "Shilliskin"; break;
case 469: race_Name = "Beholder"; break;
case 527: race_Name = "Harpyr"; break;
case 529: race_Name = "Satyr"; break;
case 558: race_Name = "Aviak"; break;
case 564: race_Name = "Siren"; break;
case 574: race_Name = "Minotaur"; break;
case 456: race_Name = "Fungoid"; break;
case 455: race_Name = "Kobold"; break;
case 433: race_Name = "Goblin"; break;
case 458: race_Name = "Orc"; break;
case 470: race_Name = "Ultrataur"; break;
case 409: race_Name = "Bazu"; break;
case 473: race_Name = "Faerie"; break;
case 464: race_Name = "Gargoyle"; break;
case 471: race_Name = "Zombie"; break;
case 524: race_Name = "Gnoll"; break;
case 46: race_Name = "Imp"; break;
case 495: race_Name = "Scrykin"; break;
case 374: race_Name = "Golem"; break;
default: break;
}
/*##########################################################
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
H/M/E String
THEN AT -- about line 7100
const char* Client::GetRacePlural(Client* client) {
.
.
.
case VAHSHIR:
return "Vah Shir"; break;
case FROGLOK:
return "Frogloks"; break;
case DRAKKIN:
return "Drakkin"; break;
default:
return "Races"; break;
CHANGE TO --
case VAHSHIR:
return "Vah Shir"; break;
case FROGLOK:
return "Frogloks"; break;
case DRAKKIN:
return "Drakkin"; break;
//davood
case ALAKAMIN_PYRILEN:
return "Pyrilen"; break;
case ALAKAMIN_GELIDRAN:
return "Gelidran"; break;
case ALAKAMIN_SHILLISKIN:
return "Shilliskin"; break;
case ALAKAMIN_BEHOLDER:
return "Beholder"; break;
case ALAKAMIN_HARPYR:
return "Harpyr"; break;
case ALAKAMIN_SATYR:
return "Satyr"; break;
case ALAKAMIN_AVIAK:
return "Aviak"; break;
case ALAKAMIN_SIREN:
return "Siren"; break;
case ALAKAMIN_MINOTAUR:
return "Minotaur"; break;
case ALAKAMIN_FUNGOID:
return "Fungoid"; break;
case ALAKAMIN_KOBOLD:
return "Kobold"; break;
case ALAKAMIN_GOBLIN:
return "Goblin"; break;
case ALAKAMIN_ORC:
return "Orc"; break;
case ALAKAMIN_ULTRATAUR:
return "Ultrataur"; break;
case ALAKAMIN_BAZU:
return "Bazu"; break;
case ALAKAMIN_FAERIE:
return "Faerie"; break;
case ALAKAMIN_GARGOYLE:
return "Gargoyle"; break;
case ALAKAMIN_ZOMBIE:
return "Zombie"; break;
case ALAKAMIN_GNOLL:
return "Gnoll"; break;
case ALAKAMIN_IMP:
return "Imp"; break;
case ALAKAMIN_SCRYKIN:
return "Scrykin"; break;
case ALAKAMIN_GOLEM:
return "Golem"; break;
default:
return "Races"; break;