Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Feature Requests

Development::Feature Requests Post suggestions/feature requests here.

Reply
 
Thread Tools Display Modes
  #1  
Old 10-12-2006, 05:10 PM
bufferofnewbies
Hill Giant
 
Join Date: Dec 2005
Location: Lurking in KY
Posts: 239
Default

I'm not too good with code myself, but perhaps a check for:
1. if the corpse is left by a player, and/or
2. if the corpse is res'able for xp gain
before it continues with the delete commands in each of those places?

I'm not sure what kind of impact that would make on the server load, although.
Reply With Quote
  #2  
Old 10-13-2006, 01:28 AM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

I awoke this morning from a nightmare about this feature request. I was suddenly thinking, what about systems with PvP Loot 1 Item enabled? If corpses have no gear left on them, this would be impossible. So it'll likely be either one way or the other. I doubt PVP servers want their players spawning with gear loaded anyway, so it may not be a problem at all.

I am having compile issues already by just simple replacing the if(leavecorpses) with the switch(leavecorpses), and not sure why. Keep the ideas coming. I'm hoping this is as cut & dry as it appears, but you're right - something deeper may be effected by adding this functionality.
Reply With Quote
  #3  
Old 10-14-2006, 07:30 AM
LostZaphod
Sarnak
 
Join Date: May 2006
Posts: 43
Default Corpse Loot Fix

In PVP no experence is lost from a PVP kill, Here is a Unified Diff file of PlayerCorpse.cpp. (EQEmu-0.7.0-857) The bottom line is all sections that delete corpses need to be removed except for the finished loot section.

Code:
Python 2.4.3 (#69, Mar 29 2006, 17:35:34) [MSC v.1310 32 bit (Intel)] on win32
Tk is available, Tk-macros are enabled
TCL is available, shell is enabled : help (select and press enter)
cvs diff -u -- PlayerCorpse.cpp (in directory C:\cvs\EQEmuCVS\Source\zone\)
Index: PlayerCorpse.cpp
===================================================================
RCS file: /cvsroot/eqemulator/EQEmuCVS/Source/zone/PlayerCorpse.cpp,v
retrieving revision 1.15.2.12
diff -u -r1.15.2.12 PlayerCorpse.cpp
--- PlayerCorpse.cpp	9 Jul 2006 20:02:37 -0000	1.15.2.12
+++ PlayerCorpse.cpp	14 Oct 2006 19:17:32 -0000
@@ -98,13 +98,13 @@
 	pc->beard = dbpc->beard;
 	pc->Rezzed(rezzed);
 	pc->become_npc = false;
-	if (pc->IsEmpty()) {
-		safe_delete(pc);
-		return 0;
-	}
-	else {
+	//if (pc->IsEmpty()) {
+	//	safe_delete(pc);
+	//	return 0;
+	//}
+	//else {
 		return pc;
-	}
+	//}
 }
 
 // To be used on NPC death and ZoneStateLoad
@@ -336,9 +336,10 @@
 
 Corpse::~Corpse() {
 	if (p_PlayerCorpse) {
-		if (IsEmpty() && dbid != 0)
-			database.DeletePlayerCorpse(dbid);
-		else if (!IsEmpty() && !(p_depop && dbid == 0))
+		//if (IsEmpty() && dbid != 0)
+		//	database.DeletePlayerCorpse(dbid);
+		//else if (!IsEmpty() && !(p_depop && dbid == 0))
+		if (!IsEmpty() && !(p_depop && dbid == 0))
 			Save();
 	}
 //	safe_delete(NPCTypedata);
@@ -366,10 +367,10 @@
 }
 
 bool Corpse::Save() {
-	if (IsEmpty()) {
-		Delete();
-		return true;
-	}	
+	//if (IsEmpty()) {
+	//	Delete();
+	//	return true;
+	//}	
 	if (!p_PlayerCorpse)
 		return true;
 	if (!pIsChanged)

***** CVS exited normally with code 1 *****
Reply With Quote
Reply

Thread Tools
Display Modes

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 06:41 AM.


 

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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3