Project 1999

Go Back   Project 1999 > Server Issues > Bugs

Reply
 
Thread Tools Display Modes
  #1  
Old 08-29-2014, 12:42 AM
Ciroco Ciroco is offline
Sarnak


Join Date: Apr 2013
Posts: 366
Default Archery (all ranged attacks?) non-functional near max range

Occasionally when you attempt to fire an arrow near whatever your maximum archery range is, the ranged attack hotkey will depress/gray out, but no arrow will fire. This is separate from the "Error: timer not up" message.

I'm not entirely sure what's causing the problem, but it seems that I've been able to replicate it on mobs with large hitboxes (dragons, giants, etc). Since a patch or two ago, it has become impossible to hit dragons at >300 range.
Last edited by Ciroco; 08-29-2014 at 12:44 AM..
Reply With Quote
  #2  
Old 08-29-2014, 12:35 PM
kaev kaev is offline
Planar Protector


Join Date: Sep 2011
Posts: 1,909
Default

Yeah, it is annoying the way the server disagrees with the client on range calcs.

There's a similar issue with spells when Z-axis is involved, cast will happen and then get interrupted at end.
Reply With Quote
  #3  
Old 08-29-2014, 02:26 PM
Zaela Zaela is offline
Sarnak


Join Date: Jul 2014
Posts: 319
Default

The fact that you mentioned big mobs with large hitboxes made me think that the range calc is supposed to be "edge to edge" rather than "center to center". Fired up my test server and tried it out: yep, the ranged attack button will grey out at much further distances against bigger targets. Can grey it out at ~190 distance with a 100 range bow and 25 range arrow against a size 50 target (dragons are size 25).

I'm surprised if that wasn't figured out a long time ago. There's a comment in the EQEmu code that kind of hints at it...
Code:
float range = RangeItem->Range + AmmoItem->Range + 5; //Fudge it a little, client will let you hit something at 0 0 0 when you are at 205 0 0
5 extra range would probably be enough to account for it against small targets.

Can't necessarily be sure that this is actually classic and not something that was introduced in later clients... but it's a pretty fundamental thing so it probably wouldn't have changed since the early days. And it makes sense; avoids the situation where a short range throwing weapon can only hit a huge dragon from within melee range and such.
Reply With Quote
  #4  
Old 08-29-2014, 03:05 PM
Haynar Haynar is offline
Developer

Haynar's Avatar

Join Date: Oct 2009
Location: West of the Mississippi
Posts: 2,955
Default

Quote:
Originally Posted by Zaela [You must be logged in to view images. Log in or Register.]
I'm surprised if that wasn't figured out a long time ago. There's a comment in the EQEmu code that kind of hints at it...
So, figure it out then? Might vary by target size and size of shooter.

H
__________________
Haynar <Millennial Snowflake Utopia>
Reply With Quote
  #5  
Old 08-29-2014, 03:29 PM
Zaela Zaela is offline
Sarnak


Join Date: Jul 2014
Posts: 319
Default

I assume it just adds the final range from the auto attack range calc on top or something like that. Will fiddle around with it a bit I guess.
Reply With Quote
  #6  
Old 08-30-2014, 12:44 AM
Zaela Zaela is offline
Sarnak


Join Date: Jul 2014
Posts: 319
Default

Quote:
Originally Posted by Zaela [You must be logged in to view images. Log in or Register.]
I assume it just adds the final range from the auto attack range calc on top or something like that.
Seeming pretty consistent with that so far. Size of both mobs influences it; sizes less than 8 are all the same for the primary part of calculation, but not the abs height difference part; ranges from +16 at minimum to +75 at maximum, consistent with a dump someone was kind enough to show me and a similar "GetMeleeRange" func in the mq2 source.

Pulling out whatever math you've got in Mob::CombatRange or equiv and slapping it on top of the bow + arrow ranges (or throwing whatever, didn't test that though) should be enough for a quick fix, probably.
Reply With Quote
  #7  
Old 09-02-2014, 09:11 AM
Haynar Haynar is offline
Developer

Haynar's Avatar

Join Date: Oct 2009
Location: West of the Mississippi
Posts: 2,955
Default

Will see if I can find the function in the client. Might be able to match it up exact.

H
__________________
Haynar <Millennial Snowflake Utopia>
Reply With Quote
  #8  
Old 09-02-2014, 03:09 PM
Zaela Zaela is offline
Sarnak


Join Date: Jul 2014
Posts: 319
Default

The prettied-up dump I got looked like this... http://pastebin.com/vBShmVHc

Where "LoadAvatarHeight" returns size * 0.6f (confirmed through testing that each point of size difference is worth +0.6 range), and I suspect one of the two floats multiplied by "MultiMeleeRangeVars" is size again which would put the other typically in the vicinity of 1.2875... although it's not a constant so it may well vary (by race?). Dunno.
Reply With Quote
  #9  
Old 09-02-2014, 03:21 PM
Haynar Haynar is offline
Developer

Haynar's Avatar

Join Date: Oct 2009
Location: West of the Mississippi
Posts: 2,955
Default

That looks like decompiled client exe. I can use stuff in that to find it if its same in titanium.

H
__________________
Haynar <Millennial Snowflake Utopia>
Reply With Quote
  #10  
Old 09-02-2014, 03:24 PM
lecompte lecompte is offline
Planar Protector


Join Date: Mar 2012
Location: Down wind from RnF, 10x showers a day
Posts: 1,101
Default

I've had this problem for a while and it is pretty consistent. Easy to replicate by walking towards a mob and spamming bow... button will grey but arrow won't shoot, no arrow consumed but you have to wait for refresh on bow.

Let me know if I can provide anything to assist.
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:47 AM.


Everquest is a registered trademark of Daybreak Game Company LLC.
Project 1999 is not associated or affiliated in any way with Daybreak Game Company LLC.
Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.