Commit Graph

4306 Commits

Author SHA1 Message Date
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
Jordan Brown f1d22a017e Fix TGS stuff (#41806)
Closes #41794
2018-12-10 14:50:48 +13:00
tralezab 52a3400de4 Merge remote-tracking branch 'upstream/master' into patch-12 2018-12-09 15:17:16 -08:00
monster860 376a6eddc6 Makes teleports use forceMove by default 2018-12-09 15:29:31 -05:00
Jack Edge d895f9c511 Merge branch 'master' into disk-verifier-trait 2018-12-09 18:58:25 +00:00
coiax 277c8c078c Gibs now rot and generate miasma (#41782)
* Gibs now rot and generate miasma

🆑 coiax
add: Gibs will now rot if not cleaned, and produce small amounts of miasma, approximately
equal to a quarter of a corpse.
/🆑

Miasma is fun. Gives the janitor more of a reason to do work. It will only become
dangerous if you have a lot of gibs in a small space. So better keep those Hopline shutters
open.

* Rot component, for things that rot

* Whoops

* No longer processes, so doesn't need to stop
2018-12-10 00:29:42 +11: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
XDTM fe4c77b4cb Vegetarian Quirk (#41800)
cl XDTM
add: Added the Vegetarian quirk, which costs 0 points and makes you dislike meat.
/cl

Because why not? Also, it could give a reason for the chef to prepare vegetarian dishes instead of the usual stuff.
2018-12-09 23:19:59 +13:00
coiax 84b64328b9 Improves code implementation of the Musician trait (#41742)
cl coiax
add: Any talented Musician can now use any instrument to lift
spirits, and ease burdens. They can now also use the space piano and minimog
to grant people the Good Music buffs, just like a handheld instrument.
/cl

A living mob with TRAIT_MUSICIAN will now apply the Good Music
status effect to everyone who can hear the music. The buff will
now apply even to players who have disabled instrument sounds.

The Good Music status effect lasts for 6 seconds after the
musician stops playing.

Added STATUS_EFFECT_REFRESH that just refreshes the duration
of a status effect, rather than instancing a new one.
2018-12-09 23:08:03 +13:00
coiax 40344ab093 Heirlooms have additional examine text, rather than being renamed (#41676)
cl coiax
add: Heirlooms are no longer named "Cherry family bag of dice", but
rather their heirloom status can be determined by the owner on examine.
/cl

Because names are inherent to an object when anyone looks at it, I feel
it can be somewhat confusing that you can tell that this screwdriver
is a precious family heirloom just because of its name, rather than
because of the significance that someone holds it.

Only the owner of the heirloom receives the special examine text; so I'm sure this could probably be used to bluff ownership of something non-standard, if and when heirlooms become more exotic.

Heirlooms still work in the same way though, mood bonus from holding, mood penalty if you don't have it.
2018-12-09 23:03:34 +13:00
tralezab e68ad1829c Fix "severe severe monophobia" (#41850)
He's got more finesse than most goblins. He smashes windows with his fist
rather than his forehead.
2018-12-08 14:57:40 -08:00
Jordan Brown 2ff36e76f7 Merge pull request #41818 from XDTM/NotNormal
Fixes curse of normality alerts on hypnosis
2018-12-07 20:54:04 -05:00
moo b0073fddb8 Merge pull request #41754 from coiax/always-in-the-way
Adds Physically Obstructive quirk
2018-12-06 12:06:03 -05:00
skoglol 81dd04ca4d Progress bar moved to above hud plane (#41803) 2018-12-06 00:02:01 -08:00
XDTM e0df9bc724 Fixes curse of normality alerts on hypnosis 2018-12-05 11:19:20 +01: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 579ce52279 Sorted alphabetically 2018-12-03 02:43:12 +00:00
Jack Edge 564e38c10b Merge branch 'master' into always-in-the-way 2018-12-02 19:50:51 +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
XDTM 2712e62ee5 [Ready]Desynchronizer (#41341)
* Desynchronizer

* type

* Update code/game/objects/items/devices/desynchronizer.dm

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

* Update code/game/objects/items/devices/desynchronizer.dm

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

* Update code/game/objects/items/devices/desynchronizer.dm

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

* Update code/game/objects/items/devices/desynchronizer.dm

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

* Update code/game/objects/items/devices/desynchronizer.dm

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

* fixes and cool text procs

* anti-abuse measures

* typery

* cooldown

* techweb salvage

* icon and visual effect plus bugfix

* let's not push runtime
2018-12-02 09:34:41 -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
XDTM e053faabd0 Adds the hypnotic flash to the uplink (#41604)
cl XDTM
add: Added the Hypnotic Flash to the uplink for 7 TC.
add: The Hypnotic Flash temporarily confuses and pacifies those it's used on.
add: If the victim is in a mentally vulnerable state (hallucinating, insane, reduced mental activity) they will instead fall into a trance, and will be hypnotized by the next words they hear.
/cl

Controlled hypnosis for traitors. Usual caveats apply: Mindshield prevents the trance effect (but not the confusion/pacification) and it can still deconvert from hypnosis; a new hypnosis will override the previous one; and most importantly for any ambiguity the interpretation is mostly up to the victim, so it's not a 100% sure conversion (i'm hoping people won't use this clause to just ignore it).
2018-12-02 20:19:42 +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
Jack Edge d641feba16 Adds Physically Obstructive quirk
🆑 coiax
add: Adds the Physically Obstructive negative quirk. A person with this
quirk can't swap places with other people when moving, akin to someone
always being in non-help intent.
/🆑

Adds the TRAIT_NOMOBSWAP to accomplish this.
2018-12-01 16:02:22 +00:00
zxaber 1b0ef7d3a5 Fixes a rare case where the Malf law zero could be purged (#41673)
* Adding a check for when the AI is in a shell

* Update ai_laws.dm

* Forgot to remove a debug

* removed an uneeded return

* Update code/datums/ai_laws.dm

Co-Authored-By: zxaber <37497534+zxaber@users.noreply.github.com>

* Update code/datums/ai_laws.dm

Co-Authored-By: zxaber <37497534+zxaber@users.noreply.github.com>
2018-11-30 20:36:44 -05:00
coiax 446641f329 Repath blindfolds to prevent regular sunglasses creation exploit (#41710)
Blindfolds don't actually need to inherit anything from sunglasses, from what I
can see, unless there's some bad type checking somewhere in the code that I'm
not aware of.

Exploit is: cloth makes blindfold + medHUD -> medHUD sunglasses -> remove
medHUD, regular sunglasses.
2018-11-30 14:21:22 -08:00
nichlas0010 d21931aafa Fix wizards being unable to teleport (#41738) 2018-11-30 13:46:54 -08:00
skoglol 6aac8b26bc Open storage by alt clicking (#41712)
Provides an alternative to click-dragging.

The on_alt_click() proc wasn't ever used, but seemed to be ready for replacing
the AltClick() overload from sabre sheath. I kept that part and added
fingerprints to it as well, and it is still good to go (if it really was)
whenever someone bothers.
2018-11-29 21:40:32 -08:00
Jordie df18d96902 Adds author and ttitle to testmerged prs feedback (#41651)
* readds testmerge feedback call

* typo

* adds author and title to testmerged prs feedback
2018-11-28 23:07:03 -05:00
Mickyan 6b30b578bb Makes the quirk menu look less cluttered (#41684)
* quirk menu format

* brain damage
2018-11-28 22:43:03 -05:00
XDTM 01f794a153 Teleportation standardization, channels, and interception (#41371)
cl XDTM
add: Spraying holy water on tiles will now prevent cult-based teleportation from using them as a destination point.
tweak: Quantum, wormhole and magic teleportation is no longer disrupted by bags of holding.
/cl

Refactors some teleportation code so it uses do_teleport instead of directly forceMove.
do_teleport now has a channel argument, to specify the type of teleportation used. This will affect what can and cannot interfere with teleportation. For example, BoHs interfere with bluespace teleportation but not wormhole, quantum or magic teleportation.
do_teleport now sends a COMSIG_ATOM_INTERCEPT_TELEPORT signal, allowing the target turf (or anything placing a signal on said turf) to react appropriately. As a proof of concept, blessed tiles use it to prevent teleportation from the cult channel.

Intercepting teleportation can have interesting potential uses, from teleport denial fields, to teleport scramblers (teleports you somewhere else instead), telefraggers that gib anyone unlucky enough to teleport in their area of effect, teleport anchors that shunt all teleportations in a wide area to themselves, and so on.
2018-11-29 10:33:55 +13:00
Qustinnus b9f5dbac6b Adds a new race: Ethereal (also adds wrappers for nutrition adjustment) (#40995)
cl Qustinnus / Floyd / Ethereal sprites by Space, is that it? / Alerts and food sprites by MrDroppodBringer
add: Adds Ethereal; a race which lives off of electricity and shines bright. If they are healthy they shine a bright green light, and the more damaged they are, the less they shine and the greyer they become. Their punches do burn damage and they are weak to blunt attacks!
They dont need to eat normal food and dont have nutrition, Instead they gain charge by going into borg rechargers, eating ethereal food or doign specific interactions.
refactor: all nutrition changes now go through a proc so we can override behavior
/cl

Adds Ethereal. A race which is essentialy inspired by Zoltan but then with different mechanics to make it fit with SS13 more. I'm trying to stay away from making them actually provide power but the change from nutrition to electricity seemed kind of fun.

They have the following specifications:

    They are walking lights; and shine bright and green if healthy, and get greyer and darker the more damaged they are. When dead they are just a grey unlit corpse.
    They do burn punch damage instead of blunt.
    They are weaker to blunt; especially when low on charge
    They have charge instead of nutrition. Charge is gained by some interactions or by going into a borg charger. or eating new ethereal food.
    They are slightly stronger to shock damage, and gain charge from it a bit; however, it is still deadly to them and thus they aren't free insulated gloves.
2018-11-29 10:09:56 +13:00
Jack Edge e0754817e1 Added TRAIT_DISK_VERIFIER, refactors how fake disk checks work slightly
Old system: Fake disk checks on examine() can be done by ghosts, nuke ops and Captains. However, this is
done through isobserver(), assigned_role, and has_antagonist datum.

New system: Check the mob or the mind for the TRAIT_DISK_VERIFIER trait, and allow them
to check the fake that way. Gets rid of stuff being hard coded to "assigned_role".

I think this is a good idea, and was good practice for me doing trait related stuff.
2018-11-28 02:19:20 +00:00
nichlas0010 4b2db8fae2 do_teleport now also checks the destination 2018-11-26 15:24:59 +01:00
Jordie b611f0ce43 Readds testmerge feedback call (#41616) 2018-11-22 15:47:07 -08:00
nervere bc5b3c29dc [READY] Restricts the cook's CQC to the kitchen and kitchen backroom (#41432)
cl Nervere and subject217
balance: The cook's CQC now only works when in the kitchen or the kitchen backroom.
/cl

[why]: The reason why the cook got CQC, other than it being a meme, was that people would often break into the kitchen and the cook would have a hard time defending himself. There's really no problem with this, except when the cook can also use CQC in the bar, which tends to be a pretty big area that the cook doesn't even need to defend. The bartender has a shotgun for the purpose of defending his bar, after all.

I removed CQC working in the cafeteria for the same reason, but /area/crew_quarters/cafeteria isn't even used as an area in any of the maps so it doesn't even have an effect. Kitchen backroom isn't used as an area, either, but @81Denton plans to change that soon, so I've added it to the list of areas where CQC is able to be used.
2018-11-23 02:50:34 +13:00
Jordan Brown 2e227d11ee Merge pull request #41602 from swindly/word_crimes
Fixes more word crimes
2018-11-21 09:44:00 -05:00
swindly 4bcd3cdc55 fixes word crimes 2018-11-19 17:56:59 -05:00
Mickyan f74da96676 Voracious quirk lets you binge on junk food, gives positive mood while fat (#41541)
* voracious tweaks

* description
2018-11-19 14:38:12 -05:00
4dplanner ce0828a98e Tendrils are now structure based [READY] (#41554)
* Tendrils are now structure based

* Re-adds tendril wipe achievement

neatens up ash walker variables
gets rid of unnecessary variables in hivelord

* Marks spawner children as admin spawned
2018-11-19 14:36:33 -05:00
CRTXBacon 35ae754d0e Fixes uplink.dm not accepting null values for restricted species (#41597)
* Add files via upload

* oops

* Species restriction attempt #1

* species restriction test

hope this goes well

* first one didn't work (who'dathunkit)

* Add files via upload

* Add files via upload

* Update code/datums/components/uplink.dm

Co-Authored-By: CRTXBacon <34610106+CRTXBacon@users.noreply.github.com>

* Update code/datums/components/uplink.dm

Co-Authored-By: CRTXBacon <34610106+CRTXBacon@users.noreply.github.com>

* Update flashlight.dm

* Add files via upload

* L A M P

* Update uplink_items.dm

* why the hell did it add two paragraph ends

* Update code/modules/uplink/uplink_items.dm

Co-Authored-By: CRTXBacon <34610106+CRTXBacon@users.noreply.github.com>

* Update uplink.dm

* Update code/modules/uplink/uplink_items.dm

Co-Authored-By: CRTXBacon <34610106+CRTXBacon@users.noreply.github.com>

* Update uplink_items.dm

* Update uplink_items.dm

* fixes uplink.dm not accepting null values

* Update uplink.dm

* Update code/datums/components/uplink.dm

Co-Authored-By: CRTXBacon <34610106+CRTXBacon@users.noreply.github.com>
2018-11-19 14:32:31 -05:00
PKPenguin321 17dfb07f99 Refactors deathsounds, adds 2 new ones (lizards and borgs) (#41493)
* refactors deathsounds, adds 2 new ones
- deathsounds are sounds played when *deathgasp is used, either manually or automatically
- deathsounds are a var on /mob
- made xenos use the var
- removed the hack for xenos deathsound in the deathgasp emote and made it use the var
- 2 new deathsounds: one for lizards, one for borgs

* fixes and balance
- alt species now get their deathsound properly and have it set in their species datum
- people who are silent (poisoned, mimes, or otherwise) wont make a deathsound
- people who have over 50 oxyloss when they die wont make a deathsound (to allow silent kills)

* addresses review
makes some comments prettier/better, drops a .loc

* new borg deathsound
with credits.txt

* moves simple animal death_sound to new deathsound
code for simple animal deathsound has been changed around in simple_animal.dm to tie it to deathgasp like everything else
2018-11-18 17:58:27 -05:00
CRTXBacon 0557320528 Adds race-restricted category to syndicate uplinks (#41340)
* Add files via upload

* oops

* Species restriction attempt #1

* species restriction test

hope this goes well

* first one didn't work (who'dathunkit)

* Add files via upload

* Add files via upload

* Update code/datums/components/uplink.dm

Co-Authored-By: CRTXBacon <34610106+CRTXBacon@users.noreply.github.com>

* Update code/datums/components/uplink.dm

Co-Authored-By: CRTXBacon <34610106+CRTXBacon@users.noreply.github.com>

* Update flashlight.dm

* Add files via upload

* L A M P

* Update uplink_items.dm

* why the hell did it add two paragraph ends

* Update code/modules/uplink/uplink_items.dm

Co-Authored-By: CRTXBacon <34610106+CRTXBacon@users.noreply.github.com>

* Update uplink.dm

* Update code/modules/uplink/uplink_items.dm

Co-Authored-By: CRTXBacon <34610106+CRTXBacon@users.noreply.github.com>

* Update uplink_items.dm

* Update uplink_items.dm
2018-11-18 17:47:45 -05:00
Jordan Brown d89f7f9cac Merge pull request #41547 2018-11-18 10:57:47 -05:00
ShizCalev 013a44eed6 resettispaghetti 2018-11-16 13:56:02 -05:00
Emmett Gaines a6971e2673 You can put spaghetti in your pocket (#41517)
* You can put spaghetti in your pocket

* Improved drop text
2018-11-16 13:25:59 +01:00
XDTM e31d4f5d26 Makes paralysis trauma more modular, allows paralyzing single limbs (#41140)
* Makes paralysis more modular, allows paralyzing single limbs

* it begins

* Update bodyparts.dm

* damn webeditor
2018-11-15 12:38:01 +01:00