Commit Graph

86 Commits

Author SHA1 Message Date
TemporalOroboros
976c1fcb8c [READY] Bespoke Datum Mats (#55296)
* Bespoke Material Backend

- Adds support for bespoke materials:
  - Reimplements [/datum/material/var/id]
  - Ports GetIdFromArguments from SSdcs
  - Adds a wrapper define for GetMaterialRef
  - Adds [MATERIAL_INIT_BESPOKE]
  - Adds [/datum/material/proc/Initialize]
- Does not actually add any bespoke materials

- [ ] TODO: Code docs
- [ ] TODO: Actually adding bespoke materials

* Some has_material procs and cleaning up some spaghetti

- Adds a pair of has_material procs for use in checking whether a given atom has a given material

* Adds meat

- Adds bespoke meat variants
  - Does not make them accessible
- Shuts up the linter

* Implements bespoke meat

- Makes the material container preserve bespoke materials
- Makes the sheetifier accept bespoke materials
- Makes the autolathe accept bespoke materials
- Makes the gibber produce bespoke meats

* Makes butchering produce bespoke meats

This is jank and really needs to be folded into a unified butchering and gibbing system

* Material documentation

- Adds, fixes, and touches up some documentation

* Material container insertion callback

- Changes the proc used to expand the material container's material list ot a proc used to check whether a material fits into a material container
- Instantiating new materials is no longer O(n) relative to the number of autolathes in existence.

* Makes processing meat conserve materials

- Makes bespoke meat carry over into meatballs

* Makes preserving custom materials an option

- Implements the ability to turn preserving custom materials _off_ for processor recipes

* Fixes all bespoke materials of the same type using the same singleton

- We use ids now, not just types.

* Makes the fat sucker produce bespoke meats

- Because consistency is good.

* Fixes autolathes merging bespoke stacks into normal stacks.

* Makes the callback to test materials for holdibility optional

- @Floyd

* GetMaterialRef -> GET_MATERIAL_REF

- We capitalize macros.

* Removes an extraneous callback

- Makes the sheetifier use functionality I didn't notice I implemented a few commits ago.

* Makes mob and species meat null compatible

* Fixes the ore silo

- The ore silo had really snowflake material handling that has been brought in line with the rest.
- The materials should show up in the correct order.

* Fixes minor lathe bugs

- Fixes stack_traces caused when lathes tried to fetch materials using reagent typepaths
- Fixed the selective reagent disposal topic. I have no idea how long this has been broken.

* Various documentation fixes

- Clarified a couple comments
- Removes an extraneous ?. operator
- Fixed mat floor tiles having bugged reagent temperatures

* More fixes

-/datum/material/meat/mob -> /datum/material/meat/mob_meat
- Adds atom typecheck to material containers.

* Fixes old typepaths
2021-01-15 23:39:58 -08:00
Ghilker
13babb2d78 small refractor of rcd create and stop creation of machines/computer/furnitures on dense turfs (#55371)
refactorof rcd_create() to use early returns
stops RCD machine stacking
2021-01-02 17:21:17 -08:00
tralezab
ade6d47ed1 Refactors Beams to use signals: Revived from 2019 edition! BONUS: Medbeams are also refactored to use signals (#55193)
Huge removal of dead vars, bad timers, and other sloppy jitteriness from beams. They go from checking movement to waiting for a signal.
VARIABLE KILL LIST:

sleep_time: signals baby
finished: signals BAYBEEE
target_oldloc: not only not typecasted as a turf or named as a turf, it was unused. when are we going to use this? the beam starts from the origin!
origin_oldloc: bad name, not typecasted. renamed to originturf
static_beam: how are you an unused variable and still get replaced by signals like really
timing_id: signallllss bbbaaaabbyy
recalculating: you get the drill by now signals baby
base_icon: unused, seemingly replaced by visuals I think
2020-12-18 13:52:55 -08:00
Urumasi
5633cfb215 Make RCD suicide place wall and gib user (#55283)
* Make RCD suicide place wall

* gibbing should return MANUAL_SUICIDE

* return SHAME if no ammo

* Only set RCD to wall if the message says so
2020-12-03 19:38:56 -08:00
ArcaneMusic
5338ad1696 Re-assesses 99% of vending prices through Arconomics to match player resources and round-length. (#54715)
* The Re-pricening

* Rewritten and adjusted for paycheck defines.

* I made the map changes finally.

* And the refills too.

* "OH YEAH REPLACING IT ALL WITH DEFINES AND SCALING IT THE EXCEL DOCUMENT WILL BE EASY, ARCANE!!!"

* And the premium ones too.

* Accidently spoiled a future pr due to dme bleedover
2020-11-13 16:17:22 -05:00
nicbn
a1c59cc9bc Moves screen objects from mob to hud (#54400)
This moves screen images from icons/mob to icons/hud
Makes more sense and it is easier to find
2020-10-15 19:46:36 -03:00
LemonInTheDark
0be337d01c Makes some things that rely on atmos adjacency more sane/faster. (#54096)
* Replaces some CANATMOSPASS calls with a new define that checks if the turfs are in each others atmos adjacent list, as that's the same info that they want.
2020-10-01 13:19:52 -07:00
ArcaneMusic
d836946e8e Arcane finishes the fight and adds all the missing belt sprites and a worn sprite Admin Tool. (#53305) 2020-09-16 16:11:23 -03:00
TiviPlus
ca366c3ea1 Bools and returns super-pr (#53221)
Replaces like 70-80% of 0 and such, as a side effect cleaned up a bunch of returns
Edit: Most left out ones are in mecha which should be done in mecha refactor already
Oh my look how clean it is

Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Couls <coul422@gmail.com>
2020-08-28 14:26:37 -07:00
81Denton
3858b72bdb Merge pull request #53020 from Qustinnus/fatgrowing
[READY] Vatgrowing: Third time's the charm
2020-08-24 22:46:08 +02:00
TemporalOroboros
6e950daccc Defines damage flags. (#53158) 2020-08-24 08:20:33 -03:00
floyd
d24b294e92 fixes 2020-08-23 01:30:08 +02:00
floyd
4160ff60d9 donerino roheserino 2020-08-23 00:59:08 +02:00
floyd
5478525881 DMIs 2020-08-20 23:36:33 +03:00
floyd
4fa95f900f fixes 2020-08-20 23:36:31 +03:00
floyd
9b4a488216 no food stuff 2020-08-20 23:36:18 +03:00
Rohesie
25f670f8de Opacity refactor (#52881)
Moves all opacity var manipulation to a proc which sends a signal.
    light_blocker element for movable opaque atoms made, which tracks its movement and updates the affected turfs for proper lighting updates.
    has_opaque_atom boolean replaced by the opacity_sources lazylist to keep track of the sources, and a directional_opacity which serves a similar function but also allows for future expansion with on-border opaque objects (not yet implemented).
    Some opacity-related sight procs optimized as a result of this.
    Some variables moved to the object's definition.
    A define or two added into the mix for clarity.
    Some code cleaning, like turning booleans into their defines.
    One file renamed for clarity.

Changelog

cl
balance: Mechs no longer block sight. It's a non-trivial cost for the lighting system with little to no gain.
/cl
2020-08-19 13:24:20 +12:00
Time-Green
b96829252e Plumbing teleporters (#51881)
* Makes the plumbing RCD accept every object

* Adds simple plumbing teleporter

* Polishes plumbing teleporters

* Fixes runtime

* this to src

* circuitboard doesnt need anchoring

* Fixes overlay flickering being weird

* Makes the Chemical Recipient's positioning less awkward

* Comments and documentation

* uh

* Fixes dme

* Revert "uh"

This reverts commit af6f30089f9f31d527f6ab3e2b1c72cf6ab6d60d.

* Update code/_globalvars/lists/construction.dm

Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* Update code/game/objects/items/RCD.dm

Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* Update code/modules/plumbing/plumbers/_plumb_machinery.dm

Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* uncasts loop

* update icons

Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
2020-08-12 11:37:55 -04:00
Timberpoes
19c3bbde31 Cleanup up all instances of using var/ definitions in proc parameters. (#52728)
* var/list cleanup

* The rest of the owl

* plushvar bad

* Can't follow my own advice.
2020-08-07 12:23:42 -03:00
Whoneedspacee
7c99c1f9b7 RCD Additions + Cyborg RCD Upgrades (#52018)
* adds directional window setting for normal grille window mode

adds furnishing upgrading to the rcd for chairs, stools, tables, and glass tables

both of these new introductions have their direction based on where you are facing when the timer for the build finishes

* adds the luxary rcd cargo pack with a loaded rcd, all 4 upgrade disks, and 3 extra compressed matter cartridges

* adds the furnishing upgrade to the techwebs

allows cyborgs to install rcd upgrades except silos

allows loading of metal and matter into the rcd by simply clicking on the thing you want to insert

lowers price of the cargo pack and removes the silo upgrade

adds banned upgrades var to the rcd

* you can now create windoors and deconstruct them as well

you can now deconstruct tables

doubles the price of the cargo pack for rcds

* removed cargo pack

* changes define to bitshift flags

moves matter addition to rcds to a proc on sheets

* matter amount is now a stack variable
2020-08-06 17:59:07 -03:00
Rohesie
6ff08e1c69 Color standardization, vars moved, and signals (#52574)
Defined all the existing light_color values.
    Moved their definitions to colors.dm
    Made white the default color. It was so already, but that was very obscured.
    Moved the atom light-related variables to the atom definition.
    Wrapped changes to variables such as light_color into procs that report the event through signals.
    Moved the light_on variable to the atom level, also adding a signal for its changing, to represent toggling lights.
    Cleaned up a little bit of code in where new variables were defined before redefinitions.

This is all atomization to reduce changes in #52413
None of this affect gameplay at all, it's all code cleaning and refactoring.

There's more colors to standardize, a search for color = will find lots of targets, and I see little need to have both the LIGHT_COLOR and COLOR patterns, but I don't want to make this PR bigger than it already is.
2020-08-04 13:59:48 +12:00
ArcaneMusic
a6b367f8c8 Adds an metric ton of belt sprites and suit sprites for worn objects. (#52390)
* Plant Belt sprites are fixed, Engy Sprites too

* I did belt sprites until my eyes started hurting
2020-07-25 02:58:52 -03:00
William Wallace
dee2db6873 remove unnecessary var/id from /datum/material (#51322)
* remove var/id from /datum/material

* nice commit message dot meme
2020-05-28 13:05:01 -04:00
nemvar
6ef421be42 Renames a few variables. Also reorders icon fallback order again. (#51060)
* Renames a few variables. Also reorders fallback order again.
Renames item_state to inhand_icon_state
Renames mob_overlay_icon to worn_icon
Renames mob_overlay_state to worn_icon_state
worn_icon_state/mob_overlay_state now never gets used for inhands.

* Fixes some comments

* Fixes map issue

* Restart lints

* Properly resolves conflicts
2020-05-25 06:47:19 +02:00
Arkatos1
dede4f9376 tgui: RCD Access Control (#50600)
* First version

* Integrated electronics version

* Access Control naming
2020-04-25 11:13:19 +03:00
Dennok
687ef08c09 Update code/game/objects/items/RCD.dm
Co-Authored-By: cacogen <25089914+cacogen@users.noreply.github.com>
2020-03-11 08:20:59 +02:00
Dennok
cf9e5e2cb1 Update code/game/objects/items/RCD.dm
Co-Authored-By: cacogen <25089914+cacogen@users.noreply.github.com>
2020-03-11 08:20:41 +02:00
Dennok
e22dd9ae1e Update code/game/objects/items/RCD.dm
Co-Authored-By: cacogen <25089914+cacogen@users.noreply.github.com>
2020-03-11 08:20:16 +02:00
Dennok
737639041f RCD silo log fix 2020-03-09 20:31:37 +02:00
Dennok
40efe1f496 RCD silo link message fix 2020-03-09 19:11:49 +02:00
MrPerson
e22560a346 update_icon() improvements (#48669)
* update_icon() improvements

Fixes some update_icon() calls to properly call parent and use update_overlays() and update_icon_state().

The rest of obj/item fuck it

* Suggested fixes, also passes the linter

* I always forget . = ..() is faster than return ..() FOR SOME FUCKING REASON

* Actually this is better

* Signilzes datum/action to update its icon when its connected item does.
2020-01-11 23:46:43 -05:00
skoglol
36437d9c33 Removes free roundstart RCDs, adds foam grenades to EVA (#48482)
* RCD is premium, EVA RCD replaced with foam grenades, foam better

* vendor stock down to 2
2020-01-05 19:35:03 -05:00
ArcaneMusic
e39eea7b17 [Ready] Adds a new RnD method, the B.E.P.I.S. (#48040)
* Squashes Commits, has BEPIS, Techs, TGUIs, Rewards, and fixes.

* Makes rewardable techs a variable in all_nodes, and removes RnD Points rewards from the minor reward pool.

* Fixes conflict with pubby and beam icon.

* Review comments and basic cleanup A

* Review Comments and basic cleanup B, also cleans up icon states to work fluidly.

* Map Update

* Indentation, flipped Update_decal_path, and rebuilds tgui

* One last clean up of icon_state, adds the last bit of changes from review, and that should be everything.

* Alright last change for real I swear 105%

* Last change, adds simple sanity check for silicons.

* Moved Human and card variables into ui_interact.

* Fixes map conflict

* Alright Review Round 2 Part A, Fixes Grammar, splits polycircuit into it's own file, UI QOL improvements, Withdrawing credits, changes from arbitary values on the mini RLD, etc.

* More review bits, Part 2:B. Easier returns for less processing, Defines, fixes the merge conflict and updates the UI with new buttons. Just need to figure out Button Mapping for the UI and Duplicate prevention.

* Implemented duplicate tech protection. Yeet.

* Get back in there you

* Alright why are you breaking on me god damnit.

* It's optimized, closer to god, nearly perfect, all together it's ready to ship.

* Cleans up all of the decal painter, shorter, cleaner, works around all the turf_decal quirks.

* Tab spacing on github will look fucky

* More review changes.

* Uses use_power == ACTIVE_POWER_USE instead of powered except for the UI
2019-12-25 23:48:28 +01:00
skoglol
811816cd6b Adds upgrades to admin RCD. (#48292) 2019-12-22 15:28:34 -05:00
Mickyan
55f19df748 Normalizes payouts and vendor prices to an approximate of cargo's credit value (#48174)
* prices & income

* more prices

* lower megaseed premium prices

* custom prices for premium tools

* slightly lowers prices for some snacks/drinks/cigs

* hey get back here
2019-12-16 17:43:27 +01:00
TheVekter
8258b98616 RCDs and RPDs can now be worn on the belt slot (#48104)
* Modified the RCD to fit on a belt, cleaned up some of the upgrade descriptions.

* reeeeee tabbing

* As above except RPD

* Added the same functionality for the Plumbing Constructor and RLD
2019-12-04 10:14:13 -05:00
MrDoomBringer
d75cbd0a29 [NEW AND IMPROVED AND READY TO MINGLE] Adds animations to RCD construction (#47894)
* start

* new images

* more finished

* lessgo

* yaga

* better

* ty zxaber
2019-11-27 09:30:16 +01:00
Emmett Gaines
041322f222 Cleans up some destroy procs related to remote_materials (#47601) 2019-11-08 22:15:50 +01:00
kingofkosmos
56b8461580 Fixes. 2019-10-19 22:17:50 +03:00
kingofkosmos
52325eda25 Merge branch 'master' of https://github.com/tgstation/tgstation into misc_span_fixes1
# Conflicts:
#	code/game/machinery/Sleeper.dm
#	code/game/machinery/doors/airlock.dm
#	code/game/objects/structures/beds_chairs/chair.dm
#	code/game/objects/structures/lavaland/geyser.dm
#	code/modules/antagonists/clockcult/clock_effects/clock_sigils.dm
#	code/modules/antagonists/clockcult/clock_mobs/_eminence.dm
#	code/modules/paperwork/contract.dm
2019-10-17 06:02:06 +03:00
Time-Green
bca59b9a50 [READY] Plumbing: Endgame (#46759)
cl
add: Plumbing equipment is now available through the medical protolathe. It's under medical machinery boards
add: Add's a new chemistry area on metastation for chemical factories. It's located left of main surgery.
tweak: Chemistry has been turned into the Apothecary. It's basically normal chemistry, but Medical Doctors have acces aswell.
tweak: The smoke machine is now plumbing compatible. Put this knowledge to good use.
sprite: Thanks to @CRITAWAKETS for the plumbing RCD sprite!
/cl

Finally adds plumbing to the game!

Chemistry has been turned into the apothecary. For all intents and purposes it's old chem, but doctors have acces.

West of main surgery is now the new chemistry factory area.

I've also had to move stuff around alot, because you can't just add a big new room without having stuff in the way.

Currently only on metastation. I'm completely drained from adding it to meta alone and doing all maps right now will burn me out.
2019-10-17 00:10:30 +13:00
kingofkosmos
280d416d4f Adds missing spans, missing periods and missing span endings. Also changes spans to suit the situation better. 2019-10-12 19:34:11 +03:00
nemvar
c38a7a3bb5 Removes a bunch of var/ in procs (#46946)
* Removes a bunch of /var in procs

* reset this

* Why wasn't this already?
2019-10-10 04:20:27 -07:00
Qustinnus
a394ccdc2b Material datum chairs & tables and applies materials to all items (Now with less pain for mining & RnD) (#46525)
removes materials list from items, uses custom_materials instead. This might introduce some bugs so we should testmerge this for a while (and Ill test stuff locally as much as I can)

this also adds material crafting to sheets. Test case being chairs. In the future we can add stuff like tables, walls, doors etc.

also applies materials to everything, with fixes, which can close #46299
2019-10-08 11:06:02 -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
Dennok
4e6d8c073a Silo link RCD upgrade (#45607)
* Update all_nodes.dm

* Update RCD.dm

* Update RCD.dm

* Update construction.dm

* Update tool_designs.dm

* Update RCD.dm

* Update RCD.dm

* Update RCD.dm

* fix mat container

* up

* add radial silo link button

remove silo link verb
2019-08-13 16:59:03 -04:00
Dennok
97328e9ab3 RCD update (#45357)
Add simple circuits to rcd
2019-07-27 02:11:23 -07:00
carlarctg
6abe1f5930 Removes outdated science airlock from RCD. (#45347)
* purges outdated science airlock

* Revert "purges outdated science airlock"

This reverts commit 5b25a561fb11cfb873c735a5fa4e7ad45c5e6caa.

* removes science airlock from RCD

it dont useful
2019-07-25 02:17:37 -07: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
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