94 Commits

Author SHA1 Message Date
Batrachophreno 5277251959 Tool behaviors port (#21663)
For a robust crafting system, I need a new materials framework.
For a new materials framework, I need to clean up reagents.
To clean up reagents, I need to pare down foods from reagent holders.
To pare down foods from reagent holders, I need to port edibility
components.
To port edibility components, I need to port processing components.
To port processing components, I need to port tool behaviors.

This is all back-end code, no new features or functionality from this.
2026-01-27 08:44:49 +00:00
Wowzewow (Wezzy) 1ae6bb61ac Stack Inhand Sprites and Tile Tweaks (#21126)
- imageadd: "Updates stack inhand sprites, makes them use contained
sprites, and touches up the tile sprites to be more accurate."
2025-08-10 20:47:06 +00:00
Batrachophreno 387cee9243 Object Examine Text Overhaul (#20923)
Extends and reworks how various extended information text (desc_info,
desc_build, desc_upgrades) are handled to make object interactions and
mechanics A.) much more clearly documented in-game and B.) much easier
to support from the back-end.

Almost certainly a candidate for test merge.

Assembly/Disassembly instructions are noticeably sporadic, largely due
to our current lack of a unified framework. That's a future thing I'd
like to attack so that it can be handled programmatically, but for now I
only targeted the biggest culprits as I came across them.

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
2025-07-21 15:35:14 +00:00
Fluffy 3185c10cf1 516 internal links (#20428)
Convert all (appropriate) links to use the required `byond://` for 516

Added a grep to detect incompatible ones
2025-02-20 22:54:10 +00:00
Fluffy 0ae0b10764 Refactored all the backslash ref and ref() calls to use REF() instead (#19847)
Refactored all the backslash ref and ref() calls to use REF() instead.
Added a linting for raw ref proc calls.
2024-09-13 10:17:32 +00:00
Fluffy b8e5768413 Fixed item stacks harddel (#18728)
* Atomization

* asdf

---------

Co-authored-by: FluffyGhost <FluffyGhost>
2024-03-24 14:04:00 +00:00
Fluffy 9afe761db3 Some refactors, DMDoc and UT (#18365)
* dsfa

* accessories fix

* fixed "has been hit by" message with intent check

* sdfa
2024-02-12 15:32:23 +00:00
Matt Atlas 4423d03f2f Adds examine boxes. (#18370)
* Adds examine boxes.

* lint

* what kind of dreams did you dream?

* unlimited

* midgardsormr

* sdsd

* fixes

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2024-02-11 21:58:20 +00:00
Fluffy 4f94c7678c Fixed floors and carpets building (#17941)
* sdfa

* sdf
2023-12-13 19:03:00 +00:00
Cody Brittain 06601c9ec3 Split up and rename var/flags (#17794)
* Split up and rename `var/flags`

* Various fixes

* CL

* Don't rename Phoron Guard phoron preset

---------

Co-authored-by: Cody Brittain <cbrittain10@live.com>
2023-11-22 16:27:51 +00:00
Cody Brittain 0a3dac31e0 Refactored do_after to use a flag-based system for options (#17127)
* Refactored do_after to use a flag-based system for options

* More flags

* Ditto

* Use the HAS_FLAG macro

* do_after pass

* Fix burning paper code

* Resolve issues from Fluffy's code reviews

* .
2023-09-27 12:17:14 +00:00
Wowzewow (Wezzy) fd26ff32e2 Fixes Examine Crashes (#17430)
* Fixes Examine Crashes

* fukken indentations
2023-09-27 10:22:04 +00:00
Cody Brittain ce5ac79e3c Split examine verb and function, and improve it (#17251)
* Split examine verb and function, and include adjacency and distance checking in examine function

* Fix various issues

* Update code/modules/mob/examinations.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>

* Add required define vars

* Update code/game/objects/items/stacks/wrap.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>

---------

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2023-09-09 08:07:36 +00:00
Wowzewow (Wezzy) b42d489030 Materials And Medical Stacks (#15586) 2023-01-23 20:50:27 +01:00
Wowzewow (Wezzy) eafa547b5c Ports use_tool proc from /tg/ (#13411) 2022-05-23 14:39:00 +02:00
mikomyazaki 9dfe8c3dd9 Fixes infinite item bug with lathes, and corrects multi-material fill message bug. (#13142) 2022-02-13 17:30:12 +01:00
Geeves c4b0089749 Synthetic Smörgåsbord (#12417) 2021-09-06 22:47:27 +02:00
Jiří Barouš 524bf9c417 Mitigates (autolathe) recycling exploits by minimizing what can be recycled, adding unit tests and fixing the recipes (#10375)
* Mitigates research recycling exploits by minimizing what can be recycled

* Moves the research design check into a new unit test

* Adds unit test for stack material recipes costs and fixes these costs

* Instead of changing recipes the resulting materials are worth less

* Crap fix
2020-10-30 12:20:59 +01:00
Geeves 3bcae45ea8 Stack Icon Bugfix (#10386) 2020-10-28 18:12:14 +01:00
Geeves 052b65ae0d Material Deconstruction (#9377) 2020-08-25 11:52:35 +02:00
mikomyazaki 61d710e9d6 Splitting stacks no longer sometimes makes the new stack full. (#9604) 2020-08-04 02:45:10 +02:00
Geeves 44e1a72531 Material Crafting (#9398) 2020-07-25 18:55:35 +02:00
Geeves c30a88d89b Mining Fixes (#9330) 2020-07-12 14:59:34 +02:00
Geeves 33ad8096fb The Great Spanning (#9320)
This PR get rid of all (most of) the span("thing", spans and replaces them with the SPAN_THING( variant, which has gained more popularity recently.
2020-07-12 15:53:28 +03:00
Wowzewow (Wezzy) 793892ae0b Amount in stacks is bold now (#9269) 2020-07-06 13:52:28 +02:00
Wowzewow (Wezzy) 3160508c1a Makes tool colors work, despaghettifies code (#9231)
I finally figured out how to make tool inhands and inhand coloring work properly, so custom colors can apply to inhands! (yes, even the stuff from loadout.)

Code-wise, this guts the superfluous our_color variable.
This cuts it out from screwdrivers, wirecutters, cable, and everything else which uses this shit.
I'm pretty sure testing this has taken out a day out of my life.

Also I fixed up the cable examine to be less crappy. (so you can finally see cable descriptions.)

Don't mind the commits, I just built this on top the handcuff noose PR.
2020-07-02 20:40:17 +03:00
Matt Atlas 4b97822bb4 Bump dreamchecker version to 1.4 (#8711) 2020-04-28 15:41:32 +02:00
Wowzewow (Wezzy) 07167be69e Stack inhands (#8513) 2020-03-31 16:44:40 +02:00
Werner af16a489a6 Removes Weapons (#7415)
* Adds icon and hitsound where needed.

* Moves alt_attack to /obj/item and deletes weapons.dm

* Replaced /obj/item/weapon with /obj/item

* Fixes merge issues.

* Fix merge issues.
2019-11-16 18:36:13 +01:00
Erki ff41b92e97 Langserver fixes, vol 2 (#7401) 2019-11-15 22:42:25 +01:00
JohnWildkins 61ec0991e3 Cyborg grabber QOL and fixes (#7201)
Tweaks:

    With the gripper, hitting the drop hotkey (Q) now drops the held item. If no item is held, the grabber is put away as normal.
    The scientific gripper can now hold slime steroids.
    The chemistry gripper can now hold paper.

Bugfixes:

    Using the drop hotkey (Q) to put away a module now correctly updates the module list interface. Fixes #4343.
    Modules relying on cyborg synthesizers (nanopaste, et al.) now cannot be used when their synthesizer charge is depleted. Fixes #1288.
    Injecting a monkey cube held in a gripper no longer places the monkey inside the gripper's internal contents. Fixes #1097.
    Cyborgs can now re-lock secured crates. Fixes #4833.
    Service borgs can no longer open a portal to infinite grass tiles. Fixes #3814.
    Clerical borgs can now browse through paper bundles held in their gripper, and can pick up taped paper. Fixes #4479. Fixes #6501.
2019-11-02 19:41:07 +02:00
alsoandanswer 0ba36f1828 Refactors objects.dmi and items.dmi, and a few more little things (#6487)
Refactors objects.dmi and items.dmi

Adds some more uses to glass jar - now you can use it as a tip jar AND a reagent container!
you can also see reagents inside like a beaker

also improves sprites for wrapping paper and the pocketwatch

This basically makes it easier for future sprite improvements
2019-06-02 19:12:54 +03:00
LordFowl 8d436c4a03 Converts all necessary << outputs into the to_chat() macro. (#6076)
This PR will lead us towards the Promised Day, for in its wake there shall be much celebration and ecstasy as this world becomes a world suitable for developer hegemony. The first strike is thusly;

All << is converted into to_chat().
2019-03-10 23:39:03 +02:00
Lohikar 521705dc62 Soft-delete fixes & Tajara Coffee overdose tweak (#2749)
changes:

Fixed issues with parallax objects not deleting properly due to hanging refs. (this also seems to fix some mob delete failures, like BSTs)
Fixed issues with hyperzine, inaprovaline, and synaptazine not soft-deleting due to hanging modifier references.
Removed coffee overdoses poisoning Tajara at Mofo's request.
2017-06-18 13:35:24 +03:00
Lohikar 4cf407ea33 More stack icons (#2654)
Top is a stack over 2/3 full, middle is between 1/3 and 2/3 full, bottom is under 1/3 full.

Also converted stacks to use Initialize().

affected stacks:

Ointment
Bandages
Steel Sheets
Plastic Sheets
Glass Sheets
Plasteel Sheets
Reinforced Glass Sheets
Leather
Wet Leather
Hide
Sprites from /tg/.
2017-06-10 09:30:18 +03:00
LordFowl 3c64b62c27 New Map Mining (#1935)
* Alpha Commit

* Alpha Commit

* Seconds

* Some Commit

* Final Commit

* Fixing minedrone synth ID

* Dance Fever

* Fixing Travis part 1

* Satisfying the demands

* Stuff

* Sub-final commit

* Sculpting update

* more sculpting. pr is 99% sculpting, in fact

* kkk

* brightness_off

* swjaugyuwvhuw
2017-03-22 18:14:37 -04:00
skull132 e9b688e1f6 Merge branch 'development-2' into development
Christ on a stick. SO MANY ERRORS. REEE.

# Conflicts:
#	baystation12.dme
#	code/_helpers/lists.dm
#	code/_helpers/logging.dm
#	code/_helpers/text.dm
#	code/_onclick/click.dm
#	code/controllers/configuration.dm
#	code/controllers/master_controller.dm
#	code/datums/supplypacks.dm
#	code/game/antagonist/antagonist.dm
#	code/game/antagonist/antagonist_print.dm
#	code/game/antagonist/outsider/commando.dm
#	code/game/antagonist/outsider/ninja.dm
#	code/game/area/areas.dm
#	code/game/gamemodes/cult/cult_items.dm
#	code/game/gamemodes/game_mode.dm
#	code/game/jobs/access.dm
#	code/game/machinery/atmoalter/canister.dm
#	code/game/machinery/autolathe.dm
#	code/game/machinery/doors/airlock.dm
#	code/game/machinery/recharger.dm
#	code/game/machinery/suit_storage_unit.dm
#	code/game/mecha/mech_fabricator.dm
#	code/game/mecha/mecha.dm
#	code/game/objects/effects/spiders.dm
#	code/game/objects/items.dm
#	code/game/objects/items/devices/PDA/PDA.dm
#	code/game/objects/items/devices/flash.dm
#	code/game/objects/items/devices/lightreplacer.dm
#	code/game/objects/items/devices/paicard.dm
#	code/game/objects/items/devices/scanners.dm
#	code/game/objects/items/devices/suit_cooling.dm
#	code/game/objects/items/devices/uplink.dm
#	code/game/objects/items/robot/robot_upgrades.dm
#	code/game/objects/items/toys.dm
#	code/game/objects/items/weapons/cards_ids.dm
#	code/game/objects/items/weapons/handcuffs.dm
#	code/game/objects/items/weapons/manuals.dm
#	code/game/objects/items/weapons/material/kitchen.dm
#	code/game/objects/items/weapons/material/misc.dm
#	code/game/objects/items/weapons/material/swords.dm
#	code/game/objects/items/weapons/melee/energy.dm
#	code/game/objects/items/weapons/melee/misc.dm
#	code/game/objects/items/weapons/scrolls.dm
#	code/game/objects/items/weapons/storage/belt.dm
#	code/game/objects/items/weapons/stunbaton.dm
#	code/game/objects/items/weapons/tools.dm
#	code/game/objects/objs.dm
#	code/game/objects/structures/crates_lockers/closets.dm
#	code/game/objects/structures/crates_lockers/closets/secure/security.dm
#	code/game/objects/structures/janicart.dm
#	code/game/sound.dm
#	code/game/turfs/simulated.dm
#	code/game/verbs/ooc.dm
#	code/global.dm
#	code/modules/admin/verbs/debug.dm
#	code/modules/admin/verbs/modifyvariables.dm
#	code/modules/client/client procs.dm
#	code/modules/client/preferences.dm
#	code/modules/clothing/clothing.dm
#	code/modules/clothing/head/hardhat.dm
#	code/modules/clothing/head/helmet.dm
#	code/modules/clothing/head/jobs.dm
#	code/modules/clothing/head/misc_special.dm
#	code/modules/clothing/shoes/jobs.dm
#	code/modules/clothing/spacesuits/alien.dm
#	code/modules/clothing/spacesuits/captain.dm
#	code/modules/clothing/spacesuits/miscellaneous.dm
#	code/modules/clothing/spacesuits/rig/rig_pieces.dm
#	code/modules/clothing/spacesuits/rig/suits/alien.dm
#	code/modules/clothing/spacesuits/spacesuits.dm
#	code/modules/clothing/spacesuits/void/merc.dm
#	code/modules/clothing/spacesuits/void/void.dm
#	code/modules/clothing/suits/armor.dm
#	code/modules/clothing/suits/jobs.dm
#	code/modules/clothing/suits/storage.dm
#	code/modules/clothing/suits/utility.dm
#	code/modules/clothing/suits/wiz_robe.dm
#	code/modules/clothing/under/jobs/security.dm
#	code/modules/economy/Events.dm
#	code/modules/economy/Events_Mundane.dm
#	code/modules/economy/economy_misc.dm
#	code/modules/events/blob.dm
#	code/modules/events/event.dm
#	code/modules/events/event_container.dm
#	code/modules/events/event_manager.dm
#	code/modules/events/money_lotto.dm
#	code/modules/events/prison_break.dm
#	code/modules/events/spacevine.dm
#	code/modules/hydroponics/trays/tray.dm
#	code/modules/mob/dead/observer/observer.dm
#	code/modules/mob/emote.dm
#	code/modules/mob/holder.dm
#	code/modules/mob/language/station.dm
#	code/modules/mob/living/bot/cleanbot.dm
#	code/modules/mob/living/carbon/alien/diona/diona.dm
#	code/modules/mob/living/carbon/alien/diona/diona_attacks.dm
#	code/modules/mob/living/carbon/give.dm
#	code/modules/mob/living/carbon/human/emote.dm
#	code/modules/mob/living/carbon/human/human.dm
#	code/modules/mob/living/carbon/human/human_defense.dm
#	code/modules/mob/living/carbon/human/inventory.dm
#	code/modules/mob/living/carbon/human/life.dm
#	code/modules/mob/living/carbon/human/species/outsider/vox.dm
#	code/modules/mob/living/carbon/human/species/station/golem.dm
#	code/modules/mob/living/carbon/human/species/station/station.dm
#	code/modules/mob/living/carbon/human/update_icons.dm
#	code/modules/mob/living/carbon/metroid/metroid.dm
#	code/modules/mob/living/living.dm
#	code/modules/mob/living/living_defense.dm
#	code/modules/mob/living/living_defines.dm
#	code/modules/mob/living/silicon/ai/ai.dm
#	code/modules/mob/living/silicon/pai/admin.dm
#	code/modules/mob/living/silicon/pai/pai.dm
#	code/modules/mob/living/silicon/robot/drone/drone.dm
#	code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm
#	code/modules/mob/living/silicon/robot/emote.dm
#	code/modules/mob/living/silicon/robot/robot_items.dm
#	code/modules/mob/living/silicon/robot/robot_modules.dm
#	code/modules/mob/living/silicon/silicon.dm
#	code/modules/mob/living/simple_animal/bees.dm
#	code/modules/mob/living/simple_animal/friendly/cat.dm
#	code/modules/mob/living/simple_animal/friendly/corgi.dm
#	code/modules/mob/living/simple_animal/friendly/farm_animals.dm
#	code/modules/mob/living/simple_animal/friendly/mouse.dm
#	code/modules/mob/living/simple_animal/friendly/spiderbot.dm
#	code/modules/mob/living/simple_animal/hostile/hostile.dm
#	code/modules/mob/living/simple_animal/simple_animal.dm
#	code/modules/mob/logout.dm
#	code/modules/mob/mob.dm
#	code/modules/mob/mob_grab_specials.dm
#	code/modules/mob/mob_helpers.dm
#	code/modules/mob/new_player/sprite_accessories.dm
#	code/modules/organs/organ.dm
#	code/modules/organs/organ_alien.dm
#	code/modules/organs/organ_external.dm
#	code/modules/paperwork/faxmachine.dm
#	code/modules/projectiles/ammunition/boxes.dm
#	code/modules/projectiles/ammunition/bullets.dm
#	code/modules/projectiles/guns/energy/nuclear.dm
#	code/modules/projectiles/guns/energy/rifle.dm
#	code/modules/projectiles/guns/energy/special.dm
#	code/modules/projectiles/guns/projectile.dm
#	code/modules/projectiles/guns/projectile/automatic.dm
#	code/modules/projectiles/guns/projectile/pistol.dm
#	code/modules/projectiles/guns/projectile/revolver.dm
#	code/modules/projectiles/guns/projectile/shotgun.dm
#	code/modules/projectiles/projectile/bullets.dm
#	code/modules/projectiles/projectile/special.dm
#	code/modules/reagents/reagent_containers.dm
#	code/modules/reagents/reagent_containers/food/drinks.dm
#	code/modules/research/designs.dm
#	code/modules/research/destructive_analyzer.dm
#	code/modules/research/rdconsole.dm
#	code/modules/spells/artifacts.dm
#	code/modules/spells/spellbook.dm
#	code/modules/tables/tables.dm
#	code/world.dm
#	config/example/config.txt
#	icons/mob/items_lefthand.dmi
#	icons/mob/items_righthand.dmi
#	icons/obj/lighting.dmi
2016-10-31 00:01:52 +02:00
skull132 87e041aa75 Merge remote-tracking branch 'bay12-upstream/master' into development 2016-10-07 00:58:39 +03:00
Bedshaped f0df1746f8 Bedshaped's Best Bugfixes #1 (#654)
Fixes #505 (again)
Fixes #626 
Fixes #647 
Resolves #509
2016-08-02 21:47:37 +03:00
skull132 17938853d5 Of Helper Procs & Dumbs
Makes a mob/proc/can_use_hand(), which determines whether or not a mob can use a given hand.

Redefined in human.dm to check a hand's status and usability.
2016-03-25 20:33:10 +02:00
skull132 3d90716324 Reworking hand usability checks; Fixes #200
Hand usability checks are moved into `mob/living/carbon/human/put_in_l_hand()` and `put_in_r_hand()` respectively. This changes how `obj/item/attack_hand()` functions slightly.
2016-03-25 17:32:49 +02:00
PsiOmegaDelta dcfe907ff0 Makes it possible to convert uplink TCs into physical form.
These crystals can be inserted into active uplinks, making it possible to trade them.
Variant of https://github.com/ParadiseSS13/Paradise/pull/3174/files.

The uplink now always shows the description to avoid annoying button shifting.
2016-01-11 16:58:42 +01:00
Hubblenaut 3127ee28b5 Fixes subcategories of floor tiles not being placable 2015-12-11 11:08:36 +01:00
PsiOmegaDelta 3fd172ee63 Merge pull request #11294 from Baystation12/master
Dev-freeze
2015-10-14 08:40:03 +02:00
Hubblenaut 1c8ec1a700 Fixes stack creation logic and return value 2015-10-11 22:02:05 +02:00
PsiOmegaDelta 070ca0adea Merge remote-tracking branch 'upstream/master' into dev-freeze
Conflicts:
	code/game/objects/items/weapons/tanks/tanks.dm
	code/modules/holodeck/HolodeckControl.dm
	code/modules/mob/living/carbon/breathe.dm
	code/modules/mob/living/carbon/human/life.dm
	code/setup.dm
2015-10-11 17:17:41 +02:00
PsiOmegaDelta bd7c475fcc Stack material use now depends on charge costs.
This ensures one does not have to remember to set uses_charge equal to the length of the charge_cost list. Fixes #10943.
2015-10-08 20:29:39 +02:00
PsiOmegaDelta c376c08cc0 Merge remote-tracking branch 'upstream/master' into dev-freeze
Conflicts:
	code/game/objects/structures/girders.dm
	code/modules/mob/living/carbon/human/human_damage.dm
2015-08-24 10:23:12 +02:00
mwerezak 13c760c5bb Fixes #9453 and fixes #10614 2015-08-22 11:09:17 -04:00
PsiOmegaDelta 1b10f78940 Merge remote-tracking branch 'upstream/master' into dev-freeze
Conflicts:
	code/modules/mob/living/carbon/human/life.dm
2015-08-13 09:01:10 +02:00