Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Server Code Submissions

Reply
 
Thread Tools Display Modes
  #1  
Old 04-14-2009, 12:07 PM
realityincarnate
Developer
 
Join Date: Dec 2007
Posts: 122
Default safe fall

Currently, safe fall skill ups are only checked when fall damage is actually taken. I changed it so that the server makes a check whenever it receives the safe fall opcode from the client. It looks like the SOF opcode is already in place, so this should work fine there too.

Code:
Index: utils/patch_Titanium.conf
===================================================================
--- utils/patch_Titanium.conf	(revision 432)
+++ utils/patch_Titanium.conf	(working copy)
@@ -324,7 +324,7 @@
 OP_RezzComplete=0x4b05
 OP_RezzRequest=0x1035
 OP_RezzAnswer=0x6219
-OP_SafeFallSuccess=0x0000
+OP_SafeFallSuccess=0x3b21
 OP_Shielding=0x3fe6
 OP_TestBuff=0x6ab0		#/testbuff
 OP_Track=0x5d11			# ShowEQ 10/27/05
Index: zone/client_packet.cpp
===================================================================
--- zone/client_packet.cpp	(revision 432)
+++ zone/client_packet.cpp	(working copy)
@@ -5764,9 +5808,7 @@
 	int damage = ed->damage;
 
 	if (ed->dmgtype == 252) {
-		if(HasSkill(SAFE_FALL)) //safe fall is done client side, we don't reduce dmg here
-			CheckIncreaseSkill(SAFE_FALL); //but we do check to see if we get a skill up
-
+		
 		switch(GetAA(aaAcrobatics)) { //Don't know what acrobatics effect is yet but it should be done client side via aa effect.. till then
 		case 1:
 			damage = damage * 95 / 100;
@@ -6516,8 +6588,10 @@
 {
 }
 
-void Client::Handle_OP_SafeFallSuccess(const EQApplicationPacket *app)
+void Client::Handle_OP_SafeFallSuccess(const EQApplicationPacket *app)	// bit of a misnomer, sent whenever safe fall is used (success of fail)
 {
+	if(HasSkill(SAFE_FALL)) //this should only get called if the client has safe fall, but just in case...
+		CheckIncreaseSkill(SAFE_FALL); //check for skill up
 }
 
 void Client::Handle_OP_Heartbeat(const EQApplicationPacket *app)
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 05:12 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3