* R.field
* i hate modularization
* AAAAAAAAAAAAAAAAAAAAAAAA
* agony
* almost done
* h
* Delete admins.txt
* Add files via upload
* Update and rename admins.txt to config/admins.txt
* Update admins.txt
* rwrwawdaw
* fuckfuckfuck
* Apply (safe) suggestions from code review
not committing all of them, gonna test them on my PC first
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* asaaaaaaaaaa dont merge this aaaaaaaaaaa
* i hate gitignores with a passion./
* HATE> HATE GITIGNORE.
* final tweaks
* quite possibly the worst code i have ever written
* i forgot to remove this comment
* prefs
* THE SPAGHETTI CODE IS GONE (also more maintainable)
* Update readme.md
* why was it unticked
* more maintainability
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Fixes being able to spam ghost role notifications. (#61085)
There are methods that let players spam the everloving shit out of ghosts with BONG BONG BONG BONG BONG BONG BONG etc. through being able to constantly poll ghosts for roles with no restriction or cooldown.
Examples are laughter and slaughter demon antag_spawners.
It makes no sense to be able to concurrently poll for the same mob. As a result, I've now added a guard against this. The proc has been given a static list of mobs it's polling for ghost roles for. If it's already polling for ghost roles for a given mob, then it just early returns with an empty list, otherwise it adds the mob to the static list when the poll starts and removes it when the poll ends.
I've also done a little cleanup in var names and the proc name, with a find-and-replace done. There weren't many things calling it and none used named keywords in the args so should be fine.
There is also poll_candidates_for_mobs (also included in my cleanup) - This proc is basically only called by admins via sentience balloons and they have their own guards against spamming (the balloon pops and thus can only be used once)
Also fixes an issue in /mob/living/silicon/robot/proc/replace_banned_cyborg() where incorrect args were used in the proc call to poll for candidates.
* Fixes being able to spam ghost role notifications.
* a
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* lava and weather immunities refactor (also jump boots fix) (#61003)
In remembrance of all those people who used jump boots to cross lava unaware of an issue c*ders wouldn't fix....
EDIT: This is now a lava and weather immunities refactor:
Weather immunities are now status traits since they have a multitude of sources (especially for lava) which might conflict with one another otherwise.
The lava burn_stuff proc has also been been refactored in different procs, mostly because of that snowdin subtype with inconsistent, old checks.
Weather datums should now use can_weather_act instead of weather_act to check if something can be affected by weather or not, as they should.
All movables can protect contained mobs if they have the relative weather immunity traits. This works at any contents depth.
No more snowflake weather_protection variable for closets.
Removed the weather_immunities list from living mobs (simple animals still have it but it's only for traits assignment on init because way too many child types lack the immunities of their parents).
Removed some unused defines.
Renamed some variables as per guidelines.
It has been tested.
And yea, jump boots fixed because that's the original scope of this PR.
(Initially just made throwing make you fire immune, that was blocked because it breaks perma stuff, instead it ended up be a refactor to make jumpboots usable with weather immumnity stuff
* lava and weather immunities refactor (also jump boots fix)
* Update Ashwalkers.dm
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
Repaths everything referring to "toxins" while actually meaning either the room in science or plasma gas. While this PR might be disrespectful to our forefathers, given this is (I believe) a holdover from as far back as the Exadv1 days, this has constantly irked me since I started working with the code. None of the player-facing stuff has referred to plasma as toxin since before 4407 hit, besides the Toxins Lab, and yet all of the type-paths are still pointing at toxins, making it a nightmare to search for in a map editor, and making the code needlessly easy to confuse with that of toxin damage. So this just fires it into the sun.
Anything relating to Toxins, the science subdepartment, now makes reference to Ordnance instead. This felt fitting enough given the focus of the subdepartment is around the creation of and testing of explosives.
Anything relating to plasma gas has, fittingly, been made to refer to plasma gas.
Edit: Ah yes, I feel I should probably apologise off the bat for the size of this PR- the code touched is mostly atmos machinery and simplemobs, a few sprites here and there, and of course the station maps + a few offstation maps.
Makes the code more legible and makes mapping less painful.
(The payment has been made)
Co-authored-by: EOBGames <58124831+EOBGames@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Give admins the ability to put a popup notice for players in tickets (#61010)
Admins can now give players a popup if they are not responding to tickets.
Popup is cleared when player replies or ticket is resolved/closed.
As more and more of the chat screen is made irrelevant, new players read it less and less.
This means that a lot of new players are ignoring ahelps, which is something I've encountered myself.
* Give admins the ability to put a popup notice for players in tickets
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* Get your protein fix here (for monkey meat). (#60696)
Meat steaks now have the material flag to un-link from from material effects, meaning that monkey meat will now have the proper nutrients and reagents it was intended to, primarily that monkey meat will have protein for cytology purposes.
(Basically, the meat mat was not adding a food component, but then trying to remove "any" food component regardless of a material_no_effects flag. Kinda a mess, and maybe this could be done in an event based way, but this is a real sane fix. The hard part was tracking down the error anyway. Kudos fictional arcane who will read this commit message)
* Get your protein fix here (for monkey meat).
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
* cannon recipe fix (#61014)
Cannons now accept all oxygen tanks, not just red ones
* Cannons now accept all oxygen tanks, not just red ones
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* Fixes floored mobs (paraplegia, missing limbs) not being able to stand up in zero G for real. (#61054)
Added a old_movement_type argument to the COMSIG_MOVETYPE_FLAG_ENABLED and COMSIG_MOVETYPE_FLAG_DISABLED signal, fixed the check for zero g movespeed and locomotion traits removal and made some statements easier to understand.
* Fixes floored mobs (paraplegia, missing limbs) not being able to stand up in zero G for real.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Refactors and improves SDQL spells (#60972)
SDQL spells have been improved in several ways:
- The behavior of executing SDQL spell queries using datums has been migrated to a component
- Projectile SDQL spells can now fire any subtype of /obj/projectile
- Touch SDQL spells can use any subtype of /obj/item/melee/touch_attack
- More robust parse error detection
- Parse errors while loading a file from json are displayed in a modal window, with the option to load whatever parts of the spell were correctly parsed (be forewarned, scrollable sections are scuffed, and the ones that appear in the parse error modal can only be scrolled through by drag-selecting the text within them)
- Fixes a bug with the names of variables within lists
- Compartmentalizes SDQL spell code into several .dm files.
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>
* Refactors and improves SDQL spells
Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>
* start
* saving
* so much to do, so little time
* seriously, so much
* to another pr I go and check
* awful the amount of things to do
* credit to vg
* there we go
* ghosts should hear borers to host talk too
* changes
* more changes
* oops, this ask
* increase ability cooldown, warn borers if someone died
* more chems, fix generation naming
* no pulling or pushing over tables
* borers can talk with sugar, just scramble
* borers can just fully emote now
* oh man, large commit
* changes to focus
* fucking bugs
* more changes
* no more nonorganics
* round end, objectives, etc.
* changes
* splits cortical files up
* solve something
* yea
* oops
* some changes for now
* okay, fixes borers
* logging
* come back to owner, trauma now
* bane component to element. nullrod now uses it for revenants. (#60640)
* bane component to element. nullrod uses it for revenants.
* TRUE to FALSE
* bane component to element. nullrod now uses it for revenants.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* [READY] Honorbound fixes (#60720)
* we stan traits
* also stops them from punching
* moves logic around a little.
* [READY] Honorbound fixes
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* forcepush from master because it's a webedit (#60984)
* Fixes traits added by quirks not being removed on `remove_from_current_holder`
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Implements a combustible_flooder component on plasma and hot ice. Numbers made to preserve old behaviour as much as possible for plasma. Nerfs hot ice to be in line with the original tweak PR
* Limited to only hot ice, removed traces of override temp
* Renamed gas_name into gas_id
Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
* Refactors connect_loc_behalf into a component (#60678)
See title. Also refactors caltrops into a component because they use connect_loc_behalf which requires them to hold the state.
This also fixes COMPONENT_DUPE_SELECTIVE from just outright not working.
connect_loc_behalf doesn't make sense as an element because it tries to hold states. There is also no way to maintain current behaviour and not have the states that it needs.
Due to the fact that it tries to hold states, it means the code itself is a lot more buggy because it's a lot harder to successfully manage these states without runtimes or bugs.
On metastation, there is only 2519 connect_loc_behalf components at roundstart. MrStonedOne has told me that datums take up this much space:
image
If we do the (oversimplified) math, there are only ever 5 variables that'll likely be changed on most connect_loc_behalf components at runtime:
connections,
tracked,
signal_atom,
parent,
signal_procs
This means that on metastation at roundstart, we take up this amount: (24 + 16 * 5) * 2519 = 261.97600 kilobytes
This is not really significant and the benefits of moving this to a component greatly outweighs the memory cost.
(Basically the memory cost is outweighed by the maint cost of tracking down issues with the thing. It's too buggy to be viable longterm basically)
* Update glass.dm
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Del The World: Unit testing for hard deletes (#59612)
Co-authored-by: SteelSlayer <42044220+SteelSlayer@ users.noreply.github.com>
* Del The World: Unit testing for hard deletes
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: SteelSlayer <42044220+SteelSlayer@ users.noreply.github.com>
* Drugs of the 26th century. Three new hella rad drugs, one less lame drug and more!
* Update traits.dm
* Update maint_loot_trash.dm
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* AAAAAAAAAAA
* pollution scrubbbies
* fires cause smoke, right? Also NSS journey has scrubbies
* washing things removes the smell!
* what the fuck were you doing last night
* Update temporary_pollution_emission_component.dm
* space turfs shouldn't have pollution
* Fix air now fixes smoke
* Update pollution.dm
* Update pollution.dm
* Update bonfire.dm
* fix flashing white spheres when attacking items with light sources and light spheres on inventory/action buttons (#60756)
* fix white sphere bug
* fix overlay lighting creating lights in inventory and action button
* fix flashing white spheres when attacking items with light sources and light spheres on inventory/action buttons
Co-authored-by: Couls <coul422@gmail.com>
* Fixes changelogs parsing on linux (#60777)
* Fixes changelogs parsing on linux enviroments
Co-authored-by: Vladimir Veisman <v.veisman@flashie.space>
* stops dchat clog from clientless mobs (#60772)
bug fix, because obviously the user.client check in the emote proc was supposed to work for this, but they forgot to put it in manual_emote as well.
also moved the user.client check in the emote proc a few lines above, for sliiiightly better performance, ghosts will still get the message from visible_message, but only if nearby, so it has the same effect as where it was before.
* stops dchat clog from clientless mobs
Co-authored-by: Seris02 <49109742+Seris02@users.noreply.github.com>
* Food preferences quirks are no longer broken by species change. (#60582)
Added signal procs for species change to these quirks.
* Food preferences quirks are no longer broken by species change.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>