Commit Graph

6066 Commits

Author SHA1 Message Date
vuonojenmustaturska
2d74a86353 [READY] Cleans up saycode by removing random hook stubs and using a signal where relevant (#44320)
About The Pull Request

This PR removes speech message and span hooks from dna, mutations, pierrot throat disease, species, tongues, masks, hats, held items, brain traumas and a carbon proc overload handling tonguelessness.

Tonguelessness is now handled by tongue removal registering for the speech signal and the hook being deregistered by having a tongue put in.

Also cleans up some /atom/movable/proc/get_spans() overloads that called the empty parent or overloaded the parent to do the exact same thing as the parent proc did.

Also cleans up calls to radio.talk_into() where the caller would often, as a result of copypasta, provide the proc with fresh copies of the proc's default values for proc args, and makes say_quote() better by giving it a default spans value so that none of the callers have to provide the same default one.
Why It's Good For The Game
Changelog

cl Naksu
code: Cleaned up saycode
/cl

* start with this

* oh man this looks so good

* hats are dead

* /obj/item/proc/speechModification is dead

* brain traumas and get_held_item_speechspans() are dead

* these should be static

* unfortunately we still need this

* /mob/living/carbon/treat_message(message) is kill

* clean up get_spans()

* dunk get_spans, modifies_speech for brain traumas, some superfluous static stuff

* move stuff around

* return values
2019-06-06 18:35:06 +12:00
AnturK
8c11e8755a Fixes refunding on ownerless uplinks (ie drones) 2019-06-06 08:31:38 +02:00
Emmett Gaines
7250d0ed71 Make GetComponent warn on dupe enabled components (#44226)
GetComponent gets a singular component, if you're trying to get a
component which allows duplicates on the object then you're doing
something that can very easily break. Stop it.

I'll straight up disable the capability once everything that does this
has been cleaned up but each and every one is its own project.
2019-06-05 21:01:12 -07:00
TheChosenEvilOne
a66126d7e3 Add map voting (#44244)
- Add map voting
- Rename config option for preferred map weighted map selection
2019-06-04 23:55:14 +02:00
Razharas
c55145299a Componentizes menucrafting (#44221)
Fixes menucrafting opening a new window when finishing construction
2019-06-04 17:01:45 -04:00
Emmett Gaines
d2c9864390 Fixes tactical component removal/unmodification (#44239) 2019-06-04 17:51:24 +02:00
Nalzul
47700b8679 Allows you to wear the caution sign + new sprite for the caution sign (#44289)
* +Sprite +Repath

* Adds 5 brute armor
2019-06-04 11:48:47 -04:00
Emmett Gaines
c3f95024b2 Gets rid of the GetComponent macros (#44220)
* Removes the GetComponent macros

* Regex replacement for GET_COMPONENT

Search: `GET_COMPONENT\( *(.+?) *, *(.+?) *\)`
Replace: `var$2/$1 = GetComponent($2)`

* Regex replacement for GET_COMPONENT_FROM

Search: `GET_COMPONENT_FROM\( *(.+?) *, *(.+?) *, *(.+?) *\)`
Replace: `var$2/$1 = $3.GetComponent($2)`
2019-06-04 17:39:58 +02:00
Garen Crownguard
caa683e5b1 merge 2019-06-04 07:04:21 -05:00
Garen Crownguard
4b2fc4cc05 Removes Hygiene 2019-06-04 06:25:51 -05:00
ShizCalev
30fd6ddeac Merge pull request #44280 from kingofkosmos/spanendingfixes
Adds missing </span>'s.
2019-06-04 05:50:50 -04:00
AnturK
1aabc18b60 Removes pointless misleading code. 2019-06-03 10:01:07 +02:00
moo
0d5262e26d tab 2019-06-02 20:30:51 -04:00
moo
c7df1a90b6 Merge branch 'master' into breathe-into-me 2019-06-02 20:26:53 -04:00
4dplanner
15825997b8 Stamina changes [TMC] (#43966)
About The Pull Request

Stamina damage no longer stacks with regular damage.
Stamina regen is paused for 10 seconds every time you take stamina damage
Stamina damage is purged if stamina regen resumes after you enter stamcrit

changes to make this work:
disablers knocked down to 30
punch damage changed to full raw, 1.5x stamina.
flesh-eating symptom deals 2x stamina damage
CQC unchanged
Bostaff manually stacks
Energised jelly blob deals full stamina damage
Pressurised slime blob deals full stamina damage
Blood boil deals 1.5x stamina damage to servants of ratvar (why do I bother?)
Revenant blight now deals 20 stamina damage
Space carp no longer deal stamina damage, but deal 20 brute.
Enchanted bullets deal 20 brute damage
Beanbags reduced to 55 stamina damage
Rubbershot damage untouched
Ebow stamina damage increased to 60

bone hurting juice deals 7.5 stamina damage per tick, down from 15
Why It's Good For The Game

Stamina damage not stacking with regular damage is meant to make disablers less good as a weapon for all-out firefights, but remain good for arresting criminals as a sec squad.

The stamina regen pause allows for chemicals that deal stamina damage to be effective even if they don't only target one body part (as in #43924), and gets rid of the counterintuitive speedy regeneration if multiple bodyparts are damaged. It also makes stamina damage calculations more straightforward - currently 4 damage/tick to the chest is really 1, and adding 25% more damage to the chem deals 100% more damage per tick.

The stamina purge is to make stamcrit less of a confirmed win - several times as sec officer I've succumbed to poison, run out of charge, etc only for the rest of sec to arrive before the perp awakes from his 3 hour sleep. Stamina damage is fully purged to make keeping someone down require more attention, since under the current system even if they somehow get up they'll be so slow it'll be trivial to put them down again. Basically, makes handcuffs more useful again.
Changelog

cl
add: stamina damage now pauses natural stamina regen for 10 seconds
add: stamina regenerates fully when it can.
balance: disabler damage reduced
tweak: stamina damage no longer stacks with normal damage for the purposes of damage slowdown and crit
balance: many sources of stamina damage have been adjusted, check PR for details
/cl
2019-06-03 11:16:56 +12:00
Whoneedspacee
03f7432511 New RPGLoot Affixes + Component Additions (#44188)
* knockback component can now be reversed, has projectile and gun handling, and hostile simplemob handling

adds signals for hostile mobs attacking, altering projectiles before firing, and for when projectiles successfully hit their target

moves knockback handling to a general proc

adds ishelpers for guns and projectiles

* no more weird projectile handling it can just not apply the effect if the component somehow goes away

lifesteal actually works now instead of being a blank file, applies a flat healing effect when you hit something

* fixes up comsig stuff

adds new components to the fantasy prefix and suffix

knockback now handles throwing anchored objects

lifesteal now properly heals the target with projectiel weapons

adds summoning component to handle mob summoning with item attacking and such

adds fired_from variable to handle what a projectile was fired_from, firer would be the mob that fired and fired_from would be the gun, in the case of an autoturret, fired_from and firer would be the same

adds shrapnel component, fires projectiles around a fired projectile when it hits

adds igniter component to set attacked mobs on fire

* no more shrapnel on items that can't use it

summoning items now summon at least one mob maximum

adds specific weighted projectile types for shrapnel to prevent broken options being picked

removes the reverse var from knockback component and instead just handles negative thrown turf
2019-06-03 11:00:12 +12:00
kingofkosmos
1bf60bbe06 Adds missing </span>'s. 2019-06-02 21:29:14 +03:00
vuonojenmustaturska
a21e686123 Fixes datum icecreams, improves admin reagent interface (#44242)
* fix + improve

* Update datumvars.dm

* fix sleepers

* Update datumvars.dm
2019-06-01 23:53:07 +02:00
oranges
d1f27cf52e Merge pull request #44197 from kriskog/spamspamspam
Adds "Never for this round" to a few more ghost rolls.
2019-06-02 09:35:35 +12:00
vuonojenmustaturska
8cd55b6426 Update stationloving.dm (#44234) 2019-06-01 22:33:52 +02:00
oranges
77c859d8aa Merge pull request #44200 from ninjanomnom/rpgloot-afterparty
Adds affix validation and a slight cleanup of fantasy component
2019-06-01 17:56:19 +12:00
AnturK
a386f71194 Saving/loading custom outfits. (#44183)
* Saving/loading custom outfits.

* Small fix and some more relevant name
2019-06-01 10:31:37 +12:00
AnturK
d8078e1452 Adds system for randomized semi-persistent chem reactions. (#44094)
Generates parametrized randomized recipe and resets them every x days.
One example reaction added, with recipe available in space ruin (or through experimentation of course).
There's a few obvious improvements to the randomization system but i feel this is good enough to start some discussion. Still need to decide how far should conflict resolution go.
2019-06-01 09:31:05 +12:00
ninjanomnom
3ce36defa9 Adds affix validation and a slight cleanup
Makes the force argument in randomAffixes() actually do something
2019-05-31 15:29:19 -04:00
vuonojenmustaturska
6a106bc877 Remove reagent ids and use typepaths where applicable (#44166)
cl Naksu
code: reagent IDs have been removed in favor using reagent typepaths where applicable
fix: mechas, borg hyposprays etc no longer display internal reagent ids to the player
/cl
2019-05-31 21:57:26 +12:00
Akrilla
2d32be1904 Small storage refactor and examine change (#44109)
* Removes repeated line

* Description change for clothing items that can only store specific items

* Get all children of can_hold listed items.

* can_hold only needs the top most item, child items are dealt automatically

* cant_hold related change

* Text change

* Moves the item check to the line above, and removes the current.

* Same changes, but to belt/wallet code.

* Change to using signals instead

* Generic signal on datum/topic

* Cache typecache, and small signal change

* Small argument tweaks and remove unneeded lists

* Change to proc

* Change call can_holds/cant_holds to use new proc

* initial, and cleaned up display code

* Null check
2019-05-30 14:20:29 -04:00
oranges
1f204cf008 Merge pull request #44172 from wesoda25/bruhmoment
Removes Physically Obstructive Quirk
2019-05-30 21:05:16 +12:00
py01
f8423cf0a7 CQC and Sleeping carp fix (#44084)
* adds check for cooks in grab, removes unnecessary else

* fixes cqc neckgrab reincreasing grab state on cancel

* makes changes to carp as well

* fixes carp flags

* fixes missing carp variable

* cqc can_use documentation

* spelling

* replaces 1/0's with TRUE/FALSE's

* code cleanup, combined if statements
2019-05-30 10:43:58 +02:00
Ghom
17b3091867 Merges tinfoil (hat) protection into the anti_magic component. Implements it on Hivemind gamemode and telepathy. (#43978)
About The Pull Request

Was fairly shocked to find out hiveminds never took tinfoil hat protection in account, so decided to implement the factor in the game mode. Might have overdone it and probably erroneously changed a couple logics while getting rid of some really indented passages that could easily early return.
So what's said on the tin, this is lot more preferable than clunky is_type() checks on headwear anyway.
Also expanded tinfoil protection to hivemind and (non-revenant) telepathy.
Why It's Good For The Game

Let us remember the "purpose" of tinfoil hats.
Changelog

cl
code: Merged tinfoil hat kind of protection into the anti_magic component.
add: Tinfoil hats can also be warped up from excessive dampening of mindray/though control/psicotronic anomalies, or by simply being microwaved in an oven, and become useless.
add: Immortality Talisman and Paranormal Hardsuit helmets now come with tinfoil protection too (minus the paranoia and limited charges).
balance: Rebalanced many hivemind effects to be dampened/delayed by tinfoil shielding. Bruteforced Assimilate Vessel, One mind and Awake Vessel abilities will consume more tinfoil charges compared to others.
balance: Genetics/Slime/Alien Telepathy and Slime Link are now stopped by tinfoil protection.
/cl
2019-05-30 20:29:30 +12:00
skoglol
f781e649c7 Adds "Never for this round" to a few more ghost rolls. 2019-05-29 23:25:56 +02:00
Akrilla
55ed0ebf35 Fedoras hold small and gimmick items (#44139)
* This was probably originally intended...

* Fedoras hold small items, and exceptions for gimmicks

* Only create cache once

* Cache exception_hold, and adds other katana type
2019-05-28 09:57:59 -04:00
ShizCalev
920b0e7d44 Merge pull request #43941 from tralezab/feels-like-i-didn't-even-try
[READY][:(] code improvements and fixes to fugitive events
2019-05-28 02:34:10 -04:00
ShizCalev
c19b36b729 Merge pull request #44112 from vuonojenmustaturska/mousemove
Removes /client/mousemove, changes beamrifles
2019-05-28 02:02:54 -04:00
wesoda25
6a71ec923a Update negative.dm 2019-05-27 23:38:03 -04:00
tralezab
a2cf51bc3c Merge branch 'master' of https://github.com/tgstation/tgstation into feels-like-i-didn't-even-try 2019-05-27 08:54:14 -07:00
Garen Crownguard
c69a359f20 ling fixes (#44055)
About The Pull Request

Fixes #37273
Fixes #37507
Changelog

cl Garen7
tweak: Lesser form lings can now toggle augmented vision
fix: You can no longer turn back into human form as a lesser form ling while ventcrawling
fix: Stuns and Reagents are now passed when transforming into a monkey or human
/cl

It didn't seem like augmented vision was meant to only be usable as a human so I made it usable as a monkey, if the original creator wanted it to be only usable as a human they would have assigned the var req_human of the augmented vision ability to TRUE since thats where this behavior is usually handled.
2019-05-27 22:36:08 +12:00
XDTM
5020a59565 Adds a communication remote that can send custom messages to some nanite programs (#43673)
About The Pull Request

Adds a new device, the nanite communication remote, which can be built from any protolathe once Basic Nanite Research is completed.
The Skull Echo, Forced Speech, and Hallucination programs can now be signaled by this new device to receive custom messages, instead of having to set them manually every time.
To do so, these programs must be set with a Comm Code, which will have to be signaled by a comm remote with the same Comm Code. A Comm Code of 0 is not signalable by remotes and will only work in the old way. If instead you want the program to be only activatable by remote, you must set the trigger code to 0.
Why It's Good For The Game

Makes these programs more elastic in use, allowing for example nanite-delivered private communication via Skull Echo, or actively messing up conversations with forced speech.
Changelog

clXDTM
add: Added a new device, the nanite communication remote, which can be used to send custom messages to message-based nanite programs.
add: Comm remotes use separate Comm Codes: for a message to be received, the signal's comm code must be the same as the program's.
/cl
2019-05-27 22:21:49 +12:00
vuonojenmustaturska
0a0fbeef53 Update lockon_aiming.dm 2019-05-24 21:47:28 +03:00
RaveRadbury
7c9576c6e2 Puts medical record quirks in Medical Record "Important Notes", gives each quirk a medical record, cleans up subjects into patients. (#44009)
* Gives each quirk a medical record, cleans up subjects into patients.

* Update code/datums/traits/good.dm

adds a period I missed

Co-Authored-By: loser <loser@nonagon.host>

* Dumps medical quirk string into medical "Notes"

* Implements bgobandit's suggestions

* ~Comma, comma, comma, comma, comma, commits from Cobby~

Also I missed an A.

Co-Authored-By: moo <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
2019-05-24 12:45:33 -04:00
vuonojenmustaturska
2219250476 remove /client/mousemove 2019-05-23 22:28:01 +03:00
Emmett Gaines
66cab55f28 Replaces the rpg loot datum with a component and makes some suffixes have real effects (#44044)
* Replaces the rpg loot datum with a component

* Makes bane accept species types

And cleans up some other code
2019-05-22 08:47:42 +02:00
RaveRadbury
9ab2ad72ca Reworks "Religiously Comforted" mood_event (#43995)
* Initial poking around

* adds a message to let you know the examine proc'ed

* converts time to minutes

* removes old on_process() code

* Nests procs under if(!appears_dead)

* nests blocks under src != user
2019-05-21 18:53:13 -04:00
vuonojenmustaturska
e123400d00 Removes the mutation on_move hook (#44060)
Why It's Good For The Game

This

for(var/datum/mutation/human/HM in dna.mutations)
	HM.on_move(NewLoc)

pattern is just awful, especially when only one mutation out of all of them implements it.
Changelog

cl Naksu
code: removed /datum/mutation/human/proc/on_move in favor of having the chameleon mutation register for a signal
/cl
2019-05-22 10:49:28 +12:00
vuonojenmustaturska
300e663f32 Nukies get two kinds of shared team discounts rather than individual discounts (#44027 )
About The Pull Request

This replaces the 3 individual discounts on each nukie uplink with two shared pools of discounts. There are 5 unlimited stock discounts and 10 limited stock discounts. Amounts subject to change and debate.
Why It's Good For The Game
Changelog

cl Naksu
balance: nukeop uplinks now have 5 unlimited discounts and 10 limited discounts shared between the team, rather than 3 individual discounts like traitor uplinks
/cl
2019-05-22 10:48:32 +12:00
Incoming5643
1d42d5abaa Syndicate bomb bugfixes and Quality of Death changes (#43996) 2019-05-21 11:30:45 +02:00
vuonojenmustaturska
a844611ff4 removes an explicit uplink component check in favor of a signal in detomatix carts (#44023)
* yeets a GET_COMPONENT_FROM

* signal rather than component

* Update code/game/objects/items/devices/PDA/virus_cart.dm

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>
2019-05-20 19:43:42 -04:00
vuonojenmustaturska
7bb73bcfb8 Fixes a bunch of harddels and weirdness. (#44012)
* grabbag of random things

* followup

* deleet
2019-05-19 17:52:59 +02:00
Jordan Brown
7a61ee6901 Merge pull request #44034 from ninjanomnom/squeaky-source
Adds a source var to a signal receiver that should have it
2019-05-19 11:22:59 -04:00
tralezab
2d7ec6bd92 removes testing lines 2019-05-18 17:38:58 -07:00
tralezab
3a76050cd3 i want to get off mr bones wild ride, desc
todo: more map instance work, make it actually move, do all this for the russian ship. then and only then it'll be fine
2019-05-18 17:37:43 -07:00