Go Back   EQEmulator Home > EQEmulator Forums > General > General::General Discussion

General::General Discussion General discussion about EverQuest(tm), EQEMu, and related topics.
Do not post support topics here.

Reply
 
Thread Tools Display Modes
  #1  
Old 10-20-2013, 11:24 PM
Fadedspirit
Sarnak
 
Join Date: Jan 2007
Posts: 48
Default

Quote:
Originally Posted by Davood View Post
Anyways.

my suggestion is the following:

establish a working baseline.

Can you compile my codebase and get it to work? If yes then you just missed something in your copy of the code. get yourself diffzilla and diff that sucker and see what is different!

if not then maybe there is something wrong with my github repository. I can dump it to another dir and diff it against my working dir if i really really have to - i hope that isn't necessary?
I already said that your files, specifically item.cpp, races.cpp, races.h, and client.cpp compile fine but custom races still do not report their hp/mana correctly and melee weapons won't work (invuln bug).

I did not check #mystats, but the client wasn't reporting stats correctly either, and when I sabotaged IsEquippable my melee weapon on a normal race did normal damage, and my stats reported correctly (hp/mana regenned fine, etc).

There's something else going on here :(


I'm thinking your code is too old, and something was changed in the past 4-5 months since you got yours working, because IsEquippable isn't even being called now lol? I triple checked to make sure I was compiling and moving the Bin code to the correct location. No idea what's up.
Reply With Quote
  #2  
Old 10-21-2013, 12:23 AM
rencro
Hill Giant
 
Join Date: Sep 2008
Location: So. California
Posts: 219
Default

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;
Reply With Quote
  #3  
Old 10-21-2013, 06:33 PM
Fadedspirit
Sarnak
 
Join Date: Jan 2007
Posts: 48
Default

Boom, got it working.


My VS2012 was borked and needed a reinstall. Kept telling me it had "compatibility issues with the current OS" of which is Server 2008 R2 (of which vs2012 is compatible with).

A quick 20minute repair, and everything is building correctly now !


Woot :]
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 10:18 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3