Viewing Issue Simple Details Jump to Notes ] Wiki ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0007434 [DCSS] Bug Report major always 2013-08-06 22:29 2013-10-29 03:06
Reporter Nivim View Status public  
Assigned To neil
Priority normal Resolution done  
Status resolved   Product Branch 0.13 ancient branch
Summary 0007434: Fan of Gales pushes monsters through walls.
Description !lm thurl type=uniq noun="the royal jelly" -tv:<158010:>158020 demonstrates how to make it happen: get surrounded in crooked hallway with 1-tile walls to another space, then use decent-evo (>11 in the ttyrec) fan of gales. During my wizmode test to get "Reproducibility: always", I only checked Slime:6 (both before and after TRJ death).
Additional Information
Tags No tags attached.
Attached Files ? file icon 0001-can_pass_through-should-be-true-to-allow-the-blowing.patch [^] (1,168 bytes) 2013-10-28 17:43 [Show Content]

- Relationships
has duplicate 0007639closedneil Royal Jelly is missing, perhaps inside the treasure chamber? 
has duplicate 0007218closedneil Wind drake blasts can push you through walls 

-  Notes
(0023659)
Arrhythmia (reporter)
2013-08-06 22:34

I've also seen wind drakes push PC's through walls, if it's related.
(0024265)
Naruni (reporter)
2013-10-29 00:25

In evoke.cc function wind_blast, there is an iterator which looks for a spot to place the affected actor. If this spot fails some checks, another iterator is called to look for another spot. This iterator uses the failed spot as it's source, which causes any open spot (the other side of a wall) that passes logic checks to be a valid spot and viola! blasting through walls.

I'm working on correcting the source location in the fallback iterator, but I also have to write up some code to ensure the directions actually make sense (we don't want things getting blown backwards towards the wind source).
(0024266)
neil (administrator)
2013-10-29 03:06

Fixed in trunk (0.14-a0-440-gc31db72), thanks! Naruni's first patch here wasn't quite right (it would stop the blast upon hitting an obstacle, instead of pushing the monster around the obstacle). Some discussions on IRC yielded this better approach. Zannick suggests that the code can be simplified, because we really only need to consider two fallback positions.

- Issue History
Date Modified Username Field Change
2013-08-06 22:29 Nivim New Issue
2013-08-06 22:34 Arrhythmia Note Added: 0023659
2013-10-28 17:43 Naruni File Added: 0001-can_pass_through-should-be-true-to-allow-the-blowing.patch
2013-10-29 00:25 Naruni Note Added: 0024265
2013-10-29 02:39 neil Relationship added has duplicate 0007639
2013-10-29 03:06 neil Note Added: 0024266
2013-10-29 03:06 neil Status new => resolved
2013-10-29 03:06 neil Fixed in Branch => 0.14 development branch
2013-10-29 03:06 neil Resolution open => done
2013-10-29 03:06 neil Assigned To => neil
2013-11-01 05:39 neil Relationship added has duplicate 0007218


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