Commit Graph

1618 Commits

Author SHA1 Message Date
MrMelbert
753980d5b1 Fixes the void Ritual of Knowledge + unit tests main path lengths (#64929)
Void ritual of knowledge should be of the void path. This fixes that.

Also adds a unit test to ensure all main paths are of the same length.

Funnily I think this was causing the main route calculations to be off, so the knowledge objective should be easier by one.
2022-02-19 19:43:44 -08:00
John Willard
1d8bbb79ef greentext code improvement (#64941) 2022-02-18 23:14:04 -08:00
MrMelbert
961e7108ff admin completion counts for heretic objectives (#64932) 2022-02-16 14:34:55 -05:00
Mickyan
378538d4ab Fixes some light presets being brighter than intended (#64861)
* fixes light presets

* into the void with you
2022-02-15 17:20:37 -06:00
MrMelbert
a766e818f0 Logs changeling power purchases/readapts (#64904) 2022-02-15 00:48:24 -05:00
MrMelbert
e510f8d500 Refactors slimelink and mansus link to be a component to cut down on hard-dels / code copy+paste (#64836)
So this started out as a hard delete fix for the mansus link

Then I realized the mansus link was literally copy+pasted exactly the same code
And the reason why mansus link was hard-delling was because slime link used to hard-del and those were fixed but those fixes were never copied over

So in a fit of rage I refactored the slimelink to be a component, datum/component/mind_linker. Raw Prophets and Stargazers use it.

I'm not 100% certain on some of the methods used but it works? It works.
2022-02-13 23:07:28 +00:00
Lyn505
b807f0e97d Fixes the missing capitalization in Zealot's Blindfold description (#64842)
* byeah

* ok mothblocks :)

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* This should be better.

* wtf

* ok

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-02-12 02:09:39 -05:00
MrMelbert
2532e66ab8 Fixes heartless species being unable to be heretics (#64846)
* Fixes heartless species being unable to be heretics

* some missed messages

* damn you named args

* review
2022-02-12 02:09:23 -05:00
Watermelon914
31d252987e Fixed some explanations (#64708)
progression_scaling_deviance is no longer vague and hard to read
2022-02-11 01:50:48 -08:00
John Willard
b6808270df Fixes species uplinks (#64816)
I was fucking deranged when I originally made this. I not only didn't actually include the assigned species to the uplink's ui data, but I made the code add each objective item to the uplink list twice. This fixes both of those problems, and makes it more readable.

Fixes a mistake I caused.
Closes #64806 (Species-Restricted uplink items don't appear)

Role-restricted and species restricted items can be purchased again.
Species-restricted items no longer appear in surplus.
2022-02-11 01:26:10 -08:00
Watermelon914
71c5567654 Fixed active objectives suddenly failing because of maximum progression interfering (#64819)
Objectives could randomly fail if you exceeded their maximum progression allowed if they were active. This shouldn't happen.
2022-02-11 01:07:42 -08:00
John Willard
32199c55e8 fixes the chaplain's sparring soulstone description (#64823)
Chaplain Sparring sect's soulstone now has their intended unique name and description.
Small change, the Initialize was using the wrong path.
2022-02-11 00:58:16 -08:00
MrMelbert
dd747fcc5a BIDDLE HERETICS: Heretic revamp! (Shadow Realm, UI Overhaul, Refactoring, and Murderhoboing Tweaks) (#64658)
About The Pull Request

This PR seeks to revamp heretic in it's almost entirety.

Closes #58435
Closes #62114
Closes #63605

image
Gameplay changes:

    The heretic no longer starts with a Codex Cicatrix or a Living Heart.
        Heretics now draw transmutation runes by using any writing tool while having Mansus Grasp active.
            The Mansus Grasp can be used to remove heretic runes.
        Draining influences can be done with "right click".
            While draining, people who examine you may get a message hinting that you're interacting with an influence.
            Drained influences can also be dispersed with anomaly neutralizers!
        The Codex Cicatrix is now a researchable item that lets you gain additional knowledge from influences.
            The Codex can still draw and remove runes, and does it faster.
        The Living Heart is now the heretic's heart. Literally. It's the heart in their chest. Their heart takes on the appearance of a living heart, and they can pulse it on demand to track their targets. This makes an audible noise.
            If your heart is lost (you're disemboweled or whatever), you need to do a ritual to regain it!

    Casting any heretic spell (besides Grasp) requires a Focus.
        A Heretic Focus is a neck item they can transmute.
        Heretic robes also function as a focus when toggled up.
        Ascending also disables the need for a focus, because of course.

    Heretics now gain 1 knowledge point passively every 20 minutes.

    Sacrificing has been revamped entirely.
        A heretic now gains four sacrifice targets on spawn.
            One random crewmember
            One member of their department
            One member of security
            One member of command (a "high value" sacrifice)
        You can sacrifice people who are in in soft-crit, hard-crit, or dead.
        Sacrificing someone will cuff them (if they are not), HEAL them, revive them, and set them unconscious. After a short time. they will be sent to a shadow realm. This shadow realm is themed to your heretic type.
            The shadow realm is a 2 minute long survival challenge where the sacrificee is subject to a constant barrage of shadowy hands.
            If they survive, they are teleported back to a random turf with no memory of how they got there. They'll also slur a TON to get the point across.
            If they die, their corpse is teleported back to a random turf on the station.

    No more multi-hearting! Your targets are your own.
        BUT adds a knowledge that allows heretics to reroll their sacrifice targets with a ritual.

    Each path now has a "Rituals of Knowledge". These are randomly generated rituals that may be difficult to complete but awards knowledge points in return.

    Ascending now has some requirements.
        To learn the ascension ritual, you need to complete all of the objective you are assigned.
        The ascension ritual now each have a varied requirement, instead of "needing 3 bodies" only.

    Other minor gameplay changes:
        Lots of balance tweaking.
            Buffed some summons.
            Buffed the Lord of the Night very slightly.
            Nerfed the Madness Mask.
        Put a limit on the amount of blade transmutations possible at once. 3 for flesh, 2 for other paths.
        Logs of BUG fixing.
        Rust Grasp is now based on right click for surfaces instead of combat mode.
        General grammar and flavor tweaks a ll around.

Admin / code changes:

    Revamped the way heretics appear within the traitor panel.
        You can now easily see who they're targeting for sacrifice and what they have researched
        Also adds some helpful buttons to heretics, like giving them points!
    Refactored much, much of heretic code
        LIKE ALL OF HERETIC CODE WAS IN 4 FILES.
            Split up all the knowledge, spells, and items that belong to the heretic into their own files and folders.
        Not only that, but everything internally was still named "Eldritch Cultist" and similar.
            Almost every mention of "Eldritch Cultist" has been properly replaced by "Heretic".
    Much better reference handling all around.
    General code improvements over heretic stuff.
    Unit tests, because of course.

Todo

Sprites for the focus

    Look at adding 1-2 other objectives prior to ascension. Theft? Special rituals? ("Rust [x] tiles to be able to ascend")

Why It's Good For The Game
Okay but why?

Heretics are not in a good place at the moment, this much is clear. They've been completely disabled on MRP for this reason.

The reasoning is simple: A lot of murder.
There's nothing inherently wrong with an antagonist heavy with murder, but the Heretic really missed the mark.
Gib, gib, gib, then ascend so you can keep killing.

In the background, the Heretic was FULL of flavorful spells, rituals, and "lore" stolen from Cultist Simulator that was unfortunate enough to be shackled to the heretic's gameplay loop.

So, this revamp aims to amend that:

Dial back the heretic's focus on mass murder and put more focus on the heretic's interesting flavor.
Spooky maintenance rituals, knowledge seeking maniac.

    Sacrifice no longer outright kills / requires murder, meaning a heretic can progress without racking up a bodycount.
    Influence is gained passively over time, so they can spend influence on more interesting side paths.
    Side paths are required to progress to ascension, so they're encouraged to explore new things.

Ultimately, while there still may be a little way to go, this PR seeks to take a good leap in starting it.
Changelog

cl Melbert
add: Large scale heretic revamp!
expansion: The Codex Cicatrix is no longer a roundstart heretic item. Research is handled through their antag info UI. Rune drawing is done by using a writing tool with Mansus Grasp active in your offhand. The actual Codex is an unlockable ritual item now.
expansion: The Living Heart is no longer a roundstart heretic item - their actual heart now becomes their Living Heart, and it makes a sound when triggered. Losing your heart (being disemboweled) will require you to do a ritual to regain it.
expansion: The Hereic Antag UI has been overhauled, and now hosts much of their mechanics as well as providing some helpful tips for newer players.
expansion: Most heretic spells now require a focus to cast. All heretics can make a basic focus necklace, and some heretic equipment also functions as a focus. (Credit to Imaginos for the focus sprite!)
expansion: Heretics now passively gain +1 influence every 20 minutes.
expansion: Heretic sacrificing has been reworked. You can now sacrifice people who are in soft crit or weaker. Sacrificing someone heals them, cuffs them, and teleports them to the SHADOW REALM, where they must dodge a barrage of hands to survive. Survive long enough and you return without memory - die, and your body will be thrown back.
expansion: Heretics now have a few new rituals, including the Ritual of Knowledge, a randomly generated ritual that awards knowledge points.
expansion: Heretic ascension now has a few requirements - you must complete your objectives assigned to you prior to learning the final ritual, and all the final rituals have been changed a bit!
qol: Using the Heretic's Mansus Grasp on surfaces (EX: Rust Grasp) now works on right-click, instead of combat mode.
qol: Used heretic influences can now be removed with a Anomaly Neutralizers.
balance: Some heretic rituals are now limited in the amount they can make. You can only have up to 2 heretic blades crafted at once (3 if you are Path of Flesh).
balance: The Lord of the Night has been buffed to be a little scarier. Did you know the Lord of the Night can eat arms to regain body parts and heal?
balance: Buffed some heretic summons - mostly their health pools.
balance: Nerfed the heretic's Mask of Madness. It can no longer infinite stam-crit you.
balance: Nerfed the heretic's ash mark.
balance: Nerfed a bunch of on-hit-heretic-blade effects. Many effects only apply on mark detonation now: Void blade silence, flesh blade wounds, ash blade gasp cooldown refund.
fix: Fixed quite a few bugs and unintended behaviors with heretic code.
refactor: Refactored and improved much of Heretic code. Improved the file structure dramatically.
admin: The heretic's traitor panel has been beefed up a bit.
/cl
2022-02-10 18:26:03 +13:00
John Willard
63ae8829d4 Fire breath can be used without the ability to speak (+ code improvement) (#64796) 2022-02-09 21:24:34 -06:00
Ghom
c5d2b2e51e Fixes layering issues brought by the FoV PR. (#63903)
* Fixed most (not all) incorrect planes and layers detected by the unit test.
2022-02-09 19:40:00 +01:00
ArcaneDefence
e421db76bc Adds an intercom interference malf ai module (#64670)
* Adds a radio interference malf ai module

* uses on/listening getters
2022-02-07 23:07:27 -08:00
TemporalOroboros
6be8e0feee Adds an option to generate typecaches as zebras. (#63710)
About The Pull Request

Adds an argument to typecache generation that allows specifying the whether to include/exclude types in the input list.
Also adds another argument to specify whether to remove falsey values after the typecache is generated.
Why It's Good For The Game

Might make zaps slightly faster???
Honestly I just thought it would be a good way to condense some whitelist/blacklist typecache sets.
2022-02-07 14:23:38 +13:00
Watermelon914
128d5e8ae0 Fixes progression scaling and other various problems with progression traitors. (#64503)
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
2022-02-06 12:12:06 -08:00
Ghom
a430cb2063 Disease and blob camera mobs can move vertically while a location or host hasn't been chosen yet. Revenants can also freely move vertically. (#64626)
I found out on the icebox map, roughly a week or two ago, that the camera mob couldn't be moved to the other station leveleven before the core was placed. I believe this to be an oversight, which is why this PR has been made.
Sentient diseases also suffer from a similar issue while on the host selection stage, so I'm fixing that too.

EDIT: Someone pointed out that revenants (and other mobs with incorporeal movement) don't ignore turfs and obstacles when moving vertically, so I have added a few lines to living/can_z_move to hopefully fix that.
2022-02-06 16:10:56 -03:00
TemporalOroboros
8817643835 [s] Makes used grenades slightly more obvious. Also prevents DOSing admins. (#64643)
* Makes used grenades slightly more obvious.

Adds a variable to tell whether a grenade can't detonate properly.
Examining can be used to tell if the grenade has already been used.
A flag on it is set when the grenade detonates so that used grenades can't be reused until it's reset.
It also prevents spamming admins with grenade primed messages since there's no point if the grenade won't work.

* Changes dud var to dud flags.

Changes the name of the dud var to dud_flags to clarify that it is a set of bitfields.
Changes the default value of the dud var to NONE also to clarify that it is a set of bitfields.
Changes the documentation for the dud var to clarify that it is a set of bitfields.

* Fixes eternally armed dud grenades.

Makes the grenades reset their appearance if they reach the end of their fuse while a dud.
Prevents chemical grenades from staying in the 'i am armed' visual state forever.
2022-02-06 13:21:36 +01:00
Fikou
9a5da80232 elite nukie suit improvements (#64668)
deletes the elite armor booster module, instead the elite syndie suit has some armor by default, with the rest being filled by the standard armor booster
makes welding protection a part of armor booster, removes it from nukie suits since they have armor booster
adds new towering sprites, here you can see the space mode and combat mode
2022-02-06 09:39:08 +00:00
Jeremiah
30253cf6a8 Tgui input refresh (#64331) 2022-02-05 19:44:59 +02:00
Mothblocks
54ecdcc05b Always disable combo HUD on disassociate (#64662)
* Always disable combo HUD on disassociate

* Useless old comments
2022-02-04 19:36:29 +13:00
zxaber
dfac00015d Splits the Fire Alarm sound into four files (#64324)
* sound fission

* I can't believe malf tools betrayed me like this

* much ado about 0.008

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>

* Pay no attention to this

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-02-03 01:46:55 -05:00
MrMelbert
ec78be6567 Fixes the span of cult deconversion text, and removes a duplicate definition (#64552)
Fixes the span of cult de-conversion text.
span_warning was completely overtaking the purple that normally comes with de-conversion text, which was very easy to confuse. Removes the span_warning.
Removes the duplicate definition of /datum/antagonist/cult/on_removal(), since i'm here.
2022-02-01 07:20:29 -03:00
Watermelon914
78d620051e Rebalances some things about progression traitors and adds some uplink items. (#64132)
About The Pull Request

Lowers TC rewards for assassination objectives, steal and destroy item objectives.
Makes it so that when you take the battlecruiser final objective, you become a battlecruiser ally and can assist with nuking the station.
Moves the elite syndicate modsuit from the nukie uplink to the traitor uplink at a high cost and high progression cost.
Adds new uplink items that cause station-wide blackout and telecommunication disruption temporarily.
Why It's Good For The Game

People can get an enormous amount of TC by completing these infinitely available objectives, and because of an oversight with the 'steal item' objective in regards to how much TC it rewards, they were worth a lot more TC than they should've been.
The battlecruiser objective changes have been made so that the traitor feels more involved with the battlecruiser they've summoned and can assist them with the nuke.
The new uplink items have been added so that there is more lategame gear that a traitor is able to purchase, as lategame traitor items are lacking right now. The elite syndicate modsuit gives traitors the opportunity to protect themselves during lategame engagements with security or other forces which could prove to be a threat when performing anything deeply antagonistic, like blowing up parts of the station in space.
Changelog

cl
expansion: Final objective battlecruiser will now make you a battlecruiser ally, giving you the nuke codes and making it obvious to other battlecruiser members that you are one of them.
expansion: Added telecom disruption and blackout purchases for traitors to purchase, and moved the elite syndicate hardsuit from the nukie uplink to the traitor uplink as a high progression cost item.
balance: Rebalanced TC rewards from assassinations to be less, and lowered TC rewards for plentiful objectives.
balance: Lowers the progression reward of assassination objectives.
/cl
2022-02-01 09:48:08 +13:00
Tim
be355edab5 Refactor incapacitated optional arguments (#63771) 2022-01-31 00:04:07 -08:00
John Willard
6a1ae92145 Re-adds species uplink items (and some minor fixes) (#64460) 2022-01-30 23:01:36 -08:00
Ghom
b84ad2dde8 Removes useless status effect path defines. (#64490) 2022-01-30 01:26:04 -08:00
AnturK
4421bfa629 Fixes marking abductor agents or cows for recall. (#64519) 2022-01-30 01:21:27 -08:00
Watermelon914
cb42aa944a Adds time of creation to traitor objective log data (#64486)
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2022-01-30 01:20:52 -08:00
Ghom
9dfba9bb7c Removes useless defines for mutation paths (#64512) 2022-01-30 01:19:23 -08:00
Watermelon914
329a99450c Added a readme for traitor balancing (#64506)
* Added a readme for traitor balancing

* Tweaks

* Tweaks

Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
2022-01-29 22:11:07 -05:00
tralezab
3cd77b0662 Bounty Hunters as ERTs + Flame Id (#64083)
About The Pull Request

Bounty Hunters can now be called as ERTs, to which they will spawn at centcom with proper access. Also, the bounty hunters now get flame ids, because they think they're that cool.
Why It's Good For The Game

Bounty Hunters are really fitting for admin erts, but I never bothered to throw them in until now. Also, it was a good opportunity to fuck off with all that id label BS
Changelog

cl
admin: Bounty Hunters can now be called via admin ert
expansion: Oh, and they have cool flame ids as well!
/cl
2022-01-30 15:09:04 +13:00
Watermelon914
d508546310 Optimized steal item searcher to not search through the entire game world. (#64354)
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
2022-01-28 02:05:50 -08:00
RandomGamer123
3472077f82 Purified shades get converted to shades if they get converted & related fixes (#64233)
Purified shades now get converted to shades (mainly name & icon change) if they get converted to cult
Using twisted construction on a non-cult soulstone now makes it a cult soulstone (including converting any shade inside to a cult shade if any shades are inside)
Fixes a bug found during testing where soulstones with a shade that has been recaptured would say "soulstone: Shade of Shade of [NAME]", caused due to real_name already being "Shade of [NAME]".
Purified shades now show who they were prior to being captured.
2022-01-27 23:43:29 -08:00
tralezab
767356141c Separatist Antag UI (#64173) 2022-01-26 01:04:27 -08:00
magatsuchi
80451ab5d6 fix blood barrage animation (#64405) 2022-01-26 01:01:02 -08:00
LemonInTheDark
9eeb836e3a Fixes the abductor console duplicating its actions (#64307)
I created a var to prevent dupes, and big brain over here forgot to set it, so it didn't even do anything.
2022-01-22 19:00:38 -06:00
zxaber
4383df09ae Moves atmos checking from Fire Alarms to Fire Locks, Fire Locks now close on their own rather than area-based, a bunch of related stuff. (#62055)
Moves hot/cold checks to the fire locks
Makes detection due to above only close the affected Fire Lock and its neighbors (via merge code stolen from tanks)
Fire Alarms still can lock an area down if clicked by a user, right clicking is now the reset function. Resetting also resets all Fire Locks closed by their own detection.
Gives Fire Locks an overlay of lights that display the reason it closed (Orange for Hot, Cyan for Cold, White for unknown/Fire Alarm Pulled)
Emagging a Fire Alarm now emags all Fire Locks in the area, which accomplishes the same effect as before (disables atmos monitoring). Pulling a Fire Alarm will make emagged Fire Locks in the area display a corrupted warning light pattern, making finding and replacing emagged Fire Locks somewhat easier.
Silicons can disable atmos sensors in an area by CTRL-Clicking a Fire Alarm, much like before. but now the Fire Alarms in the area will change their sprite to hint at this (the normally-green light will turn off).

Makes a breach or fire not cause Fire Lock Hell anymore. Only the Fire Locks facing an issue will tend to close, leaving the rest of the area mostly unaffected.

This needs some work done to make it detect based on edges, but it's a decent enough start to live with if we're all killed by meteors (Lemon)
2022-01-22 01:36:03 -08:00
MrMelbert
a5de4de5ec Standardizes + Adds some more variety to the ninja / traitor communications console hack (#64093)
Standardizes the two functions of hacking the communications console between ninjas and traitors. The code was copy pasted for some reason.
Adds in 3 new options for hack results, resulting in 4 total:
If there are >4 ghosts and the map is in space, it can summon Pirates
If there are >6 ghosts and the map is in space, it can summon Fugitives
If less than 20% of the players are ghosts, it can inject 1-3 Syndicate Sleeper Agents into the crew
Lastly, it can flat inject 15 threat into the round. (the "default" option)
2022-01-22 08:56:59 +00:00
ArcaneMusic
ce2fe57063 Boomerang behavior is now defined as a component. (#63949)
Fully refactors boomerang behavior to work as a component, so that a thrown boomerang will return back to it's thrower if within range. More than anything this modularizes the behavior for the backend,
2022-01-21 02:19:24 -06:00
RandomGamer123
9eb485abb8 Fixes soulful toolboxes icons (#64235) 2022-01-20 21:27:16 -08:00
RandomGamer123
72bc1bc43e Make objectives actually fail when they should (#64194) 2022-01-20 18:48:39 -05:00
tralezab
0674d03b6c Adds Thieves, a very low level antagonist. (#64144)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
2022-01-19 15:02:36 -08:00
RandomGamer123
09c4be807b Fix wraith-spawned teleport runes not having their custom name shown (#64117) 2022-01-17 22:39:10 -06:00
MrMelbert
8da577f5f1 Traitor bugs transfer fibers + prints when planted in a room (#64079)
Planting a bug down in a room will transfer the fibers and prints from the held bug to the placed bug
Adds some warnings for newer players that they may be leaving fingerprints, and lets them know how to deal with it
Puts in a missing doc comment
Docced + better var names for old helpers
2022-01-17 23:35:13 +00:00
Thunder12345
0113007acb Adds blood brother teammates to antag info (#64143)
Makes blood brother antag info display the names of their blood brothers.
2022-01-17 23:30:34 +00:00
Mothblocks
cfa2e304fa Require nuke disks be held by a player in order to count as moving (#64146)
In order to count as "secured", a nuke disk now must either be on a player with a client, or pulled by a player with a client (so that borgs can secure disks).
2022-01-17 23:27:56 +00:00
LemonInTheDark
837882f609 Fixes navigation computers giving too many port jumping actions (#64054)
* Fixes navigation computers giving too many port jumping actions

I'm adding a vestigial proc here, remove_jumpable_port
I prefer this over not fully implementing the behavior, hopefully it'll be of use to someone
2022-01-16 18:02:36 -06:00