Commit Graph

410 Commits

Author SHA1 Message Date
tralezab
240cb31e12 [READY] New Side Antagonist: The Creep! (#42021)
cl
add: Added a new antagonist, the Creep!
add: Chosen from a random event, the Creep will become obsessed with one person, feeling amazing around them and terrible when they aren't. They will have objectives to steal heirlooms, take pictures, hug, and kill coworkers. They also have to kill the obsession but some objectives can only be completed while the obsession is alive, requiring you to protect the obsession!
/cl

There really is no reason to betray people, generally. Maybe some stuff with security and traitors working things out, but a traitor based around betrayal and the general insane creep idea is just cool.

One Creep can show up, and they get objectives to mess with their obsession leading to the obsession's death. Here is their objectives:

    A random creepy objective. It could be taking a photo with them in it, hugging them, etc
    After your are done with your objectives, kill them. you can't complete the objectives when they are dead!

Creeps do not get the determination mood. Instead, when they are around their obsession, they feel AMAZING! If they are around too long, they will stutter, cough, and generally spaghetti out when talking near their obsession. So if you are going to talk near them, do it when you aren't entranced.
2019-01-07 19:18:35 +13:00
nicbn
f3e1939b98 Make Revenants unable to use Topic (#42224) 2019-01-06 13:51:41 -08:00
oranges
e7393d7d2d Merge pull request #42205 from 81Denton/ghost-sounds
Reduces sound volume for some ghost notifications
2019-01-06 21:40:40 +13:00
Tad Hardesty
3b2c0e27f7 Scope various unscoped locate() calls (#42195)
* Scope locate calls which are immediately checked against a list

* Remove silly use of locate from bible Topic

* Scope various locate calls (needs testing)

* More WIP

* Buff up lightswitches while we're here

* Tidy record browsing code

* Scope a few more locates

These have caused problems in the past (#41917, #39303). Continues #29349.

Also cleans up lightswitch code while I was already touching it.

I recommend a testmerge.
2019-01-06 20:39:27 +13:00
nicbn
c4213f13ab New() -> Initialize() (#41876) 2019-01-03 18:56:15 -08:00
coiax
c2c5db8105 Blood contract knives only last two minutes, like the chainsaw (#42074)
* Added admin smite: Mark for Death

🆑 coiax
admin: Admins can Mark For Death with the Smite menu, which functions
the same as someone being blood contracted.
tweak: The butcher knives and the red colouring of someone
marked for death will disappear after two minutes.
/🆑

The primary use I see of Mark for Death? WGW readers. Saw some
other admins use it, but they had to manually spawn in a contract
and use it.

The cleaning up after two minutes is so the station isn't covered in
cleavers, and the RED GET THIS GUY fades, so people can be horrified/thrilled
at their actions appropriately.

* No more smite for death

* Also remove that line

* Only the knives
2019-01-03 11:38:58 -05:00
Denton
24c71eb7a7 Reduces sound volume for some ghost notifications 2019-01-03 10:49:41 +01:00
0d0be32b607ee4ecbc2358f3dd4a27de
00762e4851 [I GUESS THIS MIGHT BE TESTMERGED? I DUNNO] return of the ling action buttons (#41928)
cl 0d0be32, PKPenguin321, Armhulen, epochayur
refactor: Changeling powers are now action buttons rather than verbs.
imageadd: Thanks to epochayur for creating and compiling sprites for every single changeling action button!
imageadd: Thanks to Armhulen for the changeling button background sprite!
/cl

original pr #35394

the two main bugs i saw are fixed. reviving works, monkeyform/humanform works

fixes #41899
2019-01-03 11:33:18 +13:00
Jordan Brown
a8f39ff19b Merge pull request #42134 from coiax/visible-ayy-cameras
Abductor camera console eyes are now visible to ghosts
2019-01-02 11:05:38 -05:00
Jordan Brown
2a80a2cdd6 Merge pull request #42162 from coiax/notify-every-five
Admins are notified LESS by stationary nuke disks
2019-01-02 10:23:25 -05:00
subject217
9834e3220b [READY] Robustin's Syndicate Infiltrator PR except with the requested changes (#42034)
* Hardened Syndie Shuttle

* Fixes

* Fuck borgs

* Review

* Syndie turrets are now set to lethal by default

* here's hoping

makes the required changes this time with TGM(?)

* dv cleanup 1

* Cleans up two non-replaced plastitanium walls.

Nobody opens commit descriptions. Except the cutie reading this.

* Cleans up the turf I know I changed but somehow didn't in the final version.
2019-01-01 21:15:14 -05:00
Jack Edge
44d178eb51 Admins are notified LESS by stationary nuke disks
🆑 coiax
admin: Admins are only notified about the Lone Operative event weight
every five increments or decrements to the weight.
/🆑

My bad, easy fix.
2018-12-31 23:42:08 +00:00
Jack Edge
23bd00c945 Abductor camera console eyes are now visible to ghosts
🆑 coiax
add: Ghosts can now see where an abductor camera console is looking.
/🆑

I mean, the AI has it, why not abductors?
2018-12-30 01:37:25 +00:00
4dplanner
1305e25e33 Buffs blob [READY] (#42067)
cl
balance: blobs now receive a 50% cost refund on attacks that don't spread
balance: blobs receive a free chemical re-roll every 4 minutes
balance: reflector blobs are considerably tougher
fix: attempting to turn a damaged strong blob into a reflector blob now refunds points
fix: fixed an intregrity
/cl

I think Blob is a great midround antag. It provides a threat that forces the station to work together as a whole, adds excellent drama, and has a cool design. However, it's currently very weak. I think it needs both a buff of the core antag, and then some buffs/nerfs to bring all the different variants into line. This PR deals only with the former.

One thing blob is currently lacking in is kill power. To actually attack someone, or smash through a wall, takes a crippling amount of chemicals (usually 16-20). This means that if the blob fights back through spreading instead of factories it cripples itself. I believe attacking should be cheap to make blob a more dangerous enemy to fight, while not allowing it to reach critical mass more quickly while not in combat.

Re-rolls are very cool and make fighting blob more dynamic. They also help combat the current terrible balance between blob variants so RNG doesn't force you to watch yourself die to fire extinguishers. However, you have to pass up 80 chemicals to get one after your first. In fact, I believe any chemical cost makes re-rolling clunky to use - re-rolls work best as an attempt to throw off a crew that's beating you too easily, and sinking yourself into low points plays actively against that.

Reflector blobs are also rarely used. As they are now, you pay 15 points just to have a reflecting strong blob tile with 1/3rd health, and FOUR TIMES BRUTE DAMAGE. This means that the blob tile dies TWELVE TIMES quicker to brute than it did before! This buffs it to die a mere three times quicker to brute, and 1.5x quicker to burn.
2018-12-30 00:03:10 +13:00
Kierany9
d1638a31f3 Assimilation update: Aesthetic edition (Plus ghost alerts) (#42048)
* aesthetic

* powers remove properly

* oops

* cooldown

* sanity

* mc buggo
2018-12-28 21:37:02 +11:00
Jordie
0d8dda2817 Merge pull request #42052 from FrostyFridge/swarmer
Blacklists shield walls and containment fields from swarmer consumption.
2018-12-28 21:24:25 +11:00
coiax
36c225813c Abductor tongue fixes and tweaks (#42072)
🆑 coiax
fix: Abductors created by abductor mutation toxin will be able to talk
to themselves and to other abductors.
tweak: Abductor tongues now have distinct "channels". A person with an
abductor tongue will be able to attune another tongue to the same
channel as their own.
tweak: Speaking on the abductor channel will always use your mob's
"real name".
add: Abductor teams can now purchase additional superlingual matricies
from their abductor console.
/🆑

Essentially, non-antagonist abductors couldn't hear themselves or each
other because of special case handling when the tongue was present
inside someone with the abductor species, in order so mothership teams
could hear only their team.

Now: All abductor speech is only heard by people with the same
"mothership" var as the speech originator. People can attack_self() with
the tongues to attune them to their channel, in case mothership teams
want to buy additional tongues, attune them to their team, and put them
in their abductee victims. It also means that if you kill the Agent,
stick his tongue in your mouth, you'll be able to talk to the Scientist.

Mobs with abductor training (or observers) can identify which channel the tongue is
attuned to.

I also marked the items in the abductor shop that cost two credits.
2018-12-28 21:20:05 +11:00
FrostyFridge
2420c1a3a0 removed redundant blacklist 2018-12-23 01:03:01 -08:00
FrostyFridge
3080e70421 More swarmer consumption restrictions 2018-12-23 00:23:48 -08:00
Jordie
8d1a81523f Merge pull request #42035 from coiax/stationary-disk-notifications
Notifies admins when Lone Op event chance is changed
2018-12-23 16:33:02 +11:00
Francesco
0e8eb3acfc Nuclear bombs in rifts spawn a singulo on the station and count as a syndie victory (#42011)
* A nuclear bomb in a rift in spacetime will now count as a syndie major victory, and spawn a singulo back at the station

* Removes config debug stuff
2018-12-23 16:09:25 +11:00
Jack Edge
a41f8ea9a2 Notifies admins when Lone Op event chance increases
🆑 coiax
admin: When the nuclear authentication disk remains stationary
for too long, the chances of a Lone Operative increase. Admins are
now notified when the chances go up.
/🆑

Surprises are bad, and it saves having to check the datum constantly.
2018-12-22 00:49:14 +00:00
nicbn
e2fed2b142 Radial tooltips are now an option for the proc (#42014) 2018-12-20 12:23:59 -08:00
XDTM
9f74fef3d5 Allows the antimagic component to react to spells, limits holymelon uses (#41739) 2018-12-17 19:09:35 -05:00
XDTM
c05b0eaef9 Turns TRAIT_NOCLONE into TRAIT_BADDNA for consistency (#41819)
cl XDTM
balance: DNA-damaging methods (changeling draining, mainly) no longer prevent alternative revival methods, but can no longer be circumvented by upgrading DNA scanners.
balance: Any source of husking now prevents cloning on unupgraded cloning scanners, instead of only husking caused by changelings.
balance: Husking now fully prevents revival from several non-cloning methods, including defibrillation, surgery, and strange reagent.
/cl

Why? Consistency! Also, the removal of prescanning/autocloning really simplifies this.

Changeling draining effectively prevents cloning until you transfer the brain to an intact body.
2018-12-17 13:05:02 +13:00
Kierany9
3923e5e73b Assimilation changes (#41908)
cl Kierany9
code: Several minor updates to Assimilation.
balance: Hosts no longer lose abilities if they fall below the required hive size.
balance: Mind Control victims can no longer see nor hear for the duration of the control.
tweak: Distortion Field now affects the victim and those surrounding them over time instead of instantly.
fix: Abilities that inflict stamina damage now affect the head instead of spreading damage over the entire body.
tweak: Mind Control now informs you of how long you have control for upon activation.
tweak: Changed various do_mob for do_after. All hivemind abilities except for Mass Assimilation should now work in certain situations where they didn't before.
balance: Abusing the sleep verb while mind controlling is no longer a viable tactic.
balance: Assimilating/removing people into/from the hive now has screen-wide range, with time taken to assimilate increasing exponentially with distance. The time to assimilate from 4 tiles away is approximately the same. Assimilation's cooldown has also been increased by five seconds to compensate.
/cl

Minor additions, changes and fixes for Assimilation that should handle some of the more nitpicky and learning-curve issues I've seen with it. Bigger changes coming soonlatertm.
2018-12-17 11:04:50 +13:00
nichlas0010
db86d1d6a0 makes the abductor console use radials (#41926)
* makes the abductor console use radials

* oops
2018-12-16 13:15:40 +13:00
coiax
d27c64c3a8 Christmas code changes (#41763)
* Christmas code changes

🆑 coiax
add: Santa can now examine presents to see what's inside.
del: Santa no longer has a mass summon presents spell, because of his
new regenerating bag!
add: Santa's bag regenerates presents as long as Santa is holding it.
balance: You can only find one gift under a christmas tree per round, no
matter how many trees you search.
balance: Santa's teleport does not announce where he's going.
fix: Fixed Santa not having a full head and beard of white hair.
fix: Fixed Santa not being genetically white-haired.
fix: Fixed Concentrated Barber's Aid not growing extreme amounts of
hair.
/🆑

The `box` var has been moved down from `/datum/outfit/job` to
`/datum/outfit`.

Added unlimited christmas tree with presents, for testing.

Santa's restriction against opening presents is now done by
TRAIT_CANNOT_OPEN_PRESENTS. Santa's ability to see inside presents is
done by the TRAIT_PRESENT_VISION, which also determines if Santa's Bag
will regenerate presents every 30 to 60 seconds.

Santa no longer starts with a breath mask and O2 tank, but instead has
an internals box. Santa no longer has a no-access gold ID, he can
teleport from room to room!

Gifts determine what type is inside them on initialization, rather than
when unwrapped.

- Reasoning -

Unlike last year, there are various possible methods of accessing
christmas trees spawners, allowing for an unlimited number of anything
presents. Cutting down the presents to one per round regardless of tree
count will avoid this.

Santa should be able to see what he's giving, because then he can reward
the naughty and nice children with different gifts.

* Missed a merge

* Adds present investigate logs, and visible messages

* Use the body+mind checking of mob.has_trait

* Less globals, more static vars on types; also event renaming
2018-12-16 12:44:53 +13:00
penterwast
395b15979c [s] Fixes changeling decapitation, for real this time (#41931)
* regenerate_organs() checks for humans having a head before inserting a brain

* Regenerate adds a fake brain BEFORE regenerating other organs
2018-12-14 10:42:05 +11:00
Jack Edge
df4c38809d Merge branch 'master' into name-muh-glands 2018-12-12 00:23:50 +00:00
Jack Edge
9cd9a22223 Random gland apperances 2018-12-12 00:20:03 +00:00
moo
11f5068495 Merge pull request #41711 from coiax/disk-verifier-trait
Added TRAIT_DISK_VERIFIER, refactors how fake disk checks work slightly
2018-12-11 12:30:58 -05:00
moo
c8cbc8d89e Merge pull request #41549 from tralezab/patch-12
[READY FOR REAL] New Spell: Soul Tap!
2018-12-11 12:20:25 -05:00
tralezab
52a3400de4 Merge remote-tracking branch 'upstream/master' into patch-12 2018-12-09 15:17:16 -08:00
monster860
0026903857 Retarded TG Coder Teleport Debacle Fix Part 2 2018-12-09 16:08:21 -05:00
Jack Edge
d895f9c511 Merge branch 'master' into disk-verifier-trait 2018-12-09 18:58:25 +00:00
Time-Green
29ecfa47bf [READY] Goon Genetics (#41258)
GENETICS

    The random hexadecimal rng game has been replaced with gene sequencing from goon.

    Adds mutation activators and mutators

    You can now store mutations

    Everyone now has their own set of unique mutations

    Limited mutations per person to 8 (including one always being monkey)

    Adds race specific mutations (See fire breathing for lizads)

    You can inspect discovered mutations, undiscovered mutations use an alias to recognize them by

    Adds a sequence analyzer. Can be used to scan someones genes sequence. Useful for determing what mutations they can safely have and or collecting data for very difficult sequences

    Adds mutation combining. It's currently only RADIOACTIVE + STRONG = HULK (So yes you will now need 2 mutations for to get hulk)

    Adds several other mutations. Telepathy, firebreath, glowy, radioactive and strength

cl Time-Green
add: Goon genetics!
add: More mutations! Fire breath for lizards! Radioactive! Telepathy! Glowy! Strength, though its cosmetic and should be combined with radioactivity instead! Fiery sweat!
add: Adds void magnet mutation by @tralezab !
/cl
2018-12-09 23:26:04 +13:00
MetroidLover
b1fc4027db Abductor Uniforms (#41793)
cl MetroidLover
add: New Abductor uniforms
/cl

Try 2 due to horrendous incompetence on my part.

Saw these over on Oracle before it's plug got pulled, and I thought they looked nice and would be better than grey jumpsuits
2018-12-09 23:21:13 +13:00
oranges
27ae458ad5 Merge pull request #41777 from coiax/curse-of-even-madder
Fixes curse of madness
2018-12-09 23:15:42 +13:00
Jack Edge
76fda7a551 Abductor scientists can examine glands to determine what they do
🆑 coiax
add: Abductor scientists, or people who have had training similar to an
abductor's scientist will be able to examine alien glands to determine
their scientific purpose.
/🆑

Had a lot of fun making up dumb sciencey sounding explanations for the
glands.

Removes the "scientist" var from the species datum, don't need that
anymore.

TRAIT_ABDUCTOR_TRAINING and TRAIT_ABDUCTOR_SCIENTIST_TRAINING are the
important key traits here, assigned in the antag datum. Being an
abductor doesn't give you experience with all their tools, after all.

TRAIT_SURGEON (another trait the ayy scientist has) gives you access to
all surgeries, rather than a more snowflake-style species check.
2018-12-07 18:06:10 +00:00
oranges
11d6a7ad9b Merge pull request #41746 from ExcessiveUseOfCobblestone/fix4u
Crossbow/KA & Reflect Blob/Aiming Beam Fixes
2018-12-06 19:54:05 +13:00
Jordie
8a66665e95 Ban system and interface update (#41176)
Spiritual successor and extension to #17798, an almost entire rebuild of the SQL ban system backend and interface.
Bantypes are removed per #8584 and #6174. All bans are now 'role bans', server bans are when a ban's role is server. Admin bans are a column, meaning it's possible to ban admins from jobs.
Bans now have only an expiry datetime, duration is calculated from this when queried.
unbanned column is removed as it's superfluous, checking unban status is now done through checking unban_datetime. unban_round_id column added. Each ip and computerid columns rearranged so ip is always first, like in other tables. Bans now permit a null ckey, ip and computerid.

Ban checking is split into two procs now is_banned_from() does a check if a ckey is banned from one or more roles and returns true or false. This effectively replaces jobban_isbanned() used in simple if() statements. If connected a client's ban cache is checked rather than querying the DB. This makes it possible for a client connected to two or more servers to ignore any bans made on one server until their ban cache is rebuilt on the others. Could be avoided with cross-server calls to update ban caches or just the removal of the ban cache but as is I've done neither since I think it's enough of an edge case to not be worth it.
The second proc is is_banned_from_with_details(), this queries the DB for a role ban on a player's ckey, ip or CID and returns the details. This replaces direct queries in IsBanned.dm and the preferences menu.

The legacy ban system is removed.

The interfaces for banning, unbanning and editing bans have been remade to require less clicking and easier simultaneous operations. The banning and jobban panel are combined. They also store player connection details when opened so a client disconnecting no longer stops a ban being placed.

New banning panel:
Key, IP and CID can all be toggled to allow excluding them from a ban.
Checking Use IP and CID from last connection lets you enter only a ckey and have the DB fill these fields in for you, if possible.
Temporary bans have a drop-menu which lets you select between seconds, minutes, hours, days, weeks, months and years so you don't need to calculate how many minutes a long ban would be. The ban is still converted into minutes on the DB however.
Checking any of the head roles will check both of the boxes for you.
The red role box indicates there is already a ban on that role for this ckey. You can apply additional role bans to stack them.

New unbanning panel:
Unbanning panel is now separate from the banning panel but otherwise functionally the same.

Ban editing panel:
Actually just a modified banning panel, all the features from it work the same here.
You can now edit almost all parameters of a ban instead of just the reason.
You can't edit severity as it's not really part of the ban.
The panels have been tested but I've not been able to get my local server to be accessible so ban functionality isn't properly confirmed. Plenty of testing will be required as I'd rather not break bans.



cl
admin: Ban interface rework. The banning and unbanning panels have received a new design which is easier to use and allows multiple role bans to be made at once.
prefix: Ban search and unbanning moved to unbanning panel, which is now a separate panel to the old banning panel.
/cl
2018-12-05 08:48:37 +13:00
Jack Edge
ef4b2d32bc Deathsquad now has TRAIT_DISK_VERIFIER, and code review 2018-12-04 19:44:05 +00:00
Jack Edge
78f66f6fff Merge branch 'master' into disk-verifier-trait 2018-12-04 18:52:25 +00:00
Jack Edge
72635d4caf Fixes curse of madness
🆑 coiax
fix: Fixes bug where Curse of Madness was not giving proper brain traumas.
/🆑

Also adds some messages so magic immune and foil hatted people on the station
plus observers will know when a curse of madness is cast/badminned.
2018-12-03 04:22:44 +00:00
XDTM
334a1d44f2 Adds the Curse of Madness to wizard spellbooks (#41496)
* Adds the Curse of Madness to the wizard's spellbook

* anti-magic check

* Update code/modules/antagonists/wizard/equipment/spellbook.dm

Co-Authored-By: XDTM <heliumt@yahoo.it>

* Magic traumas + magic immunity prevents spellcasting

* feedback

* fix

* fax

* Added two new special traumas

* I'm not mad, everyone else is

* New minor trauma, godwoken gives holy

* stalking phantom trauma

* math

* heartbeat

* Custom message
2018-12-02 09:46:10 -05:00
coiax
7325357a48 Scrying orb now grants sixth sense (and xray) to whoever possesses it (#41643)
cl
add: A wizard's scrying orb now grants both xray vision, and the ability to hear the dead to whoever possesses it.
balance: However, as soon as the orb is no longer in your possession, these abilities fade.
/cl

This was @XDTM's idea, when he implemented near death experiences.

It works even when in your backpack.

This also adds the TRAIT_XRAY_VISION, for non-genetic, non-eyeball sources of xray.

Why? Having a wizard talking to ghosts means it looks like he's talking to thin air. Also, this makes scrying orb a little more active in its knowledge gathering. Ghosts will have the chance to mislead the wizard with whatever they're talking about.
2018-12-02 20:39:05 +13:00
Jordie
c67f2767b1 Moves changeling power feedback to sting_action (#41653)
All powers that don't have their own feedback calls, Absorb DNA and Linglink, now call ..() after any cancelling returns.

Fixes #41621, Absorb DNA would do an extra feedback call from try_to_sting()
2018-12-02 20:30:47 +13:00
tralezab
b794d3d4aa Magic Survivalists can have spellbooks count if they did not use them (#41610)
cl
tweak: spellbooks now count towards the survivalist objective if they were not used.
/cl

fixes #40857

It feels like shit if you don't know spellbooks don't count and you just lose out of nowhere. It also doesn't make sense for them to count if they still have magic powers.
2018-12-02 20:25:12 +13:00
ShizCalev
9997f956b0 Fixes ODing on crank/other chems, viruses, and other things damaging/healing robotic limbs. (#41593)
cl ShizCalev
fix: Fixed chem OD's causing damage to robotic limbs.
fix: Fixed wood golems repairing robotic limbs every tick of life()
fix: Fixed vampires repairing robotic limbs every tick of life()...
fix: Fixed shadowpeople healing robotic limbs every tick of life()
fix: Fixed poppeople healing robotic limbs every tick of life()
fix: Fixed adjustBruteLoss and adjustFireLoss not properly discriminating for limb status types.
tweak: Fixed bibles healing robotic limbs, because your false deity can't fix SCIENCE.
fix: Fixed the Starlight Condensation, Nocturnal Regeneration, Tissue Hydration, Regenerative Coma, and Radioactive Resonance virus symptoms repairing robotic limbs.
/cl

Gonna be away the next two weeks, so if there's anything major after today just go ahead and close it and I'll fix it when I get back.
2018-12-02 20:12:22 +13:00