All pastes #840167 Raw Edit

Derimon

public diff v1 · immutable
#840167 ·published 2007-12-31 15:31 UTC
rendered paste body
Index: src/game/Chat.cpp===================================================================--- src/game/Chat.cpp	(revision 2788)+++ src/game/Chat.cpp	(working copy)@@ -194,7 +194,12 @@ 		{ "rage",	   'm', NULL,	"Rage Points",		 NULL, UNIT_FIELD_POWER2,	UNIT_FIELD_MAXPOWER2, 1 }, 		{ "energy",	 'm', NULL,	"Energy Points",	   NULL, UNIT_FIELD_POWER4,	UNIT_FIELD_MAXPOWER4, 1 }, 		{ "level",	  'm', &ChatHandler::HandleModifyLevelCommand,"Level", NULL, 0, 0, 0 },-		{ "armor",	  'm', NULL,	"Armor",			   NULL, UNIT_FIELD_STAT1,			  0,		   1 },+		{ "strength",			'm', NULL,	"Strength",				NULL, UNIT_FIELD_STAT0,	0,	1 },+		{ "agility",			'm', NULL,	"Agility",				NULL, UNIT_FIELD_STAT1,	0,	1 },+		{ "stamina",			'm', NULL,	"Stamina",				NULL, UNIT_FIELD_STAT2,	0,	1 },+		{ "intellect",			'm', NULL,	"Intellect",			NULL, UNIT_FIELD_STAT3,	0,	1 },+		{ "spirit",				'm', NULL,	"Spirit",				NULL, UNIT_FIELD_STAT4,	0,	1 },+		{ "armor",				'm', NULL,	"Armor",				NULL, UNIT_FIELD_RESISTANCES, 0, 1 }, 		{ "holy",	   'm', NULL,	"Holy Resistance",	 NULL, UNIT_FIELD_RESISTANCES_01,	 0,		   1 }, 		{ "fire",	   'm', NULL,	"Fire Resistance",	 NULL, UNIT_FIELD_RESISTANCES_02,	 0,		   1 }, 		{ "nature",	 'm', NULL,	"Nature Resistance",   NULL, UNIT_FIELD_RESISTANCES_03,	 0,		   1 },@@ -212,7 +217,6 @@ 		{ "dynamicflags",'m',NULL,	"Dynamic Flags",	   NULL, UNIT_DYNAMIC_FLAGS,		 0,			  1 }, 		{ "talentpoints",'m',NULL,	"Talent Points",	   NULL, PLAYER_CHARACTER_POINTS1,   0,			  1 }, 		{ "loyalty",	'm', NULL,	"Loyalty",			 NULL, UNIT_FIELD_POWER5,	UNIT_FIELD_MAXPOWER5, 1 },-		{ "spirit",	 'm', NULL,	"Spirit",			  NULL, UNIT_FIELD_STAT0,		   0,			  1 }, 		{ "boundingraidius",'m',NULL,  "Bounding Radius",	 NULL, UNIT_FIELD_BOUNDINGRADIUS,		 0,			  2 }, 		{ "combatreach",'m',NULL,	 "Combat Reach",		NULL, UNIT_FIELD_COMBATREACH, 0, 2 }, 		{ "emotestate",'m', NULL,	 "NPC Emote State",	 NULL, UNIT_NPC_EMOTESTATE, 0, 1 },Index: src/game/Level3.cpp===================================================================--- src/game/Level3.cpp	(revision 2788)+++ src/game/Level3.cpp	(working copy)@@ -494,34 +494,61 @@ bool ChatHandler::HandleNpcInfoCommand(const char *args, WorldSession *m_session) { 	char msg[512];-	uint32 guid = GUID_LOPART(m_session->GetPlayer()->GetSelection());-	Creature *crt = getSelectedCreature(m_session);-	if(!crt) return false;-	if(crt->GetCreatureName())-		BlueSystemMessage(m_session, "Showing creature info for %s", crt->GetCreatureName()->Name);-	snprintf(msg,512,"GUID: %d\nFaction: %d\nNPCFlags: %d\nDisplayID: %d", (int)guid, (int)crt->GetUInt32Value(UNIT_FIELD_FACTIONTEMPLATE), (int)crt->GetUInt32Value(UNIT_NPC_FLAGS), (int)crt->GetUInt32Value(UNIT_FIELD_DISPLAYID));-	SystemMessage(m_session, msg);-	if(crt->m_faction)-		GreenSystemMessage(m_session, "Combat Support: 0x%.3X", crt->m_faction->FriendlyMask);-	GreenSystemMessage(m_session, "Base Health: %d", crt->GetUInt32Value(UNIT_FIELD_BASE_HEALTH));-	GreenSystemMessage(m_session, "Base Armor: %d", crt->GetUInt32Value(UNIT_FIELD_STAT1)*2);-	GreenSystemMessage(m_session, "Base Mana: %d", crt->GetUInt32Value(UNIT_FIELD_MAXPOWER1));-	GreenSystemMessage(m_session, "Base Holy: %d", crt->GetUInt32Value(UNIT_FIELD_RESISTANCES_01));-	GreenSystemMessage(m_session, "Base Fire: %d", crt->GetUInt32Value(UNIT_FIELD_RESISTANCES_02));-	GreenSystemMessage(m_session, "Base Nature: %d", crt->GetUInt32Value(UNIT_FIELD_RESISTANCES_03));-	GreenSystemMessage(m_session, "Base Frost: %d", crt->GetUInt32Value(UNIT_FIELD_RESISTANCES_04));-	GreenSystemMessage(m_session, "Base Shadow: %d", crt->GetUInt32Value(UNIT_FIELD_RESISTANCES_05));-	GreenSystemMessage(m_session, "Base Arcane: %d", crt->GetUInt32Value(UNIT_FIELD_RESISTANCES_06));-	GreenSystemMessage(m_session, "Damage min/max: %f/%f", crt->GetFloatValue(UNIT_FIELD_MINDAMAGE),crt->GetFloatValue(UNIT_FIELD_MAXDAMAGE));-	-	ColorSystemMessage(m_session, MSG_COLOR_RED, "Entry ID: %d", crt->GetUInt32Value(OBJECT_FIELD_ENTRY));-	ColorSystemMessage(m_session, MSG_COLOR_RED, "SQL Entry ID: %d", crt->GetSQL_id());-	// show byte-	std::stringstream sstext;-	uint32 theBytes = crt->GetUInt32Value(UNIT_FIELD_BYTES_0);-	sstext << "UNIT_FIELD_BYTES_0 are " << uint16((uint8)theBytes & 0xFF) << " " << uint16((uint8)(theBytes >> 8) & 0xFF) << " ";-	sstext << uint16((uint8)(theBytes >> 16) & 0xFF) << " " << uint16((uint8)(theBytes >> 24) & 0xFF) << '\0';-	BlueSystemMessage(m_session, sstext.str().c_str());+	Player* target = objmgr.GetPlayer((uint32)m_session->GetPlayer()->GetSelection());+	if(!target)+	{+		uint32 guid = GUID_LOPART(m_session->GetPlayer()->GetSelection());+		Creature *crt = getSelectedCreature(m_session);+		if(!crt) return false;+		if(crt->GetCreatureName())+			BlueSystemMessage(m_session, "Showing creature info for %s", crt->GetCreatureName()->Name);+		snprintf(msg,512,"GUID: %d\nFaction: %d\nNPCFlags: %d\nDisplayID: %d (Native: %d)", (int)guid, (int)crt->GetUInt32Value(UNIT_FIELD_FACTIONTEMPLATE), (int)crt->GetUInt32Value(UNIT_NPC_FLAGS), (int)crt->GetUInt32Value(UNIT_FIELD_DISPLAYID), crt->GetUInt32Value(UNIT_FIELD_NATIVEDISPLAYID));+		SystemMessage(m_session, msg);+		if(crt->m_faction)+			GreenSystemMessage(m_session, "Combat Support: 0x%.3X", crt->m_faction->FriendlyMask);+		GreenSystemMessage(m_session, "Base Health: %d", crt->GetUInt32Value(UNIT_FIELD_BASE_HEALTH));+		GreenSystemMessage(m_session, "Base Mana: %d", crt->GetUInt32Value(UNIT_FIELD_MAXPOWER1));+		GreenSystemMessage(m_session, "Base Armor: %d", crt->GetUInt32Value(UNIT_FIELD_RESISTANCES));+		GreenSystemMessage(m_session, "Resistances (Holy/Fire/Nature/Frost/Shadow/Arcane): %d/%d/%d/%d/%d/%d", crt->GetUInt32Value(UNIT_FIELD_RESISTANCES_01), crt->GetUInt32Value(UNIT_FIELD_RESISTANCES_02), crt->GetUInt32Value(UNIT_FIELD_RESISTANCES_03), crt->GetUInt32Value(UNIT_FIELD_RESISTANCES_04), crt->GetUInt32Value(UNIT_FIELD_RESISTANCES_05), crt->GetUInt32Value(UNIT_FIELD_RESISTANCES_06));+		GreenSystemMessage(m_session, "Damage min/max: %f/%f", crt->GetFloatValue(UNIT_FIELD_MINDAMAGE),crt->GetFloatValue(UNIT_FIELD_MAXDAMAGE));+		+		ColorSystemMessage(m_session, MSG_COLOR_RED, "Entry ID: %d", crt->GetUInt32Value(OBJECT_FIELD_ENTRY));+		ColorSystemMessage(m_session, MSG_COLOR_RED, "SQL Entry ID: %d", crt->GetSQL_id());+		// show byte+		std::stringstream sstext;+		uint32 theBytes = crt->GetUInt32Value(UNIT_FIELD_BYTES_0);+		sstext << "UNIT_FIELD_BYTES_0 are " << uint16((uint8)theBytes & 0xFF) << " " << uint16((uint8)(theBytes >> 8) & 0xFF) << " ";+		sstext << uint16((uint8)(theBytes >> 16) & 0xFF) << " " << uint16((uint8)(theBytes >> 24) & 0xFF) << '\0';+		BlueSystemMessage(m_session, sstext.str().c_str());+	}+	else+	{+		BlueSystemMessage(m_session, "Showing player info for %s", target->GetName());+		snprintf(msg,512,"GUID: %d\nFaction: %d\nFlags: %d\nDisplayID: %d (Native: %d)", target->GetGUIDLow(), (int)target->GetUInt32Value(UNIT_FIELD_FACTIONTEMPLATE), (int)target->GetUInt32Value(UNIT_FIELD_FLAGS), (int)target->GetUInt32Value(UNIT_FIELD_DISPLAYID), target->GetUInt32Value(UNIT_FIELD_NATIVEDISPLAYID));+		SystemMessage(m_session, msg);+		GreenSystemMessage(m_session, "Base Health: %d", target->GetUInt32Value(UNIT_FIELD_MAXHEALTH));+		GreenSystemMessage(m_session, "Base Mana/Rage/Energy: %d/%d/%d", target->GetUInt32Value(UNIT_FIELD_MAXPOWER1), target->GetUInt32Value(UNIT_FIELD_MAXPOWER2), target->GetUInt32Value(UNIT_FIELD_MAXPOWER4));+		GreenSystemMessage(m_session, "Base Strength: %d", target->GetUInt32Value(UNIT_FIELD_STAT0));+		GreenSystemMessage(m_session, "Base Agility: %d", target->GetUInt32Value(UNIT_FIELD_STAT1));+		GreenSystemMessage(m_session, "Base Stamina: %d", target->GetUInt32Value(UNIT_FIELD_STAT2));+		GreenSystemMessage(m_session, "Base Intellect: %d", target->GetUInt32Value(UNIT_FIELD_STAT3));+		GreenSystemMessage(m_session, "Base Spirit: %d", target->GetUInt32Value(UNIT_FIELD_STAT4));+		GreenSystemMessage(m_session, "Base Armor: %d", target->GetUInt32Value(UNIT_FIELD_RESISTANCES));+		GreenSystemMessage(m_session, "Resistances (Holy/Fire/Nature/Frost/Shadow/Arcane): %d/%d/%d/%d/%d/%d", target->GetUInt32Value(UNIT_FIELD_RESISTANCES_01), target->GetUInt32Value(UNIT_FIELD_RESISTANCES_02), target->GetUInt32Value(UNIT_FIELD_RESISTANCES_03), target->GetUInt32Value(UNIT_FIELD_RESISTANCES_04), target->GetUInt32Value(UNIT_FIELD_RESISTANCES_05), target->GetUInt32Value(UNIT_FIELD_RESISTANCES_06));+		GreenSystemMessage(m_session, "Damage min/max: %f/%f", target->GetFloatValue(UNIT_FIELD_MINDAMAGE),target->GetFloatValue(UNIT_FIELD_MAXDAMAGE));+		GreenSystemMessage(m_session, "Size/Scale: %f", target->GetFloatValue(OBJECT_FIELD_SCALE_X));+		GreenSystemMessage(m_session, "Player Experience: %d/%d (%d Rested)", target->GetUInt32Value(PLAYER_XP), target->GetUInt32Value(PLAYER_NEXT_LEVEL_XP), target->GetUInt32Value(PLAYER_REST_STATE_EXPERIENCE));+		GreenSystemMessage(m_session, "Player Coinage: %d", target->GetUInt32Value(PLAYER_FIELD_COINAGE));+		GreenSystemMessage(m_session, "Movement Speed: %f", target->m_runSpeed);+		GreenSystemMessage(m_session, "Bounding Radius: %f", target->GetFloatValue(UNIT_FIELD_BOUNDINGRADIUS));+		GreenSystemMessage(m_session, "Combat Reach: %f", target->GetFloatValue(UNIT_FIELD_COMBATREACH));+		// show byte+		std::stringstream sstext;+		uint32 theBytes = target->GetUInt32Value(UNIT_FIELD_BYTES_0);+		sstext << "UNIT_FIELD_BYTES_0 are " << uint16((uint8)theBytes & 0xFF) << " " << uint16((uint8)(theBytes >> 8) & 0xFF) << " ";+		sstext << uint16((uint8)(theBytes >> 16) & 0xFF) << " " << uint16((uint8)(theBytes >> 24) & 0xFF) << '\0';+		BlueSystemMessage(m_session, sstext.str().c_str());+	} 	return true; }