- Fix full reinforced windows using the old description
- Add a new brokenup var for the window's Destroy() call. Defaults to
0, if 1 then the window will shatter into shards and rods (the old
behavior caused any window deleting to shatter them)
- Changes to all files that called Destroy() on windows to use this new
behavior
That code was old and fucky, goddamn
- Span, formatting, newline, visible_message, yeah
- Separate sprites for window panes and full windows. Might need a bit
more refining still, but that's that
- Remove deprecated commented silicate code. If anyone ever wants to
include something akin to silicate, they would benefit from just
recoding it from scratch. An item that adds health and potentially
changes sprite color can't be that hard to make
- Reduce normal window health by 4 to 10. Why would you use plain
windows
- Remove stupid paths that caused shitty inheritance. window/basic and
window/full/basic were dumb as fucking shit and no longer exist (both
transferred to their respective tree parent, for whatever variables
needed transplating, so 2-3). All full window types under full/ all
reinforced window types under reinforced/, all in that order
- Add in more examine() information (construction state and health)
- Add in healthcheck() to replace destroy(), hit() and all that logging
and variable juggling bullshit in about every proc where the window can
be damaged
- ex_act(), blob_act(), meteorhit() now deplete health only and no
longer magically delete or Destroy() windows. Looks a bit ugly on ex_act
3 since reinforced windows can't be destroyed but grilles always are,
and plasma windows still don't block explosions even if they're now
almost bomb-proof, but that's progress
- Remove window damage on passive grab window "slam", massively increase
mob damage on neck/kill window slam (if you let yourself get grabbed
that far, you deserve to die)
- Change construction from that ugly variable juggling to a fancy and
functional switch() construction code. Include bitflags and
deconstruction safety
- All files that were modified outside of window.dm and fullwindow.dm
are compatibility fixes
Try as I might, I couldn't fix#3515. It appears to be fundamentally
fucked due to the way pushing objects (you enter the window's tile) and
pulling objects (you cannot reach the other side of the window, ever)
works. Maybe someone else will manage it
The drop_item arg is now the loc placed, not the child of the loc or whatever.
Removed a few lines of items being placed into themselves, on themselves, into other things manually, into their users, etc.
Cleans up the fix for MoMMI recharger silliness.
This took about 2 hours of non-stop manual searches.