Viewing Issue Simple Details Jump to Notes ] Wiki ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0007785 [DCSS] Patches minor N/A 2013-11-26 07:32 2016-01-30 02:26
Reporter Jarlyk View Status public  
Assigned To wheals
Priority normal Resolution done  
Status closed   Product Branch 0.13 ancient branch
Summary 0007785: Multi-Zap Indicators in Tiles
Description While experimenting with the Shock spell, I thought it would be really nice if there were a visual indicator for tiles that would 'zap' more than once when you bounce the spell off walls. This gave me an excuse to take a look at the code, so I dug into it. I've made a patch that accomplishes this by extending the aff_type in target.h with an AFF_MULTIPLE and modifying targetter_beam::is_affected to return this if a tile is affected more than once.

One major issue though is that I had to modify bolt::do_fire in beam.cc to allow reporting of repeated visits to the same tile. The resulting path_taken gets used in a lot of places and I'm not sure if having these repeated tiles in the path for bouncing beams will cause problems elsewhere.

If this does have undesirable side effects, I have a few thoughts on two possible solutions:

- Create a method that exposes path_taken as an iterator that excludes repeated tiles, like 'path_taken_unique' and update conflicting references to use this new method.
- Modify path_taken to be a vector of a new path_entry type, with the coord contained within along with other information, such as whether a tile was 'visited twice' by a bouncing beam. This could allow for adding other interesting details about the beam's path later for consumption by outside code.

One other side note is that I had to modify the MSVC project file to set the proper paths for my Git/Perl environment and did not intend to commit that, but I'm a bit new to Git (more used to Mercurial.)
Additional Information
Tags No tags attached.
Attached Files ? file icon MultiZap Indicator.patch [^] (9,496 bytes) 2013-11-26 07:32 [Show Content]

- Relationships
child of 0007071resolvedwheals Numerous issues with Targetting, Tracers, Clouds and Breaths 

-  Notes
(0029904)
wheals (administrator)
2015-12-02 22:17

Added in https://github.com/crawl/crawl/commit/71fc851c24e3, [^] thanks!
(0029905)
Jarlyk (reporter)
2015-12-03 03:04

Playing on CSZO and the multi-zap tile isn't showing up (instead it shows a blank space where multi-zap occurs.) Maybe tiles cache didn't get updated when the trunk was built? (I vaguely recall that being a thing.)

In any case, cool to see my botched Git patch managed to turn into something useful. :)
(0029906)
wheals (administrator)
2015-12-03 04:32

Thanks for pointing that out; turns out it needs more code to work in Webtiles. Should be working on next recompile now.

- Issue History
Date Modified Username Field Change
2013-11-26 07:32 Jarlyk New Issue
2013-11-26 07:32 Jarlyk File Added: MultiZap Indicator.patch
2013-11-30 19:44 neil Relationship added child of 0007071
2015-12-02 22:17 wheals Note Added: 0029904
2015-12-02 22:17 wheals Status new => resolved
2015-12-02 22:17 wheals Fixed in Branch => 0.18 development branch
2015-12-02 22:17 wheals Resolution open => done
2015-12-02 22:17 wheals Assigned To => wheals
2015-12-03 03:04 Jarlyk Note Added: 0029905
2015-12-03 04:32 wheals Note Added: 0029906
2016-01-30 02:26 Jarlyk Status resolved => closed


Mantis 1.1.8[^]
Copyright © 2000 - 2009 Mantis Group
Powered by Mantis Bugtracker