Commit Graph

65 Commits

Author SHA1 Message Date
vuonojenmustaturska
fb45b7a017 Turns trait accessors into defines, fixes some bugs (#43820)
It's free performance.
2019-05-06 19:44:05 -04:00
Strommer Kilian
9529063aa3 New brain trauma: expressive aphasia (#43608)
* new mutation: simple speech

* finalize simple speech and fix word list apostrophes

* Is now a brain trauma instead

* fix merge conflict

* grammer fix

* cleanup cause I'm an idiot

* made the suffix list a bit easier to read

* fix traits.dm
2019-05-02 19:48:38 +12:00
nemvar
73eb5d88af Fixes bathsalt brawling and beepsky smash (#43746) 2019-04-29 23:52:19 +02:00
Tlaltecuhtli
85c1485bab [ready] beepsky smash change (#43228)
* 1

* 2

* 3

* temp

* r

* rogue space

* e

* e

Co-Authored-By: Tlaltecuhtli <33834933+Tlaltecuhtli@users.noreply.github.com>

* restarts appveyor
2019-03-25 12:03:51 -04:00
tralezab
9e4856d55d [READY] dilutes the staff of chaos pool with some more bolts (#42719)
* staves

* projectiles

* sapped event

* last of the staves (need to sprite and get sounds)

* last of the projectiles

* Squash is a single-use plant in Plants vs. Zombies and returns as a premium plant in Plants vs. Zombies 2.

* removes staff of cooperation, adds fly magic status effect

* a couple things with flight + tweaks

* removes old bolts/staves, finishes and adds parts of the new set

* fixes

* fetching + flying fixes, added chill and wipe

* and done

* cobblestone's review
2019-03-08 08:24:57 -05:00
tralezab
86a6ead838 My summoning begins your debt, reviewer. 2019-02-26 09:03:36 -08:00
oranges
fca3d16576 Hypnosis code improvements
Hypnosis no longer runtimes forever if it can't generate a valid regex
from the user phrase

Hypnosis also no longer constantly regenerates the regex and instead
just matches using the existing regex
2019-02-25 05:31:44 +00:00
tralezab
46e3894bb2 Creep fluff completely rewritten (#42675)
* hang in there!

* Apply suggestions from code review - rewrite P1

Co-Authored-By: tralezab <40974010+tralezab@users.noreply.github.com>

* most creep > obsessed - rewrite P2

* removes creep_inlove, last edit to greet
2019-02-08 11:26:41 -05:00
PKPenguin321
cefe4a6a51 [Ready] Adds 5 new negative/minor negative mutations, mutation conflict system (#42524)
* adds 5 new (minor) negative mutations
also adds a mutation conflict system

* removes debug comments and to_chat(world)s

* addresses reviews

* further review addressing, new message
and a message given to the subject when a mutation fails to manifest because of conflicts

* cooldown on acid flesh message
2019-02-07 23:08:29 -05:00
coiax
2ed34af9c0 Adds Paraplegic quirk (#42503)
🆑
add: Adds the Paraplegic quirk for -3 points. You start with unhealable leg paralysis
(persists through cloning), and have a wheelchair to move around the station.
/🆑

This is really popular for some reason.

This required a surprising amount of small code tweaks for it to "feel"
right in edge cases like being a job that had items in their hands or
joining on the arrivals shuttle.

Justification for -3 points: You move REALLY slowly, in a game that's
about generally running from security/the guy with the esword. And if
you die and get cloned and don't have your chair, you move even slower.
2019-01-30 12:08:54 -05:00
coiax
e65e50e8d9 Traumas are copied when a person is cloned (#41852)
* Traumas are copied when a person is cloned

🆑 coiax
add: When a person is cloned, any mental traumas are cloned as well.
/🆑

If the cloner is going to recreate your delicate personality, it's going
to have to recreate anything wrong with your brain as well. After all,
where does one greytider's legitimate fear of security end, and another
one's irrational fear begin?

Essentially, traumas could be easily gotten rid of by cloning, or death
would rob a person of a rare positive trauma. Now you're stuck with them
until you get rid of them.

* Suggested changes
2019-01-30 11:36:20 -05:00
tralezab
b7c5559146 [READY] fixes roles that shouldn't be creepy being creepy and the jealousy objective asking you to assassinate the obsession + missed sanity (#42389)
* adds station positions global list

* She don't believe in shootin' stars But she believe in shoes and cars Wood floors in the new apartment Couture from the store's department

* missed comma

* embarassing

* Update code/modules/antagonists/creep/creep.dm

Co-Authored-By: tralezab <40974010+tralezab@users.noreply.github.com>

* parentheses

* shiver me timbers

* Hey, great work Mac! Now let's take down the next circuit!

* a plethora of fixes
2019-01-22 22:15:02 +11:00
coiax
dd22f63ca8 Fix communication disorder plus mutadone causing chat spam (#42340) 2019-01-15 17:18:22 -08:00
Jack Edge
356c960ceb Gaining the creep trauma no longer happens via brain damage
🆑 coiax
tweak: The creep trauma/antagonist is no longer gained via brain damage.
/🆑

Stops self-antaging from repeated brain damage/healing, and also just
generally leaves it only assigned via the event or admins.
2019-01-10 21:28:35 +00:00
coiax
00b53b276a Improves quality of flavoured cigarettes (#42181)
* Improves quality of flavoured cigarettes

* Menthol cigs taste equally of smoke and mint while still buffing
2019-01-09 14:00:54 -05:00
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
coiax
99db213f69 Change concussion scan_desc from 'a concussion' to 'concussion' (#42077)
This person has a "deep-rooted a concussion".
2018-12-27 11:41:25 -08:00
coiax
9f3e9a6960 Trauma bug fixes, stalking phantom balance (#42020)
* Traumas are copied when a person is cloned

🆑 coiax
add: When a person is cloned, any mental traumas are cloned as well.
/🆑

If the cloner is going to recreate your delicate personality, it's going
to have to recreate anything wrong with your brain as well. After all,
where does one greytider's legitimate fear of security end, and another
one's irrational fear begin?

Essentially, traumas could be easily gotten rid of by cloning, or death
would rob a person of a rare positive trauma. Now you're stuck with them
until you get rid of them.

* Suggested changes

* Removes cloning traumas

* No more cloning traumas
2018-12-23 16:52:47 +11:00
Jack Edge
c41e233631 Fixes bug where monophobia would rarely affect its sufferer
🆑 coiax
fix: Fixes bug where sufferers of monophobia would enter negative
stress levels when around people.
/🆑
2018-12-13 18:48:24 +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
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
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
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
AnturK
2d80976068 Fixes some parlyze nonsense. (#41314) 2018-11-06 08:27:45 -05:00
Mickyan
c0ac8d514f Adds new moodlets, psychotropic drugs (#41207)
cl Mickyan
add: Added various new moodlets
add: Most notably, the Laughter chemical and breathing small quantities of N2O can improve mood
add: Psicodine: a new chemical that can restore sanity levels to normal and temporarily suppress phobias
add: Happiness: a homemade drug that supposedly gives a feeling of total bliss and.. emptiness? That can't be healthy... watch out for side effects.
fix: The suffocation moodlet now triggers correctly
fix: The drunk moodlet now clears as soon as the drunkenness wears off
/cl

Fixes #41170

List of new moodlets:
Jittery
Vomiting, vomiting all over yourself (gross)
Painful medicine application (silver sulfazine/styptic powder/syntflesh) - very short duration
Chemical euphoria (breathing N2O)
Laughter/Superlaughter reactions
Happiness drug related reactions

Psicodine: keeps your sanity at least above neutral level and suppresses phobias as long as it's in your system. Also available from pill bottles at the medivend at a premium.

Happiness: loosely inspired by Joy from LISA, very addictive, does minor brain damage, withdrawal makes you slowly go insane and overdose makes your mood jump all over the place. Also suppresses phobias. Good if you need a very quick and powerful boost but not very practical for keeping your mood up for long periods.
2018-11-04 15:01:05 +13:00
XDTM
89fe484b6d Phobia trigger words are highlighted in pulsing red/black (#40885)
* Phobia trigger words are highlighted in pulsing red/black

* .

* !

* >:(

* fixes

* fixes 2
2018-10-23 14:49:05 +02:00
kevinz000
3e7184c975 Combat/Stun (slip) overhaul staging, mobility flags, adds crawling (#39967)
Aiming to implement the framework oranges has detailed in https://tgstation13.org/phpBB/viewtopic.php?f=10&t=19102
Moves canmove to a bitflag in a new variable called mobility_flags, that will allow finer grain control of what someone can do codewise, for example, letting them move but not stand up, or stand up but not move.

Adds Immobilize()d status effect that freezes movement but does not prevent anything else.
Adds Paralyze()d which is oldstun "You can't do anything at all and knock down).
Stun() will now prevent any item/UI usage and movement (which is similar to before).
Knockdown() will now only knockdown without preventing item usage/movement.
People knocked down will be able to crawl at softcrit-speeds
Refactors some /mob variables and procs to /mob/living.
update_canmove() refactored to update_mobility() and will handle mobility_flags instead of the removed canmove

cl
rscadd: Crawling is now possible if you are down but not stunned. Obviously, you will be slower.
/cl
Refactors are done. I'd rather get this merged faster than try to fine tune stuff like slips. The most obvious gameplay effect this pr has will be crawling, and I believe I made tiny tweaks but I can't find it Anything I missed or weird behavior should be reported.
2018-10-11 11:22:21 +13:00
XDTM
0b813b63b5 [Ready]Adds hypnosis and the hypnotic stupor brain trauma (#40362)
cl XDTM
add: Added a new severe brain trauma: hypnotic stupor. Victims of hypnotic stupor occasionally fall into a trance, and upon hearing a sentence they'll focus on it to the point of obsession, until it is replaced by a new hypnosis or the trauma is cured.
/cl

Adds the potential for some fancy rp gameplay. The idea is that they should take a passing message way too seriously, while leaving room for interpretation to the player. Hearing an isolated "greytide" over the radio might prompt a player to take up arms against the rampaging greyshirts, another might interpret it as having to become the greytide. Someone who realizes what's up might use this to give clear orders to the victim, although they'll only last until the following trance.

I plan on adding more methods to inflict hypnosis with the same trance->"focus on a sentence" mechanics, perhaps as a traitor/CMO pendulum item, or as a wizard/cult spell.
2018-09-29 10:07:43 +12:00
ShizCalev
2a01a9d447 Cleans up some log_message stacktraces 2018-09-26 21:13:39 -04:00
XDTM
3f32f8c110 [Ready]Logs when speech is forced by an external factor (#39964)
* Logs when speech is forced by an external factor

* makes say args uniform

* fix
2018-09-03 11:38:16 +02:00
Patrick Chieppe
2c8248575a Logging system refactor and improvement (#39521)
* Refactor several log lines to use datum_info_line and atom_loc_line

* Add default return strings from datum_info_line and atom_loc_line

* Add parentheses around atom_loc_line data

* Change more logs to use atom_loc_line

* Add check in atom_loc_line for turfs to avoid calling get_turf on them

* Re-add removed 'at'

* Replace datum_info_line with key_name and atom_loc_line with loc_name

* Refactor logging functions

* Avoid double-logging self-interactions

* Fallback to simple stringification if all else fails in key_name()

* Rewrite muscle spasm logging to use log_message

* Standardize logging of martial arts

* Tweak individual logging panel look

* Fix individual logging panel source

* When I typed || I really meant &&

* Fix Telecomms logging always showing client logs in the panel

* Reverts addition of buggy ownership log to panel

* Remove colon

* Fix missing log_directed_talk tag

* Add warning for missing type in log_direted_talk

* Change warnings to stack_traces

* Add square brackets around fallthrough key_name() case to help parsing

* Allow atom arguments/src in log_*() functions

* Change log_combat call with null argument to log_message

* Change mecha types' log_message() arguments to match atom and mob version

* Add key_name() case for atoms

* Fix resist_grab() unsetting pulledby before log_combat gets a chance to use it

* Fix log_globally logic

* Add logging for hitting objects with items

* Move log_combat() to atoms.dm

* Use utility functions for object stringification in log_combat()

* Use utility functions for object stringification in log_combat()

* Add missing logs for interacting with display cases

* Rewrite log_combat() comment

* Add missing space in log_combat()

* Add logging for hitting grilles barehanded

* Add missing ..()
2018-08-12 21:41:09 +02:00
Jordie
0d7ef3ed65 Key instead of ckey for user facing logs and ui (#39009)
* converts to using key instead of ckey for user facing logs and ui

* more key_name for airlock wires

* futureproofing check for if key changes

* --onlyckeymatch script argument and fail/success counter

* fix
2018-08-11 02:15:50 +10:00
Tad Hardesty
2552190fbf Fix some weird syntax 2018-07-31 01:24:31 -07:00
Grandmother of 50
90a1b8c363 Mood Code Improvements [Merge-Ready?] (#39075)
fix: having higher sanity is no longer punished by making you enter crit faster
balance: you can have 100 mood instead of 99 before it starts slowly decreasing


Remember higher sanity is BETTER

You want crit_modifier (now crit_threshold) to be LOW so you can stay in fights more (you go into crit at 5hp vs 0hp).

Why: Proc overhead, puts the load on mood, proper abstraction of mood component, values > defines, etc.
2018-07-20 11:33:00 +12:00
XDTM
cb5493f83e [Ready]Fixes imaginary friend bugs, adds some QoL (#39008)
* Fixes imaginary friend bugs

* full fix

* mut app

* typo
2018-07-18 11:50:42 +02:00
vuonojenmustaturska
042ea5ea63 Fixes emote runtimes (#39115)
Fixed some missing args in emote procs called with named args, leading to
runtimes.
2018-07-14 13:20:50 -07:00
Qustinnus
284f90a3ab Makes some requested changes to mood (#38851)
cl Floyd
del: removed beauty / dirtyness
balance: Mood no longer gives you hallucinations, instead makes you go into crit sooner
/cl

oranges requested these changes, i havn't coded in DM for a while so I might have made some mistakes
2018-07-08 13:50:54 +12:00
ninjanomnom
d483ff3ef0 Regexes
`([^_\.])SendSignal\((.+?)\)` -> `\1SEND_SIGNAL(src, \2)`
`([\.\w]+?)\.SendSignal\((.+?)\)` -> `SEND_SIGNAL(\1, \2)`
2018-06-13 19:19:23 -04:00
ShizCalev
c41d6ac965 Standardizes and cleans up some admin messages & logging (#38128)
* Improved logging

* Fixes & emitter logging

* ded
2018-05-30 21:57:06 -07:00
XDTM
aa782fffd2 [s] Hallucinations 4.0 (#37423)
No ingame changelog cause these are supposed to fool people.

Changes:

    Hallucinations now pick from a single weighted list, instead of being separated in tiers. The more obvious a hallucinations, the less likely it is to appear.
    Hallucination is now a contantly ticking down variable. 1 hallucination = 2 seconds duration. Hallucinating effects have been rebalanced to fit this.
    Hallucinations have a random cooldown ranging from 10 to 60 seconds. The status will still tick down in the meantime.
    The Sounds hallucinations has been split in three: realistic sounds (likely), weird sounds (rare), and station messages (i.e. the shuttle arrived, blob warning, etc.)(also rare).
    The Bolts hallucination now stops you from bumping doors open. You can still click them to open them.
    Removed the singulo hallucination. It's pretty much impossible to make it realistic enough, and it's too widely known to scare someone. It's an annoyance and a definite tell that you're hallucinating.
    Removed the xeno attack for the same reasons. It was kept in the code to serve as a pseudotemplate for hallucination mobs.
    Removed the fake attacker hallucination. Trying to replicate full attack and defense code as well as managing icon generation with blacklists and all is just not worth it. It would never be realistic enough.
    RDS hallucinations have been either rolled into normal ones or removed (the OOC ones). No reason to keep them separate, aside from throwing off the hallucination odds (which has resulted in complaints about the cult victory warning being too common).
    Added/edited a lot of strings for the text-based hallucinations. I could definitely use a few more for the message hallucination, i got writer's block there.
2018-05-10 09:15:46 +12:00
Noka
91aa7fdb90 test (#37263) 2018-04-23 10:06:55 -04:00
Jordan Brown
26eb48f922 Removes @ (#36928) 2018-04-03 14:33:47 +03:00
Tacolizard
2d985dc390 Fixes phobia word recognition (#36457)
* fix

* Update phobia.json

* add plural detection
2018-03-28 21:43:07 +03:00
YPOQ
b95374ea4c Fixes imaginary friend trauma (#36647) 2018-03-24 05:03:13 -04:00
kevinz000
f300a5c155 Interaction/Attack Hand Refactor (#36405) 2018-03-23 11:20:54 +01:00
XDTM
220f0588ad Fixes some more trauma bugs (#36487)
* fixes some more trauma bugs

* Update brain_trauma.dm

* Update brain_item.dm
2018-03-20 21:31:08 -04:00
Qustinnus
4911991f70 [READY] Several fixes/changes to mood, longterm mood effects, beauty component (#36344)
cl Floyd / Qustinnus
del: Removes short-term effects of mood
add; Adds long-term effects of mood by implementing sanity which goes up with good mood, down with bad mood, but takes time to change. Your sanity can be seen as your average mood in the recent past. All effects of moods are now covered by this system
add: Beauty component, currently only attached to cleanables, but you could attach it to any atom/movable and make them pretty/ugly, affecting mood of anyone in the room.
refactor: Removes the original way of adding mood events, uses signals properly instead.
fix: Cleanables "giving" area's free beauty during initialization
fix: Fixes some events not clearing properly
/cl

Fixes #36444

From now on mood no longer affects you directly, instead it decides whether your sanity goes up or down, when your sanity gets too low you will get the effects of what mood did before.

This means getting hit with bad moods due to being attacked while not mean you are doomed anymore, and you get a large timeframe to get away and just fix your mood later.

I also added the beauty component, you could add this to any object and it would either make a room prettier or uglier, comparable to DF or Rimworld. You could add traits to make certain people ugly, for example.
2018-03-18 19:48:50 +13:00
XDTM
e34930714b Refactors some trauma code, fixes some trauma heals not working (#36093)
* Refactors some trauma code, fixes some trauma heals not working

* that too

* fix indent

* antur comments
2018-03-15 07:57:46 +01:00
Singularbyte
b7dd356d55 Fixes bodies responding to phobias (#36227)
* Fixes ghosts responding to phobias
When a ghost inhabiting their body hears a phobia word, they no longer
freak out.

* Modified to a guard clause
2018-03-10 02:28:33 -06:00
Qustinnus
5140cff38c [reviewpls] Adds moodlets to the game - [Please give suggestions for trait additions in comments] (#35475)
Floyd / Qustinnus (Sprites by Ausops, Some moodlets by Ike709)

add: Adds mood, which can be found by clicking on the face icon on your screen.
add: Adds various moodlets which affect your mood. Try eating your favourite food, playing an arcade game, reading a book, or petting a doggo to increase your moo. Also be sure to take care of your hunger on a regular basis, like always.
add: Adds config option to disable/enable mood.
add: Indoor area's now have a beauty var defined by the amount of cleanables in them, (We can later expand this to something like rimworld, where structures could make rooms more beautiful). These also affect mood. (Janitor now has gameplay purpose besides slipping and removing useless decals)
remove: Removes hunger slowdown, replacing it with slowdown by being depressed
imageadd: Icons for mood states and depression states


What this PR is

This PR adds a system that allows player to gain and lose moodlets based on events occuring to, and around them. These events then give the player a mood value based on what it is. For example a hug could give you +1 mood, while being stabbed in the eye with a screwdriver can give -5 mood. All these moodlets together determine the mood of your character which currently affects the following things:

    Movement speed - If you are very sad you move slower. Replacing movement slow from hunger. (hunger now instead affects mood)
    Screen blur - If you are sad you gain an overlay that slightly blurs the screen, increasing in severity as you get sadder.
    Interaction / do after speed - If you are sad or happy your interaction speed with things such as handcuffs is changed. with a 25% longer time if you are sad, or 10% shorter time if you are extremely happy.
    Hunger rate - You gain hunger slower if you are very happy.
2018-03-08 14:15:57 +13:00