diff --git a/data/json/flags.json b/data/json/flags.json
index 8293735e87f0b..9b2e6b95251e8 100644
--- a/data/json/flags.json
+++ b/data/json/flags.json
@@ -1,80 +1,85 @@
[
+ {
+ "id": "DEBUG_ONLY",
+ "type": "json_flag",
+ "info": "This is not intended to be visible during normal gameplay. Please file a bug report unless you are seeing this in the debug menu."
+ },
{
"id": "ABLATIVE_CHAINMAIL_ARMS",
"type": "json_flag",
- "info": "You can use this armor with chainmail with out encumbrance penalty",
+ "info": "You can use this armor with chainmail without encumbrance penalty.",
"restriction": "Item must be a chainmail compatible armor piece"
},
{
"id": "ABLATIVE_CHAINMAIL_ELBOWS",
"type": "json_flag",
- "info": "You can use this armor with chainmail with out encumbrance penalty",
+ "info": "You can use this armor with chainmail without encumbrance penalty.",
"restriction": "Item must be a chainmail compatible armor piece"
},
{
"id": "ABLATIVE_CHAINMAIL_LEGS",
"type": "json_flag",
- "info": "You can use this armor with chainmail with out encumbrance penalty",
+ "info": "You can use this armor with chainmail without encumbrance penalty.",
"restriction": "Item must be a chainmail compatible armor piece"
},
{
"id": "ABLATIVE_CHAINMAIL_KNEES",
"type": "json_flag",
- "info": "You can use this armor with chainmail with out encumbrance penalty",
+ "info": "You can use this armor with chainmail without encumbrance penalty.",
"restriction": "Item must be a chainmail compatible armor piece"
},
{
"id": "ABLATIVE_CHAINMAIL_TORSO",
"type": "json_flag",
- "info": "You can use this armor with chainmail with out encumbrance penalty",
+ "info": "You can use this armor with chainmail without encumbrance penalty.",
"restriction": "Item must be a chainmail compatible armor piece"
},
{
"id": "ABLATIVE_LARGE",
"type": "json_flag",
- "info": "This plate will fit in large armor pockets",
+ "info": "This plate will fit in large armor pockets.",
"restriction": "Item must be a large ablative plate"
},
{
"id": "ABLATIVE_MANTLE",
"type": "json_flag",
- "info": "This will hook to a Hub 01 proprietary mantle connector",
+ "info": "This will hook to a Hub 01 proprietary mantle connector.",
"restriction": "Item must be an armored mantle"
},
{
"id": "STAR_PLATE",
"type": "json_flag",
- "info": "This can be supported by the ryūsei battle kit",
+ "info": "This can be supported by the ryūsei battle kit.",
"restriction": "Item must be resonance plate"
},
{
"id": "STAR_SHOULDER",
"type": "json_flag",
- "info": "This can be supported by the ryūsei battle kit",
+ "info": "This can be supported by the ryūsei battle kit.",
"restriction": "Item must be resonance shoulder"
},
{
"id": "STAR_SKIRT",
"type": "json_flag",
- "info": "This can be supported by the ryūsei battle kit",
+ "info": "This can be supported by the ryūsei battle kit.",
"restriction": "Item must be resonance skirt"
},
{
"id": "ABLATIVE_MEDIUM",
"type": "json_flag",
- "info": "This plate will fit in medium armor pockets",
+ "info": "This plate will fit in medium armor pockets.",
"restriction": "Item must be a medium ablative plate"
},
{
"id": "ABLATIVE_SKIRT",
"type": "json_flag",
- "info": "This will hook to a Hub 01 proprietary skirt connector",
+ "info": "This will hook to a Hub 01 proprietary skirt connector.",
"restriction": "Item must be an armored skirt"
},
{
"id": "ABLATIVE_HELMET",
"type": "json_flag",
- "info": "This will hook to a Hub 01 proprietary helmet connector",
+ "info": "This will hook to a Hub 01 proprietary helmet connector.",
"restriction": "Item must be an armored helmet"
},
{
@@ -406,13 +411,13 @@
"id": "HEAD_STRAP_MOUNT",
"type": "json_flag",
"info": "This item is attachable to straps and mountings on some masks and hoods.",
- "restriction": "Item must be some kind of item that can be attached to straps on masks and hoods."
+ "restriction": "Item must be some kind of item that can be attached to straps on masks and hoods"
},
{
"id": "WRIST_MOUNT_ATTACHMENT",
"type": "json_flag",
"info": "This item is attachable to a proprietary wrist mount.",
- "restriction": "Item must be some kind of item that can be attached to a proprietary wrist mount."
+ "restriction": "Item must be some kind of item that can be attached to a proprietary wrist mount"
},
{
"id": "EXTRA_PLATING",
diff --git a/data/json/items/fake.json b/data/json/items/fake.json
index 1d2860909d489..385a191b48b68 100644
--- a/data/json/items/fake.json
+++ b/data/json/items/fake.json
@@ -3,14 +3,22 @@
"abstract": "fake_item",
"type": "GENERIC",
"name": { "str": "fake item" },
- "description": "Dummy item. If you see this, then something went wrong.",
+ "description": "Dummy item.",
"//": "Include ZERO_WEIGHT flag to avoid errors when instantiating pseudo items.",
- "flags": [ "ZERO_WEIGHT" ],
+ "flags": [ "ZERO_WEIGHT", "TRADER_AVOID", "DEBUG_ONLY" ],
"weight": "1 g",
"volume": "1 ml",
"symbol": "@",
"color": "red"
},
+ {
+ "id": "fake_crafting_tool",
+ "copy-from": "fake_item",
+ "type": "TOOL",
+ "name": { "str": "fake crafting tool" },
+ "description": "Used for practice recipes and the like.",
+ "extend": { "flags": [ "ALLOWS_REMOTE_USE", "PSEUDO" ] }
+ },
{
"id": "fake_arcfurnace",
"copy-from": "fake_item",
@@ -195,7 +203,6 @@
{
"abstract": "fake_appliance_tool",
"name": { "str": "fake appliance tool" },
- "description": "Dummy item. If you see this, then something went wrong.",
"type": "TOOL",
"copy-from": "fake_item",
"ammo": [ "battery" ],
@@ -279,82 +286,74 @@
"id": "pseudo_exercise_machine",
"type": "TOOL",
"name": { "str": "exercise machine" },
- "description": "This is a crafting_pseudo_item if you have it something is wrong.",
+ "copy-from": "fake_crafting_tool",
"material": [ "steel" ],
"symbol": "T",
- "color": "dark_gray",
- "flags": [ "ALLOWS_REMOTE_USE", "PSEUDO" ]
+ "color": "dark_gray"
},
{
"id": "pseudo_punching_bag",
"type": "TOOL",
"name": { "str": "heavy punching bag" },
- "description": "This is a crafting_pseudo_item if you have it something is wrong.",
+ "copy-from": "fake_crafting_tool",
"symbol": "0",
- "color": "dark_gray",
- "flags": [ "ALLOWS_REMOTE_USE", "PSEUDO" ]
+ "color": "dark_gray"
},
{
"id": "pseudo_ergometer_mechanical",
"type": "TOOL",
"name": { "str": "mechanical ergometer" },
- "description": "This is a crafting_pseudo_item if you have it something is wrong.",
+ "copy-from": "fake_crafting_tool",
"symbol": "5",
- "color": "dark_gray",
- "flags": [ "ALLOWS_REMOTE_USE", "PSEUDO" ]
+ "color": "dark_gray"
},
{
"id": "pseudo_treadmill_mechanical",
"type": "TOOL",
"name": { "str": "gravity treadmill" },
- "description": "This is a crafting_pseudo_item if you have it something is wrong.",
+ "copy-from": "fake_crafting_tool",
"symbol": "L",
- "color": "dark_gray",
- "flags": [ "ALLOWS_REMOTE_USE", "PSEUDO" ]
+ "color": "dark_gray"
},
{
"id": "pseudo_training_dummy_light",
"type": "TOOL",
"name": { "str": "training dummy", "str_pl": "training dummies" },
- "description": "This is a crafting_pseudo_item if you have it something is wrong.",
+ "copy-from": "fake_crafting_tool",
"symbol": "@",
- "color": "brown",
- "flags": [ "ALLOWS_REMOTE_USE", "PSEUDO" ]
+ "color": "brown"
},
{
"id": "pseudo_training_dummy_heavy",
"type": "TOOL",
"name": { "str": "armored training dummy", "str_pl": "armored training dummies" },
- "description": "This is a crafting_pseudo_item if you have it something is wrong.",
+ "copy-from": "fake_crafting_tool",
"symbol": "@",
- "color": "brown",
- "flags": [ "ALLOWS_REMOTE_USE", "PSEUDO" ]
+ "color": "brown"
},
{
"id": "pseudo_archery_target_box",
"type": "TOOL",
"name": { "str": "box archery target" },
- "description": "This is a crafting_pseudo_item if you have it something is wrong.",
+ "copy-from": "fake_crafting_tool",
"symbol": "@",
- "color": "brown",
- "flags": [ "ALLOWS_REMOTE_USE", "PSEUDO" ]
+ "color": "brown"
},
{
"id": "pseudo_archery_target_bale",
"type": "TOOL",
"name": { "str": "bale archery target" },
- "description": "This is a crafting_pseudo_item if you have it something is wrong.",
+ "copy-from": "fake_crafting_tool",
"symbol": "@",
- "color": "yellow",
- "flags": [ "ALLOWS_REMOTE_USE", "PSEUDO" ]
+ "color": "yellow"
},
{
"id": "pseudo_magazine",
"type": "MAGAZINE",
"category": "spare_parts",
"name": { "str": "pseudo magazine" },
- "description": "Pseudo magazine for use in dirty vehicle hacks. If you see this, then something went wrong",
- "flags": [ "PSEUDO", "ZERO_WEIGHT", "NO_SALVAGE", "NO_UNLOAD", "NO_RELOAD" ],
+ "description": "Pseudo magazine for use in dirty vehicle hacks.",
+ "flags": [ "PSEUDO", "ZERO_WEIGHT", "NO_SALVAGE", "NO_UNLOAD", "NO_RELOAD", "DEBUG_ONLY" ],
"ammo_type": [ "battery" ],
"capacity": 1000000,
"pocket_data": [
@@ -371,53 +370,40 @@
},
{
"id": "fake_lift_light",
- "copy-from": "fake_item",
+ "copy-from": "fake_crafting_tool",
"type": "TOOL",
"name": { "str": "light hoist" },
- "flags": [ "ALLOWS_REMOTE_USE", "PSEUDO" ],
"qualities": [ [ "LIFT", 2 ], [ "ROPE", 2 ], [ "SUSPENDING", 2 ] ]
},
{
"id": "fake_lift_medium",
- "copy-from": "fake_item",
+ "copy-from": "fake_crafting_tool",
"type": "TOOL",
"name": { "str": "sturdy hoist" },
- "flags": [ "ALLOWS_REMOTE_USE", "PSEUDO" ],
"qualities": [ [ "LIFT", 8 ], [ "ROPE", 2 ], [ "SUSPENDING", 2 ] ]
},
{
"id": "fake_lift_heavy",
- "copy-from": "fake_item",
+ "copy-from": "fake_crafting_tool",
"type": "TOOL",
"name": { "str": "heavy-duty hoist" },
- "flags": [ "ALLOWS_REMOTE_USE", "PSEUDO" ],
"qualities": [ [ "LIFT", 40 ], [ "ROPE", 2 ], [ "SUSPENDING", 2 ] ]
},
{
"id": "pseudo_app_oxygen_concentrator",
"type": "TOOL",
+ "name": { "str": "oxygen concentrator" },
+ "copy-from": "fake_crafting_tool",
"ammo": [ "battery" ],
- "flags": [ "ALLOWS_REMOTE_USE", "PSEUDO", "ZERO_WEIGHT" ],
- "pocket_data": [ { "pocket_type": "MAGAZINE_WELL", "default_magazine": "pseudo_battery" } ],
- "description": "Dummy item. If you see this, then something went wrong.",
- "weight": "1 g",
- "volume": "1 ml",
- "symbol": "@",
- "color": "red",
- "name": { "str": "oxygen concentrator" }
+ "pocket_data": [ { "pocket_type": "MAGAZINE_WELL", "default_magazine": "pseudo_battery" } ]
},
{
"id": "pseudo_app_hd_compressor_unit",
"type": "TOOL",
+ "name": { "str": "high pressure compressor unit" },
+ "copy-from": "fake_crafting_tool",
"ammo": [ "battery" ],
- "flags": [ "ALLOWS_REMOTE_USE", "PSEUDO", "ZERO_WEIGHT" ],
"pocket_data": [ { "pocket_type": "MAGAZINE_WELL", "default_magazine": "pseudo_battery" } ],
- "description": "Dummy item. If you see this, then something went wrong.",
- "weight": "1 g",
- "volume": "1 ml",
- "symbol": "@",
- "color": "red",
- "name": { "str": "high pressure compressor unit" },
"charges_per_use": 100,
"charged_qualities": [ [ "PRESSURIZATION", 10 ] ]
}
diff --git a/data/json/items/tool/cooking.json b/data/json/items/tool/cooking.json
index 1c2db2a3a5bcc..fffe36e8247e6 100644
--- a/data/json/items/tool/cooking.json
+++ b/data/json/items/tool/cooking.json
@@ -37,23 +37,6 @@
"price_postapoc": 150,
"qualities": [ [ "CUT", 2 ], [ "CUT_FINE", 1 ], [ "BUTCHER", 37 ] ]
},
- {
- "id": "butter_churn",
- "type": "TOOL",
- "name": { "str": "pseudo butter churn" },
- "description": "This is a crafting_pseudo_item if you have it something is wrong.",
- "weight": "6464 g",
- "volume": "9 L",
- "price": 20000,
- "price_postapoc": 100,
- "to_hit": -2,
- "material": [ "wood" ],
- "qualities": [ [ "CHURN", 1 ] ],
- "symbol": "H",
- "color": "light_cyan",
- "flags": [ "ALLOWS_REMOTE_USE" ],
- "melee_damage": { "bash": 9 }
- },
{
"id": "screw_press",
"type": "TOOL",
diff --git a/data/json/items/tool/pseudo.json b/data/json/items/tool/pseudo.json
index 062ed794a07ca..91529bcd8e2fb 100644
--- a/data/json/items/tool/pseudo.json
+++ b/data/json/items/tool/pseudo.json
@@ -4,71 +4,70 @@
"type": "TOOL",
"name": { "str": "butchery tree pseudo item" },
"description": "This is a pseudo item to represent the support of a tree or butchery rack without a hook.",
- "weight": "1 g",
- "volume": "1 ml",
+ "copy-from": "fake_item",
"symbol": "[",
"color": "dark_gray",
- "qualities": [ [ "SUSPENDING", 2 ] ],
- "flags": [ "TRADER_AVOID", "ZERO_WEIGHT" ]
+ "qualities": [ [ "SUSPENDING", 2 ] ]
},
{
"id": "fake_butcher_rack",
"type": "TOOL",
"name": { "str": "fake butcher rack (pseudo item)", "str_pl": "fake butcher racks (pseudo items)" },
"description": "This is a pseudo item to represent the support of a tree or butchery rack with a hook.",
- "weight": "1 g",
- "volume": "1 ml",
+ "copy-from": "fake_item",
"symbol": "[",
"color": "dark_gray",
- "qualities": [ [ "SUSPENDING", 2 ], [ "ROPE", 2 ] ],
- "flags": [ "TRADER_AVOID", "ZERO_WEIGHT" ]
+ "qualities": [ [ "SUSPENDING", 2 ], [ "ROPE", 2 ] ]
},
{
"id": "medium_surface_pseudo",
"type": "TOOL",
"name": { "str": "medium surface pseudo item" },
"description": "This is a pseudo item to represent a surface large enough to butcher a medium animal on.",
- "weight": "1 g",
- "volume": "1 ml",
+ "copy-from": "fake_item",
"symbol": "[",
"color": "dark_gray",
- "qualities": [ [ "SURFACE", 2 ] ],
- "flags": [ "TRADER_AVOID", "ZERO_WEIGHT" ]
+ "qualities": [ [ "SURFACE", 2 ] ]
},
{
"id": "large_surface_pseudo",
"type": "TOOL",
"name": { "str": "large surface pseudo item" },
"description": "This is a pseudo item to represent a surface large enough to butcher a large animal on.",
- "weight": "1 g",
- "volume": "1 ml",
+ "copy-from": "fake_item",
"symbol": "[",
"color": "dark_gray",
- "qualities": [ [ "SURFACE", 3 ] ],
- "flags": [ "TRADER_AVOID", "ZERO_WEIGHT" ]
+ "qualities": [ [ "SURFACE", 3 ] ]
},
{
"id": "fake_stove",
"type": "TOOL",
- "copy-from": "fake_item",
"name": { "str": "basecamp stove" },
"description": "A fake stove used for basecamps.",
+ "copy-from": "fake_item",
"sub": "hotplate",
"ammo": [ "tinder" ],
"pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "tinder": 50000 } } ],
- "charge_factor": 10,
- "flags": [ "ZERO_WEIGHT" ]
+ "charge_factor": 10
},
{
"id": "brick_oven_pseudo",
"type": "TOOL",
"name": { "str": "brick oven" },
- "description": "This is a pseudo item to represent t_brick_oven. If you see it, it's a bug.",
- "weight": "1 g",
- "volume": "1 ml",
+ "description": "This is a pseudo item to represent t_brick_oven.",
+ "copy-from": "fake_item",
"symbol": "[",
"color": "dark_gray",
- "qualities": [ [ "OVEN", 2 ] ],
- "flags": [ "TRADER_AVOID", "ZERO_WEIGHT" ]
+ "qualities": [ [ "OVEN", 2 ] ]
+ },
+ {
+ "id": "butter_churn",
+ "type": "TOOL",
+ "name": { "str": "pseudo butter churn" },
+ "copy-from": "fake_item",
+ "qualities": [ [ "CHURN", 1 ] ],
+ "symbol": "H",
+ "color": "light_cyan",
+ "extend": { "flags": [ "ALLOWS_REMOTE_USE" ] }
}
]
diff --git a/data/json/items/toolmod.json b/data/json/items/toolmod.json
index 9731a8b265b1e..cad247db6a1b2 100644
--- a/data/json/items/toolmod.json
+++ b/data/json/items/toolmod.json
@@ -49,9 +49,9 @@
"type": "TOOLMOD",
"category": "spare_parts",
"name": { "str": "pseudo magazine mod" },
- "description": "If you see this - you see a bug.",
+ "description": "For containing pseudo magazines, obviously.",
"color": "light_green",
- "flags": [ "PSEUDO" ],
+ "flags": [ "PSEUDO", "DEBUG_ONLY" ],
"pocket_mods": [ { "pocket_type": "MAGAZINE_WELL", "default_magazine": "pseudo_magazine", "item_restriction": [ "pseudo_magazine" ] } ]
},
{