Commit Graph

1442 Commits

Author SHA1 Message Date
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
5917316550 Fixes lavaland flora. (#44558)
* welp

* h

* fixes lavaland flora
2019-06-18 21:19:52 +02:00
vuonojenmustaturska
ef414ee4d7 [READY] Replaces mining points with money, adjusts gulag payout (#44507)
* woop

* adjust miner regular payout

* golem, orm upgrade changes

* liberator

* tgui.js
2019-06-18 10:17:34 -04:00
vuonojenmustaturska
d428655403 they don't need this 2019-06-13 03:39:26 +03:00
nemvar
ce2be42f45 Chuncky jackhammer and shovel webbing (#44243)
* Update mining_tools.dm

* Update belt.dm
2019-06-09 17:34:11 -04:00
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
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
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
JJRcop
bab214e892 PDA Message Server can be constructed (#43961)
About The Pull Request

I made a machine board for the PDA message server and added it to the telecomms techweb node. To keep the usefulness of the machine's password, a player built message server won't work until 15 minutes after construction. I've also converted a lot of magic numbers to defines, and changed the departmentType var on request consoles into a bitflag.

I'm open to ideas other than a time gate when it comes to keeping the server password's usefulness.
Why It's Good For The Game

You can't build a Message Server right now. If it's destroyed, PDAs may be knocked out for the rest of the round.
Changelog

cl JJRcop
add: You can now build a new PDA messaging server if you lose it.
tweak: Requests console messages no longer work if the messaging server is offline. Emergency alerts will still function in that case as long as the rest of telecomms is online.

/cl
2019-05-27 22:23:59 +12:00
4dplanner
0a22411c23 Colossus chest ignores colossus bolts (#44050)
* Colossus chest ignores colossus bolts

* Changes to pierce
2019-05-23 12:29:50 +02:00
JJRcop
6aa8cebfe4 [READY] Replaces sleepers with stasis beds (Lifeform Stasis Unit) (#43075)
* Adds stasis beds

Needs sprites, using placeholder ones

* Adds stasis beds to techwebs
Cryostasis Technology

* Adds sprites for stasis bed

* Stasis beds support economy/ancap

* Stasis bed can be deconstructed

* Stasis bed requires cable coil

* New stasis bed sprites by @Kmc2000

Made by Kmc2000 <bluekorben2000@yahoo.com>
Not currently functional

* Add unique to SSvis_overlay.add_vis_overlay

will return the overlay object itself and not reuse it

* Make stasis bed art function

can enable/disable with alt click
makes sounds when powering up/down

* The tubes go over the mob now

* Remove sleepers from techweb tree

* Fix stasis bed lying

* Modified stasis bed build requirements

* Survival pod version of stasis bed

Map spawned sleepers delete their circuit boards
Added stasis beds to 'doctors' phobia
NanoMed for survival pod which is always free, not refillable

* Replace sleepers with stasis beds on all station maps

removed all sleeper machine boards from maps
one sleeper machine board intentionally left alone in oldstation

* Fix stasis bed tube overlay capturing clicks

Give power up and down noise freq variation

* Remove stat check from living Life

* Remove vis overlay assertions from stasis bed
2019-05-07 13:16:18 -04:00
vuonojenmustaturska
fb45b7a017 Turns trait accessors into defines, fixes some bugs (#43820)
It's free performance.
2019-05-06 19:44:05 -04:00
Rob Bailey
d4f678a177 Converts almost every single sound to mono 44.1khz, recuts some sounds. (#43550)
About The Pull Request

As title, except a clarification: sounds that play with no source or direction are still stereo due to that the stereo will actually do something and not just be wasted space.

On a technical level, what I actually did was reexport (nearly) every single sound effect to mono 44.1khz sample rate Ogg at quality preset 5. This resulted in some small increases in file size in some places but other than that reduced file size across the board.

A couple of sounds that were wavs for whatever reason were also converted to ogg, this resulted in some code changes to change the referenced sound effect.

Some sounds were also recut. The grille hit and punches in particular are common sounds that had large and noticeable gaps at the beginning.

All of this has resulted in the compiled rsc file going from 102.7 mb to 83.2 mb.
Why It's Good For The Game

Free space with no (effective) drop in quality.
A standard for audio going forward. (that will be inevitably ignored)
Tighter sounds in some places.
Changelog

cl
soundadd: Downmixed every sound to mono. This shouldn't have resulted in any changes in audio, byond downmixes anyways.
soundadd: Recut some sounds. Sounds shouldn't have large silent/noise gaps at the start anymore
/cl
2019-04-16 22:13:28 +12:00
Tlaltecuhtli
15357e6288 Fix grammar error in void magnet (#43426) 2019-03-31 22:09:08 -07:00
Tad Hardesty
570a4da33e Replace 'throw EXCEPTION' with CRASH or WARNING 2019-03-19 23:09:24 -07:00
Tad Hardesty
40cfebf2b0 Add some additional type annotations to lists (#43087) 2019-03-17 12:18:23 +01:00
ShizCalev
9cd14eb021 Fix regenerative core only working below CRIT_THRESHOLD instead of at it (#43062) 2019-03-09 13:16:18 -08:00
Name
28db79575c Makes suicides log at the right times and not at the wrong times 2019-03-08 05:54:14 -05:00
Time-Green
016d739f96 Loot crates no longer explode after unlocking (#42957)
* loot crates no longer explode after unlocking

* Adds a comment
2019-03-01 10:45:03 -05:00
4dplanner
2e1d7bcb88 Standardises hierophant cardinal damage 2019-02-20 13:07:27 +00:00
TerraGS
c3fb41599e Adds toggleable light and blinking charging light to crusher (#42520)
* Adds toggleable light and blinking charging light to crusher

* no need for tool procs in this type path
2019-02-09 22:44:20 +11:00
4dplanner
ea4234cd81 legion cores remove CC instead of adminhealing [READY] (#42378)
* legion cores remove CC

* legion -> regenerative

* lore

* Icons

fixes last reference to legion core in status

* Automatic creation of classes is possibly the worst feature of all time

* Moves remove_CC

* Review changes
2019-01-22 11:57:53 -05:00
kevinz000
7370de6961 Fixes projectiles not hitting people resting, a bit of refactoring of how projectile target collision is done (#42241)
* Fixes projectiles not hitting mobs, some refactoring too

* some stuff for projectile can hit target to work with not being ontop of an object

* Yeah let's just refactor bullet_act while we're at it.

* Yeah let's just refactor bullet_act while we're at it.

* Yeah let's just refactor bullet_act while we're at it.

* CanPass returns true to projectiles regardless of hit

* snakecase?
2019-01-19 11:17:42 +13:00
coiax
881e8c1ab9 Refactors NODROP flag into TRAIT_NODROP (#42109)
* Refactors NODROP flag into TRAIT_NODROP

🆑 coiax
fix: Anti-drop implants can no longer be used to drop objects that they
were not responsible for sticking to a person's hand.
fix: Backfiring with a Barnyard spellbook will now play a spooky horse sound.
refactor: Refactors the way that "NODROP" items work to a new system,
there should be no change in functionality.
/🆑

Various items in the codebase were doing weird hoop jumps in order to
preserve the nodrop flag's state when it also wanted to change it, so I
moved it to a trait system.

I may have gone overboard with the type of unique trait sources, but
those can be changed later. My long term plan is make a general "CURSED"
nodrop origin, which means you can unlock cursed items by being hit with
a bolt of door opening or something. But that's for another PR, this has
no functionality changes, apart from some slightly modified descriptions
on cursed masks.

- Removed a bunch of redundant voice changing code for all the voice
changing animal masks, used two new clothing flags for this purpose.
- Also refactored a bit the animal masks, making new cursed subtypes that play
the sound when created.

* Drop location
2019-01-17 15:24:30 -05:00
Tad Hardesty
3b2c0e27f7 Scope various unscoped locate() calls (#42195)
* Scope locate calls which are immediately checked against a list

* Remove silly use of locate from bible Topic

* Scope various locate calls (needs testing)

* More WIP

* Buff up lightswitches while we're here

* Tidy record browsing code

* Scope a few more locates

These have caused problems in the past (#41917, #39303). Continues #29349.

Also cleans up lightswitch code while I was already touching it.

I recommend a testmerge.
2019-01-06 20:39:27 +13:00
Jack Edge
18376b12b1 Fixes mobs being left in inconsistent state with the Void mutation
🆑 coiax
fix: Humans with the Void mutation will no longer be able to enter the void
while inside something else (eg. cloning pod, cryotube) willingly or unwillingly.
/🆑

- I refactored immortality talisman effects to stop all this ugly ass code
reusing, and stop the weird modification of the speech invocation.
- I added DNA injectors for the Void mutation for testing.
2019-01-01 23:27:57 +00:00
81Denton
3e8da58c0e Improves saw cleaver desc (#42112) 2018-12-29 22:53:26 -05:00
MMMiracles
b79e7869cd prevents crashing the nanotrasen market with inflated coin prices 2018-12-13 10:57:35 -05:00
moo
090ccae5d6 Watcher's Wing No Longer Perma-Disarms (#41708) 2018-11-29 22:17:28 -08:00
coiax
f7af2995d1 Renames "Weight Machine" to "weight machine" (#41678)
Improperly named things annoy me.
2018-11-28 22:48:57 -05:00
Jordan Brown
2f9d0c7c98 Apply suggestions from code review
Co-Authored-By: kriskog <33292112+kriskog@users.noreply.github.com>
2018-11-24 19:30:56 +01:00
skoglol
e08666eb44 Adds light eater interaction to marker beacons 2018-11-24 19:02:09 +01: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
subject217
8409348746 Moves damage deflection code from doors to machines and gives it to the stacking machine (#41551)
* moves damage deflection from doors to machines and sets the stacking machine's at 21

* return

* NONE
2018-11-19 14:44:19 -05:00
4dplanner
c84a92f4ce Passes thrownthing to hitby (#41411)
* Passes thrownthing to hitby

* Items now also pass thrownthing

* No longer uses default arguments

Also fixes bananium shield

* Adds more arguments to hitby calls

* Standardises throw_impact

* Clears up some loose ends

* Adds back wacky comment

* Reinstates can_push=FALSE on bananium shield
2018-11-15 10:25:04 +01:00
ShizCalev
2088a9ce90 Cyborg modules now automatically turn off when deactivated (#41326)
* Cyborg modules turn off when deactivated

* gives mining borgs built in mining scanners
2018-11-13 01:53:14 -05:00
ShizCalev
dc019b09ba Fixes illiterate & blind mobs being able to read books (#41400)
cl ShizCalev
fix: Fixed inconsistency where illiterate and blind mobs were able to read some books/manuals, but not others.
fix: Fixed mobs being granted mime speak even if they failed to finish reading the Guide to Advanced Mimery Volumes 1/2.
/cl

Step towards resolving #41396
2018-11-12 21:10:21 +13:00
81Denton
c511c7fde1 [Ready] Machinery shows part upgrade stats (#40920)
cl Denton
tweak: Most upgradeable machines now show their upgrade status when examined while standing right next to them.
tweak: Added examine messages to teleporter stations that hint at their multitool/wirecutter interactions.
tweak: Renamed teleporter stations from station to teleporter station.
code: Changed the teleporter hub accurate var to accuracy; the old name misled people into thinking that it was a boolean.
/cl

Machines don't really give players feedback about upgrades, aside from machines like the cloner where new functions are unlocked. I'm adding examine descriptions that should help with this:
2018-11-04 14:50:38 +13:00
ShizCalev
ddeb5c5af2 Cleans up eye/mouth protection checks 2018-10-30 06:55:25 -04:00
ShizCalev
c5dd5f9433 Fixes manually inserting sheets into a gulag stacker not granting points 2018-10-26 07:53:42 -04:00
ShizCalev
ca57ca7bee Fix being unable to stuff money into IDs (#41006) 2018-10-19 22:17:28 -07:00
Qustinnus
3b12a40fcc Legion core / aheal now only removes temp moodies. also bad moodie for using it (#40657)
cl Floyd / Qustinnus
fix: Legion core / aheal now only removes temp moodies
add: Legion cores now give you a bad moodlet
/cl

#40110

fixes
2018-10-17 23:18:59 +13: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
ShizCalev
1175a83e88 Correct blue space to bluespace (#40746) 2018-10-09 11:31:15 -07:00
kevinz000
4116f7ec79 Techwebs Backend Refactor - Removes references from techwebs and uses IDs instead (#40596)
Yeah yeah I know no opening too many WIP PRs but this one's [ready] and I want to make sure any furthur techweb development doesn't keep using the old reference system which will make refactoring it harder, and this makes it easier for coders to do stuff in theory (at least for me), standardizes getting a node/design, and makes stuff actually GC properly.
2018-10-06 07:52:07 +13:00
ShizCalev
b7739a4a23 Standardizes bomb logging (#40474)
Fixes #39976

A good number of things were missing various parts of the logging (going to GLOB.bombers, not going to client logs, not logging to game, ect), or doing incorrect things like passing admin verbs to saved logs.

Unified all the necessary actions under a single proc log_bomber() which handles everything in most use cases. This way the log isn't all jumbled up with inconsistent messages, everything's one format so you can quickly find what you need to bwoink the right person.
2018-10-01 15:03:00 +13:00
ShizCalev
2fa1ac1349 Replaces istypes with the proper tool_behaviour checks. (#40414) 2018-10-01 03:10:31 +03:00