Project 1999

Project 1999 (/forums/index.php)
-   Bugs (/forums/forumdisplay.php?f=6)
-   -   Game Mechanics: Archery (all ranged attacks?) non-functional near max range (/forums/showthread.php?t=163476)

Ciroco 08-29-2014 12:42 AM

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.

kaev 08-29-2014 12:35 PM

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.

Zaela 08-29-2014 02:26 PM

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.

Haynar 08-29-2014 03:05 PM

Quote:

Originally Posted by Zaela (Post 1596790)
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

Zaela 08-29-2014 03:29 PM

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.

Zaela 08-30-2014 12:44 AM

Quote:

Originally Posted by Zaela (Post 1596913)
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.

Haynar 09-02-2014 09:11 AM

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

H

Zaela 09-02-2014 03:09 PM

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.

Haynar 09-02-2014 03:21 PM

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

H

lecompte 09-02-2014 03:24 PM

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.


All times are GMT -4. The time now is 07:25 PM.

Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.