Commit Graph

1951 Commits

Author SHA1 Message Date
nemvar daffaefb71 Switches out the three billion args of electrocute act for flags (#46564)
* Switches out the three billion args of electrocute act for flags

* Adds autodoc to electrocute flags, sets the boolean I removed and tries to fix the ed209 file

* tries to fix ed209 again

* Fixes 209 hopefully

* Finally fixes that darn file

* one final one to fix the diff

* Or i guess i'll just do it myself
2019-10-02 23:14:19 +02:00
spookydonut 82504aee09 Adds linting for power_change() and obj_break() (#46608)
Adds linting for power_change() and obj_break()
2019-09-26 05:09:49 -07:00
spookydonut 2f00e0caa7 Replaces some spawn()s with timers (#46629)
* removes some spawn calls

* fucking indents

* changes per review
2019-09-22 01:33:14 -07:00
nemvar 8cfe0f6467 Slightly improves visible and audible messages. (#46499)
* Doubtful improvement

* Switches out all the magic numbers with defines

* Thanks travis for finally finding a real error

* properly resolves some left over conflict
2019-09-18 12:52:18 +02:00
spookydonut 8c33746f53 fuck trying to safe cpu cycles i guess 2019-09-16 18:39:45 +08:00
spookydonut 68c8b71ae9 Changes power_change() to respect parent calls for toggling NOPOWER (#46486)
About The Pull Request

Similar to #46485
Now all relevant uses of power_change() call parent, theres a signal sent when a machine changes the NOPOWER flag, all remaining machines that were using power_change() instead of update_icon() have been fixed.
Why It's Good For The Game

code quality, eventually signal stuff. and signal stuff
2019-09-16 17:49:00 +12:00
spookydonut 62b3fffe3b Removes unneeded client checks on GLOB.player_list contents (#46445)
About The Pull Request

All mobs in GLOB.player_list have clients attached and there is in fact a fair amount of code that is working fine without checking client on things in player_list. This pr just removes a bunch of checks for client when iterating over player_list.
2019-09-16 16:48:50 +12:00
spookydonut 860985f193 Changes obj_break on machines to use parent calls (#46485)
The way stat |= BROKEN was done was a mess, this makes everywhere use obj_break with proper parent calls and adds a signal for when a machine enters the broken state.
Why It's Good For The Game

Better code quality, more signals.
2019-09-16 16:45:24 +12:00
kingofkosmos 8358169b8e New 'hear' span class (#46369)
* Reverts italics-span back to no color.

* Cleans up many extra spaces and indents.

* Adds 'hear' span class.

* Replaces all 'italics' used in heard messages with 'hear'.
2019-09-14 23:56:34 -07:00
Qustinnus af9df74e87 ugh (#46315) 2019-09-04 10:33:39 -04:00
Rob Bailey 2029163d33 playsound vary boolean define conversion (#46254)
About The Pull Request

Converts every single usage of playsound's vary parameter to use the boolean define instead of 1 or 0. I'm tired of people copypasting the incorrect usage.
Also changes a couple of places where a list was picked from instead of using get_sfx internal calls

This was done via regex:
(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\)) to match 1
(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\)) to match 0
full sed commands:
/(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\))/\1TRUE\2/ 1 to TRUE
/(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\))/\1FALSE\2/ 0 to FALSE

I'm not very good with regex and these could probably be optimized, but they worked.
Why It's Good For The Game

Code usability
2019-08-30 18:45:20 +12:00
kingofkosmos df1fecc58c Adds notice-span to visible_messages with no spans (#46044)
About The Pull Request

Adds 'notice' span class to all visible_messages which had no span class, making all those black messages blue.
Why It's Good For The Game

This should help differentiate action-messages from talking-messages in the chat. More actions will be blue, thus black talking-messages should pop out more.
2019-08-26 20:50:00 +12:00
Rob Bailey 26b04ede42 Obliterates item_color: new washing machine functionality edition (#45961)
About The Pull Request

Completely removes item_color and the clusterfuck of bad programming it caused.

In places where item_color was used for entirely unique purposes it was split off and renamed to a new var on that typepath only, or refactored so it wasn't needed

In places where item_color was used as a dye color, it was converted to the new dye_color var

In places where item_color was used as the worn overlay it was removed and instead now icon_state is always used as the clothing overlay.

A new mob_overlay_icon var was added for manually setting where the mob overlay icon path is for specific items.

Moved some mob overlay files relating to clothing to their own directory as well for organization purposes.

Totally refactors washing machines, instead of the horrible abortion that was iterating through the typepath it now uses a registry of dye results.

Some bonus functionality to come out of this:
the washing machine now supports arbitrary dye colors.
Why It's Good For The Game

It's been 4 years since the "this should be deprecated soonish" comment was added, and this var is a shitpile of confusion if you just trace the usage of it.
Changelog

cl
add: Washing machines now support arbitrary dye color
add: Washing machines now dye nearly every item.
refactor: lots of backend changes to clothing overlays, report any issues
/cl
2019-08-26 20:38:11 +12:00
skoglol 8e6276d450 Adds UI dimension vars to machinery (#45959)
* Adds dimension var to machinery.

* cleaner

* newlines

* Cleanup
2019-08-22 00:33:10 -07:00
Redmoogle 7f327357b4 Fixes incorrect code in the SM (#46040)
* Update rped.dm

* Revert "Update rped.dm"

* fixes oversights

* oops
2019-08-21 23:57:00 -07:00
Kmc2000 c847e852a5 Multiz update - Power, disposals, atmospherics (#45531)
* Adds a multiz disposal system.

* Adds multiz power + atmos

* Documentation

* Railings + code cleanup

* Bye bye godawful railing code

* multiz atmos pipe now checks pipes below it too.
2019-08-18 21:39:18 -07:00
Redmoogle 00f36b904e Adds support for 3 gasses to the SM (#45676)
* Adds Tritium, Pluoxium, and BZ reactions to SM

* fixes Tritium Heat Penalty

* Makes tritium a little less deadly and more unique

* Makes the BZ Radball probability less frequent

* Makes Pluox lesser n2o

* Makes BZ less viable/op

* Makes pluoxium effective only above 15%

* Fix bad code

* Pluoxium also reduces radiation severely

* removes fuckup

* fixes gasmix ratio

* fixes some of my bad code
2019-08-10 02:15:04 -07:00
81Denton 7b8579c17a Minor ghost notify changes (#45759) 2019-08-08 01:47:04 -07:00
oranges 9f1cec7b15 Merge pull request #45677 from 81Denton/logs
Logging improvements
2019-08-04 22:54:17 +12:00
nemvar e587b970da Adds parent calls to almost all tool_acts (#45582)
* Adds parent calls to almost all tool_acts

* actually compiles
2019-08-03 22:25:57 -07:00
TerraGS 8e9fbb5f50 notes existence of hypercharged slime cell in cell.dm (#45564) 2019-08-02 17:02:55 -07:00
Denton 75d8176782 Logging improvements 2019-08-02 18:49:04 +02:00
Rob Bailey 687d5103e8 Better Supermatter Sounds (#45462)
About The Pull Request

Replaces supermatter sounds with a new sound system for it.
Works based on having a constant drone that randomly plays accent noises over it.
https://www.youtube.com/watch?v=k5kKc5mpl-A&feature=youtu.be

I've barely tested this
Why It's Good For The Game

the old sounds are terrible
Changelog

cl
soundadd: New supermatter sound system
/cl
2019-08-01 21:03:48 +12:00
Dennok 97328e9ab3 RCD update (#45357)
Add simple circuits to rcd
2019-07-27 02:11:23 -07:00
nicbn 44a07d712d BoH bombing rework II (#45174)
Ever since the big BoH nerf, BoH bombing is kind of a joke. The damage it does is not really huge, and it's lame for traitors - it lacks emotion and their target may not even die, as they can use the ladders to get away.

So, what this does is add back some soul into BoH bombing, while not making it too round-ending and adding some degree of damage control for admins in case of griefing.
When BoH bombing, a stationary singulo with custom sprite will spawn. Its gravitational pull is REALLY strong, so people near it are probably going to get eaten, and there will be some real damage to the hull. The singulo will cease existing after 5 seconds.

For antags, I think this becomes much more interesting than the current BoH bombing. In the case of griefers, the damage to the station isn't too big because the singulo is stationary and fades away after some seconds. And then, admins can click a button in their chat to bring back everything the singulo ate into the game (the button expires in 10 minutes, however, but this can be changed if you think it is needed).

Settings like gravitational pull can be tweaked if yall find it to be too strong or something.
Changelog

cl
tweak: BoH bombing changed again. Now it's more violent.
/cl
2019-07-25 21:18:01 +12:00
Qustinnus b33d1c49a3 [READY] Floydmats (Datum materials) & custom toolboxes (#45118)
* Initial work

* more

* ass

* wsedfwedff

* asss

* test

* stuff

* fuck

* sss

a

* kms

* asdadwedwdfwefwef

* start

* test

* dwwdew

* ewefwfef

* Redemption machine (#8)

* Redemption machine

* Removes debug messages

* changes

* fuckmyshitup

* coin mint works with new material shenanigans (#10)

* Auto stash before merge of "materials" and "origin/materials"

* woops

* furnace (#11)

* autolathe manufacturing of toolboxes

* eggs in a basket

* some small changes

* matcolors

* documentation

* more documentation and effects

* done

* Color man bad (#12)

* fixes designs

* ass

* more fixes

* fuck me

* firestacks adder

* epic fixes

* fixes designs

* DONE DIDDILY DOO

* removes category macro

* ch-ch-ch-changes

* fixes some stuff

* Fixes display of ore values (#9)

* Redemption machine

* Removes debug messages

* Re-adds value display

* Replaces the fire stacking component with an element instead (#13)

* fixes examine

* fixes ligma bugs

* double ligma boofus

* fix

* misses some defines

* fixes ORM

* Update code/datums/components/material_container.dm

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>

* fixes

* Makes glass objects weaker (#14)

* Makes glass objects weaker

* uses correct proc

* fixes shit

* honk honk

* better

* oh shit oh fuck

* fixes

* fuck ORMs

* fixes the biogen

* documentation

* ass (#15)

* component

* changes

* ass

* ass

* doc

* Auto stash before merge of "materials-plasmacomponent" and "origin/materials-plasmacomponent"

* fixes rounding

* fixed
2019-07-24 11:27:01 -04:00
oranges 48624da23c Merge pull request #45351 from actioninja/doublepropogatefix
Fixes cable propagate logic after a cut being completely incorrect
2019-07-24 15:24:19 +12:00
oranges cd45c46375 Merge pull request #45352 from actioninja/propagatecleanup
Cleans up powernet propagate code
2019-07-24 15:23:52 +12:00
actioninja 0837f201b3 cleans up propagate code 2019-07-21 18:45:57 -07:00
actioninja 7aa181cccc fixes powernet splitting working completely incorrectly 2019-07-21 18:32:06 -07:00
actioninja ad63fa879d fixes a runtime in cable Destroy that resulted in singularities not succing 2019-07-21 15:30:09 -07:00
Rob Bailey bfb6cf01bb Refactors shield wall generators (#45221)
* migrates the shield generator to the powered typepath

* map update

* fixes wire unsecuring weirdness

* this should go here actually

* minor reformatting + documentation
2019-07-19 08:05:57 +02:00
Rob Bailey 65e3913df3 Fixes smeses linking to themselves (#44971)
* fixes smeses linking to themselves

* Update code/modules/power/cable.dm

Co-Authored-By: Tad Hardesty <tad@platymuus.com>
2019-07-05 09:31:55 +12:00
Rob Bailey f8ee5be8ee Properly fixes smart cable lag issues and also fixes the awful connection issues. (#44945)
About The Pull Request

I ended up just rewriting propagation logic entirely. This needs a bit of cleanup but this is a really high priority fix.
Actually tested this time. I can confirm for sure this is working in all situations that were previously broken.
Closes #44940
Closes #44936
Closes #44935
Closes #44929
Why It's Good For The Game

I fucked up bad
Changelog

cl
fix: cables now actually function again (I'm so sorry)
/cl
2019-07-03 23:34:13 +12:00
ShizCalev 6e44bd3a93 Merge pull request #44796 from kingofkosmos/addswarningspans
Adds warning-spans
2019-07-02 00:47:43 -04:00
Rob Bailey a7401c80dd Fix smart cable lag issues (#44899)
Cables are no longer lag generators when being cut.
2019-07-01 13:48:45 -07:00
81Denton 61d39f1450 Fix a bunch of map issues (#44876)
Fixes medbay intercoms
DoNUT
Delta rad collectors
no free loot, bad powergamer
more duplicate pipes
even more duplicate garbage
I've about had it with these fucking duplicates
donut pipe fix pt2
2019-06-30 17:31:03 -07: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
kingofkosmos d7dd679b5a Fix span endings (#44812)
Adds a slash to instances of <span>" --> </span>".
2019-06-26 15:11:03 -07:00
kingofkosmos 6bbb64e2cf * more warnings 2019-06-25 21:46:21 +03: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
Tetr4 e4b328f7e2 Gives service borgs pipe cleaners for wire art (#44737)
About The Pull Request

Gives service borgs a pipe cleaner module for wire art. However, as they don't have wirecutters, they won't be able to remove pipe cleaners they place.
Why It's Good For The Game

Another thing to do as service borg.
Changelog

clTetr4
add: Service borgs get pipe cleaners for wire art
add: you can altclick to pull up pipe cleaners
/cl
2019-06-24 23:56:14 +12:00
TetraK1 3ae4355336 fixes pipe cleaners 2019-06-22 18:16:12 +01:00
Tlaltecuhtli f1a3108a80 emitters can be rotated instead of only flipped (#44693) 2019-06-22 01:41:40 -04:00
Rob Bailey 65e9888fa6 [READY] Smart Cables (#44265)
Cables now autoconnect on cardinal directions. All cable placement has been completely stripped out and replaced with simple single cable per tile logic.
Low effort demo: https://www.youtube.com/watch?v=fXp8s6ORWbA
Yes I am aware that cutting it is not dropping wire, that version was bugged.
Cables no longer need a knot specifically placed to link to power objects. The sprite is automatically changed to represent this.
The only exception to this logic is that on smes units, due to the terminal being next to the output, they will not link there.
On a technical powernet side, this is the same as old cables once actually placed. They still use the existing powernet system, just the placement and connection works differently.

Old cables have been turned into "pipe cleaners" for wire art purposes. they work just like the old ones, just missing all the powernet functionality, and also you can put them on top of the floor.
Why It's Good For The Game

How obnoxious cables were to both map and work with in game has been something that has annoyed me for a really long time now.
This is both easier for new players to learn, and easier for experienced players to work with.
Along with making in game much more intuitive and easier, it makes mapping much easier as well. Mad lad wjohn was able to rip out all the mapping conversion in one day because of how much faster it is to work with.

cl actioninja and wjohn
add: Cables have been completely reworked. Simple per tile connection logic, automatically connects to things above it. Think minecraft redstone.
add: Old cables have been kept as pipe cleaner. They are non-functional in terms of power, but otherwise have the same connection logic. Also can go on top of tiles.
remove: mech cable layer has been removed because it was terrible shitcode nobody used
tweak: (sort of balance) cable stack sized has been reduced to 15.
/cl
2019-06-22 10:24:37 +12: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
Citinited f88265d13d Fix an exploit allowing you to move enabled emitters (#44484)
It makes no sense that an unanchored emitter can be powered, and a portable
free emitter is OP
2019-06-14 14:26:01 -07: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