Issue information

Issue ID
#667
Status
Fixed
Severity
Medium
Started
Hercules Elf Bot
Dec 21, 2007 15:26
Last Post
Hercules Elf Bot
Apr 4, 2012 7:17
Confirmation
N/A

Hercules Elf Bot - Dec 21, 2007 15:26

Originally posted by [b]theultramage[/b]
http://www.eathena.ws/board/index.php?autocom=bugtracker&showbug=667

(originally reported in ... <<find the topic plzzz>> ...)

The guild master "aura" (four guild skills that grant bonuses to anyone standing next to the guild master) implementation in eathena is totally wrong.
It is supposed to trigger immediately after a char appears in the area of effect, and expire ~1 second after walking out.
Instead, it only triggers when the guild leader himself moves, scanning the surrounding cells each time. This means if someone walks next to a standing guild leader, nothing happens.

This is a defect that greatly lowers the usability of this thing in practical situations (basically now you can only use it to assist your brewer/forger (IMG:style_emoticons/default/sleep.gif)). Skotlex once mentioned this could be easily corrected by giving it an invisible ground skill implementation that moves with the GL. What prompted me to write this report is, because I discovered r1192 which shows that long time ago, the thing did use such a method. Contrary to this approach, jAthena uses the heavy, "scan area" method, for every player walk action (not the way to go).

Hercules Elf Bot - Dec 21, 2011 4:14

Originally posted by [b]Ind[/b]
I propose we remove that check on unit_walktimer stuff, create a timer attached to every guild master (as long as battle conf for that guild aura stuff apply) and have that timer iterate every 1s, getting nearby members and applying the buff according to settings, in my opinion it's better performance-wise than re-running that everytime the guild master moves (being he can move, on average, ~5 cells a second depending on his moving speed). thoughts?

This post has been edited by Ind on Dec 31, 2011 17:04

Hercules Elf Bot - Mar 18, 2012 1:34

Originally posted by [b]Ind[/b]
Added official implementation in [rev=15707]