* Revives old Mafia PR adding security, a mind bogglingly large amount of refactors, some documentation, and other niceities (#56199)
* Revives old Mafia PR adding security, a mind bogglingly large amount of refactors, some documentation, and other niceities
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* Further tape and universal recorder improvements (#56023)
- Makes it so warning for time happens based on the time and not when the tape recorder hears something
- Makes stopping work correctly when we try to record with a full tape or when recording stops because of a full tape
- Uses the SECONDS and MINUTES defines instead of a mixture of undefined deciseconds and seconds that are multiplied by 10 (while having to divide by 10 in a couple of places)
- Cannot print a transcript for a blank tape
- Tweaks transcript name setting to be better formatted
- No longer update_icon() after stop() under play() (it's in the stop() proc)
- Reorders stopping to be consistent between playing and recording and logical (which probably makes no noticeable difference)
- Play/record hiss sound loop (mediocre due to lack of options in sound loops to cut and not fade in/out)
- Drop and pick up sounds
- 0→2 throwforce (like it was when Uhangi added them, before Hornygranny made it 0 for some reason)
- Cleans up radial image() usage
- Clarifies radial icon var
- Clarifies tape unspooling and respooling vars
- Random 3 char hexademical on tape names
- Tape can spawn on either side
- Adds greyscale tapes and randomised colouration
* Further tape and universal recorder improvements
Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
* Adds powerup system, refactors ctf pickups and powerup mine subtypes into it (#56605)
* Adds powerup system, refactors ctf pickups and powerup mine subtypes into it
Co-authored-by: Fikou <piotrbryla@onet.pl>
* Dynamic 2021 (#56221)
About The Pull Request
Dynamic 2021, among much other things, splits the threat level into two separate budgets, one for round start and one for midround/latejoin. You can read the design doc, plus methodology and charts here: https://hackmd.io/@ tgstation/S1C4dYJkO.
To server owners: this is incompatible with current dynamic.json configurations. This is not just because some fields have different values now, but because the older values are not balanced towards this system.
Inidividual list of changes (as I remember them):
Threat level is now split into two separate budgets, one for round start and one for midround/latejoin.
In TESTING, you can now run dynamic simulations to see the roundstart picks.
antag_cap is now based on an equation rather than a fixed list of antags per indice--the old system is not scalable. You can now pass it either a number for a fixed constant, or a list with "denominator" and an optional "offset" to fit the equation ceil(x / denominator) + offset, with x being population.
Midround/latejoin timers are now vars on /datum/game_mode/dynamic itself, and thus can be configured by head admins per server.
Removes some older, as far as I can tell completely unused admin tools relating to dynamic.
autotraitor_cooldown is now properly respected from config, and is based on an exact time rather than on ticks (450 used to be 15 minutes, now it's just 15 MINUTES).
The rulesets dynamic chooses are now in a dynamic.json file in round logs. Relies on tgstation/tgstation13.org#64 to be public.
Adds more logging to the autotraitor ruleset for admins.
Midround/latejoin chance modifiers are now configurable.
Labelled "Do Not Merge", as the design doc outlines the specific playtesting schedule I would like to perform.
Note to self: Remove the custom MOTD before merge.
Why It's Good For The Game
(Copied from design doc)
Dynamic currently dumps as much threat as it can into round start threats. This means that rounds at ~50 threat can have an absurd amount of antagonists round start, while leaving very little threat for midround/latejoin antagonists. What inevitably happens is just one of those picked decides to murderbone, leading to the inevitable 20 minute shuttle call. Furthermore, once those antagonists are dead, Dynamic doesn’t have any threat left to spend on new antagonists that keep the round flowing, promoting the mentality of “antags dead, I’m bored, let’s leave”.
The proposed solution of Dynamic 2021 is to split threat level into two separate budgets, one for round start and one for midround/latejoin. This split, like threat level, will also be done on a lorentz curve–meaning that while most rounds will have them evenly split, there is still the possibility of chaotic high antagonist round start rounds, or the possibility of a midround onslaught.
* Dynamic 2021
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
* Update to Abandoned Ship Ruin
Updates the whiteshipruin_box to whiteshipruin_box_skyrat, a more modern take on the outdated space ruin.
* Whoops, Fixed Spacing
removed some minor shitcode
* Embarrassing Myself With Indentations Pt2
One single space now removed.
* Fixes emote runtime / changes how emotes work for ghosts (#56519)
* Fixes / refactors emotes
Crack emote no longer runtimes
Ghosts can use help emote
Exhale / inhale emote only work for living
Move beep emote living subtype
Help emote no longer tells you that you can't use it
* Remove var in arguments
Lint
* Replace loop with join
* Fixes emote runtime / changes how emotes work for ghosts
Co-authored-by: Gamer025 <33846895+Gamer025@users.noreply.github.com>
* reverts Adds Neon Carpet (#55782), it appears to have been causing massive amounts of maptick (#56496)
It appears to have been causing massive amounts of maptick, this'll need a testmerge so we can test my hypothesis
* Reverts Adds Neon Carpet (#55782)
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Add the PubbyStation Monastery as a purchasable shuttle (#56234)
This commit will add a slightly modified version of Pubbystation's
Monastery to the list of available emergency shuttles, becoming the
most expensive shuttle to buy at 250 times the crate price (Defaults
around 50,000cr)
This shuttle will cause significant damage and fully showcase the
absurdity of the Monastery's size by providing an up close and
personal, interactive comparison. PubbyStation's monastery will be
forever preserved.
* Adds the PubbyStation Monastery as a purchasable shuttle
Co-authored-by: Son-of-Space <63861499+Son-of-Space@users.noreply.github.com>
* Fixes up the crate climbing element being incorrectly removed when opened (#56518)
* Fixes a runtime in crate code due to the climbable element
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
* Makes blast doors/shutters and blast door controllers buildable and deconstructible (#56486)
* Makes blast doors/shutters and blast door controllers buildable and deconstructible
Co-authored-by: HugoOdaX <42174630+HugoOdaX@users.noreply.github.com>
* Mirror logging for brainwashing and hypnosis in the player panel and attack logs. (#56515)
Hypnosis and brainwashing now have entries in the Player Panel logging
under attack and entries in the attack logs.
Mirrors some logging that would otherwise just be in the game logs.
From an admin-perspective, issues where you'd want to check
brainwashing/hypnosis tend to go hand-in-hand with issues relating to
attack logs as opposed to game logs.
* Mirror logging for brainwashing and hypnosis in the player panel and attack logs.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Adds Extrovert and Introvert Quirks (#56490)
Adds Extrovert and Introvert quirks. Removes the free bar moodlet, gives it to extroverts, makes a corresponding library moodlet for introverts. Introvert and Extrovert are blacklisted and therefore mutually exclusive.
Seems a bit thin, could we do x?
Yeah sure, and I'd appreciate feedback on where you'd like to see these quirks go. I want to start basic with "where do they spend their free time?" Rather than trying to do something big like moodlets for speaking a lot/little, especially because that seems a bit unbalanced and we already have a quirk that penalizes speech. I'm also looking to avoid unrealistic stereotypes, speech penalties to introverts are kind of unreasonable, introverts aren't inherently bad at talking, they just like alone time.
Why make it free?
I'm taking away a pre-existing moodlet that was free for everyone, also positive quirks are capped at 6 and I see this quirk as being essential to character building so I would prefer not to make someone pick between giving any sort of depth to their character and their powergaming loadout.
Having players define their character as introverted or extroverted and reinforcing the decision through gameplay mechanics is a great way to get them thinking about their character beyond an avatar to make other spacemen horizontal with. I'd argue that it is as foundational as decisions like gender, species, and age.
This opens up the library as a social space, as the two people who take introvert might occasionally run into each other when they are recovering mood and sanity there.
* Adds Extrovert and Introvert Quirks
Co-authored-by: RaveRadbury <3204033+RaveRadbury@users.noreply.github.com>
* makes movement reset tolerance less harsh on jousting component, adds keycheck to mob riding (#56497)
the current tolerance on jousting is 2 deciseconds not enough to do fun stuff with any of the mobs you can ride on station like cows or goliaths, this is now 3
mob riding never had a keycheck so u could ride goliaths without a lasso and stuff like that
* makes movement reset tolerance less harsh on jousting component, adds keycheck to mob riding
Co-authored-by: Fikou <piotrbryla@onet.pl>
* leatherman (#56483)
Fixes stacks like wet leather not being dryable in a drying rack
* Fixes drying rack not drying wet leather
Co-authored-by: Valtos <valtos@spaces.ru>
* Adds logging to uplinks, spellbooks, and the codex ciatrix (#56450)
* Initial logging
* Bugfix and adds uplink logging to config file
* Another bugfix
* Adds logging to uplinks, spellbooks, and the codex ciatrix
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Adds a surrender button for when you are being held at gunpoint (#56393)
add: Adds a surrender button that pops up when you are at gunpoint that can be pressed to do the *surrender emote
* Adds a surrender button for when you are being held at gunpoint
Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
* Adds trait-dependent room moodlet check (#56462)
Moods caused by areas can now be gated by requiring a specific trait
to trigger it.
Added a positive moodlet for the Chapel, but only for people with
the TRAIT_SPIRITUAL trait.
* Adds trait-dependent room moodlet check
Co-authored-by: RaveRadbury <3204033+RaveRadbury@users.noreply.github.com>
* Adds the Hauntium material, which turns any item into a ghost (with AI) (#55728)
* Adds the Hauntium material, which turns any item into a ghost (with AI)
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Monkeys drop forced two handed items (#56329)
Monkeys cannot wield twohanded items.
But are not forced to drop items that must be wielded two handed.
This forces monkeys to drop items if they need to be two handed.
(Also makes monkey ais not try and pick up 2 handed weapons)
* Monkeys drop forced two handed items
Co-authored-by: NightRed <nightred@gmail.com>
* Renames quirks containing folder to quirks/ (#56428)
Despite what the folder name may suggest, `code/datums/traits` does not
actually deal with traits, but instead roundstart quirks. This rename
makes this explicitly more obvious, and easier to understand, rather
than remaining as a historical artifact.
* Renames quirks containing folder to quirks/
Co-authored-by: coiax <yellowbounder@gmail.com>
* Re-balances quirk values to be less impossible to nuance (#56037)
negative quirks were impossible to create because there was zero nuance between how bad traits were, for example if you got light drinker and family heirloom, two relatively easy quirks to manage, you can get freerunner. This meant a ton of neutral quirks had to be neutral quirks because giving them even -1 points would make it too easy to get good traits. I've bumped up most quirks by x4 to allow for more nuance between what quirks are actually worth. With some of them being lowered (Like family heirloom and light drinker) as theyre not really supposed to be worth so much for so little.
quick log of changes for CB:
- Every quirk not mentioned had it's point value increased x4 (e.g. 1 -> 4, 4 -> 16)
- mime / clown fan is 2 points (change of -50% with this pr)
- musician is 2 points (change of -50% with this pr)
- depression goes from -1 to -3 points (change of -25% with this pr)
- nyctophobiagoes from -1 to -3 points (change of -25% with this pr)
- junkie from -2 to -6 points (change of 25% with this pr)
- frail from -2 to -6 points (change of 25% with this pr)
- smoker from -2 to -6 points (change of 25% with this pr)
- unstable -2 to -10 points (change of 25% with this pr)
* Re-balances quirk values to be less impossible to nuance
* Update tgstation.dme
* a
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
* Adds Quirk-Related "Special Pool" to obsessed for Chaplain, Clown, and Mime targets. (#56357)
* Adds Quirk-Related "Special Pool" to obsessed for Chaplain, Clown, and Mime targets.
Co-authored-by: RaveRadbury <3204033+RaveRadbury@users.noreply.github.com>
* Refactor card scaling into an element for general item scaling (#56102)
The current TCG code had some code for scaling its cards down when they're on the ground and then scaling them back in hand/inventory. This element aims to preserve this functionality and to allow it work for other items.
While the TCG makes the cards smaller on the ground, this element allows for items to be scaled up OR down when on the floor or in inventory.
While this particular element has to do with scaling, I am looking at ways to expand this sort of icon change functionality to icon_state as well, but there are additional issues with blood decals needing to be redrawn and possibly vis_contents.
* Refactor card scaling into an element for general item scaling
Co-authored-by: Koshenko <53068134+Koshenko@users.noreply.github.com>
* Reinforcing the mining hardsuit now upgrades its sprites (#56288)
* Reinforcing the mining hardsuit now upgrades its sprites
Co-authored-by: Fikou <piotrbryla@onet.pl>
* Monkey Martial Arts (#55583)
Moves martial arts to mob/living and lets monkeys use them.
Monkeys have got arms so they should be able to do cool martial arts.
* MMA
Co-authored-by: Jack LeCroy <3073035+jacklecroy@users.noreply.github.com>
* Fix singularities destroying themselves when getting hit with projectiles (#56242)
Fixes#56222
* Fix singularities destroying themselves when getting hit with projectiles
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
* Add better weakref support to qdel (#56206)
* Add better weakref support to qdel
* change request
* Add better weakref support to qdel
Co-authored-by: spookydonut <github@spooksoftware.com>
* Linter, shut thee up. (#56193)
About The Pull Request
Renames a directory such that it does not have a .dm prefix as that is linted against and made it onto master.
Why It's Good For The Game
The linter can stop yelling at everyone over a filepath.
* Linter, shut thee up.
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>