Code: Select all
diff -Bruw EQ2Emu/Config Files/World Structs/WorldStructs.xml EQ2EmuPGH/Config Files/World Structs/WorldStructs.xml
--- EQ2Emu/Config Files/World Structs/WorldStructs.xml 2009-06-02 09:46:35.206774000 -0700
+++ EQ2EmuPGH/Config Files/World Structs/WorldStructs.xml 2009-06-03 20:36:12.427551000 -0700
@@ -2369,7 +2369,8 @@
<Data ElementName="characters_array" Type="Array" ArraySizeVariable="num_characters">
<Data ElementName="char_name" Type="char" Size="40" />
<Data ElementName="unknown3" Type="int8" Size="1" />
- <Data ElementName="level" Type="int16" Size="1" />
+ <Data ElementName="level" Type="int8" Size="1" />
+ <Data ElementName="admin_level" Type="int8" Size="1" />
<Data ElementName="class" Type="int16" Size="1" />
<Data ElementName="unknown4" Type="int8" />
<Data ElementName="race" Type="int8" Size="1" />
diff -Bruw EQ2Emu/Source/World/Player.cpp EQ2EmuPGH/Source/World/Player.cpp
--- EQ2Emu/Source/World/Player.cpp 2009-06-02 09:46:34.847415100 -0700
+++ EQ2EmuPGH/Source/World/Player.cpp 2009-06-03 20:52:43.334962900 -0700
@@ -2384,3 +2384,7 @@
}
return true;
}
\ No newline at end of file
+
+int8 GetAdminLevel(char *name){
+ return 0;
+}
\ No newline at end of file
diff -Bruw EQ2Emu/Source/World/Player.h EQ2EmuPGH/Source/World/Player.h
--- EQ2Emu/Source/World/Player.h 2009-06-02 09:46:34.847415100 -0700
+++ EQ2EmuPGH/Source/World/Player.h 2009-06-03 20:47:44.051863100 -0700
@@ -99,6 +99,8 @@
// JA: Next set of STAT_* defines will be Guild - but no need for those yet
+int8 GetAdminLevel(char *name);
+
struct SpellBookEntry{
int32 spell_id;
int8 tier;
diff -Bruw EQ2Emu/Source/World/World.cpp EQ2EmuPGH/Source/World/World.cpp
--- EQ2Emu/Source/World/World.cpp 2009-06-02 09:46:34.847415100 -0700
+++ EQ2EmuPGH/Source/World/World.cpp 2009-06-03 20:42:45.065680700 -0700
@@ -752,6 +752,7 @@
player = *spawn_iter;
packet->setArrayDataByName("char_name", player->GetName(), i);
packet->setArrayDataByName("level", player->GetLevel(), i);
+ packet->setArrayDataByName("admin_level", GetAdminLevel(player->GetName()), i);
packet->setArrayDataByName("class", player->GetAdventureClass(), i);
packet->setArrayDataByName("unknown4", 0xFF, i); //probably tradeskill class
packet->setArrayDataByName("race", player->GetRace(), i);
The client recognizes 17 values for admin_level, -1:Banned Player 0:Player and 15 levels of admin, from 1:Apprentice Guide to 15 GM-Mgmt. What do you think would be the best mapping from admin_status to admin_level? LE, JA, etc, any thoughts?