* Generalize breakability to obj. Standardize health and maxHealth for objs. Make flashlights, cameras, beakers, and wall-mounted lanterns breakable.
* Moved breakable.dm.
* Fix metaclub beepsky's maxhealth to maxHealth.
* Attempted to fix named argument error.
* Attempt to fix take_damage() derived proc named argument error.
* Attempt to fixed named argument error.
* Fragments can be obj not just item.
* Remove debug.
* .
* Fixed conflicting proc definitions.
* Attempt to fix runtime.
* Partly dissolve existing implementations of object health into general framework.
* Declare parent args in take_damage() proc overrides.
* Typo fix.
* Comment change.
* Change destroy to qdel.
* Update breakable.dm
Check for null teeth.
* Teeth check.
* .
* Gum check.
* Pulse demon speaking fixes and tweaks
* Removing generated reaper files (good hint on where I got the base sounds though)
* Logic fix
* Makes a bit quieter
Co-authored-by: kanef <kanef9x@protonmail.com>
* Actual icon
* Puddle reformatting
* Basis of smoothcode
* Moving puddle code into a turf reagent system, reformat and overhaul
* Make this act on splashing, for now
* More work on standardising behaviour
* More standardisation, should ideally make spread work nicer
* Some tweaks
* Fixes
* Makes it work in practice, code slimmed down
* More standardising
* Redone calculations
* Fixes infinite reagents
* Puddle scaling with volume
* Presets for mapping
* Actual stuff
* Better way
* Get actual turf
* Blacklisting some of these
* Evaporation rate
* Removing old splash verb, adding reagents to a turf should do this by default now
* Makes these invisible
* Makes this not cleanable, for now
* Standardising this into reagent stuff
* Fixes
* Space clears reagents
* Basic viscosity system
* Adds some rudimentary values
* Space cleaner thng
* Beginning rework of this, removing unused fuel type
* Fuel puddle rework
* Fuel puddle rework
* Find and replace mishap
* Removing from .dme
* Removing unused variable
* Rewriting the preset init ones
* Redoing mapped puddles
* Makes sure these are gone
* Type fix
* New plane and layer
* Makes slip work
* Fix
* Fix
* Puddles can now react to crossing over it
* Proper bracketing
* Puddle values
* Current puddle reference to save on locating
* Nicer smoothing
* Tweaking values
* Water color tweak
* Greatly simplifies wet floor puddles
* Simplified line
* No reason for invisible puddles anymore
* Makes wet/dry vaccuum work with this
* Mop
* Reformatting how reagents are held
* Allows space cleaner to clean some kinds of puddles
* Fixing
* Moving this to simulated level
* Fixes puddles not being made anymore
* Standardised alpha
* Removing this for now
* Fixing chem dupe issue for when this matters
* Server config for behaviour
Co-authored-by: kanef <kanef9x@protonmail.com>
* Voting System
The current voting system is very confusing and difficult to use or modify, so I updated it.
I also have added another voting method, described in #31803. Do not be alarmed, weighted voting is still used, but other methods will be available.
* Everything appears to work
Weighted and majority definitely work
* Update voting.dm
* admin can change from votable or nonvotable
* Revert "admin can change from votable or nonvotable"
This reverts commit 6d0c547958.
* done
* Update voting.js
* done done
* a
* Update voting.dm
* can change voting method
* Update voting.dm
* Update persistence_misc.dm
* a
* Voting Methods
I'll try again now that I separated the changes. Hear me out: I'm just adding new methods, they are not used unless an admin uses them, or a PR is made to change the default. The default remains the same as before. Adding two voting methods: persistent (works only for maps) and random (meme). Considering adding another methods too upon request.
* not working
* done
* Update voting.dm
* Update voting.dm
* Update voting.dm
* Update voting.dm
* Update voting.dm
* Update voting.dm
* Update voting.dm
* Update voting.dm
* eyup
* Update voting.dm
* Update voting.dm
* Update persistence_misc.dm
* Update voting.dm
* Update voting.dm
* Update persistence_misc.dm
* done
* done
* Update voting.dm
* Update voting.dm
* Update voting.dm
* Update voting.dm
* Basic framework for generic breakable items.
* Fixed comment.
* Fixed up a few things and generalized breakability to obj/item.
* .
* .
* .
* Fixed up the attack message generation for breakable items. Made items transfer their fingerprints, fibers, and bloodstains to their fragments when broken. Added capability to specify a list ofitems that bypass breaking an otherwise breakable item.
* Breaking via kicking with propulsion of fragments. Breaking upon ballistic impacts. Removed open-handed harm-intent breaking by humans.
* Adding breakability to kick_act().
* Specifying glanced attack text.
* Added general broken check to obj/item/throw_at() so that any time an item takes breaks apart from a blow that also propelled it, the fragments get propelled instead.
* Can specify multiples of a given fragment type via fragment_amounts.
* Items can be shot and broken by projectiles.
* Renamed defines.
* Projectiles will break impacted items and send them flying.
* Fixed projectile impact momentum transfer.
* The contents of containers will be dropped when the item is destroyed. Also fixed diagonal fragment propulsion by projectiles.
* Spilling reagents when an item breaks.
* Placeholder proc for any damage-related icon updates.
* Fixed conflict between container-smashing and container-insertion on harm intent.
* Breaking items by biting them.
* Sounds for when an item is hit.
* Breaking items when they are used to attack a mob.
* Unset default breakability values.
* Added extra check for breakability in break_item.
* Update breakable.dm
* Update breakable.dm
* Update breakable.dm
* Update breakable.dm
* Set health_item to health_item_max by default.
* Removed redundant reagent spilling.
* Melee target will be splashed with contained reagents when an item breaks on them.
* .
* .
* Update breakable.dm
Throw impact damage to an item takes into account the weight of its contents as well.
* Fixed up syntax in a few places.
* .
* Changed BREAKABLE_NOMOB to BREAKABLE_MOB
* Changed health_item to health, and health_item_max to maxHealth.
* Create breakable_defines.dm
removed extra newline
* Update breakable.dm
spelling fix
* Made take_damage() call try_break() by default, and other changes.
* Update storage.dm
Removed unneeded variable.
* Multi-Z cables
* Implements it in snowbox
* Fixing dme
* Powernets fully work now
* Makes open space coil handling nicer, now checks to stop if tile below can't handle cable coil placement
* Allowing pulse demons to use multi-Z cables for traversal
Co-authored-by: kanef <kanef9x@protonmail.com>
* Allows merch computer food to be poisoned by does not tip backdoor
* Fix
* Ayy
* Even more standardised
* Keeps name varied
Co-authored-by: kanef <kanef9x@protonmail.com>
* Part 1: Grid vars
* Preview code for part 2
* More progress, now somewhat works, not enough to uncomment
* Part 2: The grid itself
* Fixes key issue and parsing issue in one fell swoop somehow. Maps can now be loaded from TGM, but with keys the wrong way around
* Final part, loading system now fully works, on to converting vaults to tgm next
* Converts some more vaults
* Revert bad hotfix
* Much saner solution
* Solution now works
* Removing leftover testing logs, taking dungeons off tgm since they break with them a bit
* More vaults converted
* Rest of normal vaults
* Mining vaults
* Snaxi vaults
* Away missions work too, so these get to be converted
* Optimised code
* Makes map dimensions fetching work properly on TGM now
* Trimming down map dimension function, still works
* Optimising loading code too
Co-authored-by: kanef <kanef9x@protonmail.com>
* Initial commit
* Fixes runtime
* Adds lotto vendors to each map's bar.
* Revert "Adds lotto vendors to each map's bar."
This reverts commit 729b84d957.
* Fixes proc
* Additional fixes
* One more description adjustment