|Anonymous | Login | Signup for a new account||2019-02-20 17:37 CET|
|Main | My View | View Issues | Change Log | Wiki | Tavern | News|
|Viewing Issue Simple Details|
|ID||Category||Severity||Reproducibility||Date Submitted||Last Update|
|0008124||[DCSS] Patches||minor||N/A||2014-02-09 07:58||2015-04-11 07:27|
|Status||closed||Product Branch||0.16 ancient branch|
|Summary||0008124: Fix various issues with spectral weapon, battlesphere, and grand_avatar|
This patch is three commits to address 3 problems with these spells. It fixes the issue in 0008111 as well as the issue Sar reported in 0007474, in addition to other problems related to these spells.
The first commit makes spectral weapon and battlespheres set their owners as foe/target for seek purposes when not engaged with a target so that they correctly track their summoning monster. This addresses the issue Sar reported in 0007474. This commit also properly "leashes" spectral weapons to their owner, introduces a mons_is_avatar() function for the checks common to these three spells (suggestions for a name other than "avatar" welcome), and allows these avatars to always know the location of their owner. Hence they will try to seek their owner if the owner leaves their LOS, with the exception of grand avatar which circumvents normal movement in its current implementation.
The second commit introduces some methods to the monster class to allow setting avatar alignments to friendly/hostile when their owner's alignment changes. With these and the necessary calls for ENCH_CHARM events and angering a sufficiently intelligent ally, the three avatar types all turn friendly/hostile when their summoners do.
The third commit removes the monster weapon skill penalty for non-fighters, which is currently only used when monsters cast spectral weapon. For Asterion (the only monster caster of spectral weapon), it was resulting in weapons with half his HD that had quite poor to-hit. Damage isn't affected by this change, and spectral weapons still can't do a lot, but now they can get enough hits in to be relevant to the fight. We can add in a bonus to monster weapon skill for M_FIGHTER monsters if the need arises in the future.
|Tags||No tags attached.|
avatar_fixes_gc7bb7542.patch [^] (22,198 bytes) 2014-02-09 07:58 [Show Content]
avatar_align_g6f603d6.patch [^] (7,991 bytes) 2014-02-13 07:17 [Show Content]
avatar_align2_gb78098f4.patch [^] (9,480 bytes) 2014-02-14 02:12 [Show Content]
|Besides enslavement, there's also discord, pacification, and possibly other things.|
|Taking the other two commits, though (0.14-a0-2510-g5c913e8 and 0.14-a0-2511-ga0d116c), thanks! Could you take a look over the battlesphere bugs in mantis and indicate which can be closed now?|
Reworked the alignment commit based on our discussion. There's a single monster::align_avatars() method, and I've added calls to in in mons_att_changed() and in the special-case of ENCH_CHARM (which sets attitude to hostile and doesn't call mons_att_changed(), so I call the method there directly). For monsters changing alignment to any form of neutral attitude, they lose their avatars. Added a function to terminal grand avatars, and the fix for the setting of ENCH_GRAND_AVATAR always on the caster is still there. I also make it not set that enchantment on any kind of avatar.
Tested with enslavement, needles of frenzy/discord, and elyv pacification.
|Regarding other battlesphere bugs, there's 0006697, which I'm not able to duplicate. I tried tele port and wiz mode move, in both cases the recast recalled the battlesphere, gave it a charge, and it stayed by my side. The other battlesphere bugs don't look related to the issues in this patch.|
Uploaded avatar_align2_gb78098f4.patch which removes avatars when a monster's soul is enslaved and makes the calls to mons_att_changed() for the instances when eldritch tentacles go neutral/hostile (the only in-game affect of this is that it makes them break constriction). This commit adds monster::remove_avatars(), which is used by ::align_avatars() as necessary and in the yred enslave case.
I've tested it with soul enslave for all three avatar types and also tested malign gateway to make sure it isn't broken.
|The final cleaned up commit was merged in 0.14-a0-2725-g8ffe610, marking this resolved.|
|2014-02-09 07:58||gammafunk||New Issue|
|2014-02-09 07:58||gammafunk||File Added: avatar_fixes_gc7bb7542.patch|
|2014-02-09 17:35||neil||Note Added: 0025240|
|2014-02-09 17:48||neil||Note Added: 0025245|
|2014-02-09 17:49||neil||Relationship added||related to 0008111|
|2014-02-13 07:17||gammafunk||File Added: avatar_align_g6f603d6.patch|
|2014-02-13 07:30||gammafunk||Note Added: 0025298|
|2014-02-13 07:36||gammafunk||Note Added: 0025299|
|2014-02-14 02:12||gammafunk||File Added: avatar_align2_gb78098f4.patch|
|2014-02-14 02:18||gammafunk||Note Added: 0025310|
|2014-02-26 19:08||gammafunk||Note Added: 0025425|
|2014-02-26 19:08||gammafunk||Status||new => resolved|
|2014-02-26 19:08||gammafunk||Fixed in Branch||=> 0.14 development branch|
|2014-02-26 19:08||gammafunk||Resolution||open => done|
|2014-02-26 19:08||gammafunk||Assigned To||=> gammafunk|
|2015-04-11 07:27||gammafunk||Status||resolved => closed|
|Mantis 1.1.8[^] Copyright © 2000 - 2009 Mantis Group|