Commit Graph

99 Commits

Author SHA1 Message Date
Rohesie
e03cd1aada Refactors move procs to support multitle objects (#59658)
Enter(), Entered(), Exit() and Exited() all passed the old loc forward, but everything except a single a case cared about the direction of the movement more than about the specific source.
Since moving multi-tile objects will have multiple sources of movement but a single direction, this change makes it easier to track their movement.

Cleaned up a lot of code around and made proc inputs compatible.

I'll add opacity support for multi-tile objects in a different PR after this is merged, as this has grown large enough and I don't want to compromise the reviewability.

Tested this locally and as expected it didn't impair movement nor produced any runtimes.
2021-06-20 14:55:37 -07:00
Watermelon914
375a20e49b Refactors most spans into span procs (#59645)
Converts most spans into span procs. Mostly used regex for this and sorted out any compile time errors afterwards so there could be some bugs.
Was initially going to do defines, but ninja said to make it into a proc, and if there's any overhead, they can easily be changed to defines.

Makes it easier to control the formatting and prevents typos when creating spans as it'll runtime if you misspell instead of silently failing.
Reduces the code you need to write when writing spans, as you don't need to close the span as that's automatically handled by the proc.

(Note from Lemon: This should be converted to defines once we update the minimum version to 514. Didn't do it now because byond pain and such)
2021-06-14 13:03:53 -07:00
TemporalOroboros
fb488fdfff Some explosions code cleanup (#57493)
Clears out two deprecated explosions systems (explosion ids and explosion levels)
Refactors a bunch of contents_explosions procs to be maybe slightly faster.
Cleans up a bunch of ex_act code.
Slightly cleaner code
A few less unused vars on /atom and /turf
2021-03-20 16:03:59 -07:00
TemporalOroboros
e4079c87b8 update_appearance (#55468)
Creates update_name and update_desc
Creates the wrapper proc update_appearance to batch update_name, update_desc, and update_icon together
Less non-icon handling code in update_icon and friends
Signal hooks for things that want to change names and descriptions
99%+ of the changes in this are just from switching everything over to update_appearance from update_icon
2021-02-19 12:06:18 -03:00
Ghom
27d0e32b47 minor material_container args/vars refactor and Mk-honk shoes peeve. (#54863)
My original intention was just fixing an issue with the Mk-honk banana shoes but, considering I didn't want to add two new variables to a component with already lot of args and lengthy AddComponent() calls in term of text, I had to merge some TRUE/FALSE variable/args into the breakdown_flags bitfield (now named mat_container_flags) in the process.
2020-11-21 04:37:07 -03:00
Ghommie
a74714c2ab Moved these getters toward the upper end. 2020-10-29 16:02:13 +01:00
ZeWaka
9629feed35 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.
2020-10-13 16:43:53 -03:00
TemporalOroboros
cab4313b29 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)
2020-10-09 12:23:40 -07: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
Iamgoofball
bb31b6e0fb Kills bonus ore from the ORM. (#53073)
This was a mistake, and I regret doing it.
2020-08-22 10:20:08 -04: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