Commit Graph

954 Commits

Author SHA1 Message Date
567Turtle
9bcc80c316 Constructable Filing Cabinets (#61746) 2021-09-28 20:55:36 -07:00
Mooshimi
496a7685dc [MDB Ignore] Make shuttle windows deconstructable (#61694)
* shuttle windows

* refactor reinf windows

plasma and shuttle only

* messed up one change

* i am actually blind

* made and did file
2021-09-28 20:45:38 +01:00
tralezab
6c01cc2c01 every case of initialize that should have mapload, does (#61623)
## About The Pull Request

stop forgetting to include mapload, if you don't include it then every single subtype past it by default doesn't include it

for example, `obj/item` didn't include mapload so every single item by default didn't fill in mapload

![](https://media.discordapp.net/attachments/823293417186000909/875122648605147146/image0.gif)

## Regex used:

procs without args, not even regex

`/Initialize()`

procs with args
`\/Initialize\((?!mapload)((.)*\w)?`

cleanup of things i didn't want to mapload:
`\/datum\/(.)*\/Initialize\(mapload`
2021-09-24 17:56:50 -04:00
Ryll Ryll
1b8fcac4f5 Nerfs bone wounds to make them less miserable (#61196)
So I've always kinda known that bone wounds are unpleasant to receive, but since paying some closer attention to how they affect peoples rounds in the last few months, I've realized that they need to be reigned in some more. So, let's break down the big changes...
General bone wound nerfs

Limping on a busted leg is now a chance with each step of that leg, instead of always happening: No matter how small the delay added to your move time after each step (like if it was just a dislocation), and even with slings, bone wounds on your leg crippled you with the constant slowdown, because they happened every time you stepped on that leg. Now, the chance to limp on any given step with that leg is higher with worse wounds, and applying a sling to that leg further lowers that chance, as well as lowering the delay from that limp. A dislocated leg, for example, only limps 30% of the time, while a compound fracture limps 70% of the time.

Skeletons and plasmamen (aka carbons with no flesh) can now use bone gel directly on cracked limbs to fix them, in 1/4th the time it takes the normal bone gel + surgical tape improvised fix to heal them, and with none of the damage. I felt bad that the ability for skeletons to stick dismembered limbs back into their slots was destroyed because the limbs would be critically wounded already, and still useless. Now, skeletons and plasmamen can be treated with just bone gel and some time. At some point after this is merged, someone should give the pirate ship some free bone gel.

The speed of the improvised bone gel + surgical fix for broken bones is even further improved by laying down and by sleeping than it was before, meaning the improvised fixes can be cut down further by laying down for a bit while it works.

Makes bone wounds less obnoxious, reducing their ability to single-handedly ruin your round when you suffer one. I want to go further in the future and add an easier improvised fix for hairline fractures soon, but those changes can come later after these are merged.
2021-09-17 21:25:46 -07:00
Gamer025
fd7e7e4c05 Add fingerprints before putting item in hand (#61330)
Fixes runtimes when crafting stack items and already having a matching stack in your hand
2021-09-10 18:32:29 +01:00
TemporalOroboros
a71327e028 Reduces copypasta in emissive code (#61249)
Implements a helper proc for generating emissive blockers.
Makes everything that generates an emissive blocker overlay use the new helper.
Grants all emissive blockers and emissive overlays KEEP_APART, RESET_COLOR, and RESET_TRANSFORM.
Also fixes the jack-o-lantern worn overlays so that they actually glow while they are active.
2021-09-07 16:15:02 +01:00
GreatKingWombat
00124b7355 Adds some new (proper) tables. Also fixes the old reinforced glass table just making a regular metal table bug for the alloys included. (#61153) 2021-09-05 22:31:55 -07:00
jughu
6c82b4a500 you can now build easels with 5 wood (#61245)
easel made out wood, easel hold canvas why not be able to make easel?
2021-09-05 16:17:13 -04:00
Ghom
38b81ec732 Replaces MATERIAL_NO_EFFECTS with MATERIAL_EFFECTS. (#61166)
* Replaces MATERIAL_NO_EFFECTS with MATERIAL_EFFECTS.

* build warning and codermonky's advice.
2021-09-04 13:35:24 +08:00
Colovorat
6e3b74da04 Fixes cable merging, changes merging code just a little bit (#60997)
Makes stack code support merging two different stacks with the same mats, but different mats_per_unit numbers by implementing averages.

It's in an attempt to support the stupid efficiency shit that protolathes do. It's not great, but it ought to work alright for now. Kinda a bandaid
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-08-24 15:38:24 -07:00
Timberpoes
9e40310100 Fix item stacks qdeling themselves in Init and some item stack self-merge scenarios. (#60835)
* Feex

* Fix stack self-merging thanks to connect_loc

* Better doc

* Cyborg item stack qdel issue
2021-08-20 07:48:27 +08:00
Watermelon914
ffe2750744 Refactors connect_loc_behalf into a component (#60678)
See title. Also refactors caltrops into a component because they use connect_loc_behalf which requires them to hold the state.

This also fixes COMPONENT_DUPE_SELECTIVE from just outright not working.

connect_loc_behalf doesn't make sense as an element because it tries to hold states. There is also no way to maintain current behaviour and not have the states that it needs.
Due to the fact that it tries to hold states, it means the code itself is a lot more buggy because it's a lot harder to successfully manage these states without runtimes or bugs. 

On metastation, there is only 2519 connect_loc_behalf components at roundstart. MrStonedOne has told me that datums take up this much space:
image

If we do the (oversimplified) math, there are only ever 5 variables that'll likely be changed on most connect_loc_behalf components at runtime:
connections,
tracked,
signal_atom,
parent,
signal_procs

This means that on metastation at roundstart, we take up this amount: (24 + 16 * 5) * 2519 = 261.97600 kilobytes
This is not really significant and the benefits of moving this to a component greatly outweighs the memory cost.

(Basically the memory cost is outweighed by the maint cost of tracking down issues with the thing. It's too buggy to be viable longterm basically)
2021-08-17 12:16:12 -07:00
Ghom
cf5c0c86b5 Standard bananium floor is now viable for clown decoration. It doesn't slip. (#60585) 2021-08-04 00:15:44 -07:00
interestingusernam3
20f398b3b5 Improves and documents some grenade-related code, fixes an exploit. (#60588)
FALSE, TRUE, better var names, removal of an unused var in log_grenade, DMdoc.
Touches sticky tape code because a proc there does grenade stuff.
Also fixes an unreported exploit that allowed clowns to throw sticky grenades while bypassing the 50% chance for a grenade to stick to your hands (not that bad sice they still has a 50% chance to get the 0.5s timer, but still).
2021-08-02 23:07:55 -03:00
tralezab
14045259fa Trash Cannons (#60476) 2021-07-29 02:17:03 -07:00
Ghom
b51ebfaf90 Fixes difficulties with placing lattices on multiz maps. (#60124)
Title. Because of mob and object visuals under open space being able to be hovered over with the cursor and examined and in general acting as entities distint from the turf holding them it tends to be hard or even impossible to build floor and catwalks over these turfs. This PR aims to fix it with a basically simple, more-convenient-than-a-painstaking-refactor and easy to apply element (edit: and proc).
2021-07-25 19:02:31 -03:00
LemonInTheDark
96cc4a7260 EVEN MORE HARDDEL FIXES (#60228)
Fixes a ton of harddels, sourced from #59996 
I think this brings us down to like, ~100 per round from ~200, with only like 20 of those being proper hell failures. I've seen harddel profiles below 1 second of total cost. Feeling good.

See you on the other side

Makes the cryopod control computer into a weakref, never trust bee code 
Converts brig door timer internal lists to weakrefs
Fixes a harddel caused by qdeling a motion sensitive camera after it had left its source area, jesus christ why didn't we do this already holy shit
Converts the radio implant ref held by the antenna mutation to weakrefs because it isn't reliably cleaned up, makes the radio implant actually qdel its fucking radio
Removes the target var from the throwing datum, it does literally nothing and just exists to cause harddels, mostly for the singularity
 Fixes a cable harddel sourced from things that try to enter blueprints after smoothing, but before roundstart. IE, shuttles. Removes shuttles from the blueprints
Fixes emmisive blockers being added post qdel
Removes some manual ghosting from cryopods, I initially did this for harddel reasons, but I figured out a better fix for that. I'm now doing it because it's got this really strange logic for like "re-entering the game" that doesn't actually link to what the ghostize proc does. We should remove this at some point
Fixes robot hud objects harddeling due to hanging refs
Fixes buildmode related hanging refs, I'm coming for you admin team
Fixes a few instances of trying to add the forensics component post qdel, hhhhhhhhhhh
Fixes some split personality harddels/weirdness
Replaces a use of disconnect_duct with an init qdel hint, I suspect there's more issues with duct harddels, I've seen some odd logs about ahhh the area_contents list, but we can worry about that later
Makes teleporter targets into weakrefs, properly types them as /atom
Makes frequency devices into weakrefs
Makes cameras remove themselves from camera nets on Destroy
Makes tgui ui datums implement destroy, this means if I ever see one hang a ref to user or whatever, I know there's an error with calling close() properly. I've seen this harddel once, but not after this change so I assume there was some error with close(). IDK maybe this is a papering over? Would have to ask @stylemistake 
I've seen logs of beartraps being in world post del, putting a return there just in case. The same is true of nerf darts, but I haven't really looked into that yet
Makes a shoe's ref to untying alerts a weakref, yes this is needed.
Moves clearing client_in_contents to the Login of the new mob. This prevents doing things like ghosting someone before a mob qdel causing harddels
Fixes a harddel set sourced from adding a status effect to a qdeleted thing. Is this an error? I'm honestly not sure.
Converts bsa code to weakrefs
Converts the partner var of heat exchangers to weakrefs
Converts camera assemblies to weakrefs
Fixes some dumb behavior with ammo casings and assuming you'll be on a turf post Destroy parent call
Fixes? merger related harddels, you were never cleared from your own members list, so origin objects would end up making a new list, creating harddels. Potential input from @ninjanomnom about the logic
Chasms store a static list of "falling atoms", which only exists for chasms that go somewhere else. This list wasn't being cleared of qdeleted objects, which is what happens when you fall in most chasms. Fixes this, and converts the list to weakrefs.
Fixes some runtimes in both sheet code, and the weather listener element. This is here because runtime spam made testing more of a pain, didn't think it needed its own pr
Fixes colorful reagent harddels sourced from reagents that were qdel'd before roundstart. I'm only like 50% sure this actually got it, but the issue may have been solved by #60174, so eh
Turns the nuke op antag datum's ref to the war button into a weakref
Fixes some holopad code that was not nulling refs all the time
Converts camera bugs to weakrefs, this was the result of the bug being "reworked" like 6 years back without taking the existing ref clearing into account. Whole item needs a redo, but this'll do for now.
Ensures that the both pulling and pullee refs are cleared on Destroy
The crew monitor held all users in a non clearing list, makes that list a weakref because I hate everything

Oh and I removed all sources of gas_mixture qdeletion, I'm kinda unsure on this since it's not technically supported, but any harddels from it might? indicate something going wrong with like, gas passing logic. I'd like @MrStonedOne's thoughts, since I trust him to call me an idiot if I'm wrong.

<!-- Please add a short description of why you think these changes would benefit the game. If you can't justify it in words, it might not be worth adding. -->

## Why it's not good for the game

I crashed sybil like 10 times to get this data, I'm gonna put it to good use. Don't think you're safe sybilites, I'm coming for you.
2021-07-19 12:41:21 -04:00
InsaneRed
3681e5dae6 Balances metallic hydrogen armor (#60254) 2021-07-18 03:09:45 -07:00
YakumoChen
d175dacd7d I made a hat that screams! (#60032) 2021-07-08 06:43:00 +02:00
Emmett Gaines
67c89fa1ab Greyscale Mat Datum Stationary Smooth Tanks (#59556)
Stationary gas tanks have been in a terrible place for a long time, this addresses some of the issues with a more balance focused change coming in a second mapping pr after this one.

Stationary gas tanks have been made constructable and act similarly to canisters in that they can be damaged, repaired, and over-pressurized to explode. Additionally, they can be made with any rigid material and their stats depend on that material. A glass tank is going to have far less pressure capability than one made of plasteel.

In terms of gameplay there are two main differences now: Adjacent stationary tanks will merge together both graphically and with their internal storage. Any port on any of the tanks can access this shared storage. Also stationary tanks no longer magically have many times the volume for gas as the tile it's in, instead they have a pressure cap and a normal amount of volume.

Of interest to coders this pr also adds a generic grouping datum that acts similar to how pipe networks work. It maintains a listing of all adjacent objects whose type falls within a specified filter. In this case it's used for the gas tanks to know of every other tank in the group. I'll be looking into spreading it's usage elsewhere where this can replace existing one off systems.

Some (de)construction:
First a glass tank is constructed which is then immediately damaged by the high pressure in the gas storage that is now shared. After repairing it for a moment another metal tank is built.
2021-06-26 19:26:33 -07:00
Timberpoes
75a3717a04 Modifies right click logic so that it is not the same priority as modifier keys. (#59656)
Strips out the existing right click code - Due to the myriad of ways right clicking has been implemented, dedicated signals and procs for right clicking without modifiers are fundamentally incompatible with our system of primary and secondary attacks.

Adds additional signals to attacking code. These signals allow atoms to cancel the attack chain early on secondary attacks, or override the standard procs and not send signals to prevent any undesired behaviour from signal handlers.

Items that used RightClick procs have been converted to attack_hand_secondary.

The slaughter demon, having its own set of snowflake code as poor OOP principles have been applied in UnarmedAttack() procs with lacking calls to parent procs and arbitrary redefinition of behaviour, checks for a right click in its own UnarmedAttack() and performs a bodyslam off that.

Storage components now hijack the secondary attackby stage via signals to handle their opening and closing shortcuts on right click. When you right click a storage component equipped item with an object in your active hand, the object has an opportunity to perform its logic in pre secondary attack code and cancel the attack chain. If it does not cancel the attack chain in pre-attack, then the storage component takes over for attackby and, if possible, opens the relevant inventory and ends the attack chain.

The forensic scanner is a proof-of-concept of this working in action. With its scan logic moved from afterattack code to pre attack code for right clicking, right clicking with the scanner will now perform a scan where previously one was impossible. Left clicking still does what it always does - Scans at the very end of the attack chain.

The logic still isn't perfect - For example, you still can't attack containers in melee even in combat mode (you'll either open them or put your weapon into them regardless of which option you choose) - But this is a better setup overall which allows for items to at least override this behaviour in pre-attack if needed.
2021-06-24 14:30:33 -03:00
LemonInTheDark
6fcbce39cd Makes turfs persist their signals, uses this to optimize connect_loc (#59608)
* Makes turfs persist signals

* Splits connect_loc up into two elements, one for stuff that wishes to connect on behalf of something, and one for stuff that just wants to connect normally. Connecting on behalf of someone has a significant amount of overhead, so let's do this to keep things clear

* Converts all uses of connect_loc over to the new patterns

* Adds some comments, actually makes turfs persist signals

* There's no need to detach connect loc anymore, since all it does is unregister signals. Unregisters a signal from formorly decal'd turfs, and makes the changeturf signal persistance stuff actually work

* bro fuck documentation

* Changes from a var to a proc, prevents admemems and idiots

* Extra detail on why we do the copy post qdel
2021-06-22 23:12:34 -04:00
Timberpoes
f597a725d2 Removes the fake error texture floor tiles. (#59693)
* Removing is improving

* Remove icon from dmi

* Inhands repurposed to error states
2021-06-17 23:16:22 -04: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
RaveRadbury
d1655dab56 Convert wrapping paper sprites to GAGS (#59374)
Wrapping paper has been put through GAGS. You can set the base color and ribbon color with right click, then apply it to a package.

Co-authored-by: coiax <yellowbounder@gmail.com>
2021-06-13 21:40:26 +01:00
TemporalOroboros
daec5002fc Adds Neon Carpet (#59140)
Adds a couple varieties of neon carpet.
Makes decals care about their plane in addition to their layer.
2021-06-13 15:40:53 -03:00
Emmett Gaines
f434bf5e7b Fixes connect_loc related hard dels (#58945)
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-05-13 14:17:10 -07:00
manofpepsi
f7e697f511 A bunch of new tile variants and dark tile decal. (#59046) 2021-05-13 04:14:54 -07:00
Twaticus
e59d89a4d2 The Tilening v1 (#58932)
About The Pull Request

Ports smooth tiles from TGMC and textured tiles(with color tweaks) from Skyrat, TauCeti, and Eris. I was sent the sprites on discord and told it was from Skyrat, but the PR credits TauCeti AND Eris so im just going to credit all 3 thanks other servers :) Shoutout to @Imaginos16 for all the help you rock.

Details: Resprites the grey, dark, and white tiles. Adds textured version of grey, dark, and white tiles with variations. Adds smooth tiles. New tiles added to reskinning with rotational support. Sprite changes to yellowsiding, plastic, materialfloor, plaque, reacharge_floor, sepia, chapel, and pinkblack to match the new base tiles. Small consistency adjustments on wood_tile and its broken states. Removes 2 unused dirt floor tiles. Reorganized icons\turf\floors.dmi. Sprite adjustments to various icons in icons\obj\tiles.dmi to match the updated sprites. Consistency resprites for glass_wire and tile_e. Small decal tweaks to fit the new base tiles.

dreamseeker_z7J61czzMG
Normal, Dark, White, Smooth + textured and size variations.
Some areas on Meta
Example of texture tile usage. NO mapping changes in this PR, thats for @EOBGames to do ;)
Why It's Good For The Game

60 shades of grey yee yee ass old floor sprite days are over.
Changelog

🆑 Twaticus, Imaginos16
imageadd: Resprites (almost) all base floor tiles.
imageadd: Ports smooth tiles & textured versions of grey, black, and white tiles.
imageadd: Dance floor item icons are no longer massive.
/🆑
2021-05-09 12:13:37 +12:00
Kylerace
08df8798ce (code bounty) refactors all uses of Crossed() and Uncrossed() into signals sent to loc, tracked by connect_loc (#58340)
Co-authored-by: Jared-Fogle <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
2021-05-07 03:54:03 -07:00
Seris02
ff2f6abe83 Sort the majority of the rest of the unsorted chat (#58821)
* FINALLY IT IS DONE FUCK

* tip of the round into ooc

* adds cyopod chat messages to the info chat filter

* last one I promise probably, mob spawner messages to info filter

* holoparasite, round will start in x and keybinding conflict to respective filters

* removed motd from constants, made it infoplain surrounded instead

* changed info to infoplain
2021-05-05 05:57:40 +03:00
Fikou
0e8e403a5b fixes fake chasms not dropping floortiles and borgs having their floor tiles deleted when reskinning (#58853) 2021-05-03 23:50:15 -07:00
ATH1909
39a0b96083 removes an unused sticky tape variable (#58856) 2021-05-03 05:15:39 -07:00
Fikou
c0f9d2e7e8 [READY] Tile Reskinning 2: Epic Winaloo (#58801)
extends the tile reskinning functionality to iron, bronze, plastitanium, carpet and pod floors
makes a bit of tile code better
moves some paths around, like elevator shafts being plating instead of floor
adds rotating as a tile reskinning function available on chapel or side floors for example

lets players customize any rooms they would want much more than it is possible now, allowing for more creativity
2021-05-01 02:20:45 -07:00
LemonInTheDark
27385e9d70 Converts the atmos senstive component over to connect_loc (#58266)
* Makes all uses of atmos_senstive pass in mapload as context

* Converts atmos senstive to connect_loc, does some general cleanup to the element, and makes it check the state of the tile the thing is on assuming creation didn't happen as a part of map loading

* Updates connect loc to match the new arg list
2021-04-30 18:35:47 -07:00
Kokonut
e422155475 New carpets & wood, version 2 (#58797)
maxymax13, /vg/station, Citadel Station

I really wanted #58190 (A port of cit tiles, fucking ahewhads) but then nobody gave it mergies so i've redone it except not stale, not merge conflict'd and not using stack crafting instead of tile floofing!
I fully replaced the fugly diagonal one with my own nicer parquet one, adjusted red carpet to be less noisy, and made a damaged state.

Much more customization for wood flooring enjoyers, and it's obtainable ingame, in an out-of-the-way method! Think of the bar remodels you could do with this and some cans of paint! Now all we need is to make the vinyl siding and wood panel siding decals place-able...

3 new variations for wooden tiles are available (large, parquet, and tiled), the same way you color titanium tiles! Remember, use a screwdriver and not a crowbar!
A new red planetary pattern design is available for arcade carpet!
2021-04-30 17:09:38 -07:00
Seth Scherer
5ba06243bc Adds a new obj_flag that prevents building on objects that shouldn't be built on. (#58719)
Adds a new obj_flag that prevents building on objects that shouldn't be built on.
Adds it to the stasis bed and the sleeper, as well as some machines that become undense when the doors opens (nanite chambers, DNA scanners, suit storage unit, and gulag teleporter).

If I forgot any feel free to lmk.

Fixes #58528 (Operating table + stasis bed memes)

Some objects/machines that aren't dense (or become undense in certain states) shouldn't be able to be built upon, so this flag allows for specifying that you can't build on it.
2021-04-27 17:20:59 -07:00
Fikou
7e3a4f2442 fixes stuff made with bronze sheets deconstructing into tiles or not being able to make bronze golems (#58708) 2021-04-26 16:15:18 -07:00
Mothblocks
7e4de07506 Remove all gamemodes except Dynamic (#58470)
Removes all /datum/game_mode except dynamic. Eventually, all of mode and game_mode will be removed, and Dynamic will become an ingrained system. Every single other gamemode was unmaintained at best and poisoned other code at worst. Currently all tg servers run 24/7 Dynamic, so the time to act is now.

* Remove gamemode references from age checks

* Monkey

* Remove heretics

* Remove BBs

* Refactor uplinks and remove clown ops

* Remove nuke ops

* Removes and refactors cult

* Remove extended

* Remove and move out meteors

* Removes wizard

* Remove sandbox

* Remove changelings

* Remove traitors

* Remove revs

* Remove gangs

* Remove changing mode and voting for new gamemodes

* get_candidates signature fix

* Summon ERT and NERD in their own panel

* Remove some old unneeded age_check stuff

* Fix old signatures of get_uplink_items

* Use Extended like config for dynamic.json

* Fix discounted gear
2021-04-25 01:55:10 -07:00
ArcaneMusic
3475446f74 Ports Mail From Kiwi Take 2: Arconomy Class Mail (#58146)
Co-authored-by: tralezab <spamqetuo2@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-04-24 22:49:27 -07:00
Kokonut
ababa04431 Space Cash Re$prite (#58238)
imageadd: Space cash has been resprited
2021-04-09 02:04:10 -04:00
Ryll Ryll
51394ea3e3 You can now manufacture bone gel (#58006) 2021-03-29 12:31:43 -07:00
Arkatos1
40e1e41fe4 Stack splitting now uses right click (#57837)
Co-authored-by: Arkatos <arkatos1234@email.com>
2021-03-20 16:36:02 -07:00
Colovorat
ab4a7ec90d Warning cone is now craftable (#57668)
Co-authored-by: Colovorat <lolqwert569@gmail.com>
2021-03-13 05:49:15 -08:00
cacogen
99ca79822e Standardises Donk Co. stylisation (#57383) 2021-03-04 13:12:47 -08:00
Fikou
60424d0e0e adds a bitflag for no random pixel shift on dropping, adds turf_flags var to replace usage of flags_1 on turfs (#57263)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-03-01 01:23:38 -08:00
Ghilker
99ed48ce8d [Ready]Atmos enhanced. Part 1: Crystallizer and machine recipes (#56889)
* crystallizer
2021-02-27 19:19:43 +01:00
Ryll Ryll
1c61ceddf5 Pens and iron rods can embed again (#57181) 2021-02-26 00:12:20 -08:00
ATH1909
de199d8559 Updates the stackcrafting description and normal description of the daemon forge (#57126) 2021-02-26 00:11:30 -08:00
necromanceranne
f881d6a636 Sticky tape no longer can be used on objects that aren't within reach. (#57103) 2021-02-23 03:59:59 -08:00