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

Development::Bug Reports Post detailed bug reports and what you would like to see next in the emu here.

Reply
 
Thread Tools Display Modes
  #1  
Old 03-23-2007, 01:37 AM
number6
Sarnak
 
Join Date: Sep 2006
Posts: 62
Default Clicky items recast timer bug and fix

I noticed that items with clicky effects (in my case and most noticeably, the shadowknight epic) ignored the recastdelay field in the items database, so that it was possible to re-click such items incessantly. I worked up a quick fix to this. I don't 100% like it because if the clicky is cancelled (e.g. by ducking during a long cast) the re-use timer is still set, but I can't work out how to access the m_inv variable (thus accessing the inventory and then the original item to get the recast delay) later on once the spell cast is finished - any ideas appreciated. Anyway for now this might be useful:

Code:
--- client_packet.cpp.orig      2007-03-23 15:33:40.000000000 +0000
+++ client_packet.cpp   2007-03-23 15:31:27.000000000 +0000
@@ -2935,6 +2935,16 @@
                        safe_delete(outapp);
                        if ((item->Click.Type == ET_ClickEffect) || (item->Click.Type == ET_Expendable) || (item->Click.Type == ET_EquipClick) || (item->Click.Type == ET_ClickEffect2))
                        {
+                               // here is where we can check recast times
+                               if (item->RecastDelay > 0) {
+                                       // check to see if it's in progress
+                                       if(!CastToClient()->GetPTimers().Expired(&database, pTimerSpellStart + item->Click.Effect, false)) {
+                                               InterruptSpell(item->Click.Effect);
+                                               Message(13,"Item recast time not yet met, %d seconds left.",CastToClient()->GetPTimers().GetRemainingTime(pTimerSpellStart + item->Click.Effect));
+                                               return;
+                                       }
+                                       CastToClient()->GetPTimers().Start(pTimerSpellStart + item->Click.Effect, item->RecastDelay);
+                               }
                                CastSpell(item->Click.Effect, castspell->target_id, castspell->slot, item->CastTime, 0, 0, castspell->inventoryslot);
                        }
                        else
Cheers

Paul.
Reply With Quote
  #2  
Old 04-01-2007, 08:13 PM
number6
Sarnak
 
Join Date: Sep 2006
Posts: 62
Default

Does anyone read this forum? I'm a bit disheartened by the "1 views" tag that I'm seeing :( Should I send code contributions somewhere else?

Paul.
Reply With Quote
  #3  
Old 04-01-2007, 09:28 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

I read it.. in fact I'm pretty sure I wrote out a reply at one point not sure why I never posted it.. anyway. I had it fixed after initially reading this, tho I do it a bit differently, actually checking for the timer type on the item instead of spell timer.
Reply With Quote
  #4  
Old 04-02-2007, 07:55 AM
number6
Sarnak
 
Join Date: Sep 2006
Posts: 62
Default

Thanks

Having looked at the forums a bit more, I have a suspicion that the forum software is putting the number of posts in the thread in where it should be showing the number of views, which is a bit strange!

Cheers

Paul.
Reply With Quote
  #5  
Old 07-01-2007, 05:23 PM
minbus
Fire Beetle
 
Join Date: Jul 2004
Location: Nowhere
Posts: 1
Default A little Help

I am new to all of this and I was wanting to enable the timers on the items, I am confused as to where this code is placed. is it in the world.exe or zone.exe or do I just have to creat another file and place it in a directory somewhere.

I am hoping that it is the create a file and place in a directory fix
Reply With Quote
  #6  
Old 07-01-2007, 08:00 PM
moydock
Discordant
 
Join Date: Jun 2005
Posts: 286
Default

You can't fix it unless you know how to compile and such, wait for the next build that has the fix.
__________________
-Croup (the rogue)
Creator of Pandemic (PvP-Racewars)
Reply With Quote
  #7  
Old 01-23-2008, 07:36 PM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

I am sorry to bump this thread, but I looked at log files and cannot seem to find any mention about recast issue been fixed (unless you simply forgot to add it to the log file)

another thing, if you could tell what is the diffirence bitween diffirent recast types? I seen types 1, 6 and 8 on most items, but have no idea what importance they have.

thanks =)
Reply With Quote
  #8  
Old 04-12-2016, 07:31 PM
Furniture
Hill Giant
 
Join Date: Aug 2012
Posts: 205
Default

This is still happening with my custom item. I guess the fix never made it in?
Reply With Quote
  #9  
Old 04-12-2016, 09:53 PM
N0ctrnl's Avatar
N0ctrnl
Discordant
 
Join Date: Jan 2007
Posts: 443
Default

Probably best to make a new post with details and questions. Bumping posts from 8 years ago isn't all that great an idea.
__________________
Ender - Lead GM/Developer
Vegarlson Asylum Server - http://www.vegarlson-server.org/
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 10:43 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