Commit Graph

4396 Commits

Author SHA1 Message Date
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
oranges 423c7e1055 Merge pull request #41458 from ShizCalev/fixes-swedish
Fixes Swedish mutation language
2018-11-14 22:18:58 +13:00
ShizCalev a64f5cd934 Makes the vending machine shut up (#41456) 2018-11-13 18:07:50 -05:00
ShizCalev e27b6be6f5 Fixes knives not getting embedded (#41457) 2018-11-13 18:06:52 -05:00
81Denton 73f9b629a8 Adds deafness quirk (#41397) 2018-11-13 01:39:19 -05:00
ShizCalev f853ba3559 Fixes Swedish mutation language 2018-11-12 18:54:10 -05:00
ShizCalev 9e8398eab1 Adds logging to admin adding martial combat skills (#41416) 2018-11-12 13:30:10 -08:00
ShizCalev 597bf9b557 [s] Improves AI, turret, and door logging (#41327)
cl ShizCalev
admin: Fixed AI fingersprints not getting logged
admin: Fixed some door interactions not being logged at all.
admin: Turret control interactions are now in mob combat logs
/cl

Fixes #40203

Semi WIP. Good to merge for the most part, but I would like to add logging in a couple more spots.
2018-11-12 20:54:58 +13:00
ShizCalev 157de4243a Allows paper airplanes to be vareditted to always hit someone in the eye (#41328)
cl ShizCalev
tweak: Paper airplanes can now have their hit probability adjusted by badmins.
add: Added syndicate paper airplanes. They are rather robust and are guaranteed to hit someone in the eye.
add: Added The Art of Origami to the syndicate uplink. This allows you to fold weapons grade paper airplanes. It will also allow you to catch paper airplanes when you have the ability enabled.
/cl
2018-11-12 20:49:32 +13:00
kevinz000 2d0cac9d37 Removes stun and item drop from all slips. They will instead knock people down (force crawling) for their duration. (#41068)
image
I originally was going to cut stun/paralyze duration instead but since none of them will now hard stun I think it's fair for them to keep their original duration/power as knockdown.
2018-11-07 21:51:57 +13:00
ShizCalev c167d37121 Fixes admin damage editting not logging the target's real name / key. (#41318)
* Fixes admin damage editting not logging the target's real name / key.

* few more areas
2018-11-06 14:10:20 -05:00