View Single Post
  #5  
Old 05-27-2011, 04:24 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Here are some updates to this submission that Danyelle PM'd me. Posting them here in case someone wants to commit them before I get to it. Been out on vacation for almost 2 weeks, so it may be a bit before I get all caught up for another look and testing of this.

Code:
Index: trunk/EQEmuServer/common/classes.cpp
===================================================================
--- trunk/EQEmuServer/common/classes.cpp	(revision 1918)
+++ trunk/EQEmuServer/common/classes.cpp	(working copy)
@@ -21,7 +21,9 @@
 const char* GetEQClassName(int8 class_, int8 level) {
 	switch(class_) {
       case WARRIOR: 
-		 if (level >= 70) 
+		 if (level >= 75) 
+			return "Imperator"; 
+		 else if (level >= 70) 
 			return "Vanquisher"; 
          else if (level >= 65) 
             return "Overlord";   //Baron-Sprite: LEAVE MY CLASSES ALONE.
@@ -34,7 +36,9 @@
          else 
             return "Warrior"; 
       case CLERIC:
-		 if (level >= 70) 
+		 if (level >= 75)
+			return "Exemplar";
+		 else if (level >= 70) 
 			return "Prelate"; 
          else if (level >= 65) 
             return "Archon"; 
@@ -47,7 +51,9 @@
          else 
             return "Cleric"; 
       case PALADIN: 
-		 if (level >= 70) 
+		 if (level >= 75)
+			return "Holy Defender";
+		 else if (level >= 70) 
 			return "Lord"; 
          else if (level >= 65) 
             return "Lord Protector"; 
@@ -60,7 +66,9 @@
          else 
             return "Paladin"; 
       case RANGER:
-		 if (level >= 70) 
+		 if (level >= 75)
+			return "Huntmaster";
+		 else if (level >= 70) 
 			return "Plainswalker"; 
          else if (level >= 65) 
             return "Forest Stalker"; 
@@ -73,7 +81,9 @@
          else 
             return "Ranger"; 
       case SHADOWKNIGHT:
-		 if (level >= 70) 
+		 if (level >= 75)
+			return "Bloodreaver";
+		 else if (level >= 70) 
 			return "Scourge Knight"; 
          else if (level >= 65) 
             return "Dread Lord"; 
@@ -86,7 +96,9 @@
          else 
             return "Shadowknight"; 
       case DRUID:
-		 if (level >= 70) 
+		 if (level >= 75)
+			return "Storm Caller";
+		 else if (level >= 70) 
 			return "Natureguard"; 
          else if (level >= 65) 
             return "Storm Warden"; 
@@ -99,7 +111,9 @@
          else 
             return "Druid"; 
       case MONK:
-		 if (level >= 70) 
+		 if (level >= 75)
+			return "Ashenhand";
+		 else if (level >= 70) 
 			return "Stone Fist"; 
          else if (level >= 65) 
             return "Transcendent"; 
@@ -112,7 +126,9 @@
          else 
             return "Monk"; 
       case BARD: 
-	     if (level >= 70) 
+	     if (level >= 75)
+			return "Lyricist";
+		 else if (level >= 70) 
 			return "Performer";
          else if (level >= 65) 
             return "Maestro"; 
@@ -125,7 +141,9 @@
          else 
             return "Bard"; 
       case ROGUE: 
-		 if (level >= 70) 
+		 if (level >= 75)
+			return "Shadowblade";
+		 else if (level >= 70) 
 			return "Nemesis"; 
          else if (level >= 65) 
             return "Deceiver"; 
@@ -138,7 +156,9 @@
          else 
             return "Rogue"; 
       case SHAMAN: 
-		 if (level >= 70) 
+		 if (level >= 75)
+			return "Spiritwatcher";
+		 else if (level >= 70) 
 			return "Soothsayer";
          else if (level >= 65) 
             return "Prophet"; 
@@ -151,7 +171,9 @@
          else 
             return "Shaman"; 
       case NECROMANCER: 
-	     if (level >= 70) 
+	     if (level >= 75)
+			return "Deathcaller";
+		 else if (level >= 70) 
 			return "Wraith"; 
          else if (level >= 65) 
             return "Arch Lich"; 
@@ -164,7 +186,9 @@
          else 
             return "Necromancer"; 
       case WIZARD: 
-	     if (level >= 70) 
+	     if (level >= 75)
+			return "Pyromancer";
+		 else if (level >= 70) 
 			return "Grand Arcanist"; 
          else if (level >= 65) 
             return "Arcanist"; 
@@ -177,7 +201,9 @@
          else 
             return "Wizard"; 
       case MAGICIAN: 
-		 if (level >= 70) 
+		 if (level >= 75)
+			return "Grand Summoner";
+		 else if (level >= 70) 
 			return "Arch Magus"; 
          else if (level >= 65) 
             return "Arch Convoker"; 
@@ -185,12 +211,14 @@
             return "Arch Mage"; 
          else if (level >= 55) 
             return "Conjurer"; 
-         if (level >= 51) 
+         else if (level >= 51) 
             return "Elementalist"; 
          else 
             return "Magician"; 
       case ENCHANTER: 
-		 if (level >= 70) 
+		 if (level >= 75)
+			return "Entrancer";
+		 else if (level >= 70) 
 			return "Bedazzler"; 
          else if (level >= 65) 
             return "Coercer"; 
@@ -203,7 +231,9 @@
          else 
             return "Enchanter"; 
       case BEASTLORD: 
-		 if (level >= 70) 
+		 if (level >= 75)
+			return "Frostblood";
+		 else if (level >= 70) 
 			return "Wildblood"; 
          else if (level >= 65) 
             return "Feral Lord"; 
@@ -216,7 +246,9 @@
          else 
             return "Beastlord"; 
 	  case BERSERKER: 
-		 if (level >= 70) 
+		 if (level >= 75)
+			return "Juggernaut";
+		 else if (level >= 70) 
 			return "Ravager"; 
          else if (level >= 65) 
             return "Fury"; 
@@ -229,7 +261,9 @@
          else 
             return "Berserker"; 
 	  case BANKER: 
-		 if (level >= 70) 
+		 if (level >= 75)
+			return "Grand Banker";
+		 else if (level >= 70) 
 			return "Master Banker"; 
          else if (level >= 65) 
             return "Elder Banker"; 
@@ -275,16 +309,22 @@
 			return "Berserker Guildmaster";
 	  case MERCHANT:
 			return "Merchant";
-		case ADVENTURERECRUITER:
+	  case DISCORD_MERCHANT:
+		  return "Discord Merchant";
+	  case ADVENTURERECRUITER:
 			return "Adventure Recruiter";
-		case ADVENTUREMERCHANT:
+	  case ADVENTUREMERCHANT:
 			return "Adventure Merchant";
-		case CORPSE_CLASS:
-			return "Corpse Class";
-		case TRIBUTE_MASTER:
+	  case LDON_TREASURE:
+		    return "Chest";
+	  case TRIBUTE_MASTER:
 			return "Tribute Master";
-		case GUILD_TRIBUTE_MASTER:
+	  case GUILD_TRIBUTE_MASTER:
 			return "Guild Tribute Master";
+	  case ALT_CURRENCY_MERCH:
+		    return "Alternate Currency Merchant";
+	  case MERC_LIASON:
+		    return "Mercenary Liason";
 	  default:
 			return "Unknown";
 	}
Index: trunk/EQEmuServer/common/classes.h
===================================================================
--- trunk/EQEmuServer/common/classes.h	(revision 1918)
+++ trunk/EQEmuServer/common/classes.h	(working copy)
@@ -59,11 +59,12 @@
 #define ADVENTURERECRUITER 60
 #define ADVENTUREMERCHANT 61
 #define LDON_TREASURE 62 //objects you can use /open on first seen in LDONs
-#define CORPSE_CLASS 62	//only seen on Danvi's Corpse in Akheva so far..
 #define TRIBUTE_MASTER	63
 #define GUILD_TRIBUTE_MASTER	64	//not sure
 #define NORRATHS_KEEPERS_MERCHANT 67
 #define DARK_REIGN_MERCHANT 68
+#define ALT_CURRENCY_MERCH 70 //TBS and SoF Merchants (Doubloons. Faycite etc)
+#define MERC_LIASON 71 //Mercenary Merchants.
 #define warrior_1 1
 #define monk_1 64
 #define paladin_1 4
Index: trunk/EQEmuServer/common/races.h
===================================================================
--- trunk/EQEmuServer/common/races.h	(revision 1918)
+++ trunk/EQEmuServer/common/races.h	(working copy)
@@ -39,6 +39,7 @@
 #define BEAR			43
 #define SKELETON		60
 #define TIGER			63
+#define FROGLOK2		74	// Not sure why /who all reports race as 74 for frogloks
 #define ELEMENTAL		75
 #define ALLIGATOR		91
 #define EYE_OF_ZOMM		108
@@ -49,8 +50,33 @@
 #define CONTROLLED_BOAT 141
 #define IKSAR_SKELETON	161
 #define FROGLOK			330
-#define FROGLOK2		74	// Not sure why /who all reports race as 74 for frogloks
+#define TROLL_PIRATE	331
+#define GNOME_PIRATE	338
+#define DARKELF_PIRATE	339
+#define OGRE_PIRATE		340
+#define HUMAN_PIRATE	341
+#define ERUDITE_PIRATE	342
+#define CHOKIDAI		356
+#define SKELETON_LDON	367
+#define GOLEM_LDON		374
+#define PYRILEN			408
+#define GELIDRAN		417
+#define BASILISK_DON	436
+#define SPIDER_DON		440
+#define KOBOLD_DODH		455
+#define GNOMEWORK		457
+#define DRACHNID_DODH	461
+#define SHILISKIN		467
+#define FAIRY_DODH		473
+#define SPECTRE_POR		485
+#define BANSHEE1		487
+#define BANSHEE2		488
+#define SCRYKIN			495
+#define CENTAUR_TSS		521
 #define DRAKKIN			522 // 32768
+#define GNOLL_TSS		524
+#define KERRAN_TBS		562
+#define BROWNIE_SOF		568
 #define EMU_RACE_NPC	131069 // was 65533
 #define EMU_RACE_PET	131070 // was 65534
 #define EMU_RACE_UNKNOWN 131071 // was 65535
Index: trunk/EQEmuServer/zone/mob.cpp
===================================================================
--- trunk/EQEmuServer/zone/mob.cpp	(revision 1918)
+++ trunk/EQEmuServer/zone/mob.cpp	(working copy)
@@ -1370,7 +1370,10 @@
 //cout << "Gender in:  " << (int)in_gender << endl;
 	if ((in_race > 0 && in_race <= GNOME )
 		|| in_race == IKSAR || in_race == VAHSHIR || in_race == FROGLOK || in_race == DRAKKIN
-		|| in_race == 15 || in_race == 50 || in_race == 57 || in_race == 70 || in_race == 98 || in_race == 118) {
+		|| in_race == 15 || in_race == 50 || in_race == 57 || in_race == 70 || in_race == 98
+		|| in_race == 118 || in_race == TROLL_PIRATE || in_race == OGRE_PIRATE || in_race == GNOME_PIRATE
+		|| in_race == DARKELF_PIRATE || in_race == HUMAN_PIRATE || in_race == ERUDITE_PIRATE || in_race == KERRAN_TBS
+		|| in_race == DRACHNID_DODH || in_race == BROWNIE_SOF) {
 		if (in_gender >= 2) {
 			// Female default for PC Races
 			return 1;
@@ -1384,7 +1387,7 @@
 		return 0;
 
 	}
-	else if (in_race == 25 || in_race == 56) {
+	else if (in_race == 25 || in_race == 56 || in_race == BANSHEE1 || in_race == BANSHEE2) {
 		// Female only races
 		return 1;
 	}
Index: trunk/EQEmuServer/zone/pets.cpp
===================================================================
--- trunk/EQEmuServer/zone/pets.cpp	(revision 1918)
+++ trunk/EQEmuServer/zone/pets.cpp	(working copy)
@@ -324,9 +324,9 @@
 			npc_type->texture = 2;
 			break;
 		case IKSAR: 
-			npc_type->race = WOLF; 
+			npc_type->race = CHOKIDAI; 
 			npc_type->texture = 0; 
-			npc_type->gender = 1; 
+			npc_type->gender = 2; 
 			npc_type->size *= 2.0f;
 			npc_type->luclinface = 0;
 			break;
@@ -370,6 +370,8 @@
 			npc_type->size = monster->size;
 			npc_type->texture = monster->texture;
 			npc_type->gender = monster->gender;
+			npc_type->luclinface = monster->luclinface;
+			npc_type->helmtexture = monster->helmtexture;
 		}
 		else {
 			LogFile->write(EQEMuLog::Error, "Error loading NPC data for monster summoning pet (NPC ID %d)", monsterid);
Index: trunk/EQEmuServer/zone/spell_effects.cpp
===================================================================
--- trunk/EQEmuServer/zone/spell_effects.cpp	(revision 1918)
+++ trunk/EQEmuServer/zone/spell_effects.cpp	(working copy)
@@ -1237,27 +1237,37 @@
 						Mob::GetDefaultGender(spell.base[i], GetGender()),
 						spell.base2[i]
 					);
-					if(spell.base[i] == OGRE){
+					if(spell.base[i] == SPIDER_DON){
+						SendAppearancePacket(AT_Size, 10);
+					}
+					else if(spell.base[i] == OGRE || spell.base[i] == BASILISK_DON || spell.base[i] == OGRE_PIRATE){
 						SendAppearancePacket(AT_Size, 9);
 					}
-					else if(spell.base[i] == TROLL){
+					else if(spell.base[i] == TROLL || spell.base[i] == SPECTRE_POR || spell.base[i] == TROLL_PIRATE || spell.base[i] == GOLEM_LDON){
 						SendAppearancePacket(AT_Size, 8);
 					}
-					else if(spell.base[i] == VAHSHIR || spell.base[i] == BARBARIAN){
+					else if(spell.base[i] == VAHSHIR || spell.base[i] == BARBARIAN || spell.base[i] == SCRYKIN || spell.base[i] == CENTAUR_TSS
+						|| spell.base[i] == SHILISKIN || spell.base[i] == PYRILEN || spell.base[i] == GELIDRAN || spell.base[i] == GNOLL_TSS 
+						|| spell.base[i] == KOBOLD_DODH){
 						SendAppearancePacket(AT_Size, 7);
 					}
-					else if(spell.base[i] == HALF_ELF || spell.base[i] == WOOD_ELF || spell.base[i] == DARK_ELF || spell.base[i] == FROGLOK){
+					else if(spell.base[i] == HALF_ELF || spell.base[i] == WOOD_ELF || spell.base[i] == DARK_ELF || spell.base[i] == FROGLOK
+						|| spell.base[i] == DARKELF_PIRATE || spell.base[i] == KERRAN_TBS || spell.base[i] == GNOMEWORK){
 						SendAppearancePacket(AT_Size, 5);
 					}
-					else if(spell.base[i] == DWARF){
+					else if(spell.base[i] == DWARF || spell.base[i] == FAIRY_DODH || spell.base[i] == WOLF || spell.base[i] == WOLF_ELEMENTAL){
 						SendAppearancePacket(AT_Size, 4);
 					}
-					else if(spell.base[i] == HALFLING || spell.base[i] == GNOME){
+					else if(spell.base[i] == HALFLING || spell.base[i] == GNOME || spell.base[i] == GNOME_PIRATE){
 						SendAppearancePacket(AT_Size, 3);
 					}
-					else if(spell.base[i] == WOLF) {
+					else if(spell.base[i] == BROWNIE_SOF) {
 						SendAppearancePacket(AT_Size, 2);
 					}
+					else if(spell.base[i] == DRACHNID_DODH || spell.base[i] == BANSHEE1 || spell.base[i] == BANSHEE2 || 
+						spell.base[i] == HUMAN_PIRATE || spell.base[i] == ERUDITE_PIRATE){
+						SendAppearancePacket(AT_Size, 6);
+					}
 					else{
 						SendAppearancePacket(AT_Size, 6);
 					}
@@ -3165,24 +3175,30 @@
 			case SE_Illusion:
 			{
 				SendIllusionPacket(0, GetBaseGender());
-				if(GetRace() == OGRE){
+				if(GetRace() == OGRE || GetRace() == OGRE_PIRATE){
 					SendAppearancePacket(AT_Size, 9);
 				}
-				else if(GetRace() == TROLL){
+				else if(GetRace() == TROLL || GetRace() == TROLL_PIRATE){
 					SendAppearancePacket(AT_Size, 8);
 				}
 				else if(GetRace() == VAHSHIR || GetRace() == FROGLOK || GetRace() == BARBARIAN){
 					SendAppearancePacket(AT_Size, 7);
 				}
-				else if(GetRace() == HALF_ELF || GetRace() == WOOD_ELF || GetRace() == DARK_ELF){
+				else if(GetRace() == HALF_ELF || GetRace() == WOOD_ELF || GetRace() == DARK_ELF || GetRace() == DARKELF_PIRATE || GetRace() == KERRAN_TBS){
 					SendAppearancePacket(AT_Size, 5);
 				}
 				else if(GetRace() == DWARF){
 					SendAppearancePacket(AT_Size, 4);
 				}
-				else if(GetRace() == HALFLING || GetRace() == GNOME){
+				else if(GetRace() == HALFLING || GetRace() == GNOME || GetRace() == GNOME_PIRATE){
 					SendAppearancePacket(AT_Size, 3);
 				}
+				else if(GetRace()== BROWNIE_SOF){
+					SendAppearancePacket(AT_Size, 2);
+				}
+				else if(GetRace() == DRACHNID_DODH || GetRace() == HUMAN_PIRATE || GetRace() == ERUDITE_PIRATE){
+					SendAppearancePacket(AT_Size, 6);
+				}
 				else{
 					SendAppearancePacket(AT_Size, 6);
 				}
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote