diff options
author | Hello TMW <hello@themanaworld.org> | 2025-07-02 02:34:24 +0000 |
---|---|---|
committer | Hello TMW <hello@themanaworld.org> | 2025-07-02 02:34:24 +0000 |
commit | d2592e8c8bf421793ea54987a6605597f0848f4c (patch) | |
tree | 32ff539fa59f0a2a7a89a64777957c041d933c1f /git/hooks | |
parent | d6fcab7872a709f6978efb690dfa32b75d9a3c11 (diff) | |
download | serverdata-d2592e8c8bf421793ea54987a6605597f0848f4c.tar.gz serverdata-d2592e8c8bf421793ea54987a6605597f0848f4c.tar.bz2 serverdata-d2592e8c8bf421793ea54987a6605597f0848f4c.tar.xz serverdata-d2592e8c8bf421793ea54987a6605597f0848f4c.zip |
Summon spells refactor (factor out func to summon N beings in radius)
Rationale behind refactor:
* Reduces spells LoC and "spaghetti" by factoring out duplicate code to
summon N beings within radius to reusable function.
* Single summon() wrapper used in spells would allow to do upcoming summon()
builtin call prototype change MUCH easier.
* Trying to spread mobs within given radius if possible.
* If not possible (collision), falls back to given X,Y (usually player
position at cast time so collision free).
* Fixes bugs where summons failed to appear due to placement on collisions.
* Full version would try to mimic monster() of Herc, likely most logic thing
around (no idea why Herc's summon() is dumbed down vs TMWA or monster())
* Part of puzzle to enable more intelligent "big" summons, etc.
This version of refactor is non-intrusive and atomic: uses existing TMWA
summon() builtin and can coexist with non-refactored spells.
Approved-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl>
Diffstat (limited to 'git/hooks')
0 files changed, 0 insertions, 0 deletions