|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
General::General Discussion General discussion about EverQuest(tm), EQEMu, and related topics. Do not post support topics here. |
10-20-2013, 01:44 PM
|
Administrator
|
|
Join Date: May 2013
Location: United States
Posts: 1,593
|
|
Quote:
Originally Posted by rencro
I have mine setup with only Human Pirates, was using a monk and gave him a club, he hit fine with it. Then permaraced him to a warrior, gave him rusty dagger, and again was fine.
What race class combo you trying so I can try building it on my end as well?
Also, are you attacking a mob that is invulnerable to non magical items by chance?
|
I hopped on his server, he was playing a Gnoll Warrior I believe and he was attacking normal mobs such as 'a rodent' in North Qeynos and it was invulnerable to all his attacks.
|
10-20-2013, 01:52 PM
|
Sarnak
|
|
Join Date: Jan 2007
Posts: 48
|
|
Quote:
Originally Posted by Kingly_Krab
I hopped on his server, he was playing a Gnoll Warrior I believe and he was attacking normal mobs such as 'a rodent' in North Qeynos and it was invulnerable to all his attacks.
|
Yup :(
Also, although it LOOKs like stats are working on my gnoll, my HP and Mana will not regen above my "naked" stats when I equip items :(.
|
10-20-2013, 03:39 PM
|
Discordant
|
|
Join Date: Jan 2005
Posts: 488
|
|
oh shoot - something is broken on alakamin?
i better check this.. i had equipping working before.. must be a merge that i didn't pay attention to sometime recently.
__________________
----------
Demon Overlord of Alakamin
skype @ davoodinator
|
10-20-2013, 03:42 PM
|
Sarnak
|
|
Join Date: Jan 2007
Posts: 48
|
|
Quote:
Originally Posted by Davood
oh shoot - something is broken on alakamin?
i better check this.. i had equipping working before.. must be a merge that i didn't pay attention to sometime recently.
|
Not sure if it is on your server, talking about mine lol. I don't like just throwing stuff in so I'm trying to work it out myself .
Do you know what could be the issue with weapons not working right in custom form, or why hp/mana won't regen when you put items on?
ps: I'm on my TS3
|
10-20-2013, 03:44 PM
|
Administrator
|
|
Join Date: May 2013
Location: United States
Posts: 1,593
|
|
I was talking about Fadedspirit's server.
|
10-20-2013, 03:57 PM
|
Discordant
|
|
Join Date: Jan 2005
Posts: 488
|
|
wew! ok i just tested it, it still works properly on my server hehe.
I will pop into TS3 in a few. i have to run some errands
__________________
----------
Demon Overlord of Alakamin
skype @ davoodinator
|
|
|
|
10-20-2013, 04:05 PM
|
Hill Giant
|
|
Join Date: Sep 2008
Location: So. California
Posts: 219
|
|
Your Gnolls are not properly defined in the code, I replaced my Human pirates with Gnolls and now my Human Pirates have the same behavior you are talking about..But Gnolls work fine now..
Perhaps something was missed when you patched it, here is the diff for me, numbers may not line up as I have lots of other custom stuff in:
Code:
diff --git a/common/Item.cpp b/common/Item.cpp
index 1f74b1b..9e15f48 100644
--- a/common/Item.cpp
+++ b/common/Item.cpp
@@ -1928,6 +1928,7 @@ bool Item_Struct::IsEquipable(uint16 Race, uint16 Class_) const
}
Races_ >>= 1;
}
+ if (Race_ == 69) {IsRace = true;} // davood
return (IsRace && IsClass);
}
diff --git a/common/races.cpp b/common/races.cpp
index d088ce1..69878d1 100644
--- a/common/races.cpp
+++ b/common/races.cpp
@@ -106,6 +106,8 @@ uint32 GetArrayRace(uint16 race) {
return Array_Race_FROGLOK;
case DRAKKIN:
return Array_Race_DRAKKIN;
+ case ALAKAMIN_HUMAN_PIRATE:
+ return Array_Race_SHROUD; // davood
default:
return Array_Race_UNKNOWN;
}
diff --git a/common/races.h b/common/races.h
index 2c360e9..d610c86 100644
--- a/common/races.h
+++ b/common/races.h
@@ -54,6 +54,7 @@
#define EMU_RACE_NPC 131069 // was 65533
#define EMU_RACE_PET 131070 // was 65534
#define EMU_RACE_UNKNOWN 131071 // was 65535
+#define ALAKAMIN_HUMAN_PIRATE 341 // davood
#define human_1 1
@@ -72,6 +73,7 @@
#define vahshir_1 8192
#define rall_1 16384 //froglok?
#define drakkin_1 32768
+#define shroud_1 65536 //davood
const char* GetRaceName(uint16 race);
@@ -97,8 +99,10 @@ inline uint32 GetRaceBitmask(uint16 race) { return uint32(pow(2.0f, float(GetArr
#define Array_Race_DRAKKIN 16
#define Array_Race_NPC 17
#define Array_Race_PET 18
+#define Array_Race_SHROUD 69 // lets see if this works (Davood)
#define Count_Array_Race 19 // used for array defines, must be the max + 1
-#define PLAYER_RACE_COUNT 16 // The count of all player races
+#define PLAYER_RACE_COUNT 17 // davood
+//#define PLAYER_RACE_COUNT 16 // The count of all player races
/*
diff --git a/zone/client.cpp b/zone/client.cpp
index 96eb1a3..b183661 100644
--- a/zone/client.cpp
+++ b/zone/client.cpp
@@ -6264,6 +6264,7 @@ 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;
+ case 341: race_Name = "Human_Pirate"; break; // davood
default: break;
}
/*##########################################################
@@ -7116,6 +7117,8 @@ const char* Client::GetRacePlural(Client* client) {
return "Frogloks"; break;
case DRAKKIN:
return "Drakkin"; break;
+ case ALAKAMIN_HUMAN_PIRATE:
+ return "Human_Pirate"; break; //davood
default:
return "Races"; break;
}
Just replace Human Pirate with Gnolls, and Gnoll info, must say, the Gnolls look cool as a playable race!! Thanks Davood!!!
|
|
|
|
|
|
|
10-20-2013, 04:13 PM
|
Sarnak
|
|
Join Date: Jan 2007
Posts: 48
|
|
Quote:
Originally Posted by rencro
Your Gnolls are not properly defined in the code, I replaced my Human pirates with Gnolls and now my Human Pirates have the same behavior you are talking about..But Gnolls work fine now..
Perhaps something was missed when you patched it, here is the diff for me, numbers may not line up as I have lots of other custom stuff in:
Code:
diff --git a/common/Item.cpp b/common/Item.cpp
index 1f74b1b..9e15f48 100644
--- a/common/Item.cpp
+++ b/common/Item.cpp
@@ -1928,6 +1928,7 @@ bool Item_Struct::IsEquipable(uint16 Race, uint16 Class_) const
}
Races_ >>= 1;
}
+ if (Race_ == 69) {IsRace = true;} // davood
return (IsRace && IsClass);
}
diff --git a/common/races.cpp b/common/races.cpp
index d088ce1..69878d1 100644
--- a/common/races.cpp
+++ b/common/races.cpp
@@ -106,6 +106,8 @@ uint32 GetArrayRace(uint16 race) {
return Array_Race_FROGLOK;
case DRAKKIN:
return Array_Race_DRAKKIN;
+ case ALAKAMIN_HUMAN_PIRATE:
+ return Array_Race_SHROUD; // davood
default:
return Array_Race_UNKNOWN;
}
diff --git a/common/races.h b/common/races.h
index 2c360e9..d610c86 100644
--- a/common/races.h
+++ b/common/races.h
@@ -54,6 +54,7 @@
#define EMU_RACE_NPC 131069 // was 65533
#define EMU_RACE_PET 131070 // was 65534
#define EMU_RACE_UNKNOWN 131071 // was 65535
+#define ALAKAMIN_HUMAN_PIRATE 341 // davood
#define human_1 1
@@ -72,6 +73,7 @@
#define vahshir_1 8192
#define rall_1 16384 //froglok?
#define drakkin_1 32768
+#define shroud_1 65536 //davood
const char* GetRaceName(uint16 race);
@@ -97,8 +99,10 @@ inline uint32 GetRaceBitmask(uint16 race) { return uint32(pow(2.0f, float(GetArr
#define Array_Race_DRAKKIN 16
#define Array_Race_NPC 17
#define Array_Race_PET 18
+#define Array_Race_SHROUD 69 // lets see if this works (Davood)
#define Count_Array_Race 19 // used for array defines, must be the max + 1
-#define PLAYER_RACE_COUNT 16 // The count of all player races
+#define PLAYER_RACE_COUNT 17 // davood
+//#define PLAYER_RACE_COUNT 16 // The count of all player races
/*
diff --git a/zone/client.cpp b/zone/client.cpp
index 96eb1a3..b183661 100644
--- a/zone/client.cpp
+++ b/zone/client.cpp
@@ -6264,6 +6264,7 @@ 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;
+ case 341: race_Name = "Human_Pirate"; break; // davood
default: break;
}
/*##########################################################
@@ -7116,6 +7117,8 @@ const char* Client::GetRacePlural(Client* client) {
return "Frogloks"; break;
case DRAKKIN:
return "Drakkin"; break;
+ case ALAKAMIN_HUMAN_PIRATE:
+ return "Human_Pirate"; break; //davood
default:
return "Races"; break;
}
Just replace Human Pirate with Gnolls, and Gnoll info, must say, the Gnolls look cool as a playable race!! Thanks Davood!!!
|
You see why i wanted gnoll?
Also, can you supply code blocks instead of diffs ^-^. If not i'll just pick through it by hand :O. I hate using diffs :(.
But yea, i've already done all this without looking at davood's code lol. Maybe i messed up somewhere.
|
|
|
|
10-20-2013, 04:22 PM
|
Sarnak
|
|
Join Date: Jan 2007
Posts: 48
|
|
There's something else wrong, I rechecked 3 times now. I've already done all that lol. Still has the same issue, he changed something else somewhere :(.
[edit]: I also just backed up my stuff, and grabbed races.h, races.cpp, client.cpp, from his server setup. Still doesn't work lol, time to revert my code xD!
|
|
|
|
10-20-2013, 04:57 PM
|
Discordant
|
|
Join Date: Jan 2005
Posts: 488
|
|
I will list off the sections I have changed:
(bolded)file name
(regular text) functions changed
bot.cpp (2 changes)
[search for the following]
bool Bot::IsValidRaceClassCombo() {
[search for the following]
std::string Bot::RaceIdToString(uint16 raceId) {
client.cpp (2 changes)
[search for the following]
char* Client::GetRacePlural(Client* client) {
[search for the following]
// Race
std::string race_Name = itoa(GetRace());
switch(GetRace())
{
item.cpp (1 change)
[search for the following]
bool Item_Struct::IsEquipable(uint16 Race, uint16 Class_) const
pets.cpp (1 change)
[search for the following]
//handle beastlord pet appearance
if(record.petnaming == 2)
{
switch(GetBaseRace())
{
race.h
I replaced 100% of this file
races.cpp (1 change)
[search for the following]
uint32 GetArrayRace(uint16 race) {
your IDE should be helpful in figuring out what the actual code blocks are that you need to copy.
i pullled those segments without looking at the code.. i have some offline notes. I don't have time right now to actually prepare the code blocks.. but maybe later tonight I can do that if you really want.
An easier solution is to take 100% of my code, and revert attack*.* pets.* and bots.* back to eqemu default. or keep them. your choice.
__________________
----------
Demon Overlord of Alakamin
skype @ davoodinator
|
|
|
|
|
|
|
10-20-2013, 05:17 PM
|
Sarnak
|
|
Join Date: Jan 2007
Posts: 48
|
|
Quote:
Originally Posted by Davood
I will list off the sections I have changed:
(bolded)file name
(regular text) functions changed
bot.cpp (2 changes)
[search for the following]
bool Bot::IsValidRaceClassCombo() {
[search for the following]
std::string Bot::RaceIdToString(uint16 raceId) {
client.cpp (2 changes)
[search for the following]
char* Client::GetRacePlural(Client* client) {
[search for the following]
// Race
std::string race_Name = itoa(GetRace());
switch(GetRace())
{
item.cpp (1 change)
[search for the following]
bool Item_Struct::IsEquipable(uint16 Race, uint16 Class_) const
pets.cpp (1 change)
[search for the following]
//handle beastlord pet appearance
if(record.petnaming == 2)
{
switch(GetBaseRace())
{
race.h
I replaced 100% of this file
races.cpp (1 change)
[search for the following]
uint32 GetArrayRace(uint16 race) {
your IDE should be helpful in figuring out what the actual code blocks are that you need to copy.
i pullled those segments without looking at the code.. i have some offline notes. I don't have time right now to actually prepare the code blocks.. but maybe later tonight I can do that if you really want.
An easier solution is to take 100% of my code, and revert attack*.* pets.* and bots.* back to eqemu default. or keep them. your choice.
|
Errr, races.h you only added 36 new lines of code, so you modified maybe 25% of that file? You didn't replace anything either. I had already done essentially what you did there anyways so, nothing really different there.
Pets.cpp && Bot.cpp won't help me with my issue .
I had also changed GetArrayRace to work with races.h. Right now i'm not sure what the issue is but i'll keep hunting around.
ps: I already tried grabbing your races.cpp, races.h, and client.cpp, but the issue persisted. I also changed Item.cpp from return(IsRace && IsClass); to simply return(IsClass);, so it nullifies that issue right out of the door. Trying to figure out what else might be the issue.
|
|
|
|
10-20-2013, 10:13 PM
|
Sarnak
|
|
Join Date: Jan 2007
Posts: 48
|
|
Ok, so something is up with my compiler I think? I intentionally sabotaged my IsEquippable() so it always returned false, yet normal races have no issues with items when I equip them? Their stats are reflected correctly and regen fine.
I'm compiling the code i've been modifying, and pulling from the correct Bin folder. What could be my issue :(?
Am I not supposed to be cleaning, and then building "All_Build" when I modify the source?
Any ideas what my issue could be??
|
10-20-2013, 10:34 PM
|
Discordant
|
|
Join Date: Jan 2005
Posts: 488
|
|
that sounds very strange.
try the following
pull my code - and compile it -
does it work?
if it doesn't there could be a problem in your process. what are you doing exactly to compile it?
clearly something isn't happening if you sabotaged a key process and it still works.
or perhaps you weren't thorough in your testing. when you say the equipment still works for pcs. do you mean that #mystats shows the "normal" stats with the equipment? if it isn't working it will show the naked stats always - but your client doesn't know if it shoudl be working or not and it will always "Work" client side.. the server will tell you teh truth with #mystats
__________________
----------
Demon Overlord of Alakamin
skype @ davoodinator
|
10-20-2013, 10:39 PM
|
Discordant
|
|
Join Date: Jan 2005
Posts: 488
|
|
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?
__________________
----------
Demon Overlord of Alakamin
skype @ davoodinator
|
|
|
|
10-20-2013, 11:24 PM
|
Sarnak
|
|
Join Date: Jan 2007
Posts: 48
|
|
Quote:
Originally Posted by Davood
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.
|
|
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 11:41 PM.
|
|
|
|
|
|
|
|
|
|
|
|
|