mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-29 02:21:44 +00:00
## About The Pull Request 1. Decal painter has been refactored. Decals to paint are now datums. 2. Tile sprayer has been deleted, and merged with the decal painter. 3. A bunch of map decals previously un-paintable are now paintable. 4. Some preset map colors are now available for selection Including: - All sidings (Colored, Plating, Wood) - Missing tile decals (Full tile, checkered tile) - And the missing tile decal colors (Dark colors) - Missing warning decals (Loading area)  ## Why It's Good For The Game 1. Makes it drastically easier to add more decals in the future. 2. The split always felt needless to me. I always printed one, ran to my construction site, opened up the UI - only to realize I printed the wrong one. 3. Allows for much greater potential while building 4. Makes it easier to match mapped in decals (This code is commissioned, but I also wanted it, soooo) ## Changelog 🆑 Melbert refactor: Refactored the decal painter, report any missing decals or ones that come out weird. del: Tile sprayer is dead. Its functionality has been merged with the decal painter. qol: A bunch of decals have been added to the decal painter. Style to your heart's content. /🆑
65 lines
3.0 KiB
Plaintext
65 lines
3.0 KiB
Plaintext
// Tool types, if you add new ones please add them to /obj/item/debug/omnitool in code/game/objects/items/debug_items.dm
|
|
// and to GLOB.all_tool_behaviours in code/_globalvars/lists/engineering.dm
|
|
#define TOOL_CROWBAR "crowbar"
|
|
#define TOOL_MULTITOOL "multitool"
|
|
#define TOOL_SCREWDRIVER "screwdriver"
|
|
#define TOOL_WIRECUTTER "cutters"
|
|
#define TOOL_WRENCH "wrench"
|
|
#define TOOL_WELDER "welder"
|
|
#define TOOL_ANALYZER "analyzer"
|
|
#define TOOL_MINING "mining"
|
|
#define TOOL_SHOVEL "shovel"
|
|
#define TOOL_RETRACTOR "retractor"
|
|
#define TOOL_HEMOSTAT "hemostat"
|
|
#define TOOL_CAUTERY "cautery"
|
|
#define TOOL_DRILL "drill"
|
|
#define TOOL_SCALPEL "scalpel"
|
|
#define TOOL_SAW "saw"
|
|
#define TOOL_BONESET "bonesetter"
|
|
#define TOOL_KNIFE "knife"
|
|
#define TOOL_BLOODFILTER "bloodfilter"
|
|
#define TOOL_ROLLINGPIN "rolling pin"
|
|
/// Can be used to scrape rust off an any atom; which will result in the Rust Component being qdel'd
|
|
#define TOOL_RUSTSCRAPER "rustscraper"
|
|
|
|
// If delay between the start and the end of tool operation is less than MIN_TOOL_SOUND_DELAY,
|
|
// tool sound is only played when op is started. If not, it's played twice.
|
|
#define MIN_TOOL_SOUND_DELAY 20
|
|
#define MIN_TOOL_OPERATING_DELAY 40 //minimum delay for operating sound. Prevent overlaps and overhand sound.
|
|
/// Return when an item interaction is successful.
|
|
/// This cancels the rest of the chain entirely and indicates success.
|
|
#define ITEM_INTERACT_SUCCESS (1<<0) // Same as TRUE, as most tool (legacy) tool acts return TRUE on success
|
|
/// Return to prevent the rest of the attack chain from being executed / preventing the item user from thwacking the target.
|
|
/// Similar to [ITEM_INTERACT_SUCCESS], but does not necessarily indicate success.
|
|
#define ITEM_INTERACT_BLOCKING (1<<1)
|
|
/// Only for people who get confused by the naming scheme
|
|
#define ITEM_INTERACT_FAILURE ITEM_INTERACT_BLOCKING
|
|
/// Return to skip the rest of the interaction chain, going straight to attack.
|
|
#define ITEM_INTERACT_SKIP_TO_ATTACK (1<<2)
|
|
|
|
/// Combination flag for any item interaction that blocks the rest of the attack chain
|
|
#define ITEM_INTERACT_ANY_BLOCKER (ITEM_INTERACT_SUCCESS | ITEM_INTERACT_BLOCKING)
|
|
|
|
/// How many seconds between each fuel depletion tick ("use" proc)
|
|
#define TOOL_FUEL_BURN_INTERVAL 5
|
|
|
|
///This is a number I got by quickly searching up the temperature to melt iron/glass, though not really realistic.
|
|
///This is used for places where lighters should not be hot enough to be used as a welding tool on.
|
|
#define HIGH_TEMPERATURE_REQUIRED 1500
|
|
|
|
/**
|
|
* A helper for checking if an item interaction should be skipped.
|
|
* This is only used explicitly because some interactions may not want to ever be skipped.
|
|
*/
|
|
#define SHOULD_SKIP_INTERACTION(target, item, user) (HAS_TRAIT(target, TRAIT_COMBAT_MODE_SKIP_INTERACTION) && user.combat_mode)
|
|
|
|
// Used by the decal painter to get information about the decal being painted
|
|
/// Icon state to paint
|
|
#define DECAL_INFO_ICON_STATE "icon_state"
|
|
/// Color to paint the decal with
|
|
#define DECAL_INFO_COLOR "color"
|
|
/// Dir of the decal sprite
|
|
#define DECAL_INFO_DIR "dir"
|
|
/// Alpha of the decal
|
|
#define DECAL_INFO_ALPHA "alpha"
|