Commit Graph

93 Commits

Author SHA1 Message Date
SkyratBot
b8d9874c27 [MIRROR] Converts all A && A.B into A?.B (#1292)
* Converts A && A.B into A?.B (#54342)

Implements the ?. operator, replacing code like A && A.B with A?.B

BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.

* Converts all A && A.B into A?.B

Co-authored-by: ZeWaka <zewakagamer@gmail.com>
2020-10-13 23:19:25 +02:00
SkyratBot
cae0e4cb5c [MIRROR] Adds Alloy Materials (#1228)
* Adds Alloy Materials (#53623)

Adds and implements alloy materials

Takes several materials that were mostly fluff and converts them into actual usable materials.
Messes with material code a bit to make alloys recycle back into their component materials.
Adds the alloy materials to their in-game stacks.

Materials added:
    Plasteel
    Plastitanium
    Plasmaglass
    Titaniumglass
    Plastitanium Glass
    Alien Alloy

Makes plasteel/plastitanium/plasmaglass and the rest able to have separate properties from their component materials. It doesn't make much sense that the materials used to seal off the supermatter chamber from the rest of the station would be prone to exploding when heated.

Allows for further expansion of materials, possibly including actual functional metallurgy and smelting at some point in the very distant future.

(Lemons note: Adds a regeneration component, used for alien alloy)

* Adds Alloy Materials

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2020-10-10 00:29:56 +01:00
SkyratBot
98568e191a [MIRROR] Enforce preserving parent proc return values across ui_act call stacks (#999)
* 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.

* Enforce preserving parent proc return values across ui_act call stacks

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-09-26 17:17:59 +02:00
SkyratBot
de1f78d9a0 [MIRROR] Kills bonus ore from the ORM. (#470)
* Kills bonus ore from the ORM. (#53073)

This was a mistake, and I regret doing it.

* Kills bonus ore from the ORM.

Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
2020-08-23 20:17:47 +02:00
Aleksej Komarov
0cf00a2645 tgui 4.0 (#52085)
* tgui 4.0 hyper squash

* Upgrade dependencies
2020-07-16 20:13:04 +02:00
ShizCalev
a8e62d7132 [s] Fixes ore machine exploits 2020-06-16 05:33:43 -04:00
nemvar
a6bbf09898 Fixes ORM scooping bugs. (#50809) 2020-05-05 17:26:32 -07:00
actioninja
b5dfd8880d id to component name 2020-04-19 19:36:35 +03:00
SteelSlayer
b391baeb74 Republish - Machinery processing refactor (#49307)
* initial

small thing

* improvements

1. Removes loops for picking up items. its now an item by item basis unless there is an ore box involved
2. Removed pickup_rate and ore_buffer var for the ORM, they aren't needed anymore
3. Fixed conveyors not moving items that get created on top of them (New / Initialize), by sending signals when atoms are created.

* renames the registered signal proc name so travis doesn't throw a fit

* signal improvement

* forgot to update other proc names

* ninjanomnom review changes

replace NEVER_PROCESS with START_PROCESSING_MANUALLY

default_unfasten_wrench override for ORM

50 -> 5 SECONDS

I totally didn't mispell anything

* makes a new signal: COMSIG_ATOM_CREATED

* more review changes

* duh

* even more review improvements

* switch >= to >

* reverts conveyors back to using process() for moving stuff

* various touch ups, adds documentation

* rebase to fix map conflicts with forgottenship.dmm

Co-authored-by: SteelSlayer <SteelSlayer@users.noreply.github.com>
2020-03-31 01:52:25 -03: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
Emmett Gaines
041322f222 Cleans up some destroy procs related to remote_materials (#47601) 2019-11-08 22:15:50 +01:00
Aleksej Komarov
8cf0a9db2c tgui-next: Radio, ORM, Solar Tracker (#47537)
* Radio interface

* Ore redemption machine interface

* Remove candystripe because it looks like shit

* Solar tracker interface

* Add more channels, add full color support to Box

* Cleanup README

* conversion guide draft 1

* Update documentation

* Implement an Input component, update component reference
2019-11-05 02:26:57 -08: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
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
Jalleo
b99dd426ed [s]Server fix (#46807)
Why It's Good For The Game

No crashes
Changelog

cl
fix: A universal issue was detected with the interactions of cyborgs and ore redemption machines and we had to block it out with bluespace technology. It was only with claiming points all other functions remain available.
/cl
2019-09-30 11:27:14 +13:00
James
4e10294706 Mining points are back (#46548)
* Mining points are back

* Adds back the shaft miner starter kit cargo pack
2019-09-17 07:48:25 +02: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
AnturK
d1267a142a sure 2019-08-23 21:22:24 +02:00
AnturK
64992c69d1 Fixes orm runtime. 2019-08-22 14:09:17 +02: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
Rob Bailey
43400f3c67 Cleans up the new alt clicking functionality (#45769)
* deshitcodify

* durr

* checks if eject/insert succeeded
2019-08-20 09:29:47 +02:00
nemvar
00eb91eb25 Fixes ORM again.
Same fix as last time. Learn to properly resolve conflicts.
2019-08-06 14:09:34 +02:00
Rob Bailey
2c720c6408 No ID insertion for everything except the hop console (fixes the ORM) (#45693)
About The Pull Request

machines and consoles that previously required an inserted ID now check access on worn and inhand ids. They otherwise function identically.
Affected things:
ORM: click claim to claim cash to connected ID (also fixes it)
Mining vendor: uses ID on person or in hand.
medical console: checks worn ID
security records console: checks worn ID
gulag consoles: claim points to worn ID, checks access and point requirements from worn ID

Also some backend refactoring to prisoner management and gulag teleporter consoles

hop console will be next to strip out the shitcode entirely but this at least gets things functional in the mean time, but fully tested this time. It's very late here and I need to sleep. Due to the nature of it it's more elaborate of a rework.
Changelog

cl
tweak: Medical and Security consoles now check access on worn or inhand ID instead of requiring an inserted ID
tweak: mining vendor now reads from ID in hand or on person instead of requiring an inserted ID
fix: ORM is functional again (for real this time)
tweak: ORM claim points button transfers points to worn/inhand ID instead of to an inserted ID, no longer accepts insertions
tweak: Same for gulag consoles
/cl
2019-08-04 22:53:55 +12:00
kingofkosmos
ccc913480d id's can be inserted to all consoles with attackby and removed with alt-click + extra console sound effects added (#45627) 2019-07-31 18:39:19 -07:00
nemvar
3526418a00 Fixes the ORM. (#45522) 2019-07-28 17:23:27 -07:00
kingofkosmos
f887a0b114 Console alt-clicking tweaks (#45193)
* * reworked consoles so you can:
 * use attackby to insert id
 * use alt-click to eject id
 * examine to see if alt-click is available
 * moved eject_id and insert_id procs to _computer.dm
 * added some sound effects

* * prisoner management console new features: insert id with attackby and eject with altclick

* * prisoner management console can't have multiple prisoner id's inserted

* removed unnecessary src. and changed usr --> user

* made gulag teleporter consistent with attackby, altclick and examine.
simplified attackby on card.dm

* equipment reclaimer station consistent with id attackby, altclick-eject and examine.
point claim console consistent with id attackby, altclick-eject and examine.

* ore redemption machine and mining equipment vendor made consistent with id attackby, altclick-eject and examine.

* * reworked all eject/insert ID copypastacodes into procs in _machinery.dm

* * 0's to FALSE

* hopefully i didnt mess up any more things in the resolve

* everything now uses id_insert-proc and doesn't work.

* compiles but doesn't work

* works
2019-07-28 16:25:36 -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
Dennok
95b47b18da Fix hitting unpowered ORM (#45203)
Now unpowered ore redemption machine can be attacked.
2019-07-16 21:36:49 -07:00
kingofkosmos
d7dd679b5a Fix span endings (#44812)
Adds a slash to instances of <span>" --> </span>".
2019-06-26 15:11:03 -07: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
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
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
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
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
Poojawa
d4ace6200f [s] Fixes ore redemption exploit (#40454)
* Fixes bluespace crystal memes

* Generalizes refined type check

* generalizes here as well

* Now now, no need to be lazy.

* removes duplicate istype check
2018-09-27 15:03:59 +02:00
Tad Hardesty
59fa61113f [Ready] Communal Resource Storage II (#39118)
add: The vault now contains an ore silo where the station's minerals are stored.
add: The station's ORM, recycling, and the labor camp send materials to the silo via bluespace.
add: Protolathes, techfabs, and circuit imprinters all pull materials from the silo via bluespace.
add: Those with vault access can view mineral logs and pause or remove any machine's access, or add machines with a multitool.
tweak: The ORM's alloy recipes are now available in engineering and science protolathes.
2018-07-25 22:58:11 +12:00
Tad Hardesty
2f212e16a3 Remove redundant anchored=TRUE from machines 2018-05-27 19:23:37 -07:00
YPOQ
2b141c3e39 Fixes new stacks getting merged before the stack size is set 2018-05-08 22:20:56 -06:00
Fox McCloud
76cb1cf060 Fixes Several Machines Materials Insertion (#37432)
* Fixes Several Machines Materials Insertion

* attackby disable and show on examine fix
2018-05-04 11:40:46 +02: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
Fox McCloud
057aa31cda Kills off /obj/item/device (#37297)
* Kills off /obj/item/device

* whoops

* whoops

* Fix
2018-04-23 15:00:23 +02:00
Jordan Brown
df2182ff1c Merge pull request #36620 from AnturK/dispenserhere
Fixes protolathe and autolathe layering
2018-03-23 16:39:35 -04:00
kevinz000
f300a5c155 Interaction/Attack Hand Refactor (#36405) 2018-03-23 11:20:54 +01:00
AnturK
48dbaf4b37 Fixes protolathe and autolathe layering in 512 2018-03-22 11:12:54 +01:00
RandomMarine
5e5b03ff5e Removes 'release all' buttons from ORM (#36001)
* removes 'all' buttons from ORM

* re-compile tgui
2018-03-04 16:26:08 -05:00
vuonojenmustaturska
c4fd8715a5 Return of ore stacking, various changes to lavaland bombs to facilitate reduced lag (#35291)
* Ore Stacking

* honk

* honk

* component memes

* honk2

* fix overlay off-by-1, sheet singular names

* Give the ores more descriptive names since sheets also have

* whoops debug memes

* atom editor memes

* fixes

* snowdin fix
2018-02-05 22:27:35 +01:00
Jordan Brown
6610e830c5 Merge pull request #33805 from Cruix/shuttle_machines
Fixed autolathes and ore redemption machines leaving things at previous shuttle locations
2017-12-30 14:56:23 -05:00
Tad Hardesty
f2dbe5cf13 Replace explicit z-level checks with defines (#33829)
* Replace explicit z-level checks with defines

* Rename turf_z_is_planet for consistency

* Use TRUE/FALSE in onSyndieBase
2017-12-29 14:40:06 -05:00
Ian Turk
c1b31d04fe Fixed autolathes and ore redemption machines leaving things at previous shuttle locations 2017-12-23 16:55:06 -06:00
Emmett Gaines
25080ff2c4 defines math (#33498) 2017-12-17 11:02:11 -05:00