trevius |
05-27-2011 04:24 AM |
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);
}
|