Commit Graph

427 Commits

Author SHA1 Message Date
oranges 3316f0dcbe Merge pull request #44895 from ninjanomnom/signal-async
Makes signal calls async again
2019-07-05 09:34:04 +12:00
nemvar 698fb9c080 Antimagic now gets used up once it loses all charges (#44956)
Also makes the tinfoil hat load correctly if varedited in the DMM.
2019-07-04 13:04:20 -07:00
Qustinnus d9b316b7ab Sanity Rebalancing (#44800)
cl Floyd / Qustinnus
tweak: The Nanotrasen Physological department has realized that working at a metal deathbox is more stressful than it currently is. Mood has been slightly rebalanced
/cl

This PR is mostly a rebalance of various variables that exist withing the system. The system is now more likely to skew one of two ways instead of always hanging at neutral unless you're hungry, I plan to make it more likely to skew to one side from other things as well, and nerfed various low effort and non interesting interactions such as reading books while buffing the ones that have gameplay like drinking good bartender drinks or winning arcade games.

I also plan to add a moodlet for being in the bar; this will reinforce players to visit these areas if things get bad, or if they just want to refuel for a bit.
2019-07-03 19:32:09 +12:00
oranges 64460ae3ca Merge pull request #44825 from AutomaticFrenzy/patch/lints
In advance of eventually adding SpacemanDMM's linter to Travis, fix everything it can currently detect.

Some lists, including global lists, are given types so that L[i].foo expressions can be checked.

Some procs are given a new form of return type annotation so that DuplicateObject(O).forceMove()-type invocations can be checked.

Open to syntax suggestions on the return type annotations, and on whether the preprocessor strategy makes sense.

Return type syntax is currently roughly:

    <typepath> | <paramname>([_])*(.type)?
2019-07-03 19:31:11 +12:00
ShizCalev 6e44bd3a93 Merge pull request #44796 from kingofkosmos/addswarningspans
Adds warning-spans
2019-07-02 00:47:43 -04:00
Shaps e799621f0b Changes improvised jetpack recipe (#44794)
* Corrects crafting recipe

* Update code/datums/components/crafting/recipes.dm

Co-Authored-By: nemvar <47324920+nemvar@users.noreply.github.com>
2019-07-01 20:52:07 +02:00
ninjanomnom 55b8aa1837 Makes signal calls async again 2019-06-30 21:04:30 -04:00
kingofkosmos c969f6d3eb Merge branch 'master' into addswarningspans 2019-06-27 15:12:54 +03:00
kingofkosmos ec5c82029a * "Is already...", "Can not...", "Not when..." etc. 2019-06-27 06:15:43 +03:00
Rob Bailey 532cc7ea63 Smart cable fixes (#44784)
I wanted to get this up next day but I kept falling asleep before finishing what I wanted to
About The Pull Request

Fixes some issues that have been brought to my attention with smart cables

Closes #44768
Closes #44775
Why It's Good For The Game

this shit pretty broke as is in game.
Changelog

cl
fix: removed mech rcl from the research node so it stops spamming a warning in log
fix: cables now disconnect machines when cut
fix: terminal linking/not linking behavior with smeses has been improved
fix: couple of small mapping fixes
tweak: changed cable coils back to 30
tweak: changed the box smes room a little to prevent stacking terminals
tweak: removed the rpcl from engineering on every map because it's not used for wiring anymore
/cl
2019-06-27 12:20:49 +12:00
Tad Hardesty 0f0604575f Add return type annotations to some procs 2019-06-25 23:03:38 -07:00
Tad Hardesty b07065a477 Add additional type annotations to lists 2019-06-25 22:48:10 -07:00
kingofkosmos fb9731492c * extra spaces removed from "span class = '" --> "span class='"
* warning-spans added to cases of "You need..."
2019-06-25 21:03:25 +03:00
XDTM 114628ad7c Fixes antimagic not working in hand slots (#44606)
* Fixes antimagic not working in hand slots

* proper changes

* Update code/modules/mining/lavaland/necropolis_chests.dm

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>
2019-06-24 10:31:11 -04:00
Emmett Gaines d615abf23c Replaces callbacks in signals with simple proc paths (#44579) 2019-06-22 18:21:57 +02:00
Tlaltecuhtli d3dd48de46 fixes russian helmets not holding vodka (#44692)
* 1

* no need for this

* e

* dsdag
2019-06-22 02:17:55 -04:00
vuonojenmustaturska 8ddc9677c7 examine-code refactor (#44636)
* 1/4 done? maybe?

* more

* stuff

* incremental stuff

* stuff

* stuff & things

* mostly done but not yet

* stuffing

* stuffing 2: electric boogaloo

* Git Commit and the Kingdom of the Crystal Skull

* make it actually compile

* found more stuff

* fixes

* fix AI laws appearing out of order

* fix windows

* should be the remaining stuff

* this time for real

* i guess it should compile too

* fix sechuds
2019-06-19 22:07:57 +02:00
nemvar d2cd28da78 Adds superlube to the clown ruin. (#44595)
* welp

* h

* Superlube
2019-06-18 21:37:11 +02:00
granpawalton e92a3187a9 miasma temp and pressure (#44586)
* miasma temp and pressure

* temp changed from T20C to BODYTEMP_NORMAL
2019-06-18 21:29:05 +02:00
nemvar 137e2af8e2 Turns art into a component (#44525)
* welp

* h

* artcomponent

* I forgot something

* handsome squidward

* handsome squid

* n

* Ghosts should have fun too, I guess.
2019-06-18 14:23:42 +02:00
nemvar d9761d448d Adds primal farming implements. (#44388)
About The Pull Request

Adds a rake (reskinned cultivator) and a wooden hatchet to the ashwalker base. Replaces their bucket with a wooden bucket.

Added crafting recipes for the rake and wooden bucket.
Why It's Good For The Game

It looks more flavourful (inb4 where did they get the wood from) and adds a bit of functionality to unused content (i.e. ashwalker farming).
Changelog

cl
add: Added wooden farming implements to the ashwalker base.
add: Makes rakes and wooden buckets craftable.
/cl
2019-06-17 13:34:15 +12:00
oranges 2d30317a49 Merge pull request #44510 from ninjanomnom/revert-datum-output
Reverts datum outputs
2019-06-16 08:31:38 +12:00
WJohn 39c86a8930 Fixes sanity minimum/maximum not affecting action speed (#44469)
If you were below 0 or above 125 sanity, the action speed multiplier
wouldn't come into play. Now it does. Also prevents sanity from
constantly going overboard and being reeled in all of the time.
2019-06-13 19:35:27 -07:00
ninjanomnom 56196df9c6 Reverts datum outputs
reverts #43038
reverts #41535
2019-06-13 20:09:10 -04:00
AnturK 0ce8241c78 Fixes cross-z dumping with bluespace bags. (#44437) 2019-06-11 14:32:34 +02:00
Emmett Gaines 6e1a049052 Removes an infective GetComponent (#44422)
* Removes an infective GetComponent

* Adds a meme underscore

* Restructures signal registration
2019-06-11 13:59:08 +02:00
AnturK 85871da5c9 Fixes ghost seizures. 2019-06-10 11:19:47 +02:00
vuonojenmustaturska 0254559eca Replaces hear_intercept with signals, refactors MOVABLE_HEAR, touches up nanites and to_chat (#44391)
hear_intercept is removed in favor of having the things that care register for the COMSIG_MOVABLE_HEAR signal instead.

The signal has been changed to be like the speech one with an args list.

Nanite datums no longer register for the hearing signal just in case, only the voice sensor nanite program does.

Dead code has been removed from to_chat, the savefile/sound checks being just-in-case boilerplate checks made during the conversion to to_chat, the replacetexts sidestepping a byond bug that was fixed in 512.1420.
2019-06-10 10:43:12 +12:00
oranges 5c5f991816 Merge pull request #44351 from AnturK/droneuplink
Fixes refunding on ownerless uplinks (ie drones)
2019-06-10 10:30:48 +12:00
nemvar ce479edd1a Ethereal stomach take 2 (#44336)
* Take 2

* Merge conflict begone

* Renames it

* Stupid borgs.
2019-06-10 00:29:37 +02:00
Arkatos1 e82707a8cc Examine tooltips now work on items put into storage (#44311)
* Examine tooltips now work in items put into storage

* IN_STORAGE define

* IN_STORAGE bitfield and proper parenthesis
2019-06-09 18:15:12 -04:00
Emmett Gaines 45ec62931d Finally removes the signal redirect component (#44251) 2019-06-09 17:25:50 -04:00
Rob Bailey 5743c9a748 Dragging prone mobs slows you down, fireman carrying (#44155)
About The Pull Request

Dragging prone mobs (resting, knocked down, stunned, dead, in crit, etc) that aren't buckled to anything slows you down.

You can fireman carry by aggressive grabbing then click dragging onto yourself. This causes a slight speed penalty that is lower than dragging.
Why It's Good For The Game

Prevents the classic "stun and beat the shit out of while zipping off" which is obnoxious and I don't think anybody likes besides the people who do it.
Makes it so if you feel like being a cunt you can rest while being arrested to make you a pain to take back.
Makes it harder to steal bodies and move away before anybody can properly react, but makes dragging bodies riskier at the same time
Fireman carrying adds an element of risk reward, it takes a little while of standing still to pick them up and also slows you down slightly. More useful to move someone a long distance out of a relatively safe area than a quick pull away.
Changelog

cl
add: fireman carrying. Aggressive grab then click drag onto yourself.
tweak: pulling prone mobs slows you down.
tweak: carrying another human slows you down.
tweak: pacifists can aggressive grab.
/cl
2019-06-09 23:54:02 +12:00
nemvar 94d25d1024 Adds craftable firebrands. (#44376)
* Prometheus

* /aaa
2019-06-08 20:19:42 -04:00
nemvar c44120b5d1 Adds bee plushies (#44342)
* Adds beeplushies

* makes the behind less pure black

* Newline
2019-06-07 13:55:02 -04: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
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
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
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
vuonojenmustaturska 8cd55b6426 Update stationloving.dm (#44234) 2019-06-01 22:33:52 +02: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
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
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 c19b36b729 Merge pull request #44112 from vuonojenmustaturska/mousemove
Removes /client/mousemove, changes beamrifles
2019-05-28 02:02:54 -04: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