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

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

Reply
 
Thread Tools Display Modes
  #1  
Old 06-11-2014, 02:25 AM
Drajor's Avatar
Drajor
Developer
 
Join Date: Nov 2012
Location: Halas
Posts: 355
Default Corpse::become_npc - Purpose?

Hiyas just wondering if anyone knows what purpose Corpse::become_npc has? I noticed that it is only ever assigned as false. Perhaps it is part of some unfinished feature?

EDIT:

Also Corpse::loot_cooldown_timer .. At the moment is appears to stop anyone (even valid looters) from looting any items off the corpse within 10 ms of the corpse being created. No comments on why this is the case and I am curious.
__________________
Drajor regards you indifferently -- what would you like your tombstone to say?
Reply With Quote
  #2  
Old 06-11-2014, 02:36 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

The cool-down timer is likely to prevent desyncs/exploits/crashes.

No idea on the become_npc thing..unless there's a spell that let's you reanimate corpses
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #3  
Old 06-11-2014, 02:57 PM
demonstar55
Demi-God
 
Join Date: Apr 2008
Location: MA
Posts: 1,164
Default

I'm assuming it's related to the GM/guide command /becomenpc, but that doesn't really work that well sadly.
Reply With Quote
  #4  
Old 06-11-2014, 11:53 PM
Drajor's Avatar
Drajor
Developer
 
Join Date: Nov 2012
Location: Halas
Posts: 355
Default

Thanks I will have a look at /becomenpc. The 10ms delay is really strange because I don't even get that low latency running a server locally. Tonight I might try to dig back through the svn history to discover when it was added.
__________________
Drajor regards you indifferently -- what would you like your tombstone to say?
Reply With Quote
  #5  
Old 06-12-2014, 12:18 AM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,742
Default

I'd guess there is/was a race condition somewhere and the delay changed the timing enough to hide it.
Reply With Quote
  #6  
Old 06-12-2014, 04:20 AM
Drajor's Avatar
Drajor
Developer
 
Join Date: Nov 2012
Location: Halas
Posts: 355
Default

It was introduced by KimmySprite in rev 957 (here) as 'Anti-cheat stuff.' and at that point a 200ms delay.
Changed to 100ms in rev 1357 by DerisionEQ with no explanation.
Changed to 10ms in rev 1498 by KimmySprite with no explanation.

I feel like a detective but now I know where it came from at least.
__________________
Drajor regards you indifferently -- what would you like your tombstone to say?
Reply With Quote
  #7  
Old 06-12-2014, 01:16 PM
demonstar55
Demi-God
 
Join Date: Apr 2008
Location: MA
Posts: 1,164
Default

You're not a real detective until you start reading through CVS commits!
Reply With Quote
  #8  
Old 06-12-2014, 03:28 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

It's not likely that you can use the interface to achieve a less than 10ms transaction..but, people using MQ2 certainly can.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #9  
Old 06-12-2014, 10:09 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

People had MQ addons that looted everything automatically instantly. Which is why we introduced the delay. Later we found that the delay was causing problems with auto loot functions in the newer clients (it was just too long) and reduced it.

Becomenpc hasn't worked for a long time, most of the code is horribly broken/removed but some still lingers.
Reply With Quote
  #10  
Old 06-13-2014, 07:36 AM
Drajor's Avatar
Drajor
Developer
 
Join Date: Nov 2012
Location: Halas
Posts: 355
Default

MQ... Makes sense. Thanks for clearing it up KLS.
__________________
Drajor regards you indifferently -- what would you like your tombstone to say?
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 11:48 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 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3