1. First bug cannot ever occured in regular game, because the only pre-generated level where you can stand on very board of area is the Phobos Base Entry, and game engine prevents you to reach the board on every other level, and dlevel of item with Whilrwind is 16.
If you stand in any corner or on the very bottom of the map and activate Whirlwind, you'll get error "Access violation" in the error.log .
----------------------------------------------------------------------
Timestamp : 13.07.2013 4:06:18
Error level : ERROR
Message : Lua hook OnAltFire caught EAccessViolation!
Call path : items[udragon].OnAltFire
Call params : (<object>)
Error message : Access violation
----------------------------------------------------------------------
Obviously, area of attack isnt checker for valid coordinates.
2. Description of whirlwind attack in the wiki states:
Whirlwind requires that the player's tactics are cautious, and it tires the player out. Attacking with whirlwind gives the player a normal melee attack against each of the eight surrounding spaces. The total time cost is the cost of 8 melee attacks minus 5.0s.
Since 0.9.9.5 the flag ALT_WHIRLWIND was removed, and items that had this flag in .altfire, now have ALT_SCRIPT parameter. so i create a module and modified altfire script to check this statement:
do
local udragon_alt = items.udragon.OnAltFire
items.udragon.OnAltFire = function (...)
core.log( " whirwlind start =" .. player.scount )
local result = udragon_alt(...)
core.log( " whirwlind end=" .. player.scount )
player.tired = false
return(result)
end
end
So, I discovered, that Whrilwind ALWAYS takes 3.0s, regardless of points in Finesse trait, being berserked, Blademaster trait, or Scout class selected.
3. Obvious bug/exploit: I can spawn both unspeakable items in modules, whether to precreate it in inventory, spawn to floor or get trhough RNG (raising weight and decreasing dlevel).