* Die of fate tweaks and fixes
🆑 coiax
fix: Rolling a 6 with a die of fate now reduces your speed as intended.
fix: Rolling an 8 with a die of fate will cause the explosion to be
around the roller, not the die.
tweak: Die of fate effects now make loud visible messages so it's
obvious what has happened.
admin: Dice can now be "totally rigged" with admin edits to
unconditionally always roll a certain value, rather than just some of
the time. A new "cursed die of fate" has been added to demonstrate this
effect.
/🆑
- new proc `do_smoke` that does basic smoke effects, to avoid the same
pattern for making smoke effects.
- Dice rigging has been split into two vars, "rigged" for the severity
of the rigging (not rigged, basically rigged, totally rigged), and
rigged_value for the value it's trying to rig to.
* Stealth die of fates
* Code review II?
* Passes thrownthing to hitby
* Items now also pass thrownthing
* No longer uses default arguments
Also fixes bananium shield
* Adds more arguments to hitby calls
* Standardises throw_impact
* Clears up some loose ends
* Adds back wacky comment
* Reinstates can_push=FALSE on bananium shield
* Add caltrop component for spikey floor objects
The caltrop component now can be added to any crossable atom, and it'll
act like a shard of glass, or a d4. Additional flags are possible for it
to bypass shoes or ignore people who are walking.
This means d4 don't reimplement shard logic, and also open the window
for caltrop grenades later.
Also, it taught me how components work.
* Code review I
* Caltrop damage is 4
* Cactus hurts
* Whoops
* Ignore restraints = true