All pastes #587162 Raw Edit

Stuff

public text v1 · immutable
#587162 ·published 2007-06-24 09:56 UTC
rendered paste body
Index: TownHall/GameMechanics.cpp
===================================================================
--- TownHall/GameMechanics.cpp	(revision 42)
+++ TownHall/GameMechanics.cpp	(working copy)
@@ -146,14 +146,20 @@
 	pkg << pCreature->guid << CREATUREGUID_HIGH;
 	pkg << (unsigned long)580;		// npc text
 	pkg << (unsigned long)2;
+
 	pkg << (unsigned long)97;	// SH Heal handler
 	pkg << (unsigned char)0;
 	pkg << (unsigned char)0;
+	pkg << (unsigned long)0;
 	pkg << "Return me to life.";
+	pkg << (unsigned char)0;
+
 	pkg << (unsigned long)100;	// Default for close gossip
 	pkg << (unsigned char)0;
 	pkg << (unsigned char)0;
+	pkg << (unsigned long)0;
 	pkg << "Goodbye.";
+	pkg << (unsigned char)0;
 	pClient->Send(&pkg);
 
 	return;
Index: TownHall/MsgHandlers.cpp
===================================================================
--- TownHall/MsgHandlers.cpp	(revision 42)
+++ TownHall/MsgHandlers.cpp	(working copy)
@@ -2745,15 +2745,17 @@
 	pkg << (unsigned long)pQuest->Data.zoneid;
 
 	pkg << (unsigned long)pQuest->Data.questtype;
+	pkg << (unsigned long)0;                                //SuggestedPlayers
 	pkg << (unsigned long)pQuest->Data.repfaction[0];
 	pkg << (unsigned long)pQuest->Data.repvalue[0];
-	pkg << (unsigned long)pQuest->Data.repfaction[1]; // ?
-	pkg << (unsigned long)pQuest->Data.repvalue[1]; // ?
+	pkg << (unsigned long)pQuest->Data.repfaction[1];       // ?
+	pkg << (unsigned long)pQuest->Data.repvalue[1];         // ?
 
 	pkg << (unsigned long)DataManager.QuestIDs(pQuest->Data.nextquest); // nextquest
 	pkg << (unsigned long)pQuest->Data.rewardgold;
-	pkg << (unsigned long)pQuest->Data.rewardexp; // quest exp
-	pkg << (unsigned long)pQuest->Data.learnspell;
+	pkg << (unsigned long)pQuest->Data.rewardexp;           // quest exp
+	pkg << (unsigned long)pQuest->Data.learnspell;          //RewardSpellID
+	pkg << (unsigned long)0;                                //EffectOnPlayer - Spell/effect cast on player when completing.
 
 	pkg << (unsigned long)(DataManager.ItemTemplates(pQuest->Data.srcitem[0]));
 	pkg << (unsigned long)(DataManager.ItemTemplates(pQuest->Data.srcitemcount[0]));
@@ -3586,13 +3588,13 @@
 		// Guild master
 		pkg.Reset(SMSG_PETITION_SHOWLIST);
 		pkg << guid << PLAYERGUID_HIGH;
-		// Packets::PackGuid(pkg,guid,0);
 		pkg << (char)1;
-		pkg << (unsigned long)1;
-		pkg	<< (unsigned long)0x16e7;
-		pkg << (unsigned long)0x23ef;
-		pkg << (unsigned long)1000;
-		pkg << (unsigned long)1;
+		pkg << (unsigned long)1;       // index
+		pkg << (unsigned long)5863;    // charter entry
+		pkg << (unsigned long)16161;   // charter display id
+		pkg << (unsigned long)1000;    // charter cost
+		pkg << (unsigned long)0;       // unknown 
+		pkg << (unsigned long)9;       // required signs?
 		pClient->Send(&pkg);
 		return;
 	}
@@ -3792,8 +3794,13 @@
 void MsgChannelJoin(CClient *pClient, unsigned int msgID, CDataBuffer &Data)
 {
 	string channelname,pass;
+	uint32 channel_id;
+	uint8 unknown;  
+  
+	Data >> channel_id >> unknown;    
 	Data >> channelname;
 	Data >> pass;
+	
 	CChannel* pChannel=NULL;
 	if(!(pChannel=CChannel::AllChannels[channelname]))
 	{
@@ -3812,6 +3819,9 @@
 void MsgChannelLeave(CClient *pClient, unsigned int msgID, CDataBuffer &Data)
 {
 	string channelname;
+	uint32 unk;
+  
+	Data >>	unk;
 	Data >> channelname;
 
 	if(!channelname.length())
@@ -4512,30 +4522,36 @@
 	}
 	/*response codes: 0 - success; 1 - already have a gm ticket; 2 - ?(success?); 3 - general error*/
 }
+
 void MsgGMTicketSystemStatus(CClient *pClient, unsigned int msgID, CDataBuffer &Data)
 {
 	pClient->OutPacket(SMSG_GMTICKET_SYSTEMSTATUS,"\x01\x00\x00\x00",4);
 	//0: unavailable 1: available
 }
+
 void MsgQueryNextMailTime(CClient *pClient, unsigned int msgID, CDataBuffer &Data)
 {
 	pClient->OutPacket(MSG_QUERY_NEXT_MAIL_TIME,"\x00\xc0\xa8\xc7",4); //-86400 float
 }
+
 void MsgGetTicket(CClient *pClient, unsigned int msgID, CDataBuffer &Data)
 {
 	pClient->OutPacket(SMSG_GMTICKET_GETTICKET,"\x01\x00\x00\x00",4);
 }
+
 void MsgMeetStone(CClient *pClient, unsigned int msgID, CDataBuffer &Data)
 {
 	char buffer[12];
 	memset(buffer,0,12);
 	pClient->OutPacket(SMSG_MEETINGSTONE_SETQUEUE,buffer,12);
 }
+
 void MsgSetGameUiTarget(CClient *pClient, unsigned int msgID, CDataBuffer &Data)
 {
 	Data >> pClient->pPlayer->TargetID;
 	pClient->pPlayer->ResetCombo();
 }
+
 void MsgTime(CClient *pClient, unsigned int msgID, CDataBuffer &Data)
 {
 	uint32 curtime=time(NULL);
@@ -4548,16 +4564,19 @@
 {
 	memset(&pClient->pPlayer->Data.TutorialFlags,0xff,0x20);
 }
+
 void MsgHelm(CClient *pClient, unsigned int msgID, CDataBuffer &Data)
 {
 	pClient->pDataObject->ToggleFlag(STATUS_NOHELM);
 	pClient->UpdateObject();
 }
+
 void MsgCloak(CClient *pClient, unsigned int msgID, CDataBuffer &Data)
 {
 	pClient->pDataObject->ToggleFlag(STATUS_NOCLOAK);
 	pClient->UpdateObject();
 }
+
 void MsgSetWeaponMode(CClient *pClient, unsigned int msgID, CDataBuffer &Data)
 {
 	unsigned char mode;
@@ -4565,6 +4584,7 @@
 	pClient->pDataObject->SetWeaponMode(mode);
 	pClient->UpdateObject();
 }
+
 void MsgStandState(CClient *pClient, unsigned int msgID, CDataBuffer &Data)
 {
 	unsigned char state;
@@ -4572,6 +4592,7 @@
 	pClient->pDataObject->SetStandState(state);
 	pClient->UpdateObject();
 }
+
 void MsgSetSheathed(CClient *pClient, unsigned int msgID, CDataBuffer &Data)
 {
 	pClient->pPlayer->bSheathed = !pClient->pPlayer->bSheathed;
@@ -4586,6 +4607,7 @@
 	}
 	pClient->pPlayer->UpdateObject();
 }
+
 void MsgRoll(CClient *pClient, unsigned int msgID, CDataBuffer &Data)
 {
 	uint32 min;
@@ -4662,6 +4684,7 @@
 	}
 	return;
 }
+
 void MsgCancelAura(CClient *pClient, unsigned int msgID, CDataBuffer &Data)
 {
 	uint32 id;Data>>id;
@@ -4688,7 +4711,7 @@
 
 void MsgRequestRaidInfo(CClient *pClient, unsigned int msgID, CDataBuffer &Data)
 {
-	Debug.Log("Unhandled CMSG_REQUEST_RAID_INFO");
+	Debug.Log("Unhandled CMSG_REQUEST_RAID_INFO");  
 }
 
 // --- PET HANDLERS --- //
Index: TownHall/Packets.cpp
===================================================================
--- TownHall/Packets.cpp	(revision 42)
+++ TownHall/Packets.cpp	(working copy)
@@ -254,51 +254,78 @@
 		switch(*i)
 		{
 		case GOSSIPTYPE_QUEST:
-			pkg << (unsigned long)0;
-			pkg << (unsigned short)0;
+			pkg << (unsigned long)0;     //menuId
+			pkg << (unsigned char)0;      //menuIcon
+			pkg << (unsigned char)0;			//input			
+			pkg << (unsigned long)0; 		//requiredMoney			
 			pkg << "Quests are above!";
+			pkg << (unsigned char)0; 		  //char   // acceptText	- show as accept dialog when clicking on menu item			
 			break;
 		case GOSSIPTYPE_TRADE:
 			pkg << (unsigned long)90;		// 90 = trade
-			pkg << (unsigned short)1;
+			pkg << (unsigned char)1;      //menuIcon
+			pkg << (unsigned char)0;			//input
+			pkg << (unsigned long)0; 		//requiredMoney
 			pkg << "Items for Sale";
+			pkg << (unsigned char)0; 		  //char// acceptText	- show as accept dialog when clicking on menu item
 			break;
 		case GOSSIPTYPE_TRAIN:
 			pkg << (unsigned long)91;		// 91 = train
-			pkg << (unsigned short)3;
+			pkg << (unsigned char)3;
+			pkg << (unsigned char)0;			//input			
+			pkg << (unsigned long)0; 		//requiredMoney			
 			pkg << "Train me";
+			pkg << (unsigned char)0; 		  //char// acceptText	- show as accept dialog when clicking on menu item			
 			break;
 		case GOSSIPTYPE_TAXI:
 			pkg << (unsigned long)92;		// 92 = taxi
-			pkg << (unsigned short)4;
+			pkg << (unsigned char)4;
+			pkg << (unsigned char)0;			//input			
+			pkg << (unsigned long)0; 		//requiredMoney			
 			pkg << "Flight Destinations";
+			pkg << (unsigned char)0; 		  //char// acceptText	- show as accept dialog when clicking on menu item			
 			break;
 		case GOSSIPTYPE_GUILD:
 			pkg << (unsigned long)93;		// 93 = Guild Master
-			pkg << (unsigned short)5;
+			pkg << (unsigned char)5;
+			pkg << (unsigned char)0;			//input			
+			pkg << (unsigned long)0; 		//requiredMoney			
 			pkg << "Guild Management";
+			pkg << (unsigned char)0; 		  //char// acceptText	- show as accept dialog when clicking on menu item			
 			break;
 		case GOSSIPTYPE_TABARD:
 			pkg << (unsigned long)94;		// 94 = Tabard Vendor
-			pkg << (unsigned short)6;
+			pkg << (unsigned char)6;
+			pkg << (unsigned char)0;			//input			
+			pkg << (unsigned long)0; 		//requiredMoney			
 			pkg << "Buy Guild Tabard";
+			pkg << (unsigned char)0; 		  //char// acceptText	- show as accept dialog when clicking on menu item			
 			break;
 		case GOSSIPTYPE_BINDER:
 			pkg << (unsigned long)95;		// 95 = Binder
-			pkg << (unsigned short)5; // CHECKME
+			pkg << (unsigned char)5; // CHECKME
+			pkg << (unsigned char)0;			//input			
+			pkg << (unsigned long)0; 		//requiredMoney			
 			pkg << "Make this inn your home.";
+			pkg << (unsigned char)0; 		  //char// acceptText	- show as accept dialog when clicking on menu item			
 			break;
 		default:
 			pkg << (unsigned long)0;
-			pkg << (unsigned short)0;
+			pkg << (unsigned char)0;
+			pkg << (unsigned char)0;			//input			
+			pkg << (unsigned long)0; 		//requiredMoney			
 			pkg << "No option";
+			pkg << (unsigned char)0; 		  //char// acceptText	- show as accept dialog when clicking on menu item			
 			break;
 		}
 	}
 
 	pkg << (unsigned long)100;
-	pkg << (unsigned short)0;
+	pkg << (unsigned char)0;
+	pkg << (unsigned char)0;			//input	
+	pkg << (unsigned long)0; 		//requiredMoney	
 	pkg << "I'm done talking to you.";
+	pkg << (unsigned char)0; 		  //char// acceptText	- show as accept dialog when clicking on menu item	
 	// Quests! Fixed by nneonneo ^_^
 	std::list<unsigned long> Quests;
 
@@ -329,12 +356,14 @@
 		for(std::list<unsigned long>::iterator q=Quests.begin();q!=Quests.end();q++)
 		{
 			uint32 qid=(*q)&0x7FFFFFFF; // byebye hidden flag
-			pkg << (unsigned long)qid;
+			pkg << (unsigned long)qid;        //q_menuId
+			
 			if((*q)&0x80000000)
-				pkg << (unsigned long)0x03; // Icon
+				pkg << (unsigned long)0x03;     // q_menuIcon
 			else
-				pkg << (unsigned long)0x05; // Icon
-			pkg << (unsigned long)0; // Current
+				pkg << (unsigned long)0x05;     // q_menuIcon
+				
+			pkg << (unsigned long)0;          //q_base_level     //thx RomanRom2
 			if (!DataManager.RetrieveObject((CWoWObject**)&pQuest, OBJ_QUESTINFO, qid))
 				pkg << "Quest not found in DB!";
 			else
Index: TownHall/Player.cpp
===================================================================
--- TownHall/Player.cpp	(revision 42)
+++ TownHall/Player.cpp	(working copy)
@@ -1461,7 +1461,6 @@
 	{
 		CPacket pkg(SMSG_CAST_RESULT);
 		pkg << (unsigned long)7266;
-		pkg << (unsigned char)2;
 		pkg << (unsigned char)SPELL_FAILED_TARGET_DUELING;
 		pClient->Send(&pkg);
 	}
@@ -1472,7 +1471,6 @@
 		{
 			CPacket pkg(SMSG_CAST_RESULT);
 			pkg << (unsigned long)7266;
-			pkg << (unsigned char)2;
 			pkg << (unsigned char)SPELL_FAILED_TARGET_DUELING;
 			pClient->Send(&pkg);
 		}
Index: TownHall/res/TownHall.manifest
===================================================================
--- TownHall/res/TownHall.manifest	(revision 42)
+++ TownHall/res/TownHall.manifest	(working copy)
@@ -6,7 +6,7 @@
     name="Microsoft.Windows.TownHall"
     type="win32" 
 /> 
-<description>SWemu Realm Server Application</description> 
+<description>Pantera Realm Server Application</description> 
 <dependency> 
     <dependentAssembly> 
         <assemblyIdentity 
Index: TownHall/Settings.cpp
===================================================================
--- TownHall/Settings.cpp	(revision 42)
+++ TownHall/Settings.cpp	(working copy)
@@ -24,7 +24,7 @@
 {
 	//Default settings (will be overridden in the loading of settings)
 	max_connections = 10;
-	server_welcome_message = strdup("Welcome to the SWemu Server");
+	server_welcome_message = strdup("Welcome to the TyphoonWoW Server");
 	server_owner = strdup("nneonneo");
 	dbc_path = strdup("data/dbc/");
 	maps_path = strdup("data/maps/");
Index: TownHall/Spell.cpp
===================================================================
--- TownHall/Spell.cpp	(revision 42)
+++ TownHall/Spell.cpp	(working copy)
@@ -194,11 +194,11 @@
 
 void CSpell::SendSpellResult()
 {
-	char buffer[5];
-	memset(buffer,0,5);
-
-	*(unsigned long*)&buffer[0]=SpellID;
-	pClient->OutPacket(SMSG_CAST_RESULT,buffer,5);
+	CPacket pkg;
+	pkg.Reset(SMSG_TARGET_CAST_RESULT);
+	Packets::PackGuid(pkg, pClient->pPlayer->guid, PLAYERGUID_HIGH);
+	pkg << (unsigned long)SpellID;
+	pClient->Send(&pkg);
 }
 
 void CSpell::SendSpellGo()
@@ -354,7 +354,6 @@
 {
 	CPacket pkg(SMSG_CAST_RESULT);
 	pkg << (unsigned long)SpellID;
-	pkg << (unsigned char)2;
 	pkg << (unsigned char)reason;
 	pClient->Send(&pkg);
 }
@@ -363,7 +362,6 @@
 {
 	CPacket pkg(SMSG_CAST_RESULT);
 	pkg << (unsigned long)SpellID;
-	pkg << (unsigned char)2;
 	pkg << (unsigned char)reason;
 	pkg << msg;
 	pClient->Send(&pkg);
Index: TownHall/TownHall.cpp
===================================================================
--- TownHall/TownHall.cpp	(revision 42)
+++ TownHall/TownHall.cpp	(working copy)
@@ -129,7 +129,7 @@
 	time_t endtime;
 	time(&endtime);
 	// puts("Loaded successfully");
-	printf("SWemu server successfully loaded in %.2f seconds!\r\n\r\n", difftime(endtime, starttime));
+	printf("TyphoonWoW server successfully loaded in %.2f seconds!\r\n\r\n", difftime(endtime, starttime));
 	/*	printf("==========================\r\n");
 	printf("SERVER INFO:\r\n");
 	printf("------------\r\n");
Index: TownHall/TownHallDlg.cpp
===================================================================
--- TownHall/TownHallDlg.cpp	(revision 42)
+++ TownHall/TownHallDlg.cpp	(working copy)
@@ -133,15 +133,15 @@
 			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
 		}
 	}
-	SetWindowText("SWemu Emulator");
+	SetWindowText("TyphoonWoW Emulator");
 	// Set the icon for this dialog.  The framework does this automatically
 	//  when the application's main window is not a dialog
 	SetIcon(m_hIcon, TRUE);			// Set big icon
 	SetIcon(m_hIcon, FALSE);		// Set small icon
 
 	// m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
-	m_TrayIcon.Create(NULL,WM_APP+10,_T("SWemu Realm Server"),m_hIcon,IDR_MENU,FALSE,0,0,0,10);
-	Txt_ServerName.SetWindowText("SWemu Server");
+	m_TrayIcon.Create(NULL,WM_APP+10,_T("TyphoonWoW Realm Server"),m_hIcon,IDR_MENU,FALSE,0,0,0,10);
+	Txt_ServerName.SetWindowText("TyphoonWoW Server");
 	rs_started=FALSE;
 	m_hBitmap = (HBITMAP)LoadImage(GetModuleHandle(NULL), "Data\\Design.bin", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
 	if (m_hBitmap == NULL)