* Refactors memories to be less painful to add and apply, moves memory detail / text to memory subtypes. Adds some new memories to demonstrate. (#72110)
So, a huge issue with memories and - what I personally believe is the
reason why not many have been added since their inception is - they're
very annoying to add!
Normally, adding subtypes of stuff like traumas or hallucinations are as
easy as doing just that, adding a subtype.
But memories used this factory argument passing method combined with
holding all their strings in a JSON file which made it just frustrating
to add, debug, or just mess with.
It also made it much harder to organize new memories keep it clean for
stuff like downstreams.
So I refactored it. Memories are now handled on a subtype by subtype
basis, instead of all memories being a `/datum/memory`.
Any variety of arguments can be passed into memories like addcomponent
(KWARGS) so each subtype can have their own `new` parameters.
This makes it much much easier to add a new memory. All you need to do
is make your subtype and add it somewhere. Don't need to mess with jsons
or defines or anything.
To demonstrate this, I added a few memories. Some existing memories had
their story values tweak to compensate.
Makes it way simpler to add new memories. Maybe we'll get some more fun
ones now?
🆑 Melbert
add: Roundstart captains will now memorize the code to the spare ID
safe.
add: Traitors will now memorize the location and code to their uplink.
add: Heads of staff winning a revolution will now get a memory of their
success.
add: Heads of staff and head revolutionaries who lose their respective
sides of the revolution also get a memory of their failure.
add: Completing a ritual of knowledge as a heretic grants you a quality
memory.
add: Successfully defusing a bomb now grants you a cool memory. Failing
it will also grant you a memory, though you will likely not be alive to
see it.
add: Planting bombs now increase their memory quality depending on how
cool the bomb is.
refactor: Memories have been refactored to be much easier to add.
/🆑
* Modular!
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
Reorganize the outfits under 'mob_spawn' (#72345)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->
I got home, sat on my computer ready to work on an Goliath Infused
hermit idea I had, instead, I found more outfits that slipped through
the cracks and are not reorganized properly so I'm doing this again!
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->
Code improvement readability something
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->
<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->
<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
* Quirks are passed an incoming client when applied, allowing quirks to read preferences in `add` and `add_unique`. Renders visual quirks on the preference menu dummy.
* fixes quirk order to match upstream
* Modular quirk updates
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
* Fix allow_spawn check for Ashwalkers and Battlecruiser crew (#71480)
## About The Pull Request
Currently, if you fail the allow_spawn test for Ashwalkers or
Battlecruiser Crew you will get the deny message even if the check was
silent. Meaning every time you open the spawners menu you get "You have
exhausted your usefulness to the Necropolis." or "You have already used
up your chance to roll as Battlecruiser." All the other allow_spawn
checks have a `!silent` check before sending the message so that they
only show this message if the player actually clicks the spawner.
Also for some reason the ashwalker message is bold and it shouldn't be.
## Why It's Good For The Game
Consistency is good, as is not giving the player unnecessary chat
messages.
## Changelog
🆑 VexingRaven
fix: Ashwalker Eggs and Battlecruiser spawners no longer give you a
warning every time you open the spawn menu if you've already spawned as
that role once.
spellcheck: Ashwalker Egg warning message for having already spawned
once is no longer bolded for no reason.
/🆑
* Fix allow_spawn check for Ashwalkers and Battlecruiser crew
Co-authored-by: VexingRaven <msgerbs@users.noreply.github.com>
* Moves the bulk of shield code from the riot subtype into the core shield. (#71066)
## About The Pull Request
I wanted to "rework" the riot shield security has but most other shields
are subtypes of it, making them all inherit those features.
So I made this PR first to make my job easier and fix some odd bugs like
fixing wooden bucklers by slapping them with titanium sheets...
There *shouldn't* be any other big change outside of the titanium
healing and baton bashing they all inherited but I have been staring at
shield code and worked on another branch before deciding to split the
code improvement/fixes from the features so I might have missed
something.
And while there, kill some single letter vars, remove unnecessary lines,
etc.
## Why It's Good For The Game
Fixing a wooden shield by slapping it with titanium is weird... so is
fixing a glass+iron shield but that is a bigger balance change.
And well, easier for future shield changes to not inherit weird
behaviors from the riot shield.
## Changelog
🆑 Guillaume Prata
fix: You can no longer repair wooden bucklers and roman shields by
slapping them with a titanium sheet.
/🆑
* Moves the bulk of shield code from the riot subtype into the core shield.
* sr conflits, goliath shield, reagent buckler
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
* Properly kills the goliath outside Survival Pod Ruins ruin (#70734)
The ruin added way back in #17284 (8b656d2603) has a varedited goliath with 0 health.
In practice this goliath will not be dead or a one-hit-kill, as upon taking damage, it would revert to being at full health.
This PR replaces this goliath with a proper corpse, as well as adds a corresponding goliath corpse spawner.
* Properly kills the goliath outside Survival Pod Ruins ruin
Co-authored-by: Sealed101 <75863639+Sealed101@users.noreply.github.com>
* Removes a ton of unused tablet vars, re-organizes the rest (#70344)
* Removes a ton of unused vars, re-organizes the rest
Removes a ton of unused vars from Modular computers
Re-organizes the rest, and adds autodoc comments to most of them
Moved 2 vars (saved_image and invisible) from the tablet to the messenger app, since that's where it was used. I didn't see the point of having these vars be on every computer anyways, only PDAs have the app.
Renames Clown's honk virus var
Makes Messenger app's saved image, actually used.
* static list and NODECONSTRUCT_1 check
* oops
* Removes a ton of unused tablet vars, re-organizes the rest
* cryopod
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
* Removes ghost check for battlecruiser objective and fixes players being able to roll it multiple times in a row (#70194)
Removes the ghost check for the battlecruiser objective
Fixes the same player being able to reroll battlecruiser
* Removes ghost check for battlecruiser objective and fixes players being able to roll it multiple times in a row
Co-authored-by: Salex08 <33989683+Salex08@users.noreply.github.com>
* Refactors team antagonists and roundend report handling (#69585)
* Refactors team antagonists and roundend report handling
Refactors teams and subtypes
* Makes use of ``as anything`` and ``\improper``
* Removes many single letter variables
* Moves team code to the team file
* Makes team objectives only allow objectives for SpacemanDMM
* Makes members and objectives clear when a team is deleted
* Generalizes team's add_objective
* Checks for show_roundend_report in roundend
* Replaces ``get_team == src`` with a simple mind check
* Makes Bloodbrothers fit using parent's endround report.
* Removes the unused procs ``is_solo`` and ``antag_listing_footer``
* Makes replaces ``get_team_antag`` ``specific`` with ``include_subtypes`` to be consistent with Antag helpers (and because I thought it looked better that way)
* Refactors team antagonists and roundend report handling
* improper borers
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
* Fix legion dead miners not spawning species (#69622)
Fix legion miners not spawning species
* Fix legion dead miners not spawning species
Co-authored-by: Tim <timothymtorres@gmail.com>
* Concentrated barbers aid can give hairless species hair + fixes hair updating once and for all (probably)
* Update code/modules/antagonists/thief/thief.dm
* Update code/modules/mob/living/carbon/human/species_types/felinid.dm
* Concentrated barbers aid can give hairless species hair + fixes hair updating once and for all (probably)
* yes
* Update _compile_options.dm
Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* The GAGening: Clothesmate edition
* ThisShouldWork
* hgnbhg
* would probably help to have the right .dmi
* fixed?
* Fuck you
Co-authored-by: Twaticus <46540570+Twaticus@users.noreply.github.com>
* [READY] Venus human trap fix 3.0: Allow ghosts to possess them even when obscured, use better spawning system
* Fixes the merge conflict!
* Fixes ghost role spawners not being covered by the ghost role spawner ban
Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Nukies Rework Part....2.1? Kinda?: Gives Battlecruiser operatives the Ansem pistol, as well as some internals in their currently empty bag. (#68419)
* Gives Battlecruiser operatives the Ansem pistol, as well as populate their bags with some internals.
* Box variable
* Nukies Rework Part....2.1? Kinda?: Gives Battlecruiser operatives the Ansem pistol, as well as some internals in their currently empty bag.
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
* Revisiting The Goliath: Or, that time I dripped out the SBC Starfury just because (#68126)
Drips the SHIT out of the SBC Starfury while not completely overhauling it. Touches everything NOT in engineering or southward (because I love how scuffed that part is and refuse to touch it on principle) - Also converts one map varedit into a real boy subtype, and moves tiny fans to their own file.
Mandatory disclosure on the gameplay changes:
Fighters 1 and 3 are now NOT in the hangar, and are now attached to the formerly unused gunnery rooms.
Cryo now works. Yeah. I know.
You can actually open the anesthetic closet now.
Everyone now shares three spawners. This doesn't reduce the amount of people who can play when this rolls, as I've adjusted var/uses in accordance: it just reduces clutter.
A few of the horizontal double airlocks have been compacted into glass_large airlocks.
The bar windows now actually have grilles like they were meant to.
Four turbines have shown up. They aren't functional*, they just look like gunnery and conveniently fit in the spots. I'm sure this is space OSHA compliant.
The map is ever so slightly smaller, vertically. This should distance us from an edge case where somehow all space levels are too cluttered for this to spawn properly, for the time being.
*Technically there's nothing stopping you from using them besides the amount of time it'd take for the operatives to kick your ass
This map was originally designed wayyy back before we even had the computer sprites we have now, (#27760 if you want to see SOUL) and it shows. While it will never have it's SM again, we can at least make the thing much nicer to look at.
* Revisiting The Goliath: Or, that time I dripped out the SBC Starfury just because
Co-authored-by: BluBerry016 <50649185+unit0016@users.noreply.github.com>
* An Exploration Into Lame Jobs - Syndicate Listening Post Remap (#67330)
* An Exploration Into Lame Jobs - Syndicate Listening Post Remap
Hey there,
Have you ever been bored at your job? A job where you can't scheme something up to get you up to date? Stranded at your job? Alone at your job? Has the job ever asked you a lot of question? Like I am right now? Should I stop?
Anyways, I decided to think about it, and I remapped the Syndicate's Space Listening Post. How nice!
* An Exploration Into Lame Jobs - Syndicate Listening Post Remap
Co-authored-by: san7890 <the@san7890.com>
* [MDB IGNORE] More /area/ typepath organization and cleanup (#67107)
This further continues what I did in b4fb8f3ed1 (but instead of just stations, its now every (most) applicable area in the game
* [MDB IGNORE] More /area/ typepath organization and cleanup
* wew
* e
* Update CentCom_skyrat.dmm
* wew
* ews
Co-authored-by: Jolly <70232195+Jolly-66@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Repaths `/obj/item/clothing/mask/animal/rat` to make more sense (#66860)
* Repaths `/obj/item/clothing/mask/animal/rat` to make more sense
It was used as the parent for a lot of other small animal masks simply
because of its flags and a single proc, so i repathed it to
`/obj/item/cltohing/mask/animal/small/...` to make more sense
* adds an updatepaths
* fixes the got damned maps
* Repaths `/obj/item/clothing/mask/animal/rat` to make more sense
* Repaths `/obj/item/clothing/mask/animal/rat` to make more sense
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* [Ready] Hilbert Research Facility remap feat. tram (#66082)
* reworks hilbert's hotel ruin
* warooio
* you can now run multiple trams on the same z at the same time, trams are linked by id
* fuck
* sure
* you are a simulacra
* FUG
* dock
* [Ready] Hilbert Research Facility remap feat. tram
* Update mapping_fluff.dm
* Update gordon_freeman.dm
* fixes
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
* [NO GBP] Resolves Golems not being allowed in the areas they created (#66000)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* [NO GBP] Resolves Golems not being allowed in the areas they created
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Block free golems from using shuttle consoles, other than to go home (#65991)
* Block golems from using shuttle consoles
* Update code/modules/mob_spawn/ghost_roles/golem_roles.dm
Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>
* Block free golems from using shuttle consoles, other than to go home
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>
* Fixes several incorrect spider menu descriptions and automatizes the process a little bit (#65806)
* Fixes several incorrect spider menu descriptions and automatizes the process a little bit
Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>