* megumin is best girl fucking fight me
* what kind of smoothbrain capizalized these
* uses explosion defines
* more explosion defines
* Removes reagent explosion code for <1 amounts
* Scales explosion knockdown off bomb_armor
* 1/4 done? maybe?
* more
* stuff
* incremental stuff
* stuff
* stuff & things
* mostly done but not yet
* stuffing
* stuffing 2: electric boogaloo
* Git Commit and the Kingdom of the Crystal Skull
* make it actually compile
* found more stuff
* fixes
* fix AI laws appearing out of order
* fix windows
* should be the remaining stuff
* this time for real
* i guess it should compile too
* fix sechuds
* assemblies are shit fuck em
* maybe press commit before making a pr
* proxy stuff
* morestuff
* qol stuff
* only 1 wire
* revert that garbage that made me conflict
* changes
* wires
About The Pull Request
Makes it possible to adjust the timer of all grenades with a screwdriver.
Also makes it possible to adjust the timer with a multitool. You put ot anywhere between 3 and 5 seconds. Instant detonations are also possible.
Changes how you input the spread amount on advanced release grenades. Instead of repeatedly clicking with a multitool, it now opens a window.
Why It's Good For The Game
Makes grenades more consistent with each other. It made little sense that you could adjust the timer on flashbangs but not on smoke grenades, for example. It also gives the player more control about how they want to use grenades by letting them set the timer more accurately.
Also adds more bloat to the multitool. Exactly what this game needed.
Changelog
cl
balance: The timer of all grenades can now be adjusted with a screwdriver. Possible values are instant, 3 seconds and 5 seconds.
add: You can now adjust the timer of grenades with a multitool. You can put it anywhere between 3 and 5 seconds. Instant detonations are also possible.
tweak: Advanced release grenades now open a window if you want to change the amount of units released.
tweak: The default timer on smoke grenades is now 3 seconds.
/cl
cl Naksu
code: reagent IDs have been removed in favor using reagent typepaths where applicable
fix: mechas, borg hyposprays etc no longer display internal reagent ids to the player
/cl
* new clown mobs and spawners
adds several new types of clown mobs, a beacon to spawn them, and a honkrender that spawns clown hulks
* added more clown varieties and fixes to previous
* fixed unneeded capitalization and changed mob values
removed unneeded capitalization and text errors and altered mob attack values to create more variation. Honkmunculus now does very little damamge but injects a small amount of meth.
* Update clown.dm
* clown changes and new clown
new clown that spawns bananas. can leave large stacks if left unattended, so it may require some reworking. nerfed several overpowered clowns and gave chlown a beetle like stride
* added cluwne to uplink, fixed redundant variables, added new clowns
cluwne can now be purchased for 5 telecrystals as a clown exclusive uplink item. Bananas were greatly improved. new weak clown added. Gave some clowns extra parents to reduce variables.
* Update code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm
Co-Authored-By: Pugnacious-Gnome <48869928+Pugnacious-Gnome@users.noreply.github.com>
* IT LIVES ONCE MORE
* forgive me for this sin
* i wish git would detect case changes
* this works
Adds a new proc to /obj/item/grenade/spawnergrenade called afterspawn,
it is called after all the atoms have been spawned and gets passed a
list to those. Children of spawnergrenade can override this proc to do
things to the spawned atoms, for example emagging bots after spawning.
81Denton totally opened a competing PR mere moments before I
finished this one.
Why? It's not important enough to actually make a sound, ghosts can't
interact with the bombs, they just watch it.
This notifies ghosts whenever a bomb gets activated and lets them jump to it.
It's always hilarious watching people try to defuse bombs, or Ricky playing out
hostage situations.
Aiming to implement the framework oranges has detailed in https://tgstation13.org/phpBB/viewtopic.php?f=10&t=19102
Moves canmove to a bitflag in a new variable called mobility_flags, that will allow finer grain control of what someone can do codewise, for example, letting them move but not stand up, or stand up but not move.
Adds Immobilize()d status effect that freezes movement but does not prevent anything else.
Adds Paralyze()d which is oldstun "You can't do anything at all and knock down).
Stun() will now prevent any item/UI usage and movement (which is similar to before).
Knockdown() will now only knockdown without preventing item usage/movement.
People knocked down will be able to crawl at softcrit-speeds
Refactors some /mob variables and procs to /mob/living.
update_canmove() refactored to update_mobility() and will handle mobility_flags instead of the removed canmove
cl
rscadd: Crawling is now possible if you are down but not stunned. Obviously, you will be slower.
/cl
Refactors are done. I'd rather get this merged faster than try to fine tune stuff like slips. The most obvious gameplay effect this pr has will be crawling, and I believe I made tiny tweaks but I can't find it Anything I missed or weird behavior should be reported.
Fixes#39976
A good number of things were missing various parts of the logging (going to GLOB.bombers, not going to client logs, not logging to game, ect), or doing incorrect things like passing admin verbs to saved logs.
Unified all the necessary actions under a single proc log_bomber() which handles everything in most use cases. This way the log isn't all jumbled up with inconsistent messages, everything's one format so you can quickly find what you need to bwoink the right person.
* Refactor several log lines to use datum_info_line and atom_loc_line
* Add default return strings from datum_info_line and atom_loc_line
* Add parentheses around atom_loc_line data
* Change more logs to use atom_loc_line
* Add check in atom_loc_line for turfs to avoid calling get_turf on them
* Re-add removed 'at'
* Replace datum_info_line with key_name and atom_loc_line with loc_name
* Refactor logging functions
* Avoid double-logging self-interactions
* Fallback to simple stringification if all else fails in key_name()
* Rewrite muscle spasm logging to use log_message
* Standardize logging of martial arts
* Tweak individual logging panel look
* Fix individual logging panel source
* When I typed || I really meant &&
* Fix Telecomms logging always showing client logs in the panel
* Reverts addition of buggy ownership log to panel
* Remove colon
* Fix missing log_directed_talk tag
* Add warning for missing type in log_direted_talk
* Change warnings to stack_traces
* Add square brackets around fallthrough key_name() case to help parsing
* Allow atom arguments/src in log_*() functions
* Change log_combat call with null argument to log_message
* Change mecha types' log_message() arguments to match atom and mob version
* Add key_name() case for atoms
* Fix resist_grab() unsetting pulledby before log_combat gets a chance to use it
* Fix log_globally logic
* Add logging for hitting objects with items
* Move log_combat() to atoms.dm
* Use utility functions for object stringification in log_combat()
* Use utility functions for object stringification in log_combat()
* Add missing logs for interacting with display cases
* Rewrite log_combat() comment
* Add missing space in log_combat()
* Add logging for hitting grilles barehanded
* Add missing ..()
Chem grenade casing descs are just "A do it yourself [initial(name)]!", which
means players have to either pull up the wiki or code dive to find out what the
hell they actually do.
I gave empty casings detailed descs so aspiring pyromaniacs can quickly see
what casings do.
* adds signal and modifies each call of afterattack to call it's inherited proc
* uses new macro for sendsignal()
* map fuck
* skip precommithooks
* combine and negate 2 ifs