Commit Graph

168 Commits

Author SHA1 Message Date
Timberpoes
d5402dc459 Yellow slime core nerfs and adjustments. (#54198)
Yellow slime extract can no longer turn into a self-charging yellow slime core. This functionality has been completely removed.

Hypercharged yellow slime cores no longer self-charge.
They now have a capacity of 50,000 (up from their previous 20,000). This is 10,000 more than a bluespace power cell.
Their recharge rate is 2500. This is relatively slow for the power capacity, as hyper and bluespace cells charge at 10% of their capacity respectively and this is 5%.

Motorised wheelchairs have had their power usage reduced to 5% of their previous value since they were basically only usable with rechargable cells before
2020-10-07 15:42:02 -03:00
Timberpoes
1f23cc281d Enforce preserving parent proc return values across ui_act call stacks (#53964)
All ui_act procs should call parent by default. All procs should preserve the value of the parent proc when it's TRUTHY and pass it down the call stack. No UI should be interactible when its flags or state indicate it should not be, except when explicity overriden by child procs intentionally disregarding parent return values to achieve a specific goal.
2020-09-26 11:52:39 -03:00
Rohesie
3a33f3ae47 Refactors machine_stat and is_processing() to process on demand (#53150) 2020-08-24 17:38:30 -07:00
Aleksej Komarov
0cf00a2645 tgui 4.0 (#52085)
* tgui 4.0 hyper squash

* Upgrade dependencies
2020-07-16 20:13:04 +02:00
Timberpoes
8d99381264 Fixes SMES not charging from self-recharging cells. (#51240)
* Check for slime cores and charge based on them

* Spellchack

* Implemented self_rechaging check instead.
2020-05-25 23:34:01 +08:00
actioninja
b5dfd8880d id to component name 2020-04-19 19:36:35 +03:00
Aleksej Komarov
947b74cdec tgui: Knobs, Sliders and Performance Improvements (#50483)
* Optimize Box

* Some tweaks to vending machines

* Layout debugger, initial work on sliders

* Slider, Knob, docs, refactoring, etc

* Rebuild tgui

* Knobby Canister

* Remove imports
2020-04-17 03:06:24 +08:00
kingofkosmos
79c5a80ca0 Visible_messages verb time tenses changed to present. 2020-03-16 14:55:25 +02:00
spookydonut
4ca8f8086c Remove ui deadcode (curse you) (#49864)
Aha cheers!~
2020-03-13 07:07:01 +02:00
ShizCalev
7209ac3c93 Removes unnessacary math defines 2020-02-17 23:09:09 -05:00
Rohesie
7bef84f009 Mass-replacement of stat to machine_stat (#48758)
Living and machine stat vars are pretty different, one uses flags and other number-defines.
This should make some other mass-replacements and searches a bit easier.
2020-01-24 12:37:17 +13:00
MrPerson
26093e5ac2 Further update_icon splitup (#48784)
* Further update_icon splitup

After this there'll be just under 100 old update_icon() calls that need fixing.

* Thanks Travis
2020-01-22 10:18:05 -05: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
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
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
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
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
YoYoBatty
9316afb40a Fix being able to build multiple terminals for SMES's (#43579) 2019-04-11 21:26:43 -07:00
ShizCalev
2fa1ac1349 Replaces istypes with the proper tool_behaviour checks. (#40414) 2018-10-01 03:10:31 +03:00
skoglol
6c7d97e52f SMES can no longer output to nowhere. (#40106)
* SMES can no longer output to nowhere, removed duplicate proc used in input.

* Forgot an else.

* TRUE and FALSE.

* add_avail() now returns true when appropriate.
2018-09-07 13:02:59 +02:00
McBawbaggings
bc7a2fcc5b panel open check and terminal nulling on disconnect 2018-07-27 12:57:32 +01:00
McBawbaggings
508bbc94e9 Fixes SMES terminals and connection issues 2018-07-27 11:06:04 +01:00
ShizCalev
3abd2b6d27 Cleans up logging 2018-06-09 15:51:58 -04:00
Jordan Brown
6d0179f57b Merge pull request #38116 from AutomaticFrenzy/patch/anchored
Refactor machinery to default to being anchored
2018-06-01 12:27:38 -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
Tad Hardesty
2f212e16a3 Remove redundant anchored=TRUE from machines 2018-05-27 19:23:37 -07:00
vuonojenmustaturska
1eccbcca18 Adds an EMP protection component, allowing ANYTHING to be protected from EMP (#37671)
The component is initialized with any combination of three flags, EMP_PROTECT_SELF protects against effects that target the object itself, EMP_PROTECT_WIRES protects against wires being messed with similar to the NO_EMP_WIRES_1 flag which this PR removes, EMP_PROTECT_CONTENTS protects against things that are inside the object like organs, internal "non-virtual" power cells and the like

This enables (but doesn't introduce) new mechanics such as adding EMP shielding at runtime to any atom, or taking it away.
2018-05-22 11:38:02 +12:00
Dax Dupont
52a7ebcbff Refactors and fixes RPEDs (#37380)
* Refactors and fixes RPEDs

* Fixes storage related memes

* beams should probably always play
2018-04-27 21:12:41 +03:00
Emmett Gaines
25080ff2c4 defines math (#33498) 2017-12-17 11:02:11 -05:00
Emmett Gaines
7c69cdcb8a Revert math (#33059)
* Revert "all this wrapping and it's not even christmas (#33035)"

This reverts commit faaf151580.

* Revert "fuck me for forgetting to graph this one"

This reverts commit 45d7acea2f.

* Revert "defines math"

This reverts commit 2817a1737b.
2017-11-23 20:59:52 -05:00
ninjanomnom
2817a1737b defines math 2017-11-22 17:36:58 -05:00
vuonojenmustaturska
6e468720ab Fixes to more Initialize procs (#30641)
* batch 1

/mob/living/silicon/robot/syndicate
/obj/effect/decal/cleanable/blood/old
/obj/effect/decal/cleanable/blood/gibs
/obj/effect/decal/cleanable/blood/gibs/old
/obj/effect/decal/cleanable/ash
/obj/effect/decal/cleanable/ash/large
/obj/effect/decal/cleanable/greenglow
/obj/effect/decal/cleanable/vomit/old
/obj/effect/decal/cleanable/shreds
/obj/effect/decal/cleanable/oil
/obj/effect/decal/cleanable/crayon
/obj/effect/decal/cleanable
/obj/effect/temp_visual/point

* batch 2

/obj/effect/anomaly
/mob/living/carbon/monkey/punpun
/obj/item/queen_bee/bought
/mob/living/simple_animal/hostile/poison/bees
/mob/living/carbon/human
/area/ai_monitored
/area

* batch 3

/mob/living/simple_animal/hostile/blob/blobspore
/obj/item/spellbook
/mob/living/simple_animal/hostile/blob/blobbernaut
/mob/camera/blob
/obj/structure/noticeboard
/obj/structure/piano
/obj/item/clothing/head/helmet
/obj/item/gun/energy/laser/chameleon

* batch 4

/obj/machinery/airalarm
/obj/effect/decal/cleanable for reals
/obj/item/stack/rods
/obj/effect/decal/cleanable/crayon for reals
/obj/screen/parallax_layer
/obj/item/device/instrument
/obj/item/ore
/obj/item/coin

* batch 5, getting tgstation ready for halloween

/obj/machinery/meter/turf
/obj/machinery/capture_the_flag
/obj/effect/ctf/dead_barricade
/obj/structure/firepit
/obj/item/clothing/head/helmet/knight
/obj/structure/spacevine
/obj/effect/hallucination/simple/xeno
/obj/effect/hallucination/simple
/mob/living/simple_animal/shade/howling_ghost
/mob/living/simple_animal/hostile/retaliate/clown/insane
/obj/structure/bookcase
/mob/camera/aiEye/remote/base_construction
/obj/machinery/computer/camera_advanced/base_construction
/obj/item/device/wisp_lantern

* batch 6

/obj/item/device/warp_cube/red
/obj/item/device/shared_storage/red
/obj/item/melee/ghost_sword
/mob/living/simple_animal/hostile/mining_drone
/mob/living/brain
/obj/item/device/mmi/posibrain
/mob/living/carbon/human/interactive
/mob/living/carbon/human/interactive/angry
/mob/living/carbon/human/interactive/friendly
/mob/living/carbon/human/interactive/greytide
/mob/living/carbon/human/interactive/robust
/mob/living/carbon/monkey/angry
/mob/living/simple_animal/hostile/guardian/assassin
/mob/living/simple_animal/hostile/syndicate/mecha_pilot/no_mech
/mob/living/simple_animal/hostile/syndicate/mecha_pilot
/mob/living/simple_animal/hostile/mimic/crate
/mob/living/simple_animal/hostile/mimic/copy

* batch 7

/mob/living/simple_animal/hostile/megafauna/colossus
/mob/living/simple_animal/hostile/megafauna/bubblegum
/mob/living/simple_animal/hostile/asteroid/goldgrub
/mob/living/simple_animal/hostile/asteroid/gutlunch/gubbuck
/mob/living/simple_animal/hostile/asteroid/hivelordbrood
/mob/living/simple_animal/hostile/statue
/mob/living/simple_animal/hostile/wizard
/obj/machinery/power/smes
2017-09-13 02:47:17 -04:00
shizcalev
2427f217f7 Standardized power displays 2017-08-28 14:22:05 -04:00
Jordan Brown
af4d9a85c9 Repaths /obj/item/weapon to /obj/item (#29929) 2017-08-16 10:38:51 -03:00
Lzimann
5cbd818d1a Addresses the review 2017-08-09 11:10:48 -03:00
Lzimann
58d0f12c5c Removes a great amount of machinery copypasta with circuitboards.
Also changes New -> Initialize in most of them.
renamed: `code/game/machinery/computer/computer.dm` -> `code/game/machinery/computer/_computer.dm`
renamed: `code/game/machinery/machinery.dm` -> `code/game/machinery/_machinery.dm`
Moved all circuitboards to a new folder at `code/game/objects/items/weapons/circuitboards`
2017-08-09 11:10:48 -03:00
Jordan Brown
6175ab77d5 Removes all checks for subsystem existence 2017-08-01 10:16:37 -04:00
Jordan Brown
d135dc2643 Merge pull request #29162 from ChangelingRain/directionliststweak
Renames GLOB.cardinal to GLOB.cardinals to match GLOB.diagonals and GLOB.alldirs
2017-07-10 18:45:52 -04:00
ShizCalev
59ef81245b Changes some 1s and 0s to TRUE and FALSE (#29144) 2017-07-10 10:31:34 -04:00
Joan Lung
ec9439b915 Renames GLOB.cardinal to GLOB.cardinals to match GLOB.diagonals and GLOB.alldirs 2017-07-09 17:24:28 -04:00
oranges
ae3740d84b use_power var now uses a define to reflect it not being a bool
NO_POWER_USE
IDLE_POWER_USE
ACTIVE_POWER_USE

holopads now correctly set use_power and the active_power_usage
2017-06-29 23:50:16 +00:00
Lzimann
3e34eb9e3f Changes all sounds to be lower case, plus standardizes their references 2017-06-11 00:38:45 -03:00
Leo
7d91e3143d Changes investigate logs to use a define (#27503) 2017-05-23 15:45:09 +12:00
McBawbaggings
59c1b48f13 SMES units now accept charge even if the available input is less than the input rate. 2017-05-14 00:32:00 +01:00
Leo
3b9b4e0755 Changes a bunch of hrefs to the proper defines (#26760) 2017-05-02 01:19:51 -06:00
Cyberboss
6c6fc719ec Refactors roundstart checks slightly (#26131)
* Refactors roundstart checks slightly

* Fix
2017-04-27 10:05:40 +12:00
MrPerson
ff3f84ab81 Replaces /image with /mutable_appearance, where appropriate (#26518)
In cases where you're creating an image to use as an overlay, it makes more sense to use a mutable_appearance if you can. The image will create a static appearance for not just the image but also each intermediate step if you change vars along the way. The mutable appearance avoids this unnecessary and expensive process. The only situation that requires an image instead of a mutable_appearance is if the overlay is supposed to be directional. MA's ignore direction while images don't. I dunno why, probably another BYOND-ism.

I added a convenience function, mutable_appearance(), designed to emulate image(). Also went ahead and set the default plane of /mutable_appearance to FLOAT_PLANE because it's fucking 0 by default.

Several overlays that were image() calls were changed to just text strings when I could. overlays += "string" has the same result as overlays += image(icon, "string") and saves a proc call.
2017-04-25 12:15:16 +02:00
coiax
de35ec5f67 Partial sparks boilerplate reduction (#26081)
* Partial sparks boilerplate reduction

- Lots of obects are making `/datum/effect_system/spark_spread`, setting
them up, firing them, and then not qdeling them afterwards.
- Makes a `do_sparks` global proc that takes the same arguments as `set_up`
and then calls `start` and then `qdel`
- Switches a bunch of things to use this proc
- Makes emitters keep their own spark_spread datum around, since they
spark so damn much.
- Also makes some things use timers and ports some things to Initialize.

* Compilation
2017-04-12 19:59:45 +02:00