Dungeon Crawl Stone Soup Tracker - DCSS
Viewing Issue Advanced Details
7361 Bug Report tweak have not tried 2013-07-19 05:59 2013-08-05 14:45
inertia709 Local  
KiloByte Windows  
normal Tiles  
resolved 0.13 ancient branch  
done  
none    
none 0.13 ancient branch  
0007361: Djinni take full damage from shatter
Jorgrun cast a shatter that did 78 damage to my DjBe, while the maximum damage of shatter is 3d71.67 at full spell power. Thus if a flyer were really unlucky and Jorgrun had 200 spell power, this would do at most 3*71.67/3=71.67 damage, and so Djinni cannot be getting the flying damage reduction for hovering. They should at least get some sort of reduction since they are not directly touching the ground.
Issue History
2013-07-19 05:59 inertia709 New Issue
2013-08-05 14:21 DracheReborn Note Added: 0023655
2013-08-05 14:45 KiloByte Note Added: 0023656
2013-08-05 14:45 KiloByte Status new => resolved
2013-08-05 14:45 KiloByte Fixed in Branch => 0.13 development branch
2013-08-05 14:45 KiloByte Resolution open => done
2013-08-05 14:45 KiloByte Assigned To => KiloByte

Notes
(0023655)
DracheReborn   
2013-08-05 14:21   
Looks like you're right. Shatter only checks for the airborne() flag, which Djinn don't get (Djinn hovering is special cased in the code instead). It seems reasonable that Djinn should get the same damage reduction though.

Simple patch:

In spl-damage.cc, function _shatter_player_dice(), line 1393

- else if (you.airborne())
- return 1;

+ else if (you.airborne() || you.species == SP_DJINNI)
+ return 1;
(0023656)
KiloByte   
2013-08-05 14:45   
Actually, djinn can touch the ground, currently only when transformed into a tree. So checking the player's species is not enough. Still, thanks for looking into it.

Fixed.