diff --git a/.clang-tidy b/.clang-tidy
index ef41eda3bb7b5..4c42ea906b772 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -1,4 +1,97 @@
-Checks: 'clang-diagnostic-*,modernize-use-using'
+# Enable some categories of checks and then disable individual ones.
+# The disabled checks that appear as part of the initial alphabetical section
+# enabling categories (e.g. cert-err58-cpp) are ones that do not make sense for
+# this codebase and we do not intend to fix. The disabled checks appearing
+# thereafter in a separate alphabetical list have yet to be triaged. We may
+# fix their errors or recategorise them as checks we don't care about.
+Checks: "\
+bugprone-*,\
+cata-*,\
+cert-*,\
+-cert-err58-cpp,\
+clang-diagnostic-*,\
+cppcoreguidelines-slicing,\
+llvm-namespace-comment,\
+misc-*,\
+modernize-*,\
+performance-*,\
+readability-*,\
+-bugprone-inaccurate-erase,\
+-bugprone-incorrect-roundings,\
+-bugprone-integer-division,\
+-bugprone-macro-parentheses,\
+-bugprone-misplaced-widening-cast,\
+-bugprone-narrowing-conversions,\
+-bugprone-string-integer-assignment,\
+-bugprone-too-small-loop-variable,\
+-bugprone-undefined-memory-manipulation,\
+-bugprone-unused-return-value,\
+-bugprone-use-after-move,\
+-cert-dcl03-c,\
+-cert-dcl16-c,\
+-cert-dcl21-cpp,\
+-cert-dcl50-cpp,\
+-cert-dcl58-cpp,\
+-cert-dcl59-cpp,\
+-cert-env33-c,\
+-cert-err34-c,\
+-cert-flp30-c,\
+-cert-msc30-c,\
+-cert-msc32-c,\
+-cert-msc50-cpp,\
+-cert-msc51-cpp,\
+-misc-definitions-in-headers,\
+-misc-non-private-member-variables-in-classes,\
+-misc-redundant-expression,\
+-misc-static-assert,\
+-misc-unconventional-assign-operator,\
+-modernize-avoid-c-arrays,\
+-modernize-deprecated-headers,\
+-modernize-loop-convert,\
+-modernize-make-unique,\
+-modernize-pass-by-value,\
+-modernize-raw-string-literal,\
+-modernize-return-braced-init-list,\
+-modernize-use-auto,\
+-modernize-use-default-member-init,\
+-modernize-use-emplace,\
+-modernize-use-equals-default,\
+-modernize-use-equals-delete,\
+-modernize-use-nullptr,\
+-modernize-use-override,\
+-modernize-use-transparent-functors,\
+-performance-for-range-copy,\
+-performance-inefficient-vector-operation,\
+-performance-move-const-arg,\
+-performance-noexcept-move-constructor,\
+-performance-implicit-conversion-in-loop,\
+-performance-inefficient-algorithm,\
+-performance-inefficient-string-concatenation,\
+-performance-type-promotion-in-math-fn,\
+-performance-unnecessary-copy-initialization,\
+-performance-unnecessary-value-param,\
+-readability-avoid-const-params-in-decls,\
+-readability-braces-around-statements,\
+-readability-const-return-type,\
+-readability-else-after-return,\
+-readability-function-size,\
+-readability-implicit-bool-conversion,\
+-readability-inconsistent-declaration-parameter-name,\
+-readability-isolate-declaration,\
+-readability-magic-numbers,\
+-readability-named-parameter,\
+-readability-non-const-parameter,\
+-readability-container-size-empty,\
+-readability-redundant-control-flow,\
+-readability-redundant-declaration,\
+-readability-redundant-member-init,\
+-readability-redundant-preprocessor,\
+-readability-redundant-string-init,\
+-readability-simplify-boolean-expr,\
+-readability-static-accessed-through-instance,\
+-readability-string-compare,\
+-readability-uppercase-literal-suffix,\
+"
WarningsAsErrors: '*'
HeaderFilterRegex: '(src|test).*'
FormatStyle: none
diff --git a/.travis.yml b/.travis.yml
index 5e0562eaff1c6..1aaca516a5538 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -105,12 +105,12 @@ jobs:
osx_image: xcode10.1
compiler: clang
- - env: CLANG=clang++-8 TILES=1 SOUND=1 CXXFLAGS=-Wno-unused-command-line-argument CMAKE=1 CATA_CLANG_TIDY=clang-tidy-8
+ - env: CLANG=clang++-8 TILES=1 SOUND=1 CXXFLAGS=-Wno-unused-command-line-argument CMAKE=1 CATA_CLANG_TIDY=plugin
name: "Clang-tidy CMake build with Tiles and Sound"
compiler: clang
addons: &clang8
apt:
- packages: ["clang-8", "clang-tidy-8", "libsdl2-dev", "libsdl2-ttf-dev", "libsdl2-image-dev", "libsdl2-mixer-dev"]
+ packages: ["clang-8", "libclang-8-dev", "llvm-8-dev", "llvm-8-tools", "libsdl2-dev", "libsdl2-ttf-dev", "libsdl2-image-dev", "libsdl2-mixer-dev"]
sources: [*apt_sources, llvm-toolchain-xenial-8]
# Finally check the compiler variants
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 049cc922f6de9..24d62f1df2b4f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,6 +8,8 @@ SET(CMAKE_MODULE_PATH
${CMAKE_SOURCE_DIR}/CMakeModules
)
+SET(CMAKE_TLS_VERIFY ON)
+
# Build options
option(TILES "Build graphical tileset version." "OFF")
option(CURSES "Build curses version." "ON" )
@@ -17,8 +19,11 @@ option(USE_HOME_DIR "Use user's home directory for save files." "ON" )
option(LOCALIZE "Support for language localizations. Also enable UTF support." "ON" )
option(LANGUAGES "Compile localization files for specified languages." "" )
option(DYNAMIC_LINKING "Use dynamic linking. Or use static to remove MinGW dependency instead." "ON")
-option(GIT_BINARY "Git binary name or path." "")
-OPTION(PREFIX "Location of Data & GFX directories" "")
+option(CATA_CLANG_TIDY_PLUGIN "Build Cata's custom clang-tidy plugin" "OFF")
+set(CATA_CLANG_TIDY_INCLUDE_DIR "" CACHE STRING "Path to internal clang-tidy headers required for plugin (e.g. ClangTidy.h)")
+set(CATA_CHECK_CLANG_TIDY "" CACHE STRING "Path to check_clang_tidy.py for plugin tests")
+set(GIT_BINARY "" CACHE STRING "Git binary name or path.")
+set(PREFIX "" CACHE STRING "Location of Data & GFX directories")
include(CTest)
@@ -33,7 +38,7 @@ MESSAGE(" \\ \\____ / __ \\_ | | / __ \\_\\ \\___ | |__ \\___ | \\__
MESSAGE(" \\______ /\(____ / |__| \(____ / \\___ >|____/ / ____|/____ >|__|_| / ")
MESSAGE(" \\/ \\/ \\/ \\/ \\/ \\/ \\/ ")
MESSAGE(" --= Dark Days Ahead =--")
-MESSAGE("\n * http://en.cataclysmdda.com/\n")
+MESSAGE("\n * https://cataclysmdda.org/\n")
MESSAGE(STATUS "${PROJECT} build environment -- \n")
@@ -341,6 +346,9 @@ if (NOT MSVC)
add_subdirectory(src/chkjson)
endif()
add_subdirectory(tests)
+if (CATA_CLANG_TIDY_PLUGIN)
+ add_subdirectory(tools/clang-tidy-plugin)
+endif()
CONFIGURE_FILE(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
diff --git a/COMPILING-CMAKE.md b/COMPILING-CMAKE.md
index ed65b15642589..5c23c529dfa43 100644
--- a/COMPILING-CMAKE.md
+++ b/COMPILING-CMAKE.md
@@ -3,7 +3,6 @@
**WARNING**: CMake build is **NOT** official and should be used for *dev purposes ONLY*.
For official way to build CataclysmDDA See:
- * The latest instructions on how to compile can be found on [our wiki](http://tools.cataclysmdda.com/wiki).
* [COMPILING.md](https://github.com/CleverRaven/Cataclysm-DDA/blob/master/COMPILING.md)
diff --git a/COMPILING.md b/COMPILING.md
index 542279119541a..5955f13cc4a4a 100644
--- a/COMPILING.md
+++ b/COMPILING.md
@@ -575,7 +575,7 @@ Open Terminal's preferences, turn on "Use bright colors for bold text" in "Prefe
## Visual Studio Guide
-Visual Studio 2015 (or later) is required to build Cataclysm. If you use a later version of Visual Studio, you will need to [enable the Visual Studio 2015 (v140) platform toolset](https://developercommunity.visualstudio.com/content/problem/48806/cant-find-v140-in-visual-studio-2017.html). We created solution and project files in directory `msvc-full-features`. Because of the complexity and how troublesome defining every combination of build feature options are, in Visual Studio project we added all build features, including tiles, sound and localization.
+Visual Studio 2017 (or later) is required to build Cataclysm: Dark Days Ahead. Solutions and project files are located in directory `msvc-full-features`. Because of the complexity and how troublesome defining every combination of build feature options are, Visual Studio projects have all build features enabled, including tiles, sound and localization.
### Dependencies
diff --git a/Makefile b/Makefile
index a2b335ea34ade..55607bf03a2ee 100644
--- a/Makefile
+++ b/Makefile
@@ -685,6 +685,8 @@ TESTSRC := $(wildcard tests/*.cpp)
TESTHDR := $(wildcard tests/*.h)
JSON_FORMATTER_SOURCES := tools/format/format.cpp src/json.cpp
CHKJSON_SOURCES := src/chkjson/chkjson.cpp src/json.cpp
+CLANG_TIDY_PLUGIN_SOURCES := \
+ $(wildcard tools/clang-tidy-plugin/*.cpp tools/clang-tidy-plugin/*/*.cpp)
TOOLHDR := $(wildcard tools/*/*.h)
# Using sort here because it has the side-effect of deduplicating the list
ASTYLE_SOURCES := $(sort \
@@ -694,6 +696,7 @@ ASTYLE_SOURCES := $(sort \
$(TESTHDR) \
$(JSON_FORMATTER_SOURCES) \
$(CHKJSON_SOURCES) \
+ $(CLANG_TIDY_PLUGIN_SOURCES) \
$(TOOLHDR))
_OBJS = $(SOURCES:$(SRC_DIR)/%.cpp=%.o)
diff --git a/build-scripts/build.sh b/build-scripts/build.sh
index 7fae2b527ac7f..ee1011cbe5bf5 100755
--- a/build-scripts/build.sh
+++ b/build-scripts/build.sh
@@ -19,6 +19,7 @@ then
build-scripts/lint-json.sh
make -j "$num_jobs" style-json
+ tools/dialogue_validator.py data/json/npcs/* data/json/npcs/*/* data/json/npcs/*/*/*
# Also build chkjson (even though we're not using it), to catch any
# compile errors there
make -j "$num_jobs" chkjson
@@ -40,6 +41,17 @@ then
build_type=Debug
fi
+ cmake_extra_opts=
+
+ if [ "$CATA_CLANG_TIDY" = "plugin" ]
+ then
+ cmake_extra_opts="$cmake_extra_opts -DCATA_CLANG_TIDY_PLUGIN=ON"
+ # Need to specify the particular LLVM / Clang versions to use, lest it
+ # use the llvm-7 that comes by default on the Travis Xenial image.
+ cmake_extra_opts="$cmake_extra_opts -DLLVM_DIR=/usr/lib/llvm-8/lib/cmake/llvm"
+ cmake_extra_opts="$cmake_extra_opts -DClang_DIR=/usr/lib/llvm-8/lib/cmake/clang"
+ fi
+
mkdir build
cd build
cmake \
@@ -48,9 +60,25 @@ then
-DCMAKE_BUILD_TYPE="$build_type" \
-DTILES=${TILES:-0} \
-DSOUND=${SOUND:-0} \
+ $cmake_extra_opts \
..
if [ -n "$CATA_CLANG_TIDY" ]
then
+ if [ "$CATA_CLANG_TIDY" = "plugin" ]
+ then
+ make -j$num_jobs CataAnalyzerPlugin
+ export PATH=$PWD/tools/clang-tidy-plugin/clang-tidy-plugin-support/bin:$PATH
+ if ! which FileCheck
+ then
+ ls -l tools/clang-tidy-plugin/clang-tidy-plugin-support/bin
+ ls -l /usr/bin
+ echo "Missing FileCheck"
+ exit 1
+ fi
+ CATA_CLANG_TIDY=clang-tidy
+ lit -v tools/clang-tidy-plugin/test
+ fi
+
"$CATA_CLANG_TIDY" --version
# Run clang-tidy analysis instead of regular build & test
@@ -94,7 +122,7 @@ then
analyze_files_in_random_order "$remaining_cpp_files"
else
# Regular build
- make -j3
+ make -j$num_jobs
cd ..
# Run regular tests
[ -f "${bin_path}cata_test" ] && run_tests "${bin_path}cata_test"
@@ -117,3 +145,5 @@ else
fi
fi
ccache --show-stats
+
+# vim:tw=0
diff --git a/build-scripts/clang-tidy-wrapper.sh b/build-scripts/clang-tidy-wrapper.sh
index 187248f004bb0..8ca192cedae43 100755
--- a/build-scripts/clang-tidy-wrapper.sh
+++ b/build-scripts/clang-tidy-wrapper.sh
@@ -15,5 +15,12 @@ then
exit 0
fi
+plugin=build/tools/clang-tidy-plugin/libCataAnalyzerPlugin.so
+
set -x
-"$CATA_CLANG_TIDY" "$@"
+if [ -f "$plugin" ]
+then
+ LD_PRELOAD=$plugin "$CATA_CLANG_TIDY" "$@"
+else
+ "$CATA_CLANG_TIDY" "$@"
+fi
diff --git a/build-scripts/requirements.sh b/build-scripts/requirements.sh
index 99ad8505ab89c..327463af1854a 100644
--- a/build-scripts/requirements.sh
+++ b/build-scripts/requirements.sh
@@ -21,6 +21,8 @@ if just_json; then
export CODE_COVERAGE=""
fi
+set -x
+
if [ -n "${CODE_COVERAGE}" ]; then
travis_retry pip install --user pyyaml cpp-coveralls
export CXXFLAGS="$CXXFLAGS --coverage"
@@ -28,7 +30,7 @@ if [ -n "${CODE_COVERAGE}" ]; then
fi
if [ -n "$CATA_CLANG_TIDY" ]; then
- travis_retry pip install --user compiledb
+ travis_retry pip install --user compiledb lit
fi
# Influenced by https://github.com/zer0main/battleship/blob/master/build/windows/requirements.sh
diff --git a/data/help/texts.json b/data/help/texts.json
index 5e679aacdc0bc..395951f6e81fb 100644
--- a/data/help/texts.json
+++ b/data/help/texts.json
@@ -194,7 +194,7 @@
"It's a good idea to pull the handbrake - \"s\" - when parking, just to be safe. If you want to get out, hit the lights, toggle cruise control, turn the engine on or off, or otherwise use the vehicle controls, press to bring up the \"Vehicle Controls\" menu, which has options for things you'd do from the driver's seat.",
"Examining () a vehicle brings up the vehicle interaction window. The left pane shows a top-down view of your vehicle and each part of it. The middle pane shows a summmary of the vehicle's engines, batteries, storage tanks, weapons, and seating. The right panel is context sensitive, but normally has descriptions of the vehicle parts in the tile highlighted in the vehicle view on the left.",
"Across the bottom are a summary of the most important parameters of your vehicle. Safe speed is how fast you can drive without damaging the engine and maximum speed is how fast you can drive at the engine's maximum output. Acceleration is how fast your vehicle can increase speed each turn. Cargo volume is how much cargo you can store and how much stuff you have in your vehicle, mass is how much the vehicle weighs, and the Status and Wheels give a summary of the vehicle condition and wheel condition. There are also fuel indicators on the lower right that give an estimate of how quickly your fuel will run out.",
- "Air drag, water drag, rolling drag, and static drag are all values that influence your vehicle's safe and maximum speed. The interaction of drag and engine power is complicated, but generally speaking, more powerful engines will make your vehicle go faster but aslo consume fuel faster.",
+ "Air drag, water drag, rolling drag, and static drag are all values that influence your vehicle's safe and maximum speed. The interaction of drag and engine power is complicated, but generally speaking, more powerful engines will make your vehicle go faster but also consume fuel faster.",
"Air drag increases as your vehicle gets wider or has more parts that increase the vehicle's height like full boards, aisles, or turrets. It also increases as the vehicle has a less aerodynamic profile, such as having exposed passengers or full boards at the front of the vehicle. Air drag strongly influences vehicle speed, especially at high speeds.",
"Rolling drag increases with vehicle weight and wheel count. Rigid wheels have less rolling drag per wheel than inflatable wheels, but weigh more so rolling drag may still increase when moving from inflatable wheels to rigid wheels. Tank treads have enormous rolling resistance and are very heavy, so tanks have a lot of rolling resistance. Rolling drag influences vehicle speed, but less than air drag does, especially at high speeds.",
"Vehicles that can move in water have a water drag. Water drag increases with vehicle width and draft, and draft increases with vehicle weight but is reduced by adding more boat boards and by widening or lengthening the vehicle. Water drag has enormous effect on vehicle speed in the water. See the section on water vehicles for more about draft and water drag.",
diff --git a/data/json/bionics.json b/data/json/bionics.json
index 76c2b2ce07648..fcbc454bcc287 100644
--- a/data/json/bionics.json
+++ b/data/json/bionics.json
@@ -131,6 +131,7 @@
"type": "bionic",
"name": "Optical Dampers",
"description": "The lenses surgically installed over your eyes can be tinted to block out incoming light.",
+ "included": true,
"flags": [ "BIONIC_TOGGLED" ]
},
{
@@ -305,6 +306,7 @@
"type": "bionic",
"name": "Sound Dampeners",
"description": "When this bionic is active, you can block hearing completely (with Enhanced Hearing deactivated) or dampen sound slightly (with Enhanced Hearing activated).",
+ "included": true,
"flags": [ "BIONIC_TOGGLED" ]
},
{
@@ -713,6 +715,7 @@
"id": "bio_plutdump",
"type": "bionic",
"name": "Plutonium Purger",
+ "included": true,
"description": "Emergency reactor fuel purge ejects all fuel from your reactor.",
"act_cost": 1
},
@@ -1033,6 +1036,7 @@
"name": "Extended Toolset",
"description": "Extend or withdraw your integrated toolset to cut metal, pry things, or other stuff. This takes up your hand.",
"fake_item": "toolset_extended",
+ "included": true,
"flags": [ "BIONIC_TOGGLED", "BIONIC_WEAPON" ]
},
{
diff --git a/data/json/construction.json b/data/json/construction.json
index ac5cd16adbea8..0df3e5532a955 100644
--- a/data/json/construction.json
+++ b/data/json/construction.json
@@ -135,7 +135,7 @@
"required_skills": [ [ "fabrication", 2 ] ],
"time": "30 m",
"qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ],
- "components": [ [ [ "2x4", 2 ] ], [ [ "wood_panel", 1 ] ], [ [ "nail", 12 ] ] ],
+ "components": [ [ [ "2x4", 2 ] ], [ [ "wood_panel", 1 ] ], [ [ "nail", 12 ] ], [ [ "hinge", 2 ] ] ],
"pre_terrain": "t_door_frame",
"post_terrain": "t_door_c"
},
@@ -266,7 +266,7 @@
"required_skills": [ [ "fabrication", 3 ] ],
"time": "90 m",
"qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ],
- "components": [ [ [ "2x4", 6 ], [ "wood_panel", 1 ] ], [ [ "2x4", 6 ] ], [ [ "nail", 48 ] ] ],
+ "components": [ [ [ "2x4", 6 ], [ "wood_panel", 1 ] ], [ [ "2x4", 6 ] ], [ [ "nail", 48 ] ], [ [ "hinge", 1 ] ] ],
"pre_flags": "BARRICADABLE_DOOR",
"post_terrain": "t_rdoor_c"
},
@@ -290,7 +290,11 @@
"required_skills": [ [ "fabrication", 7 ] ],
"time": "120 m",
"qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_M", "level": 1 } ], [ { "id": "WRENCH", "level": 1 } ] ],
- "components": [ [ [ "steel_lump", 4 ], [ "steel_chunk", 12 ], [ "scrap", 36 ] ], [ [ "steel_plate", 2 ], [ "sheet_metal", 8 ] ] ],
+ "components": [
+ [ [ "steel_lump", 4 ], [ "steel_chunk", 12 ], [ "scrap", 36 ] ],
+ [ [ "steel_plate", 2 ], [ "sheet_metal", 8 ] ],
+ [ [ "hinge", 3 ] ]
+ ],
"pre_terrain": "t_mdoor_frame",
"post_terrain": "t_door_metal_c"
},
@@ -1183,7 +1187,7 @@
"required_skills": [ [ "fabrication", 2 ], [ "survival", 1 ] ],
"time": "30 m",
"qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "DIG", "level": 2 } ] ],
- "components": [ [ [ "pointy_stick", 2 ], [ "spear_wood", 2 ] ], [ [ "2x4", 5 ] ], [ [ "nail", 12 ] ] ],
+ "components": [ [ [ "pointy_stick", 2 ], [ "spear_wood", 2 ] ], [ [ "2x4", 5 ] ], [ [ "nail", 12 ] ], [ [ "hinge", 2 ] ] ],
"pre_flags": "DIGGABLE",
"post_terrain": "t_fencegate_c"
},
@@ -1248,7 +1252,7 @@
"time": "150 m",
"components": [ [ [ "wire", 20 ] ], [ [ "steel_chunk", 3 ], [ "scrap", 12 ] ], [ [ "pipe", 20 ] ] ],
"pre_note": "Needs to be supported on both sides by fencing, walls, etc.",
- "pre_special": "check_support",
+ "pre_special": "check_empty",
"post_terrain": "t_chaingate_c"
},
{
@@ -1280,9 +1284,9 @@
"category": "CONSTRUCT",
"required_skills": [ [ "fabrication", 2 ] ],
"time": "45 m",
- "components": [ [ [ "wire", 10 ] ], [ [ "2x4", 5 ] ], [ [ "nail", 20 ] ] ],
+ "components": [ [ [ "wire", 10 ] ], [ [ "2x4", 5 ] ], [ [ "nail", 20 ] ], [ [ "hinge", 2 ] ] ],
"pre_note": "Needs to be supported on both sides by fencing, walls, etc.",
- "pre_special": "check_support",
+ "pre_special": "check_empty",
"post_terrain": "t_chickenwire_gate_c"
},
{
@@ -1804,7 +1808,7 @@
"time": "180 m",
"qualities": [ [ { "id": "SAW_M", "level": 1 } ], [ { "id": "SCREW", "level": 1 } ] ],
"using": [ [ "welding_standard", 8 ] ],
- "components": [ [ [ "rebar", 16 ] ], [ [ "sheet_metal_small", 12 ] ] ],
+ "components": [ [ [ "rebar", 16 ] ], [ [ "sheet_metal_small", 12 ] ], [ [ "hinge", 2 ] ] ],
"pre_terrain": "t_mdoor_frame",
"post_terrain": "t_door_bar_c"
},
@@ -2159,6 +2163,44 @@
"pre_terrain": "t_rock_floor",
"post_special": "done_mine_downstair"
},
+ {
+ "type": "construction",
+ "description": "Repair Wooden Staircase",
+ "//": "Fix the broken back to normal",
+ "category": "REPAIR",
+ "required_skills": [ [ "fabrication", 4 ] ],
+ "time": "120 m",
+ "qualities": [ [ { "id": "HAMMER", "level": 2 } ] ],
+ "components": [ [ [ "2x4", 6 ] ], [ [ "nail", 20 ] ], [ [ "wood_panel", 3 ] ] ],
+ "pre_terrain": "t_wood_stairs_up_broken",
+ "post_terrain": "t_wood_stairs_up",
+ "post_special": "done_wood_stairs"
+ },
+ {
+ "type": "construction",
+ "description": "Build Wooden Staircase",
+ "//": "Step 1: stairs frame in an empty space",
+ "category": "CONSTRUCT",
+ "required_skills": [ [ "fabrication", 6 ] ],
+ "time": "360 m",
+ "qualities": [ [ { "id": "HAMMER", "level": 2 } ] ],
+ "components": [ [ [ "2x4", 12 ] ], [ [ "nail", 24 ] ] ],
+ "pre_special": "check_empty_up_OK",
+ "post_terrain": "t_wood_stairs_up_half"
+ },
+ {
+ "type": "construction",
+ "description": "Build Wooden Staircase",
+ "//": "Step 2: complete the half made stairs by putting paneling on it",
+ "category": "CONSTRUCT",
+ "required_skills": [ [ "fabrication", 6 ] ],
+ "time": "360 m",
+ "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ],
+ "components": [ [ [ "wood_panel", 4 ] ], [ [ "nail", 30 ] ] ],
+ "pre_terrain": "t_wood_stairs_up_half",
+ "post_terrain": "t_wood_stairs_up",
+ "post_special": "done_wood_stairs"
+ },
{
"type": "construction",
"description": "Mine Upstair",
@@ -2717,6 +2759,17 @@
"pre_terrain": "t_fence_post",
"post_terrain": "t_wall_rammed_earth"
},
+ {
+ "type": "construction",
+ "description": "Hang Hanging Meathook",
+ "category": "CONSTRUCT",
+ "required_skills": [ [ "fabrication", 1 ] ],
+ "time": 15,
+ "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SCREW", "level": 1 } ] ],
+ "components": [ [ [ "grip_hook", 1 ] ], [ [ "chain", 1 ] ] ],
+ "pre_special": "check_support",
+ "post_terrain": "f_hanging_meathook"
+ },
{
"type": "construction",
"description": "Build Counter Gate",
@@ -2724,7 +2777,7 @@
"required_skills": [ [ "fabrication", 1 ] ],
"time": "30 m",
"qualities": [ [ { "id": "HAMMER", "level": 2 } ] ],
- "components": [ [ [ "2x4", 6 ] ], [ [ "nail", 10 ] ] ],
+ "components": [ [ [ "2x4", 6 ] ], [ [ "nail", 10 ] ], [ [ "hinge", 2 ] ] ],
"pre_special": "check_empty",
"post_terrain": "f_counter_gate_c"
},
@@ -2735,7 +2788,7 @@
"required_skills": [ [ "fabrication", 2 ], [ "survival", 1 ] ],
"time": "30 m",
"qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "DIG", "level": 2 } ] ],
- "components": [ [ [ "pointy_stick", 2 ], [ "spear_wood", 2 ] ], [ [ "2x4", 5 ] ], [ [ "nail", 12 ] ] ],
+ "components": [ [ [ "pointy_stick", 2 ], [ "spear_wood", 2 ] ], [ [ "2x4", 5 ] ], [ [ "nail", 12 ] ], [ [ "hinge", 2 ] ] ],
"pre_flags": "DIGGABLE",
"post_terrain": "t_splitrail_fencegate_c"
},
@@ -2746,7 +2799,7 @@
"required_skills": [ [ "fabrication", 2 ], [ "survival", 1 ] ],
"time": "30 m",
"qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "DIG", "level": 2 } ] ],
- "components": [ [ [ "pointy_stick", 2 ], [ "spear_wood", 2 ] ], [ [ "2x4", 8 ] ], [ [ "nail", 20 ] ] ],
+ "components": [ [ [ "pointy_stick", 2 ], [ "spear_wood", 2 ] ], [ [ "2x4", 8 ] ], [ [ "nail", 20 ] ], [ [ "hinge", 2 ] ] ],
"pre_flags": "DIGGABLE",
"post_terrain": "t_privacy_fencegate_c"
},
diff --git a/data/json/construction_category.json b/data/json/construction_category.json
new file mode 100644
index 0000000000000..6722d4aa31bf7
--- /dev/null
+++ b/data/json/construction_category.json
@@ -0,0 +1,54 @@
+[
+ {
+ "//": "Should be first in the list",
+ "type": "construction_category",
+ "id": "ALL",
+ "name": "All"
+ },
+ {
+ "type": "construction_category",
+ "id": "CONSTRUCT",
+ "name": "Constructions"
+ },
+ {
+ "type": "construction_category",
+ "id": "FURN",
+ "name": "Furniture"
+ },
+ {
+ "type": "construction_category",
+ "id": "DIG",
+ "name": "Digging and Mining"
+ },
+ {
+ "type": "construction_category",
+ "id": "REPAIR",
+ "name": "Repairing"
+ },
+ {
+ "type": "construction_category",
+ "id": "REINFORCE",
+ "name": "Reinforcing"
+ },
+ {
+ "type": "construction_category",
+ "id": "DECORATE",
+ "name": "Decorative"
+ },
+ {
+ "type": "construction_category",
+ "id": "FARM_WOOD",
+ "name": "Farming and Woodcutting"
+ },
+ {
+ "type": "construction_category",
+ "id": "OTHER",
+ "name": "Others"
+ },
+ {
+ "//": "Should be last in the list",
+ "type": "construction_category",
+ "id": "FILTER",
+ "name": "Filter"
+ }
+]
diff --git a/data/json/doll_speech.json b/data/json/doll_speech.json
deleted file mode 100644
index 9f040d2059a8b..0000000000000
--- a/data/json/doll_speech.json
+++ /dev/null
@@ -1,194 +0,0 @@
-[
- {
- "type": "speech",
- "speaker": "talking_doll",
- "sound": "Wanna play with me?",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "talking_doll",
- "sound": "Sing with me!",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "talking_doll",
- "sound": "I love you!",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "talking_doll",
- "sound": "Please take me with you!",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "talking_doll",
- "sound": "May I have a cookie?",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "talking_doll",
- "sound": "Let's play together!",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "talking_doll",
- "sound": "Time to play!",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "talking_doll",
- "sound": "Om nom nom! Delicious!",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "talking_doll",
- "sound": "Are you my mommy?",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "talking_doll",
- "sound": "Oh, how fun!",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "talking_doll",
- "sound": "You're my best friend!",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "talking_doll",
- "sound": "Heehee!",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "talking_doll",
- "sound": "Let's have fun!",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "talking_doll",
- "sound": "Let's have a tea party!",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "talking_doll",
- "sound": "You're the best!",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "creepy_doll",
- "sound": "You shouldn't have done that.",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "creepy_doll",
- "sound": "Let's play... Russian roulette.",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "creepy_doll",
- "sound": "I hate you.",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "creepy_doll",
- "sound": "Go kill yourself!",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "creepy_doll",
- "sound": "Big Brother is watching you...",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "creepy_doll",
- "sound": "Die for me!",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "creepy_doll",
- "sound": "Why won't you die?",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "creepy_doll",
- "sound": "Blood... Delicious.",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "creepy_doll",
- "sound": "See you... IN HELL!",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "creepy_doll",
- "sound": "AAAIEEEEEEE!",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "creepy_doll",
- "sound": "FUCK YOU!",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "creepy_doll",
- "sound": "What did you do with my Mommy?",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "creepy_doll",
- "sound": "Stay with me... forever!",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "creepy_doll",
- "sound": "Hey kids. Want some candy?",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "creepy_doll",
- "sound": "Down here, they ALL float!",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "creepy_doll",
- "sound": "Do you really need that much honey?",
- "volume": 10
- },
- {
- "type": "speech",
- "speaker": "creepy_doll",
- "sound": "My previous owner squealed like a pig when I gutted her!",
- "volume": 10
- }
-]
diff --git a/data/json/effects.json b/data/json/effects.json
index c6ad9f986d391..d51e1105990a1 100644
--- a/data/json/effects.json
+++ b/data/json/effects.json
@@ -1229,7 +1229,7 @@
],
"max_intensity": 4,
"apply_message": "You feel lightheaded.",
- "int_dur_factor": 1000,
+ "int_dur_factor": 6000,
"miss_messages": [ [ "You feel woozy.", 1 ] ],
"base_mods": { "vomit_chance": [ -43 ], "sleep_chance": [ -1003 ], "sleep_min": [ 2500 ], "sleep_max": [ 3500 ] },
"scaling_mods": { "per_mod": [ -0.5 ], "dex_mod": [ -0.5 ], "int_mod": [ -0.75 ], "vomit_chance": [ 21 ], "sleep_chance": [ 501 ] }
diff --git a/data/json/emit.json b/data/json/emit.json
index 42db5caf96584..37ca4db7efdb1 100644
--- a/data/json/emit.json
+++ b/data/json/emit.json
@@ -4,7 +4,7 @@
"type": "emit",
"//": "Intermittent cigarette smoke (example: lit cigarette)",
"field": "fd_cigsmoke",
- "density": 2,
+ "intensity": 2,
"chance": 50
},
{
diff --git a/data/json/flags.json b/data/json/flags.json
index a0ee54123c657..b683c1546dbd2 100644
--- a/data/json/flags.json
+++ b/data/json/flags.json
@@ -559,5 +559,59 @@
"type": "json_flag",
"context": [ "SPELL" ],
"description": "This makes the spell's Area of Effect ignore walls."
+ },
+ {
+ "id": "HOSTILE_SUMMON",
+ "type": "json_flag",
+ "context": [ "SPELL" ],
+ "description": "This makes the spell's summoned monster always hostile. Note that the spell needs to be a summon spell for this to do anything."
+ },
+ {
+ "id": "HOSTILE_50",
+ "type": "json_flag",
+ "context": [ "SPELL" ],
+ "description": "This makes the spell's summoned monster hostile 50% of the time. Note that the spell needs to be a summon spell for this to do anything."
+ },
+ {
+ "id": "SILENT",
+ "type": "json_flag",
+ "context": [ "SPELL" ],
+ "description": "The spell makes no sound at its point of impact."
+ },
+ {
+ "id": "LOUD",
+ "type": "json_flag",
+ "context": [ "SPELL" ],
+ "description": "This spell is much louder at its point of impact."
+ },
+ {
+ "id": "VERBAL",
+ "type": "json_flag",
+ "context": [ "SPELL" ],
+ "description": "The caster must speak in order to cast the spell. More mouth encumbrannce increases failure percent, and the caster speaks when casting."
+ },
+ {
+ "id": "SOMATIC",
+ "type": "json_flag",
+ "context": [ "SPELL" ],
+ "description": "The spell requires arm movement to cast. Arm encumbrance affects failure percentage and casting time."
+ },
+ {
+ "id": "NO_HANDS",
+ "type": "json_flag",
+ "context": [ "SPELL" ],
+ "description": "The spell does not require hands in order to cast it. Encumbrance penalties on hands are nullified."
+ },
+ {
+ "id": "NO_LEGS",
+ "type": "json_flag",
+ "context": [ "SPELL" ],
+ "description": "This spell does not require leg movement in order to be cast. All encumbrance penalties for legs are nullified."
+ },
+ {
+ "id": "CONCENTRATE",
+ "type": "json_flag",
+ "context": [ "SPELL" ],
+ "description": "This spell requires focus to cast. The lower your focus, the higher failure rate to cast."
}
]
diff --git a/data/json/furniture.json b/data/json/furniture.json
index d5402bc29f826..f327e44ff00ea 100644
--- a/data/json/furniture.json
+++ b/data/json/furniture.json
@@ -537,7 +537,7 @@
"id": "f_leaves_pile",
"name": "pile of leaves",
"symbol": "#",
- "description": "A sizeable pile of leaves. You could sleep on it if you don't care about comfort or warmth.",
+ "description": "A sizable pile of leaves. You could sleep on it if you don't care about comfort or warmth.",
"color": "brown",
"move_cost_mod": 3,
"coverage": 35,
@@ -692,7 +692,7 @@
"id": "f_bathtub",
"name": "bathtub",
"symbol": "~",
- "description": "You could lay in and take a soothing bath, if there were running water. The plug is intact, so you could use it to store liquids.",
+ "description": "You could lay in and take a soothing bath, if there were running water. The plug is intact, so you could use it to store liquids.",
"color": "white",
"move_cost_mod": 2,
"coverage": 30,
@@ -1144,7 +1144,14 @@
"required_str": -1,
"max_volume": 4000,
"flags": [ "TRANSPARENT", "FLAMMABLE", "ORGANIC", "MOUNTABLE", "SHORT", "FLAT_SURF" ],
- "deconstruct": { "items": [ { "item": "2x4", "count": 4 }, { "item": "rag", "count": 4 }, { "item": "nail", "charges": [ 6, 10 ] } ] },
+ "deconstruct": {
+ "items": [
+ { "item": "2x4", "count": 4 },
+ { "item": "rag", "count": 4 },
+ { "item": "wood_panel", "count": 1 },
+ { "item": "nail", "charges": [ 6, 10 ] }
+ ]
+ },
"bash": {
"str_min": 12,
"str_max": 50,
@@ -1169,7 +1176,9 @@
"coverage": 60,
"required_str": 10,
"flags": [ "TRANSPARENT", "FLAMMABLE", "ORGANIC", "MOUNTABLE", "SHORT", "FLAT_SURF" ],
- "deconstruct": { "items": [ { "item": "2x4", "count": 6 }, { "item": "nail", "charges": [ 6, 8 ] } ] },
+ "deconstruct": {
+ "items": [ { "item": "2x4", "count": 4 }, { "item": "wood_panel", "count": 1 }, { "item": "nail", "charges": [ 6, 10 ] } ]
+ },
"max_volume": 4000,
"bash": {
"str_min": 12,
@@ -1185,7 +1194,7 @@
"type": "furniture",
"id": "f_counter_gate_c",
"name": "closed counter gate",
- "description": "A commercial quality swining door made of wood that allows passage behind counters.",
+ "description": "A commercial quality swinging door made of wood that allows passage behind counters.",
"symbol": "+",
"color": "blue",
"move_cost": 3,
@@ -1195,7 +1204,7 @@
"flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "DOOR", "ORGANIC" ],
"connects_to": "COUNTER",
"open": "f_counter_gate_o",
- "deconstruct": { "ter_set": "t_floor", "items": [ { "item": "2x4", "count": 6 }, { "item": "nail", "charges": 10 } ] },
+ "deconstruct": { "items": [ { "item": "2x4", "count": 4 }, { "item": "wood_panel", "count": 1 }, { "item": "nail", "charges": 10 } ] },
"bash": {
"str_min": 12,
"str_max": 40,
@@ -1217,7 +1226,7 @@
"connects_to": "COUNTER",
"flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "FLAT", "ROAD", "ORGANIC" ],
"close": "f_counter_gate_c",
- "deconstruct": { "ter_set": "t_floor", "items": [ { "item": "2x4", "count": 6 }, { "item": "nail", "charges": 10 } ] },
+ "deconstruct": { "items": [ { "item": "2x4", "count": 4 }, { "item": "wood_panel", "count": 1 }, { "item": "nail", "charges": 10 } ] },
"bash": {
"str_min": 12,
"str_max": 40,
@@ -1329,7 +1338,9 @@
"coverage": 70,
"required_str": 8,
"flags": [ "TRANSPARENT", "CONTAINER", "FLAMMABLE", "PLACE_ITEM", "ORGANIC", "BLOCKSDOOR", "MOUNTABLE" ],
- "deconstruct": { "items": [ { "item": "2x4", "count": 6 }, { "item": "nail", "charges": [ 6, 8 ] } ] },
+ "deconstruct": {
+ "items": [ { "item": "2x4", "count": 6 }, { "item": "wood_panel", "count": [ 0, 1 ] }, { "item": "nail", "charges": [ 6, 8 ] } ]
+ },
"max_volume": 8000,
"bash": {
"str_min": 12,
@@ -1415,7 +1426,13 @@
"coverage": 80,
"required_str": 9,
"flags": [ "FLAMMABLE", "PLACE_ITEM", "ORGANIC", "BLOCKSDOOR" ],
- "deconstruct": { "items": [ { "item": "2x4", "count": 12 }, { "item": "nail", "charges": [ 12, 16 ] } ] },
+ "deconstruct": {
+ "items": [
+ { "item": "2x4", "count": 12 },
+ { "item": "wood_panel", "count": [ 0, 1 ] },
+ { "item": "nail", "charges": [ 12, 16 ] }
+ ]
+ },
"max_volume": 8000,
"bash": {
"str_min": 6,
@@ -1658,7 +1675,12 @@
"FLAT_SURF"
],
"deconstruct": {
- "items": [ { "item": "2x4", "count": 12 }, { "item": "nail", "charges": [ 12, 24 ] }, { "item": "rag", "count": [ 15, 20 ] } ]
+ "items": [
+ { "item": "2x4", "count": 12 },
+ { "item": "nail", "charges": [ 12, 24 ] },
+ { "item": "wood_panel", "count": [ 0, 1 ] },
+ { "item": "rag", "count": [ 15, 20 ] }
+ ]
},
"max_volume": 3500,
"bash": {
@@ -1686,7 +1708,12 @@
"required_str": 12,
"flags": [ "TRANSPARENT", "CONTAINER", "FLAMMABLE", "PLACE_ITEM", "ORGANIC", "MOUNTABLE", "SHORT" ],
"deconstruct": {
- "items": [ { "item": "2x4", "count": 12 }, { "item": "nail", "charges": [ 12, 24 ] }, { "item": "rag", "count": [ 15, 20 ] } ]
+ "items": [
+ { "item": "2x4", "count": 12 },
+ { "item": "nail", "charges": [ 12, 24 ] },
+ { "item": "wood_panel", "count": [ 0, 1 ] },
+ { "item": "rag", "count": [ 15, 20 ] }
+ ]
},
"max_volume": 3500,
"bash": {
@@ -1724,7 +1751,9 @@
"SHORT"
],
"examine_action": "locked_object",
- "deconstruct": { "items": [ { "item": "2x4", "count": 4 }, { "item": "nail", "charges": [ 6, 10 ] } ] },
+ "deconstruct": {
+ "items": [ { "item": "2x4", "count": 4 }, { "item": "wood_panel", "count": [ 1, 2 ] }, { "item": "nail", "charges": [ 6, 10 ] } ]
+ },
"max_volume": 4000,
"bash": {
"str_min": 12,
@@ -1745,7 +1774,9 @@
"coverage": 60,
"required_str": 10,
"flags": [ "TRANSPARENT", "CONTAINER", "FLAMMABLE", "PLACE_ITEM", "ORGANIC", "MOUNTABLE", "SHORT" ],
- "deconstruct": { "items": [ { "item": "2x4", "count": 4 }, { "item": "nail", "charges": [ 6, 10 ] } ] },
+ "deconstruct": {
+ "items": [ { "item": "2x4", "count": 4 }, { "item": "wood_panel", "count": [ 0, 1 ] }, { "item": "nail", "charges": [ 6, 10 ] } ]
+ },
"max_volume": 4000,
"bash": {
"str_min": 12,
@@ -2064,7 +2095,7 @@
"type": "furniture",
"id": "f_flower_fungal",
"name": "fungal flower",
- "description": "This flower has been overgrown by grey, sinewy tendrils of fungus, and the color has leached from its petals and stem. It gently sways of its own volition.",
+ "description": "This flower has been overgrown by gray, sinewy tendrils of fungus, and the color has leached from its petals and stem. It gently sways of its own volition.",
"symbol": "f",
"color": "dark_gray",
"move_cost_mod": 1,
@@ -2307,7 +2338,7 @@
"type": "furniture",
"id": "f_planter",
"name": "planter",
- "description": "A garden planter full of soil and slatted to allow adequate drainage. Can be used for planting crops.",
+ "description": "A garden planter full of soil and slatted to allow adequate drainage. Can be used for planting crops.",
"symbol": "^",
"color": "green",
"move_cost_mod": 1,
@@ -2341,7 +2372,7 @@
"type": "furniture",
"id": "f_planter_seed",
"name": "planter with seed",
- "description": "A garden planter full of soil and slatted to allow adequate drainage. Can be used for planting crops. This one contains a planted seed",
+ "description": "A garden planter full of soil and slatted to allow adequate drainage. Can be used for planting crops. This one contains a planted seed",
"symbol": "^",
"color": "brown",
"looks_like": "f_plant_seed",
@@ -2375,7 +2406,7 @@
"type": "furniture",
"id": "f_planter_seedling",
"name": "planter with seedling",
- "description": "A garden planter full of soil and slatted to allow adequate drainage. Can be used for planting crops. This one contains a planted seedling",
+ "description": "A garden planter full of soil and slatted to allow adequate drainage. Can be used for planting crops. This one contains a planted seedling",
"symbol": "^",
"color": "green",
"looks_like": "f_plant_seedling",
@@ -2409,7 +2440,7 @@
"type": "furniture",
"id": "f_planter_mature",
"name": "planter with mature plant",
- "description": "A garden planter full of soil and slatted to allow adequate drainage. Can be used for planting crops. This one contains a planted seed",
+ "description": "A garden planter full of soil and slatted to allow adequate drainage. Can be used for planting crops. This one contains a planted seed",
"symbol": "#",
"color": "green",
"looks_like": "f_plant_mature",
@@ -2443,7 +2474,7 @@
"type": "furniture",
"id": "f_planter_harvest",
"name": "planter with harvestable plant",
- "description": "A garden planter full of soil and slatted to allow adequate drainage. Can be used for planting crops. This one contains a planted seed",
+ "description": "A garden planter full of soil and slatted to allow adequate drainage. Can be used for planting crops. This one contains a planted seed",
"symbol": "#",
"color": "light_green",
"looks_like": "f_plant_harvest",
@@ -2694,8 +2725,8 @@
{
"type": "furniture",
"id": "f_small_satelitte_dish",
- "name": "satelitte dish",
- "description": "A small satelitte dish for home entertainment.",
+ "name": "satellite dish",
+ "description": "A small satellite dish for home entertainment.",
"symbol": "(",
"color": "light_gray",
"move_cost_mod": -2,
@@ -3453,7 +3484,9 @@
},
{
"type": "furniture",
- "id": "f_floor_canvas",
+ "id": "f_punching_bag",
+ "aliases": "f_floor_canvas",
+ "looks_like": "f_floor_canvas",
"name": "heavy punching bag",
"description": "Punch Punch! Exercise those arms! Main selling point: it doesn't fight back!",
"symbol": "0",
@@ -4177,7 +4210,7 @@
"name": "camp chair",
"symbol": "#",
"looks_like": "f_chair",
- "description": "Sit down, have a drink. It can folded for easy transportation.",
+ "description": "Sit down, have a drink. It can folded for easy transportation.",
"color": "brown",
"move_cost_mod": 1,
"coverage": 35,
@@ -5577,7 +5610,7 @@
"type": "furniture",
"id": "f_sample_freezer",
"name": "sample freezer",
- "description": "When cold just isn't cold enough, you have this extreme deep freeze. This will store stuff at -80 degrees celsius. Don't lick the metal on the inside.",
+ "description": "When cold just isn't cold enough, you have this extreme deep freeze. This will store stuff at -80 degrees Celsius. Don't lick the metal on the inside.",
"symbol": "[",
"bgcolor": "white",
"move_cost_mod": 2,
@@ -6527,6 +6560,18 @@
"examine_action": "workbench",
"workbench": { "multiplier": 1.2, "mass": 500000, "volume": "200L" }
},
+ {
+ "id": "f_hanging_meathook",
+ "type": "furniture",
+ "name": "hanging meathook",
+ "description": "A hefty hook suspended from a chain for stringing up corpses.",
+ "symbol": "g",
+ "required_str": -1,
+ "move_cost_mod": 2,
+ "color": "light_gray",
+ "deconstruct": { "items": [ { "item": "grip_hook", "count": 1 }, { "item": "chain", "count": 1 } ] },
+ "flags": [ "TRANSPARENT", "BUTCHER_EQ" ]
+ },
{
"type": "furniture",
"id": "f_fake_bench_hands",
@@ -6598,5 +6643,56 @@
"items": [ { "item": "steel_chunk", "count": [ 5, 10 ] } ]
},
"flags": [ "TRANSPARENT", "MOUNTABLE", "SHORT" ]
+ },
+ {
+ "type": "furniture",
+ "id": "f_speaker_cabinet",
+ "name": "speaker cabinet",
+ "description": "A cabinet loaded with 12-inch speakers, intended to help make various things loud. It can't serve its original purpose these days, but it could be disassembled for various electronic parts.",
+ "symbol": "7",
+ "color": "blue",
+ "move_cost_mod": -1,
+ "coverage": 50,
+ "max_volume": 15,
+ "required_str": 7,
+ "flags": [ "TRANSPARENT", "FLAMMABLE", "PLACE_ITEM" ],
+ "deconstruct": {
+ "items": [
+ { "item": "scrap", "count": [ 4, 6 ] },
+ { "item": "e_scrap", "count": [ 1, 2 ] },
+ { "item": "plastic_chunk", "count": [ 0, 2 ] },
+ { "item": "wood_panel", "count": 1 },
+ { "item": "2x4", "count": 4 },
+ { "item": "nail", "charges": [ 8, 10 ] },
+ { "item": "cable", "charges": [ 3, 4 ] }
+ ]
+ },
+ "bash": {
+ "str_min": 8,
+ "str_max": 20,
+ "sound": "smash!",
+ "sound_fail": "whump!",
+ "items": [
+ { "item": "splinter", "count": [ 0, 6 ] },
+ { "item": "scrap", "count": [ 0, 3 ] },
+ { "item": "2x4", "count": [ 1, 2 ] },
+ { "item": "nail", "charges": [ 2, 6 ] },
+ { "item": "cable", "charges": [ 1, 3 ] },
+ { "item": "e_scrap", "prob": 25 },
+ { "item": "plastic_chunk", "count": [ 0, 1 ] }
+ ]
+ }
+ },
+ {
+ "type": "furniture",
+ "id": "f_no_item",
+ "//": "This is used in a hack to clear furniture with the keg iexamine of all items execept the stored liquid before usage.",
+ "name": "seeing this is a bug",
+ "description": "Seeing this is a bug. If seen, please report and destroy.",
+ "symbol": "#",
+ "color": "black",
+ "move_cost_mod": 2,
+ "required_str": -1,
+ "flags": [ "NOITEM" ]
}
]
diff --git a/data/json/item_actions.json b/data/json/item_actions.json
index 5f54c2c42de55..4c1e1dd8bf140 100644
--- a/data/json/item_actions.json
+++ b/data/json/item_actions.json
@@ -514,6 +514,11 @@
"id": "FLU_VACCINE",
"name": "Inject"
},
+ {
+ "type": "item_action",
+ "id": "FOODPERSON",
+ "name": "Activate"
+ },
{
"type": "item_action",
"id": "FUNGICIDE",
diff --git a/data/json/item_groups.json b/data/json/item_groups.json
index 82bc878131fdb..3aea44ea419e8 100644
--- a/data/json/item_groups.json
+++ b/data/json/item_groups.json
@@ -180,6 +180,7 @@
[ "55gal_drum", 1 ],
[ "flyer", 10 ],
[ "one_year_old_newspaper", 2 ],
+ [ "foodperson_mask", 1 ],
[ "months_old_newspaper", 3 ],
[ "weeks_old_newspaper", 4 ],
[ "newest_newspaper", 5 ],
@@ -203,6 +204,7 @@
[ "colamdew", 35 ],
[ "television", 30 ],
[ "clock", 10 ],
+ [ "fp_loyalty_card", 5 ],
[ "cola", 70 ],
[ "choc_drink", 10 ],
{ "item": "cola", "prob": 20, "container-item": "bottle_plastic" },
@@ -523,6 +525,7 @@
[ "can_tomato", 40 ],
[ "cooked_pumpkin", 20 ],
[ "con_milk", 20 ],
+ [ "milk_evap", 20 ],
[ "can_corn", 35 ],
[ "can_spam", 30 ],
[ "can_pineapple", 30 ],
@@ -579,6 +582,7 @@
[ "jar_sauerkraut_pickled", 5 ],
{ "item": "meat_pickled", "prob": 4, "charges": 2, "container-item": "jar_glass_sealed" },
{ "item": "fish_pickled", "prob": 6, "charges": 2, "container-item": "jar_glass_sealed" },
+ [ "ghee", 5 ],
[ "lutefisk", 1 ],
[ "tongs", 25 ],
[ "char_smoker", 25 ],
@@ -651,8 +655,12 @@
{ "item": "colamdew", "prob": 15, "container-item": "bottle_twoliter" },
{ "item": "rootbeer", "prob": 15, "container-item": "bottle_twoliter" },
[ "milk", 50 ],
+ [ "milk_UHT", 5 ],
+ [ "milk_raw", 2 ],
[ "almond_milk", 50 ],
[ "soy_milk", 50 ],
+ { "item": "butter", "prob": 45, "charges-min": 1, "charges-max": 32, "container-item": "wrapper" },
+ { "item": "ghee", "prob": 5, "charges-min": 1, "charges-max": 32, "container-item": "jar_glass" },
{ "item": "egg_bird", "prob": 65, "count-min": 1, "count-max": 12 },
[ "yoghurt", 50 ],
[ "pudding", 60 ],
@@ -695,7 +703,7 @@
[ "carrot", 3 ],
[ "irradiated_carrot", 1 ],
[ "frozen_dinner", 50 ],
- [ "frozen_burrito", 50 ],
+ [ "junk_burrito", 50 ],
[ "chili", 10 ],
[ "syrup", 10 ],
[ "coffee_syrup", 10 ],
@@ -889,6 +897,7 @@
[ "harmonica_holder", 10 ],
[ "banjo", 5 ],
[ "ukulele", 15 ],
+ [ "guitar_electric", 20 ],
[ "gobag", 5 ],
{ "group": "ammo_pocket_batteries_full", "prob": 50 },
[ "bb", 8 ],
@@ -1149,6 +1158,7 @@
[ "kimono", 2 ],
[ "yukata", 6 ],
[ "haori", 2 ],
+ [ "foodperson_mask", 1 ],
[ "hakama", 4 ],
[ "eclipse_glasses", 1 ],
[ "thermos", 20 ]
@@ -1330,7 +1340,7 @@
[ "sandwich_pbh", 30 ],
[ "sandwich_pbm", 30 ],
[ "frozen_dinner", 50 ],
- [ "frozen_burrito", 60 ],
+ [ "junk_burrito", 60 ],
[ "dried_salad", 6 ],
[ "pizza_veggy", 8 ],
[ "pizza_cheese", 8 ],
@@ -1715,6 +1725,7 @@
[ "offal_canned", 1 ],
[ "can_coconut", 1 ],
[ "con_milk", 1 ],
+ [ "milk_evap", 1 ],
[ "sauce_red", 1 ],
[ "can_peach", 1 ],
[ "apple_canned", 1 ],
@@ -2543,6 +2554,8 @@
{
"type": "item_group",
"id": "trash",
+ "ammo": 20,
+ "magazine": 50,
"items": [
[ "plastic_shopping_bag", 35 ],
[ "iodine", 5 ],
@@ -2551,6 +2564,7 @@
[ "meth", 2 ],
[ "heroin", 1 ],
[ "wrapper", 50 ],
+ [ "fp_loyalty_card", 5 ],
[ "string_6", 2 ],
[ "chain", 20 ],
[ "glass_sheet", 5 ],
@@ -2600,6 +2614,7 @@
[ "straw_doll", 1 ],
[ "striped_shirt", 1 ],
[ "striped_pants", 1 ],
+ [ "foodperson_mask", 1 ],
[ "razor_blade", 10 ],
[ "survnote", 5 ],
[ "eclipse_glasses", 1 ],
@@ -3537,6 +3552,8 @@
{
"type": "item_group",
"id": "office",
+ "ammo": 75,
+ "magazine": 100,
"items": [
[ "cola", 70 ],
[ "creamsoda", 60 ],
@@ -3558,7 +3575,7 @@
[ "recipe_augs", 8 ],
[ "choc_drink", 20 ],
[ "aspirin", 85 ],
- [ "frozen_burrito", 25 ],
+ [ "junk_burrito", 25 ],
[ "cigar", 5 ],
[ "ecig", 10 ],
[ "advanced_ecig", 8 ],
@@ -4021,6 +4038,7 @@
[ "rapier", 3 ],
[ "cavalry_sabre", 3 ],
[ "estoc", 3 ],
+ [ "estoc_inferior", 3 ],
[ "cutlass", 3 ],
[ "cutlass_inferior", 3 ],
[ "scimitar", 20 ],
@@ -4117,6 +4135,7 @@
[ "can_sealer", 5 ],
[ "knuckle_brass", 15 ],
[ "platinum_small", 10 ],
+ [ "foodperson_mask", 10 ],
[ "gold_small", 10 ],
[ "silver_small", 20 ],
[ "cane", 10 ],
@@ -4412,6 +4431,7 @@
[ "rapier", 1 ],
[ "cavalry_sabre", 1 ],
[ "estoc", 1 ],
+ [ "estoc_inferior", 3 ],
[ "wakizashi", 1 ],
[ "jian_inferior", 30 ],
[ "scimitar_inferior", 25 ],
@@ -4593,6 +4613,8 @@
[ "can_tomato", 40 ],
[ "cooked_pumpkin", 20 ],
[ "con_milk", 20 ],
+ [ "milk_evap", 15 ],
+ [ "milk_UHT", 10 ],
[ "can_spam", 30 ],
[ "can_tuna", 35 ],
[ "can_salmon", 25 ],
@@ -5732,6 +5754,8 @@
[ "1st_aid", 35 ],
[ "saline", 15 ],
[ "con_milk", 5 ],
+ [ "milk_UHT", 35 ],
+ [ "cereal", 35 ],
[ "codeine", 15 ],
[ "antibiotics", 25 ],
[ "water_clean", 90 ],
@@ -5783,6 +5807,8 @@
[ "1st_aid", 35 ],
[ "saline", 10 ],
[ "con_milk", 10 ],
+ [ "milk_UHT", 25 ],
+ [ "cereal", 20 ],
[ "sports_drink", 40 ],
[ "water_clean", 90 ]
]
@@ -6381,6 +6407,7 @@
[ "file", 10 ],
[ "child_book", 2 ],
[ "lsd", 1 ],
+ [ "foodperson_mask", 1 ],
[ "55gal_drum", 10 ],
[ "30gal_drum", 15 ],
[ "toolbox", 1 ],
@@ -7074,6 +7101,8 @@
{
"type": "item_group",
"id": "science",
+ "ammo": 50,
+ "magazine": 100,
"items": [
{ "group": "tools_science", "prob": 50 },
[ "ether", 5 ],
@@ -7221,7 +7250,8 @@
[ "vinegar", 10 ],
{ "item": "veggy_pickled", "prob": 30, "charges": 2, "container-item": "jar_glass_sealed" },
[ "jar_sauerkraut_pickled", 20 ],
- [ "con_milk", 20 ],
+ [ "con_milk", 10 ],
+ [ "milk_evap", 10 ],
{ "item": "fish_pickled", "prob": 26, "charges": 2, "container-item": "jar_glass_sealed" },
[ "lutefisk", 1 ],
[ "pemmican", 10 ],
@@ -7816,7 +7846,8 @@
[ "football_armor", 18 ],
[ "jacket_leather", 12 ],
[ "jacket_jean", 8 ],
- [ "jacket_flannel", 6 ]
+ [ "jacket_flannel", 6 ],
+ [ "cuirass_scrap", 12 ]
]
},
{
@@ -7830,6 +7861,7 @@
[ "winter_pants_army", 10 ],
[ "bunker_pants", 14 ],
[ "pants_leather", 18 ],
+ [ "legguard_scrap", 12 ],
[ "skirt", 6 ],
[ "kilt", 1 ]
]
@@ -7854,6 +7886,7 @@
[ "vambrace_larmor", 6 ],
[ "armguard_chitin", 1 ],
[ "armguard_bone", 6 ],
+ [ "armguard_scrap", 12 ],
[ "gloves_fur", 4 ],
[ "gloves_leather", 22 ],
[ "gloves_work", 22 ],
@@ -7872,6 +7905,7 @@
[ "boots_fsurvivor", 2 ],
[ "boots_h20survivor", 1 ],
[ "boots", 20 ],
+ [ "boots_scrap", 12 ],
[ "boots_steel", 28 ],
[ "boots_hiking", 24 ],
[ "knee_high_boots", 8 ],
@@ -7907,6 +7941,7 @@
[ "firehelmet", 2 ],
[ "helmet_barbute", 1 ],
[ "helmet_plate", 1 ],
+ [ "helmet_scrap", 12 ],
[ "bondage_mask", 1 ],
[ "survivor_goggles", 10 ],
[ "hood_rain", 14 ]
@@ -8035,6 +8070,7 @@
[ "acorns", 2 ],
[ "pinecone", 3 ],
[ "flyer", 1 ],
+ [ "fp_loyalty_card", 1 ],
[ "one_year_old_newspaper", 1 ],
[ "months_old_newspaper", 2 ],
[ "weeks_old_newspaper", 3 ],
@@ -8061,6 +8097,7 @@
[ "string_6", 1 ],
[ "cig_butt", 4 ],
[ "string_36", 1 ],
+ [ "foodperson_mask", 1 ],
[ "steel_lump", 1 ],
[ "steel_chunk", 1 ],
{ "item": "scrap", "prob": 2, "count-min": 1, "count-max": 10 },
@@ -8081,6 +8118,8 @@
{
"type": "item_group",
"id": "arcade_prizes",
+ "ammo": 75,
+ "magazine": 100,
"items": [
[ "bbgun", 30 ],
[ "bb", 30 ],
@@ -8228,6 +8267,8 @@
{
"type": "item_group",
"id": "antique",
+ "ammo": 75,
+ "magazine": 100,
"items": [
[ "oxylamp", 50 ],
[ "cow_bell", 15 ],
@@ -8320,7 +8361,12 @@
[ "pistol_flintlock", 4 ],
[ "carbine_flintlock", 4 ],
[ "rifle_flintlock", 4 ],
- [ "petrified_eye", 2 ]
+ [ "petrified_eye", 2 ],
+ [ "ji", 1 ],
+ [ "dao", 3 ],
+ [ "sword_xiphos", 4 ],
+ [ "khopesh", 4 ],
+ [ "spear_dory", 3 ]
]
},
{
@@ -8439,7 +8485,10 @@
[ "armguard_larmor", 40 ],
[ "vambrace_larmor", 20 ],
[ "gambeson", 50 ],
- [ "legguard_metal", 10 ]
+ [ "legguard_metal", 10 ],
+ [ "helmet_corinthian", 45 ],
+ [ "armor_cuirass", 25 ],
+ [ "legguard_bronze", 20 ]
]
},
{
@@ -8473,6 +8522,7 @@
[ "cavalry_sabre", 4 ],
[ "cavalry_sabre_fake", 8 ],
[ "estoc", 3 ],
+ [ "estoc_inferior", 4 ],
[ "estoc_fake", 5 ],
[ "kris", 3 ],
[ "kris_fake", 8 ],
@@ -8503,7 +8553,12 @@
[ "warhammer", 2 ],
[ "scythe_war", 2 ],
[ "pike", 2 ],
- [ "spear_steel", 2 ]
+ [ "spear_steel", 2 ],
+ [ "ji", 2 ],
+ [ "dao", 3 ],
+ [ "sword_xiphos", 4 ],
+ [ "khopesh", 4 ],
+ [ "spear_dory", 3 ]
]
},
{
@@ -8925,6 +8980,7 @@
[ "water_mineral", 15 ],
[ "cola", 30 ],
[ "choc_drink", 30 ],
+ [ "milk_UHT", 10 ],
[ "rootbeer", 33 ],
[ "creamsoda", 28 ],
[ "juice", 31 ],
@@ -9684,6 +9740,8 @@
{
"type": "item_group",
"id": "roof_trash",
+ "ammo": 20,
+ "magazine": 50,
"items": [
[ "plastic_shopping_bag", 15 ],
[ "bum_wine", 15 ],
@@ -9695,6 +9753,7 @@
[ "ceramic_shard", 15 ],
[ "stick", 95 ],
[ "joint_roach", 5 ],
+ [ "fp_loyalty_card", 1 ],
[ "pipe", 20 ],
[ "bag_plastic", 10 ],
[ "bottle_plastic", 10 ],
@@ -9772,6 +9831,7 @@
[ "arm", 5 ],
[ "leg", 5 ],
[ "fetus", 5 ],
+ [ "foodperson_mask", 1 ],
[ "human_brain_embalmed", 5 ],
[ "many_years_old_newspaper", 2 ],
[ "years_old_newspaper", 2 ],
diff --git a/data/json/itemgroups/ammo.json b/data/json/itemgroups/ammo.json
index d36cad5b4812d..d738a3e53660f 100644
--- a/data/json/itemgroups/ammo.json
+++ b/data/json/itemgroups/ammo.json
@@ -26,8 +26,10 @@
"id": "ammo_pistol_rare",
"//": "Less common pistol ammo including that only used by police/paramilitary forces.",
"items": [
- [ "10mm", 15 ],
+ [ "10mm_fmj", 15 ],
+ [ "45colt_jhp", 10 ],
[ "38_super", 20 ],
+ [ "38super_fmj", 20 ],
[ "44fmj", 15 ],
[ "44magnum", 35 ],
[ "45_super", 30 ],
@@ -65,11 +67,11 @@
"id": "ammo_pistol_reloaded",
"//": "Reloaded pistol ammo balanced according to rarity.",
"items": [
- [ "reloaded_10mm", 10 ],
+ [ "reloaded_10mm_fmj", 10 ],
[ "reloaded_32_acp", 50 ],
[ "reloaded_38_fmj", 30 ],
[ "reloaded_38_special", 80 ],
- [ "reloaded_38_super", 40 ],
+ [ "reloaded_38super_fmj", 40 ],
[ "reloaded_357mag_fmj", 30 ],
[ "reloaded_357mag_jhp", 30 ],
[ "reloaded_380_JHP", 10 ],
@@ -86,6 +88,7 @@
[ "reloaded_45_super", 40 ],
[ "reloaded_46mm", 20 ],
[ "reloaded_454_Casull", 5 ],
+ [ "reloaded_45colt_jhp", 10 ],
[ "reloaded_460_fmj", 5 ],
[ "reloaded_460_rowland", 5 ],
[ "reloaded_500_Magnum", 5 ],
@@ -140,7 +143,7 @@
[ "22_fmj", 50 ],
[ "22_lr", 100 ],
[ "22_ratshot", 30 ],
- [ "270", 25 ],
+ [ "270win_jsp", 25 ],
[ "3006", 25 ],
[ "308", 25 ],
[ "762_54R", 10 ],
@@ -199,7 +202,7 @@
[ "reloaded_223", 60 ],
[ "reloaded_22_fmj", 20 ],
[ "reloaded_22_lr", 70 ],
- [ "reloaded_270", 15 ],
+ [ "reloaded_270win_jsp", 15 ],
[ "reloaded_300_winmag", 15 ],
[ "reloaded_3006", 70 ],
[ "reloaded_3006fmj", 10 ],
@@ -221,7 +224,7 @@
"type": "item_group",
"id": "ammo_shotgun_common",
"//": "Shotgun ammo commonly owned by citizens and found in many locations.",
- "items": [ [ "shot_00", 100 ], [ "shot_bird", 70 ] ]
+ "items": [ [ "shot_00", 100 ], [ "shot_bird", 70 ], [ "shot_slug", 70 ], [ "410shot_000", 50 ] ]
},
{
"type": "item_group",
@@ -232,7 +235,7 @@
[ "20x66_flare", 10 ],
[ "20x66_shot", 40 ],
[ "20x66_slug", 20 ],
- [ "shot_slug", 100 ],
+ [ "shot_dragon", 10 ],
[ "shot_beanbag", 20 ]
]
},
@@ -255,6 +258,7 @@
"items": [
[ "reloaded_shot_00", 200 ],
[ "reloaded_shot_bird", 30 ],
+ [ "reloaded_shot_dragon", 20 ],
[ "reloaded_shot_flechette", 5 ],
[ "reloaded_shot_slug", 30 ],
[ "shot_scrap", 80 ]
diff --git a/data/json/itemgroups/books.json b/data/json/itemgroups/books.json
index 03894b512a32f..d86af7ade4118 100644
--- a/data/json/itemgroups/books.json
+++ b/data/json/itemgroups/books.json
@@ -53,7 +53,8 @@
[ "manual_pankration", 5 ],
[ "manual_silat", 100 ],
[ "manual_taekwondo", 100 ],
- [ "manual_wingchun", 100 ]
+ [ "manual_wingchun", 100 ],
+ [ "manual_swordsmanship", 10 ]
]
},
{
@@ -571,6 +572,7 @@
[ "manual_sojutsu", 1 ],
[ "manual_capoeira", 1 ],
[ "manual_wingchun", 3 ],
+ [ "manual_swordsmanship", 3 ],
{ "group": "rare_martial_arts_books", "prob": 6 }
]
},
diff --git a/data/json/itemgroups/clothing.json b/data/json/itemgroups/clothing.json
index 39403a5378fe1..6a40e8cb2d817 100644
--- a/data/json/itemgroups/clothing.json
+++ b/data/json/itemgroups/clothing.json
@@ -166,7 +166,8 @@
{ "item": "longshirt", "prob": 80 },
{ "item": "polo_shirt", "prob": 50 },
{ "item": "tshirt", "prob": 80 },
- { "item": "linuxtshirt", "prob": 10 }
+ { "item": "linuxtshirt", "prob": 10 },
+ { "item": "tshirt_tour", "prob": 10 }
]
},
{
diff --git a/data/json/corpses.json b/data/json/itemgroups/corpses.json
similarity index 100%
rename from data/json/corpses.json
rename to data/json/itemgroups/corpses.json
diff --git a/data/json/itemgroups/drugs.json b/data/json/itemgroups/drugs.json
index 7e9a0e4392d99..08d3a40ebc5f9 100644
--- a/data/json/itemgroups/drugs.json
+++ b/data/json/itemgroups/drugs.json
@@ -76,5 +76,12 @@
{ "item": "smoxygen_tank", "prob": 20 },
{ "item": "tramadol", "prob": 20 }
]
+ },
+ {
+ "id": "jar_weed",
+ "type": "item_group",
+ "//": "For sale display appropriate packaging",
+ "subtype": "distribution",
+ "items": [ [ "jar_3l_glass", 100 ], { "item": "weed", "charges": [ 10, 420 ], "prob": 100, "container-item": "jar_3l_glass" } ]
}
]
diff --git a/data/json/itemgroups/food_service.json b/data/json/itemgroups/food_service.json
index 4e4ec58b7fd6c..bdd6028b8b3bd 100644
--- a/data/json/itemgroups/food_service.json
+++ b/data/json/itemgroups/food_service.json
@@ -566,7 +566,7 @@
[ "sandwich_pb", 35 ],
[ "fish_sandwich", 20 ],
[ "sandwich_t", 50 ],
- [ "frozen_burrito", 30 ],
+ [ "junk_burrito", 30 ],
[ "taco", 40 ],
[ "insta_salad", 60 ],
[ "yoghurt", 50 ],
@@ -599,6 +599,9 @@
[ "cornmeal", 50 ],
[ "yeast", 40 ],
[ "powder_eggs", 55 ],
+ [ "milk_UHT", 15 ],
+ [ "milk_evap", 25 ],
+ [ "con_milk", 25 ],
[ "milk_powder", 45 ],
[ "salt", 50 ],
[ "soysauce", 25 ],
@@ -673,7 +676,7 @@
[ "frozen_dinner", 80 ],
[ "pizza_veggy", 50 ],
[ "pizza_meat", 50 ],
- [ "frozen_burrito", 50 ],
+ [ "junk_burrito", 50 ],
[ "icecream_artificial", 30 ],
[ "icecream_candy", 20 ]
]
@@ -698,6 +701,10 @@
"entries": [
{ "item": "egg_bird", "prob": 65, "count-min": 6, "count-max": 12 },
{ "item": "milk", "prob": 80 },
+ { "item": "milk_raw", "prob": 5 },
+ { "item": "milk_raw", "prob": 5 },
+ { "item": "butter", "prob": 35, "charges": 8, "container-item": "wrapper" },
+ { "item": "buttermilk", "prob": 15 },
{ "item": "cheese", "prob": 60 },
{ "item": "yoghurt", "prob": 40 },
{ "item": "pudding", "prob": 30 },
@@ -739,6 +746,8 @@
[ "water_clean", 10 ],
[ "water_mineral", 10 ],
[ "milk", 20 ],
+ { "item": "butter", "prob": 35, "charges-min": 8, "charges-max": 64, "container-item": "wrapper" },
+ { "item": "ghee", "prob": 5, "charges-min": 1, "charges-max": 64, "container-item": "jar_glass" },
[ "yoghurt", 10 ],
[ "pudding", 15 ],
[ "apple", 10 ],
@@ -795,6 +804,7 @@
[ "garlic", 10 ],
[ "thyme", 10 ],
[ "can_chicken", 10 ],
+ [ "ghee", 15 ],
[ "pepper", 15 ],
[ "salt", 20 ],
[ "sugar", 5 ],
diff --git a/data/json/itemgroups/gear.json b/data/json/itemgroups/gear.json
index ff1dbad5647f8..cb27fb3fb00d8 100644
--- a/data/json/itemgroups/gear.json
+++ b/data/json/itemgroups/gear.json
@@ -2,6 +2,8 @@
{
"type": "item_group",
"id": "everyday_gear",
+ "ammo": 75,
+ "magazine": 100,
"//": "Small common items carried in a person's pockets, purse, etc. Cash card at roughly 50%.",
"items": [
{ "item": "cash_card", "prob": 1600, "charges-min": 0, "charges-max": 50000 },
diff --git a/data/json/itemgroups/guns.json b/data/json/itemgroups/guns.json
index ef8af4d741dbe..ebcbe636eaebf 100644
--- a/data/json/itemgroups/guns.json
+++ b/data/json/itemgroups/guns.json
@@ -16,6 +16,7 @@
{ "item": "sw_610", "prob": 20, "charges-min": 0, "charges-max": 6 },
{ "item": "sw_619", "prob": 25, "charges-min": 0, "charges-max": 7 },
{ "item": "p226_357sig", "prob": 20, "charges-min": 0, "charges-max": 15 },
+ { "item": "p320_357sig", "prob": 10, "charges-min": 0, "charges-max": 14 },
{ "item": "kp32", "prob": 10, "charges-min": 0, "charges-max": 7 },
{ "item": "kp3at", "prob": 35, "charges-min": 0, "charges-max": 6 },
{ "item": "rugerlcp", "prob": 35, "charges-min": 0, "charges-max": 6 },
@@ -28,11 +29,14 @@
"//": "Less common pistols including those only used by police/paramilitary forces.",
"items": [
{ "item": "deagle_44", "prob": 35, "charges-min": 0, "charges-max": 8 },
+ { "item": "m1911a1_38super", "prob": 25, "charges-min": 0, "charges-max": 10 },
{ "item": "fn57", "prob": 80, "charges-min": 0, "charges-max": 20 },
{ "item": "l_enforcer_45", "prob": 25, "charges-min": 0, "charges-max": 6 },
{ "item": "l_lookout_9mm", "prob": 20, "charges-min": 0, "charges-max": 7 },
{ "item": "l_sp_45", "prob": 35, "charges-min": 0, "charges-max": 12 },
{ "item": "l_sp_9mm", "prob": 60, "charges-min": 0, "charges-max": 21 },
+ { "item": "l_mp_45", "prob": 25, "charges-min": 0, "charges-max": 12 },
+ { "item": "l_mp_9mm", "prob": 25, "charges-min": 0, "charges-max": 21 },
{ "item": "ruger_lcr_22", "prob": 35, "charges-min": 0, "charges-max": 8 },
{ "item": "ruger_redhawk", "prob": 25, "charges-min": 0, "charges-max": 6 },
{ "item": "sig_40", "prob": 35, "charges-min": 0, "charges-max": 12 },
@@ -49,10 +53,8 @@
"id": "guns_pistol_milspec",
"//": "Military specification pistols only ever found at military sites.",
"items": [
- { "item": "glock_17", "prob": 100, "charges-min": 0, "charges-max": 17 },
+ { "item": "m17", "prob": 100, "charges-min": 0, "charges-max": 17 },
{ "item": "glock_18c", "prob": 70, "charges-min": 0, "charges-max": 17 },
- { "item": "l_mp_45", "prob": 70, "charges-min": 0, "charges-max": 12 },
- { "item": "l_mp_9mm", "prob": 100, "charges-min": 0, "charges-max": 21 },
{ "item": "needlepistol", "prob": 45, "charges-min": 0, "charges-max": 50 },
{ "item": "rm103a_pistol", "prob": 35, "charges-min": 0, "charges-max": 10 }
]
@@ -155,6 +157,7 @@
{ "item": "marlin_9a", "prob": 80, "charges-min": 0, "charges-max": 19 },
{ "item": "mosin44", "prob": 15, "charges-min": 0, "charges-max": 5 },
{ "item": "mosin91_30", "prob": 25, "charges-min": 0, "charges-max": 5 },
+ { "item": "remington700_270", "prob": 50, "charges-min": 0, "charges-max": 4 },
{ "item": "ruger_1022", "prob": 70, "charges-min": 0, "charges-max": 10 },
{ "item": "ruger_mini", "prob": 60, "charges-min": 0, "charges-max": 5 },
{ "item": "sks", "prob": 40, "charges-min": 0, "charges-max": 10 },
@@ -175,6 +178,8 @@
{ "item": "l_base_223", "prob": 40, "charges-min": 0, "charges-max": 32 },
{ "item": "l_car_223", "prob": 10, "charges-min": 0, "charges-max": 32 },
{ "item": "l_dsr_223", "prob": 5, "charges-min": 0, "charges-max": 32 },
+ { "item": "l_lmg_223", "prob": 5, "charges-min": 0, "charges-max": 32 },
+ { "item": "l_mbr_223", "prob": 10, "charges-min": 0, "charges-max": 32 },
{ "item": "l_long_45", "prob": 30, "charges-min": 0, "charges-max": 12 },
{ "item": "m14ebr", "prob": 15, "charges-min": 0, "charges-max": 20 },
{ "item": "M24", "prob": 15, "charges-min": 0, "charges-max": 20 },
@@ -196,8 +201,6 @@
"//": "Military specification rifles only ever found at military sites.",
"items": [
{ "item": "h&k416a5", "prob": 50, "charges-min": 0, "charges-max": 30 },
- { "item": "l_lmg_223", "prob": 30, "charges-min": 0, "charges-max": 32 },
- { "item": "l_mbr_223", "prob": 100, "charges-min": 0, "charges-max": 32 },
{ "item": "m107a1", "prob": 30, "charges-min": 0, "charges-max": 10 },
{ "item": "m134", "prob": 10, "charges-min": 0, "charges-max": 100 },
{ "item": "m14ebr", "prob": 10, "charges-min": 0, "charges-max": 20 },
@@ -275,7 +278,9 @@
{ "item": "m1014", "prob": 80, "charges-min": 0, "charges-max": 8 },
{ "item": "rm120c", "prob": 30, "charges-min": 0, "charges-max": 5 },
{ "item": "rm228", "prob": 30, "charges-min": 0, "charges-max": 10 },
- { "item": "saiga_12", "prob": 50, "charges-min": 0, "charges-max": 10 }
+ { "item": "l_def_12", "prob": 20, "charges-min": 0, "charges-max": 8 },
+ { "item": "saiga_12", "prob": 50, "charges-min": 0, "charges-max": 10 },
+ { "item": "saiga_410", "prob": 40, "charges-min": 0, "charges-max": 10 }
]
},
{
@@ -283,8 +288,8 @@
"id": "guns_shotgun_milspec",
"//": "Military specification shotguns only ever found at military sites.",
"items": [
- { "item": "l_def_12", "prob": 100, "charges-min": 0, "charges-max": 8 },
- { "item": "rm20", "prob": 20, "charges-min": 0, "charges-max": 20 }
+ { "item": "rm20", "prob": 20, "charges-min": 0, "charges-max": 20 },
+ { "item": "m1014", "prob": 100, "charges-min": 0, "charges-max": 8 }
]
},
{
diff --git a/data/json/itemgroups/locations.json b/data/json/itemgroups/locations.json
index 505b027816339..991f6b00cfe67 100644
--- a/data/json/itemgroups/locations.json
+++ b/data/json/itemgroups/locations.json
@@ -695,5 +695,36 @@
[ "candle", 20 ],
[ "pillow", 20 ]
]
+ },
+ {
+ "id": "library_elec",
+ "type": "item_group",
+ "items": [
+ [ "superglue", 30 ],
+ [ "processor", 15 ],
+ [ "RAM", 22 ],
+ [ "power_supply", 16 ],
+ [ "amplifier", 8 ],
+ [ "transponder", 5 ],
+ [ "receiver", 10 ],
+ [ "antenna", 18 ],
+ [ "screwdriver", 40 ],
+ { "group": "ammo_pocket_batteries_full", "prob": 50 },
+ [ "manual_electronics", 20 ],
+ [ "mobile_memory_card", 20 ],
+ [ "usb_drive", 5 ],
+ [ "software_useless", 10 ],
+ [ "survnote", 1 ]
+ ]
+ },
+ {
+ "id": "laundromat_bleach",
+ "type": "item_group",
+ "items": [ [ "bleach", 50 ] ]
+ },
+ {
+ "id": "laundromat_containers",
+ "type": "item_group",
+ "items": [ [ "duffelbag", 5 ], [ "backpack", 5 ], [ "bag_plastic", 30 ], [ "basket_laundry", 30 ] ]
}
]
diff --git a/data/json/itemgroups/magazines.json b/data/json/itemgroups/magazines.json
index b37bf8521ca7a..248885bd2b6cf 100644
--- a/data/json/itemgroups/magazines.json
+++ b/data/json/itemgroups/magazines.json
@@ -19,10 +19,6 @@
[ "hk_g80mag", 40 ],
[ "hk46mag", 15 ],
[ "hk46bigmag", 5 ],
- [ "lw12mag", 30 ],
- [ "lw21mag", 60 ],
- [ "lw223mag", 60 ],
- [ "lw223bigmag", 20 ],
[ "m107a1mag", 50 ],
[ "m2010mag", 10 ],
[ "scarhmag", 50 ],
@@ -30,7 +26,8 @@
[ "stanag30", 20 ],
[ "stanag50", 5 ],
[ "hk417mag_20rd", 30 ],
- [ "hk417mag_10rd", 20 ]
+ [ "hk417mag_10rd", 20 ],
+ [ "p320mag_17rd_9x19mm", 60 ]
]
},
{
@@ -108,7 +105,8 @@
[ "kp3atmag", 4 ],
[ "rugerlcpmag", 10 ],
[ "sw22mag", 10 ],
- [ "p226mag_15rd_357sig", 25 ]
+ [ "p226mag_15rd_357sig", 25 ],
+ [ "p320mag_14rd_357sig", 10 ]
]
},
{
@@ -137,6 +135,7 @@
[ "glockbigmag", 60 ],
[ "glock40bigmag", 30 ],
[ "m1911bigmag", 40 ],
+ [ "m1911mag_10rd_38super", 10 ],
[ "m9bigmag", 20 ],
[ "sig40mag", 40 ],
[ "sigp230mag", 40 ],
@@ -144,7 +143,9 @@
[ "kp32mag", 5 ],
[ "fn1910mag", 2 ],
[ "taurus38mag", 30 ],
- [ "ppkmag", 15 ]
+ [ "ppkmag", 15 ],
+ [ "lw12mag", 5 ],
+ [ "lw21mag", 5 ]
]
},
{
@@ -219,7 +220,9 @@
[ "g3mag", 80 ],
[ "g3bigmag", 40 ],
[ "m1918bigmag", 40 ],
- [ "ruger1022bigmag", 70 ]
+ [ "ruger1022bigmag", 70 ],
+ [ "lw223mag", 20 ],
+ [ "lw223bigmag", 20 ]
]
},
{
@@ -237,8 +240,8 @@
{
"type": "item_group",
"id": "mags_shotgun_rare",
- "//": "Aftermarket or otherwise uncommon pistol magazines excluding milspec.",
- "items": [ [ "saiga10mag", 50 ], [ "saiga30mag", 10 ] ]
+ "//": "Aftermarket or otherwise uncommon shotgun magazines excluding milspec.",
+ "items": [ [ "saiga10mag", 50 ], [ "saiga30mag", 10 ], [ "saiga410mag_10rd", 30 ], [ "saiga410mag_30rd", 10 ] ]
},
{
"type": "item_group",
diff --git a/data/json/itemgroups/mall_item_groups.json b/data/json/itemgroups/mall_item_groups.json
index 4c26c86aec0b4..f664a8b62168b 100644
--- a/data/json/itemgroups/mall_item_groups.json
+++ b/data/json/itemgroups/mall_item_groups.json
@@ -68,6 +68,8 @@
{
"id": "music_shop",
"type": "item_group",
+ "ammo": 75,
+ "magazine": 100,
"items": [ { "group": "ammo_any_batteries_full", "prob": 50 }, [ "radio", 30 ], [ "mp3", 30 ] ]
},
{
@@ -91,6 +93,8 @@
{
"id": "toy_store",
"type": "item_group",
+ "ammo": 75,
+ "magazine": 100,
"items": [
[ "portable_game", 60 ],
[ "bat", 60 ],
@@ -210,6 +214,8 @@
{
"id": "key_shop",
"type": "item_group",
+ "ammo": 75,
+ "magazine": 100,
"items": [
[ "screwdriver", 40 ],
[ "hammer", 35 ],
@@ -252,6 +258,8 @@
{
"id": "cell_shop",
"type": "item_group",
+ "ammo": 75,
+ "magazine": 100,
"items": [
[ "portable_game", 20 ],
[ "antenna", 25 ],
@@ -269,6 +277,8 @@
{
"id": "beauty",
"type": "item_group",
+ "ammo": 75,
+ "magazine": 100,
"items": [
[ "mag_glam", 40 ],
[ "mag_beauty", 30 ],
@@ -347,6 +357,7 @@
[ "naginata_fake", 5 ],
[ "naginata_inferior", 3 ],
[ "estoc", 2 ],
+ [ "estoc_inferior", 4 ],
[ "estoc_fake", 6 ],
[ "qiang", 3 ],
[ "halberd", 2 ],
diff --git a/data/json/itemgroups/mansion.json b/data/json/itemgroups/mansion.json
index 64b65121c6384..de3f592a956a2 100644
--- a/data/json/itemgroups/mansion.json
+++ b/data/json/itemgroups/mansion.json
@@ -507,6 +507,8 @@
{
"id": "toy_box",
"type": "item_group",
+ "ammo": 75,
+ "magazine": 100,
"subtype": "distribution",
"items": [
[ "marble", 60 ],
@@ -992,6 +994,8 @@
{
"id": "table_livingroom",
"type": "item_group",
+ "ammo": 75,
+ "magazine": 100,
"subtype": "distribution",
"items": [
{ "group": "beer_selection", "prob": 30 },
diff --git a/data/json/itemgroups/oa_shared_item_groups.json b/data/json/itemgroups/oa_shared_item_groups.json
index d43e93c211560..9b8a8ada2f8fb 100644
--- a/data/json/itemgroups/oa_shared_item_groups.json
+++ b/data/json/itemgroups/oa_shared_item_groups.json
@@ -16,6 +16,8 @@
{
"type": "item_group",
"id": "oa_custom_trash",
+ "ammo": 50,
+ "magazine": 100,
"items": [
{ "item": "lighter", "prob": 50, "charges-min": 0, "charges-max": 10 },
{ "item": "matches", "prob": 50, "charges-min": 0, "charges-max": 20 },
diff --git a/data/json/itemgroups/supplies.json b/data/json/itemgroups/supplies.json
index 2081f4a9e0005..14aed7d9ab4c5 100644
--- a/data/json/itemgroups/supplies.json
+++ b/data/json/itemgroups/supplies.json
@@ -76,7 +76,8 @@
{ "item": "pipe", "prob": 40, "count": [ 5, 10 ] },
{ "item": "wire", "prob": 40, "count": [ 5, 10 ] },
{ "item": "spike", "prob": 40, "count": [ 5, 10 ] },
- { "item": "nail", "prob": 60, "count": [ 5, 20 ] }
+ { "item": "nail", "prob": 60, "count": [ 5, 20 ] },
+ { "item": "hinge", "prob": 60, "count": [ 5, 10 ] }
]
},
{
diff --git a/data/json/items/ammo.json b/data/json/items/ammo.json
index 08555e019e66c..870954e141548 100644
--- a/data/json/items/ammo.json
+++ b/data/json/items/ammo.json
@@ -8,7 +8,7 @@
"name_plural": "batteries",
"symbol": "=",
"color": "yellow",
- "description": "Some free-floating battery charge. This can be reloaded into rechargable battery cells, but can never be unloaded.",
+ "description": "Some free-floating battery charge. This can be reloaded into rechargable battery cells, but can never be unloaded.",
"flags": "TRADER_AVOID",
"material": "iron",
"effects": [ "COOKOFF" ],
@@ -118,7 +118,7 @@
"category": "spare_parts",
"name": "light plutonium fuel battery",
"name_plural": "light plutonium fuel batteries",
- "description": "This battery uses a thin plutonium-244 rod to stablize an exotic nanocompound. It is universally compatible with all kinds of personal electronic devices. Although it stores a huge amount of power, it cannot be recharged.",
+ "description": "This battery uses a thin plutonium-244 rod to stabilize an exotic nanocompound. It is universally compatible with all kinds of personal electronic devices. Although it stores a huge amount of power, it cannot be recharged.",
"weight": 160,
"volume": "115ml",
"price": 50000,
@@ -1372,5 +1372,22 @@
"count": 7,
"effects": [ "NEVER_MISFIRES" ],
"use_action": "RPGDIE"
+ },
+ {
+ "id": "scrap_bronze",
+ "type": "AMMO",
+ "category": "spare_parts",
+ "name": "bronze",
+ "name_plural": "bronze",
+ "description": "Decent-sized chunks of bronze, for fashioning some old-school items.",
+ "weight": 218,
+ "volume": 1,
+ "price": 1200,
+ "to_hit": -2,
+ "bashing": 1,
+ "material": "bronze",
+ "symbol": ",",
+ "color": "yellow",
+ "ammo_type": "components"
}
]
diff --git a/data/json/items/ammo/10mm.json b/data/json/items/ammo/10mm.json
new file mode 100644
index 0000000000000..ac2907ab00220
--- /dev/null
+++ b/data/json/items/ammo/10mm.json
@@ -0,0 +1,33 @@
+[
+ {
+ "id": "10mm_fmj",
+ "type": "AMMO",
+ "name": "10mm Auto FMJ",
+ "description": "A jacketed 10mm Auto round. The 10mm Auto cartridge is a rather powerful handgun round and the progenitor to the more popular .40 S&W.",
+ "weight": 9,
+ "volume": 1,
+ "price": 2800,
+ "material": [ "brass", "powder" ],
+ "symbol": "=",
+ "color": "yellow",
+ "count": 40,
+ "stack_size": 40,
+ "ammo_type": "10mm",
+ "casing": "10mm_casing",
+ "range": 14,
+ "damage": 31,
+ "pierce": 4,
+ "dispersion": 50,
+ "recoil": 750,
+ "effects": [ "COOKOFF" ]
+ },
+ {
+ "id": "reloaded_10mm_fmj",
+ "copy-from": "10mm_fmj",
+ "type": "AMMO",
+ "name": "reloaded 10mm Auto FMJ",
+ "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 },
+ "extend": { "effects": [ "RECYCLED" ] },
+ "delete": { "effects": [ "NEVER_MISFIRES" ] }
+ }
+]
diff --git a/data/json/items/ammo/270win.json b/data/json/items/ammo/270win.json
new file mode 100644
index 0000000000000..c4de323653bcb
--- /dev/null
+++ b/data/json/items/ammo/270win.json
@@ -0,0 +1,33 @@
+[
+ {
+ "id": "270win_jsp",
+ "type": "AMMO",
+ "name": ".270 Winchester JSP",
+ "description": ".270 Winchester ammunition with 130gr soft point bullets. The .270 round was not initially successful, but over a few decades it became one of the most popular rifle cartridges for hunting and silhouette shooting. It is a powerful round capable of taking down large targets with ease.",
+ "weight": 20,
+ "volume": 1,
+ "price": 1700,
+ "material": [ "brass", "powder" ],
+ "symbol": "=",
+ "color": "yellow",
+ "count": 20,
+ "stack_size": 20,
+ "ammo_type": "270win",
+ "casing": "270win_casing",
+ "range": 65,
+ "damage": 64,
+ "pierce": 4,
+ "dispersion": 10,
+ "recoil": 3800,
+ "effects": [ "COOKOFF", "NEVER_MISFIRES" ]
+ },
+ {
+ "id": "reloaded_270win_jsp",
+ "copy-from": "270win_jsp",
+ "type": "AMMO",
+ "name": "reloaded .270 Winchester JSP",
+ "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 },
+ "extend": { "effects": [ "RECYCLED" ] },
+ "delete": { "effects": [ "NEVER_MISFIRES" ] }
+ }
+]
diff --git a/data/json/items/ammo/3006.json b/data/json/items/ammo/3006.json
index db042783ea6a7..5be0fdaeecdeb 100644
--- a/data/json/items/ammo/3006.json
+++ b/data/json/items/ammo/3006.json
@@ -1,12 +1,12 @@
[
{
- "id": "270",
+ "id": "3006",
"type": "AMMO",
- "name": ".270 Winchester",
- "description": ".270 Winchester ammunition with 130gr soft point bullets. Similar to .30-06, the .270 round was a popular hunting cartridge until the mid 21st century when it was supplanted by new designs. It is a powerful round capable of taking down large targets with ease. While not advisable, it may be possible to use it in some firearms chambered for .30-06.",
+ "name": ".30-06 Springfield",
+ "description": ".30-06 Springfield rounds with 165gr soft point bullets. The .30-06 cartridge has excellent accuracy, range, and stopping power making it popular with hunters and snipers for well over a century.",
"weight": 20,
"volume": 1,
- "price": 1700,
+ "price": 1200,
"material": [ "brass", "powder" ],
"symbol": "=",
"color": "yellow",
@@ -14,24 +14,13 @@
"stack_size": 20,
"ammo_type": "3006",
"casing": "3006_casing",
- "range": 65,
- "damage": 64,
- "pierce": 4,
- "dispersion": 10,
+ "range": 61,
+ "damage": 62,
+ "pierce": 10,
+ "dispersion": 20,
"recoil": 3800,
"effects": [ "COOKOFF" ]
},
- {
- "id": "3006",
- "copy-from": "270",
- "type": "AMMO",
- "name": ".30-06 Springfield",
- "description": ".30-06 Springfield rounds with 165gr soft point bullets. The .30-06 cartridge has excellent accuracy, range, and stopping power making it popular with hunters and snipers for well over a century.",
- "price": 1200,
- "count": 10,
- "relative": { "range": -4, "damage": -2, "pierce": 6, "dispersion": 10 },
- "extend": { "effects": [ "NEVER_MISFIRES" ] }
- },
{
"id": "3006_incendiary",
"copy-from": "3006",
@@ -48,15 +37,6 @@
"description": "Armor piercing .30-06 M2 ammunition with 168gr FMJ bullets. It is an extremely powerful and accurate cartridge but pays for its armor penetration abilities with lowered damage.",
"relative": { "damage": -4, "pierce": 8 }
},
- {
- "id": "reloaded_270",
- "copy-from": "270",
- "type": "AMMO",
- "name": "reloaded .270 Winchester",
- "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 },
- "extend": { "effects": [ "RECYCLED" ] },
- "delete": { "effects": [ "NEVER_MISFIRES" ] }
- },
{
"id": "reloaded_3006",
"copy-from": "3006",
diff --git a/data/json/items/ammo/38.json b/data/json/items/ammo/38.json
index 27c76159802c8..c7b4b74ac9209 100644
--- a/data/json/items/ammo/38.json
+++ b/data/json/items/ammo/38.json
@@ -71,7 +71,7 @@
"copy-from": "38_special",
"type": "AMMO",
"name": "blackpowder .38 Special",
- "description": "This .38 Special cartridge is loaded with a 200gr cast lead hollowpoint and 23gr of blackpowder. While it's much slower than a regular .38, it has tremendous stopping power.",
+ "description": "This .38 Special cartridge is loaded with a 200gr cast lead hollowpoint and 23gr of blackpowder. While it's much slower than a regular .38, it has tremendous stopping power.",
"proportional": { "price": 0.6, "damage": 1.15, "dispersion": 1.3 },
"extend": { "effects": [ "RECYCLED", "MUZZLE_SMOKE" ] },
"delete": { "effects": [ "NEVER_MISFIRES" ] }
diff --git a/data/json/items/ammo/38super.json b/data/json/items/ammo/38super.json
new file mode 100644
index 0000000000000..435c46ce8b83d
--- /dev/null
+++ b/data/json/items/ammo/38super.json
@@ -0,0 +1,32 @@
+[
+ {
+ "id": "38super_fmj",
+ "type": "AMMO",
+ "name": ".38 Super FMJ",
+ "description": ".38 Super ammunition with 147gr FMJ bullets. The .38 Super round was developed from .38 ACP in the 1920s, designed to penetrate the body armor of the era.",
+ "weight": 8,
+ "volume": 1,
+ "price": 2200,
+ "material": [ "brass", "powder" ],
+ "symbol": "=",
+ "color": "yellow",
+ "count": 40,
+ "stack_size": 40,
+ "ammo_type": "38super",
+ "casing": "38super_casing",
+ "range": 14,
+ "damage": 26,
+ "dispersion": 30,
+ "recoil": 250,
+ "effects": [ "COOKOFF" ]
+ },
+ {
+ "id": "reloaded_38super_fmj",
+ "copy-from": "38super_fmj",
+ "type": "AMMO",
+ "name": "reloaded .38 Super FMJ",
+ "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 },
+ "extend": { "effects": [ "RECYCLED" ] },
+ "delete": { "effects": [ "NEVER_MISFIRES" ] }
+ }
+]
diff --git a/data/json/items/ammo/40.json b/data/json/items/ammo/40.json
index 0c85d813f5aed..24a6b43daafb0 100644
--- a/data/json/items/ammo/40.json
+++ b/data/json/items/ammo/40.json
@@ -1,14 +1,4 @@
[
- {
- "id": "10mm",
- "copy-from": "40sw",
- "type": "AMMO",
- "name": "10mm Auto",
- "description": "10mm Auto ammunition with 180gr FMJ bullets. The 10mm Auto round is one of the most powerful pistol cartridges available, although its usefulness is limited by high recoil.",
- "price": 2900,
- "count": 20,
- "relative": { "damage": 4, "pierce": 4, "dispersion": -10, "recoil": 20 }
- },
{
"id": "40fmj",
"copy-from": "40sw",
@@ -39,15 +29,6 @@
"recoil": 560,
"effects": [ "COOKOFF" ]
},
- {
- "id": "reloaded_10mm",
- "copy-from": "10mm",
- "type": "AMMO",
- "name": "reloaded 10mm Auto",
- "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 },
- "extend": { "effects": [ "RECYCLED" ] },
- "delete": { "effects": [ "NEVER_MISFIRES" ] }
- },
{
"id": "reloaded_40fmj",
"copy-from": "40fmj",
diff --git a/data/json/items/ammo/40mm.json b/data/json/items/ammo/40mm.json
index 65729711a4eaf..0cc88375674fc 100644
--- a/data/json/items/ammo/40mm.json
+++ b/data/json/items/ammo/40mm.json
@@ -113,7 +113,7 @@
"copy-from": "40mm_grenade",
"type": "AMMO",
"name": "40mm slug",
- "description": "A 40mm shell loaded with a massive bullet. Say goodbye to your shoulder, I guess.",
+ "description": "A 40mm shell loaded with a massive bullet. Say goodbye to your shoulder, I guess.",
"damage": 130,
"recoil": 875,
"extend": { "effects": [ "LARGE_BEANBAG" ] }
diff --git a/data/json/items/ammo/410shot.json b/data/json/items/ammo/410shot.json
new file mode 100644
index 0000000000000..48db037f192c9
--- /dev/null
+++ b/data/json/items/ammo/410shot.json
@@ -0,0 +1,32 @@
+[
+ {
+ "id": "410shot_000",
+ "type": "AMMO",
+ "name": ".410 000 shot",
+ "description": "A .410 shell with 5 000 pellets. Good for a hunting or combat load.",
+ "weight": 32,
+ "volume": 1,
+ "price": 3500,
+ "material": [ "plastic", "powder" ],
+ "symbol": "=",
+ "color": "red",
+ "count": 20,
+ "stack_size": 20,
+ "ammo_type": "410shot",
+ "casing": "410shot_hull",
+ "range": 12,
+ "damage": 50,
+ "recoil": 2500,
+ "loudness": 160,
+ "effects": [ "COOKOFF", "SHOT" ]
+ },
+ {
+ "id": "reloaded_410shot_000",
+ "copy-from": "410shot_000",
+ "type": "AMMO",
+ "name": "reloaded .410 000 shot",
+ "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 },
+ "extend": { "effects": [ "RECYCLED" ] },
+ "delete": { "effects": [ "NEVER_MISFIRES" ] }
+ }
+]
diff --git a/data/json/items/ammo/45colt.json b/data/json/items/ammo/45colt.json
new file mode 100644
index 0000000000000..043099c233803
--- /dev/null
+++ b/data/json/items/ammo/45colt.json
@@ -0,0 +1,33 @@
+[
+ {
+ "id": "45colt_jhp",
+ "type": "AMMO",
+ "name": ".45 Colt JHP",
+ "description": ".45 Colt ammunition with 250gr jacketed hollow point bullets. Originally designed for the Colt Single Action Army, and still used for modern reproduction revolvers. Originally a black powder cartridge, modern loads can make this round competitive in the new era.",
+ "weight": 12,
+ "volume": 1,
+ "price": 2200,
+ "material": [ "brass", "powder" ],
+ "symbol": "=",
+ "color": "yellow",
+ "count": 40,
+ "stack_size": 40,
+ "ammo_type": "45colt",
+ "casing": "45colt_casing",
+ "range": 16,
+ "damage": 25,
+ "pierce": 2,
+ "dispersion": 50,
+ "recoil": 600,
+ "effects": [ "COOKOFF" ]
+ },
+ {
+ "id": "reloaded_45colt_jhp",
+ "copy-from": "45colt_jhp",
+ "type": "AMMO",
+ "name": "reloaded .45 Colt JHP",
+ "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 },
+ "extend": { "effects": [ "RECYCLED" ] },
+ "delete": { "effects": [ "NEVER_MISFIRES" ] }
+ }
+]
diff --git a/data/json/items/ammo/shot.json b/data/json/items/ammo/shot.json
index 7c5a43281e7ac..c0257831c9f28 100644
--- a/data/json/items/ammo/shot.json
+++ b/data/json/items/ammo/shot.json
@@ -8,6 +8,15 @@
"extend": { "effects": [ "RECYCLED" ] },
"delete": { "effects": [ "NEVER_MISFIRES" ] }
},
+ {
+ "id": "reloaded_shot_dragon",
+ "copy-from": "shot_dragon",
+ "type": "AMMO",
+ "name": "reloaded dragon's breath shell",
+ "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 },
+ "extend": { "effects": [ "RECYCLED" ] },
+ "delete": { "effects": [ "NEVER_MISFIRES" ] }
+ },
{
"id": "reloaded_shot_00",
"copy-from": "shot_00",
@@ -112,6 +121,16 @@
"proportional": { "damage": 0.3, "recoil": 0.6, "loudness": 0.8 },
"extend": { "effects": [ "NOGIB" ] }
},
+ {
+ "id": "shot_dragon",
+ "copy-from": "shot_00",
+ "type": "AMMO",
+ "name": "dragon's breath shell",
+ "description": "A shotgun shell filled with magnesium pellets or shards, used mostly as a distress flare or pyrotechnics tool. When the round is fired, high temperature sparks and flames shoot out of the barrel, igniting everything in their path.",
+ "price": 14000,
+ "proportional": { "damage": 0.2, "recoil": 0.6, "loudness": 0.8, "dispersion": 1.2, "range": 0.5 },
+ "extend": { "effects": [ "INCENDIARY", "STREAM", "NOGIB" ] }
+ },
{
"id": "shot_flechette",
"copy-from": "shot_00",
diff --git a/data/json/items/ammo_types.json b/data/json/items/ammo_types.json
index e9913d9948be9..eff6a40f2eb1a 100644
--- a/data/json/items/ammo_types.json
+++ b/data/json/items/ammo_types.json
@@ -65,6 +65,12 @@
"name": "shot",
"default": "shot_00"
},
+ {
+ "type": "ammunition_type",
+ "id": "410shot",
+ "name": ".410 shot",
+ "default": "410shot_000"
+ },
{
"type": "ammunition_type",
"id": "blunderbuss",
@@ -113,12 +119,24 @@
"name": ".38",
"default": "38_special"
},
+ {
+ "type": "ammunition_type",
+ "id": "38super",
+ "name": ".38 Super",
+ "default": "38super_fmj"
+ },
{
"type": "ammunition_type",
"id": "40",
"name": ".40",
"default": "40sw"
},
+ {
+ "type": "ammunition_type",
+ "id": "10mm",
+ "name": "10mm Auto",
+ "default": "10mm_fmj"
+ },
{
"type": "ammunition_type",
"id": "44",
@@ -143,6 +161,12 @@
"name": ".454",
"default": "454_Casull"
},
+ {
+ "type": "ammunition_type",
+ "id": "45colt",
+ "name": ".45 Colt",
+ "default": "45colt_jhp"
+ },
{
"type": "ammunition_type",
"id": "500",
@@ -183,7 +207,13 @@
"type": "ammunition_type",
"id": "3006",
"name": ".30-06",
- "default": "270"
+ "default": "3006"
+ },
+ {
+ "type": "ammunition_type",
+ "id": "270win",
+ "name": ".270 Winchester",
+ "default": "270win_jsp"
},
{
"type": "ammunition_type",
diff --git a/data/json/items/armor.json b/data/json/items/armor.json
index c54f37e68bf53..e8ff67556caee 100644
--- a/data/json/items/armor.json
+++ b/data/json/items/armor.json
@@ -291,7 +291,7 @@
"encumbrance": 20,
"warmth": 20,
"material_thickness": 4,
- "flags": [ "VARSIZE", "OUTER", "STURDY", "BLOCK_WHILE_WORN" ]
+ "flags": [ "VARSIZE", "BELTED", "STURDY", "BLOCK_WHILE_WORN" ]
},
{
"id": "armguard_metal",
@@ -336,6 +336,29 @@
"material_thickness": 3,
"flags": [ "BELTED", "BLOCK_WHILE_WORN" ]
},
+ {
+ "id": "armguard_scrap",
+ "type": "ARMOR",
+ "category": "armor",
+ "name": "pair of scrap arm guards",
+ "name_plural": "pairs of scrap arm guards",
+ "description": "A pair of arm guards made from scraps of metal secured by simple strings; the loose collection of plates provides decent but not the most convenient protection.",
+ "weight": 3064,
+ "volume": 19,
+ "price": 20000,
+ "to_hit": 1,
+ "bashing": 1,
+ "cutting": 1,
+ "material": [ "steel", "iron" ],
+ "symbol": "[",
+ "color": "light_gray",
+ "covers": [ "ARMS" ],
+ "coverage": 80,
+ "encumbrance": 18,
+ "warmth": 20,
+ "material_thickness": 2,
+ "flags": [ "BELTED", "BLOCK_WHILE_WORN" ]
+ },
{
"id": "armguard_soft",
"type": "ARMOR",
@@ -698,7 +721,7 @@
"description": "A suit of armor made from scraps of metal secured by simple strings; the loose collection of plates provides decent but not the most convenient protection.",
"weight": 9534,
"volume": 62,
- "price": 70000,
+ "price": 60000,
"to_hit": -5,
"bashing": 6,
"cutting": 8,
@@ -706,7 +729,7 @@
"symbol": "[",
"color": "light_gray",
"covers": [ "TORSO", "LEGS", "ARMS" ],
- "coverage": 90,
+ "coverage": 80,
"encumbrance": 18,
"warmth": 20,
"material_thickness": 2,
@@ -868,6 +891,15 @@
"weight": 10,
"description": "A plastic name tag marking the wearer as a real doctor of the medical kind."
},
+ {
+ "id": "badge_foodkid",
+ "copy-from": "badge_abstract",
+ "type": "ARMOR",
+ "name": "Foodkid badge",
+ "material": [ "plastic" ],
+ "weight": 10,
+ "description": "A star shaped badge, on it you can read \"Foodkid\" in bold letters. This is Foodperson's trusty sidekick's badge."
+ },
{
"id": "balclava",
"type": "ARMOR",
@@ -1610,6 +1642,25 @@
"material_thickness": 1,
"flags": [ "VARSIZE", "SKINTIGHT" ]
},
+ {
+ "id": "cape_fp",
+ "type": "ARMOR",
+ "name": "Foodperson's cape",
+ "description": "A brightly-colored cape emblazoned with the \"Fp\" symbol.",
+ "weight": 900,
+ "volume": 12,
+ "price": 5000,
+ "to_hit": -1,
+ "material": [ "cotton" ],
+ "symbol": "]",
+ "color": "pink",
+ "covers": [ "TORSO" ],
+ "coverage": 50,
+ "encumbrance": 4,
+ "warmth": 10,
+ "material_thickness": 1,
+ "flags": [ "OVERSIZE", "BELTED" ]
+ },
{
"id": "cassock",
"type": "ARMOR",
@@ -1768,6 +1819,27 @@
"material_thickness": 3,
"flags": [ "OUTER" ]
},
+ {
+ "id": "chestguard_hard",
+ "type": "ARMOR",
+ "category": "armor",
+ "name": "hard chest guard",
+ "description": "A plastron of interlocking plastic plate protecting your torso.",
+ "weight": 1000,
+ "volume": 28,
+ "price": 60000,
+ "to_hit": -2,
+ "material": [ "plastic", "neoprene" ],
+ "symbol": "H",
+ "color": "dark_gray",
+ "covers": [ "TORSO" ],
+ "coverage": 90,
+ "encumbrance": 20,
+ "warmth": 20,
+ "material_thickness": 3,
+ "environmental_protection": 1,
+ "flags": [ "WATER_FRIENDLY", "STURDY", "OUTER" ]
+ },
{
"id": "chestwrap",
"type": "ARMOR",
@@ -2270,6 +2342,29 @@
"material_thickness": 4,
"flags": [ "VARSIZE", "OUTER", "STURDY" ]
},
+ {
+ "id": "cuirass_scrap",
+ "type": "ARMOR",
+ "category": "armor",
+ "name": "scrap cuirass",
+ "name_plural": "scrap cuirasses",
+ "description": "A cuirass made from scraps of metal secured by simple strings; the loose collection of plates provides decent but not the most convenient protection.",
+ "weight": 3366,
+ "volume": 23,
+ "price": 20000,
+ "to_hit": -1,
+ "bashing": 2,
+ "cutting": 3,
+ "material": [ "steel", "iron" ],
+ "symbol": "[",
+ "color": "light_gray",
+ "covers": [ "TORSO" ],
+ "coverage": 80,
+ "encumbrance": 18,
+ "warmth": 20,
+ "material_thickness": 2,
+ "flags": [ "OUTER" ]
+ },
{
"id": "depowered_armor",
"type": "ARMOR",
@@ -3756,6 +3851,28 @@
"environmental_protection": 5,
"flags": [ "WATERPROOF", "STURDY" ]
},
+ {
+ "id": "gloves_cut_resistant",
+ "type": "ARMOR",
+ "name": "pair of cut resistant gloves",
+ "name_plural": "pairs of cut resistant gloves",
+ "description": "A pair of cut resistant gloves, useful when rapidly breaking down carcasses.",
+ "weight": 240,
+ "volume": 1,
+ "price": 9000,
+ "to_hit": 2,
+ "material": [ "steel", "cotton" ],
+ "symbol": "[",
+ "color": "light_gray",
+ "looks_like": "gloves_work",
+ "covers": [ "HANDS" ],
+ "coverage": 95,
+ "encumbrance": 40,
+ "warmth": 10,
+ "material_thickness": 4,
+ "environmental_protection": 1,
+ "flags": [ "STURDY" ]
+ },
{
"id": "gloves_wraps",
"type": "ARMOR",
@@ -4807,6 +4924,28 @@
"environmental_protection": 7,
"flags": [ "VARSIZE", "STURDY", "WATERPROOF", "SUN_GLASSES" ]
},
+ {
+ "id": "helmet_scrap",
+ "type": "ARMOR",
+ "category": "armor",
+ "name": "scrap helmet",
+ "description": "A helmet made from scraps of metal secured by simple strings; the loose collection of plates provides decent but not the most convenient protection.",
+ "weight": 1692,
+ "volume": 11,
+ "price": 35000,
+ "to_hit": -1,
+ "bashing": 1,
+ "cutting": 2,
+ "material": [ "steel", "iron" ],
+ "symbol": "[",
+ "color": "light_gray",
+ "covers": [ "HEAD", "EYES", "MOUTH" ],
+ "coverage": 80,
+ "encumbrance": 35,
+ "warmth": 20,
+ "material_thickness": 2,
+ "flags": [ "OUTER" ]
+ },
{
"id": "helmet_skid",
"type": "ARMOR",
@@ -5319,6 +5458,12 @@
"storage": 3,
"warmth": 30,
"material_thickness": 3,
+ "snippet_category": [
+ {
+ "id": "patched",
+ "text": "A jacket made from denim. Provides decent protection from cuts. This one is haphazardly covered with patches featuring metal band logos."
+ }
+ ],
"flags": [ "VARSIZE", "POCKETS", "OUTER" ]
},
{
@@ -5865,7 +6010,7 @@
"id": "yukata",
"type": "ARMOR",
"name": "yukata",
- "description": "An easy to wear, breezy robe secured with a sash. Essentially Japanese pajamas. Great for summer nights.",
+ "description": "An easy to wear, breezy robe secured with a sash. Essentially Japanese pajamas. Great for summer nights.",
"weight": 900,
"volume": 12,
"price": 5000,
@@ -5885,7 +6030,7 @@
"id": "haori",
"type": "ARMOR",
"name": "haori",
- "description": "A loose coat with wide sleeves that is worn unfastened over a kimono. It is jet black with sparse, tasteful golden embroidery.",
+ "description": "A loose coat with wide sleeves that is worn unfastened over a kimono. It is jet black with sparse, tasteful golden embroidery.",
"weight": 800,
"volume": 8,
"price": 30000,
@@ -6211,7 +6356,7 @@
"encumbrance": 20,
"warmth": 20,
"material_thickness": 4,
- "flags": [ "VARSIZE", "OUTER", "STURDY" ]
+ "flags": [ "VARSIZE", "BELTED", "STURDY" ]
},
{
"id": "legguard_metal",
@@ -6254,6 +6399,29 @@
"material_thickness": 3,
"flags": [ "BELTED" ]
},
+ {
+ "id": "legguard_scrap",
+ "type": "ARMOR",
+ "category": "armor",
+ "name": "pair of scrap leg guards",
+ "name_plural": "pairs of scrap leg guards",
+ "description": "A pair of leg guards made from scraps of metal secured by simple strings; the loose collection of plates provides decent but not the most convenient protection.",
+ "weight": 3104,
+ "volume": 20,
+ "price": 20000,
+ "to_hit": -1,
+ "bashing": 1,
+ "cutting": 1,
+ "material": [ "steel", "iron" ],
+ "symbol": "[",
+ "color": "light_gray",
+ "covers": [ "LEGS" ],
+ "coverage": 80,
+ "encumbrance": 18,
+ "warmth": 20,
+ "material_thickness": 2,
+ "flags": [ "BELTED" ]
+ },
{
"id": "legrig",
"type": "ARMOR",
@@ -9498,6 +9666,50 @@
],
"flags": [ "VARSIZE" ]
},
+ {
+ "id": "tshirt_tour",
+ "type": "ARMOR",
+ "copy-from": "tshirt",
+ "name": "tour t-shirt",
+ "description": "A short-sleeved cotton shirt.",
+ "price": 1000,
+ "price_postapoc": 1200,
+ "color": "dark_gray",
+ "snippet_category": [
+ {
+ "id": "death",
+ "text": "A short-sleeved cotton shirt with a death metal band's spidery, indecipherable logo printed on the front."
+ },
+ {
+ "id": "power",
+ "text": "A short-sleeved cotton shirt with a muscle-bound, long-haired man printed on the front. He is riding a red dragon and wielding a flaming sword with malicious glee."
+ },
+ {
+ "id": "thrash",
+ "text": "A short-sleeved cotton shirt with a gore-spattered, guitar-playing zombie printed on the front. It's rather tasteless in light of current events."
+ },
+ {
+ "id": "prog",
+ "text": "A short-sleeved cotton shirt with a pattern of complex geometric shapes and transcendental imagery printed on the front."
+ },
+ {
+ "id": "mohawk",
+ "text": "A short-sleeved cotton shirt with an image of a woman's face in portrait printed on the front. She is wearing a large blue mohawk, her face is set in a snarl."
+ },
+ {
+ "id": "nuwave",
+ "text": "A short-sleeved black cotton shirt with a stylised representation of a radio wave printed on the front."
+ },
+ {
+ "id": "an_punk",
+ "text": "A short-sleeved cotton shirt, it's front showing an image of an upside-down American flag covered in anarchist graffiti, its edges frayed and burned."
+ },
+ {
+ "id": "mil_punk",
+ "text": "A short-sleeved cotton shirt with an AK-47 on the front. It is held up by a clenched fist around its forestock, the fingers covered in crude looking tattoos."
+ }
+ ]
+ },
{
"id": "tunic",
"type": "ARMOR",
@@ -10304,6 +10516,70 @@
"techniques": [ "WBLOCK_1" ],
"flags": [ "OVERSIZE" ]
},
+ {
+ "id": "helmet_corinthian",
+ "type": "ARMOR",
+ "category": "armor",
+ "name": "Corinthian helm",
+ "description": "An ancient Greek bronze helmet that provides excellent protection for the head, with slits for the eyes and mouth.",
+ "weight": 1310,
+ "volume": 10,
+ "price": 30000,
+ "bashing": 10,
+ "material": [ "bronze" ],
+ "symbol": "[",
+ "color": "yellow",
+ "covers": [ "HEAD", "EYES", "MOUTH" ],
+ "coverage": 90,
+ "encumbrance": 30,
+ "warmth": 10,
+ "material_thickness": 3,
+ "techniques": [ "WBLOCK_1" ],
+ "flags": [ "VARSIZE", "STURDY" ]
+ },
+ {
+ "id": "armor_cuirass",
+ "type": "ARMOR",
+ "name": "bell cuirass",
+ "category": "armor",
+ "name_plural": "bell cuirasses",
+ "description": "An ancient Greek breastplate, made of bronze.",
+ "weight": 5896,
+ "volume": 24,
+ "price": 50000,
+ "to_hit": -5,
+ "bashing": 6,
+ "material": [ "bronze" ],
+ "symbol": "[",
+ "color": "yellow",
+ "covers": [ "TORSO" ],
+ "coverage": 90,
+ "encumbrance": 15,
+ "warmth": 15,
+ "material_thickness": 3,
+ "flags": [ "VARSIZE", "OUTER", "STURDY" ]
+ },
+ {
+ "id": "legguard_bronze",
+ "type": "ARMOR",
+ "category": "armor",
+ "name": "pair of bronze greaves",
+ "name_plural": "pairs of bronze greaves",
+ "description": "A pair of bronze leg guards with a simple leather lining.",
+ "weight": 2520,
+ "volume": 22,
+ "price": 40000,
+ "to_hit": 1,
+ "material": [ "bronze", "leather" ],
+ "symbol": "[",
+ "color": "yellow",
+ "covers": [ "LEGS" ],
+ "coverage": 70,
+ "encumbrance": 10,
+ "warmth": 15,
+ "material_thickness": 4,
+ "flags": [ "BELTED", "STURDY" ]
+ },
{
"id": "tarp",
"type": "ARMOR",
diff --git a/data/json/items/armor/boots.json b/data/json/items/armor/boots.json
index 352581bf84d41..4706e71f17108 100644
--- a/data/json/items/armor/boots.json
+++ b/data/json/items/armor/boots.json
@@ -345,6 +345,28 @@
"environmental_protection": 12,
"flags": [ "WATERPROOF" ]
},
+ {
+ "id": "boots_scrap",
+ "type": "ARMOR",
+ "category": "armor",
+ "name": "pair of scrap boots",
+ "name_plural": "pairs of scrap boots",
+ "description": "Boots made of random scraps.",
+ "weight": 1845,
+ "volume": 12,
+ "price": 12000,
+ "to_hit": -1,
+ "bashing": 4,
+ "material": [ "steel", "iron" ],
+ "symbol": "[",
+ "color": "light_gray",
+ "covers": [ "FEET" ],
+ "coverage": 80,
+ "encumbrance": 20,
+ "warmth": 20,
+ "material_thickness": 2,
+ "flags": [ "VARSIZE", "WATERPROOF" ]
+ },
{
"id": "boots_steel",
"type": "ARMOR",
diff --git a/data/json/items/armor/holster.json b/data/json/items/armor/holster.json
index c1a62dbab6489..0d78289c66f3d 100644
--- a/data/json/items/armor/holster.json
+++ b/data/json/items/armor/holster.json
@@ -86,7 +86,7 @@
"copy-from": "holster",
"type": "ARMOR",
"name": "deep concealment holster",
- "description": "An elastic band with numerous provisions for concealing a very small pistol close to the body. It is awkward to use without practice. Activate to holster/draw a gun.",
+ "description": "An elastic band with numerous provisions for concealing a very small pistol close to the body. It is awkward to use without practice. Activate to holster/draw a gun.",
"weight": 120,
"volume": 1,
"price": 3000,
diff --git a/data/json/items/armor/pets_horse_armor.json b/data/json/items/armor/pets_horse_armor.json
index 78906f7ae7548..4f85938b8ff06 100644
--- a/data/json/items/armor/pets_horse_armor.json
+++ b/data/json/items/armor/pets_horse_armor.json
@@ -1,26 +1,147 @@
-{
- "id": "saddlebag",
- "type": "ARMOR",
- "name": "saddle bags",
- "description": "A pair of covered pouches laid across the back of a horse behind the saddle.",
- "weight": 1000,
- "volume": 30,
- "price": 15000,
- "material": [
- "leather"
- ],
- "symbol": "[",
- "color": "green",
- "covers": [
- "HANDS"
- ],
- "coverage": 50,
- "encumbrance": 30,
- "storage": 120,
- "warmth": 10,
- "material_thickness": 2,
- "flags": [
- "BELTED",
- "WATER_FRIENDLY"
- ]
-}
+[
+ {
+ "type": "PET_ARMOR",
+ "id": "kevlar_armor_horse",
+ "symbol": "[",
+ "color": "yellow",
+ "name": "Kevlar-lined horse peto",
+ "description": "A heavy mattress-like armor of cloth, leather and thick linings of Kevlar, originally used as protection in bullfighting. You could put this on a friendly horse.",
+ "price": 50000,
+ "price_postapoc": 5000,
+ "material": [ "kevlar" ],
+ "weight": 30000,
+ "volume": 600,
+ "bashing": 10,
+ "to_hit": -3,
+ "flags": [ "IS_PET_ARMOR", "NO_SALVAGE" ],
+ "material_thickness": 2,
+ "max_pet_vol": "1000000 ml",
+ "min_pet_vol": "380000 ml",
+ "pet_bodytype": "horse"
+ },
+ {
+ "type": "PET_ARMOR",
+ "id": "acidchitin_armor_horse",
+ "copy-from": "kevlar_armor_horse",
+ "color": "green",
+ "name": "biosilicified chitin horse body armor",
+ "description": "A makeshift assembly of criniere, peytral and croupiere made from biosilicified chitin fitted to a thin mesh. You could put this on a friendly horse.",
+ "proportional": { "price": 1.67, "price_postapoc": 1.67, "weight": 1.15 },
+ "relative": { "environmental_protection": 7 },
+ "material": [ "acidchitin" ]
+ },
+ {
+ "type": "PET_ARMOR",
+ "id": "chitin_armor_horse",
+ "copy-from": "acidchitin_armor_horse",
+ "name": "chitin horse body armor",
+ "description": "A makeshift assembly of criniere, peytral and croupiere made from chitin fitted to a thin mesh. You could put this on a friendly horse.",
+ "relative": { "price": -15000, "price_postapoc": -1500, "environmental_protection": -3 },
+ "material": [ "chitin" ]
+ },
+ {
+ "type": "PET_ARMOR",
+ "id": "chainmail_armor_horse",
+ "copy-from": "kevlar_armor_horse",
+ "color": "light_red",
+ "name": "chainmail horse coat",
+ "description": "A heavy covering of chainmail, suitably made for horses as protection. You could put this on a friendly horse.",
+ "proportional": { "price": 0.83, "price_postapoc": 0.83, "weight": 1.3 },
+ "relative": { "material_thickness": -2 },
+ "material": [ "iron", "budget_steel" ]
+ },
+ {
+ "type": "PET_ARMOR",
+ "id": "leather_armor_horse",
+ "copy-from": "kevlar_armor_horse",
+ "color": "brown",
+ "name": "boiled leather horse barding with caparison",
+ "description": "A full barding for horses consisting of boiled leather and cloth undercovering. This caparison is depicting a battle between a monstrous dragon and regal griffin. You could put this on a friendly horse.",
+ "proportional": { "price": 0.58, "price_postapoc": 0.58, "weight": 0.5 },
+ "material": [ "cotton", "leather" ],
+ "snippet_category": [
+ {
+ "id": "battle",
+ "text": "A full barding for horses consisting of boiled leather and cloth undercovering. This caparison is depicting a battle between a monstrous dragon and regal griffin. You could put this on a friendly horse."
+ },
+ {
+ "id": "ancientdragon",
+ "text": "A full barding for horses consisting of boiled leather and cloth undercovering. This caparison is depicting a red dragon breathing fire on cities. You could put this on a friendly horse."
+ },
+ {
+ "id": "criticalbear",
+ "text": "A full barding for horses consisting of boiled leather and cloth undercovering. This caparison is depicting a bear on its hind legs and forelegs outstretched in a menacing manner. You could put this on a friendly horse."
+ },
+ {
+ "id": "orange",
+ "text": "A full barding for horses consisting of boiled leather and cloth undercovering. This caparison is depicting an assortment of fruits and vegetables with a very large orange featured in the foreground. You could put this on a friendly horse."
+ },
+ {
+ "id": "vulture",
+ "text": "A full barding for horses consisting of boiled leather and cloth undercovering. This caparison is depicting a massive vulture perched on a mountain. You could put this on a friendly horse."
+ },
+ {
+ "id": "direboar",
+ "text": "A full barding for horses consisting of boiled leather and cloth undercovering. This caparison is depicting the mythical Erymanthian boar in various artistic forms. You could put this on a friendly horse."
+ },
+ {
+ "id": "rycon",
+ "text": "A full barding for horses consisting of boiled leather and cloth undercovering. This caparison seems to be sponsored by Rycon Construction, with a tag line of \"From down under to your home, we play all the roles from start to finish!\". You could put this on a friendly horse."
+ },
+ {
+ "id": "coregentech",
+ "text": "A full barding for horses consisting of boiled leather and cloth undercovering. This caparison seems to be sponsored by Core Generator Tech, with a tag line of \"Providing power solutions from culinary to graphic design, we have the magic touch for your problems!\". You could put this on a friendly horse."
+ }
+ ]
+ },
+ {
+ "type": "PET_ARMOR",
+ "id": "leatherbone_armor_horse",
+ "copy-from": "leather_armor_horse",
+ "name": "boiled leather horse barding with bones",
+ "description": "Decorative bones affixed to leather horse barding to invoke fear in bandits and raiders and traders all! You could put this on a friendly horse.",
+ "relative": { "price": 1500, "price_postapoc": 150, "weight": 500 },
+ "material": [ "bone", "leather" ]
+ },
+ {
+ "type": "PET_ARMOR",
+ "id": "rubber_armor_horse",
+ "copy-from": "kevlar_armor_horse",
+ "color": "dark_gray",
+ "name": "horse rain sheet",
+ "description": "A thin plastic covering adapted for horses to protect from acid rain and other caustic sources. You could put this on a friendly horse.",
+ "proportional": { "price": 0.34, "price_postapoc": 0.34, "min_pet_vol": 0.6, "weight": 0.45 },
+ "relative": { "environmental_protection": 10, "material_thickness": -2 },
+ "material": [ "neoprene", "plastic" ]
+ },
+ {
+ "type": "PET_ARMOR",
+ "id": "superalloy_armor_horse",
+ "copy-from": "kevlar_armor_horse",
+ "color": "light_cyan",
+ "name": "superalloy crafted horse barding",
+ "description": "The latest fashion statement and protection for polo equestrians and ahistorical reenactor steeds alike, designed and manufactured by Land Dwarf Industries. You could put this on a friendly horse.",
+ "proportional": { "price": 100, "price_postapoc": 100, "min_pet_vol": 0.72, "weight": 0.72 },
+ "relative": { "environmental_protection": 10, "storage": 32 },
+ "material": [ "superalloy" ]
+ },
+ {
+ "id": "saddlebag",
+ "type": "ARMOR",
+ "name": "saddle bags",
+ "description": "A pair of covered pouches laid across the back of a horse behind the saddle.",
+ "weight": 1000,
+ "volume": 30,
+ "price": 15000,
+ "material": [ "leather" ],
+ "symbol": "[",
+ "color": "green",
+ "covers": [ "HANDS" ],
+ "coverage": 50,
+ "encumbrance": 30,
+ "storage": 120,
+ "warmth": 10,
+ "material_thickness": 2,
+ "flags": [ "BELTED", "WATER_FRIENDLY" ]
+ }
+]
diff --git a/data/json/items/bionics.json b/data/json/items/bionics.json
index 7ac94fc3ee069..816c69c3c56ce 100644
--- a/data/json/items/bionics.json
+++ b/data/json/items/bionics.json
@@ -142,7 +142,7 @@
"copy-from": "bionic_general",
"type": "BIONIC_ITEM",
"name": "Shotgun Arm CBM",
- "description": "Concealed in your left arm is a surgically integrated one-shot sawn-off shotgun barrel, that pops-up upon activation. Perfect in a pinch.",
+ "description": "Concealed in your left arm is a surgically integrated one-shot sawn-off shotgun barrel, that pops-up upon activation. Perfect in a pinch.",
"price": 220000,
"difficulty": 3
},
diff --git a/data/json/items/book/electronics.json b/data/json/items/book/electronics.json
index bc6eee5ed79de..9b016210e7b99 100644
--- a/data/json/items/book/electronics.json
+++ b/data/json/items/book/electronics.json
@@ -231,7 +231,7 @@
"type": "BOOK",
"name": "nurse bot schematics",
"name_plural": "nurse bot schematics",
- "description": "Bearing the logo of Uncanny, those are assembly plans, design specs, and technical drawings for the nurse bot. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
+ "description": "Bearing the logo of Uncanny, those are assembly plans, design specs, and technical drawings for the nurse bot. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
"copy-from": "schematics_generic"
},
{
@@ -239,7 +239,7 @@
"type": "BOOK",
"name": "police bot schematics",
"name_plural": "police bot schematics",
- "description": "Assembly plans, design specs, and technical drawings for the police bot. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
+ "description": "Assembly plans, design specs, and technical drawings for the police bot. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
"copy-from": "schematics_generic"
},
{
@@ -247,7 +247,7 @@
"type": "BOOK",
"name": "eyebot schematics",
"name_plural": "eyebot schematics",
- "description": "Assembly plans, design specs, and technical drawings for the eyebot. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
+ "description": "Assembly plans, design specs, and technical drawings for the eyebot. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
"copy-from": "schematics_generic"
},
{
@@ -255,7 +255,7 @@
"type": "BOOK",
"name": "security bot schematics",
"name_plural": "security bot schematics",
- "description": "Assembly plans, design specs, and technical drawings for the security bot. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
+ "description": "Assembly plans, design specs, and technical drawings for the security bot. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
"copy-from": "schematics_generic"
},
{
@@ -263,7 +263,7 @@
"type": "BOOK",
"name": "skitterbot schematics",
"name_plural": "skitterbot schematics",
- "description": "Assembly plans, design specs, and technical drawings for the skitterbot. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
+ "description": "Assembly plans, design specs, and technical drawings for the skitterbot. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
"copy-from": "schematics_generic"
},
{
@@ -271,7 +271,7 @@
"type": "BOOK",
"name": "chicken walker schematics",
"name_plural": "chicken walker schematics",
- "description": "Bearing the logo of Northrop, those are assembly plans, design specs, and technical drawings for the chicken walker. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
+ "description": "Bearing the logo of Northrop, those are assembly plans, design specs, and technical drawings for the chicken walker. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
"copy-from": "schematics_generic"
},
{
@@ -279,7 +279,7 @@
"type": "BOOK",
"name": "cleaner bot schematics",
"name_plural": "cleaner bot schematics",
- "description": "Assembly plans, design specs, and technical drawings for the cleaner bot. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
+ "description": "Assembly plans, design specs, and technical drawings for the cleaner bot. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
"copy-from": "schematics_generic"
},
{
@@ -287,7 +287,7 @@
"type": "BOOK",
"name": "miner bot schematics",
"name_plural": "miner bot schematics",
- "description": "Assembly plans, design specs, and technical drawings for the miner bot. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
+ "description": "Assembly plans, design specs, and technical drawings for the miner bot. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
"copy-from": "schematics_generic"
},
{
@@ -295,7 +295,7 @@
"type": "BOOK",
"name": "riot control bot schematics",
"name_plural": "riot control bot schematics",
- "description": "Assembly plans, design specs, and technical drawings for the riot control bot. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
+ "description": "Assembly plans, design specs, and technical drawings for the riot control bot. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
"copy-from": "schematics_generic"
},
{
@@ -303,7 +303,7 @@
"type": "BOOK",
"name": "lab defense bot schematics",
"name_plural": "lab defense bot schematics",
- "description": "Assembly plans, design specs, and technical drawings for the lab defense bot. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
+ "description": "Assembly plans, design specs, and technical drawings for the lab defense bot. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
"copy-from": "schematics_generic"
},
{
@@ -311,7 +311,7 @@
"type": "BOOK",
"name": "tank drone schematics",
"name_plural": "tank drone schematics",
- "description": "Bearing the logo of Northrop, those are assembly plans, design specs, and technical drawings for the tank drone. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
+ "description": "Bearing the logo of Northrop, those are assembly plans, design specs, and technical drawings for the tank drone. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
"copy-from": "schematics_generic"
},
{
@@ -319,7 +319,7 @@
"type": "BOOK",
"name": "tripod schematics",
"name_plural": "tripod schematics",
- "description": "Bearing the logo of Honda, those are assembly plans, design specs, and technical drawings for the tripod. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
+ "description": "Bearing the logo of Honda, those are assembly plans, design specs, and technical drawings for the tripod. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
"copy-from": "schematics_generic"
},
{
@@ -327,7 +327,7 @@
"type": "BOOK",
"name": "dispatch schematics",
"name_plural": "dispatch schematics",
- "description": "Bearing the logo of Northrop, those are assembly plans, design specs, and technical drawings for the dispatch. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
+ "description": "Bearing the logo of Northrop, those are assembly plans, design specs, and technical drawings for the dispatch. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
"copy-from": "schematics_generic"
},
{
@@ -335,7 +335,7 @@
"type": "BOOK",
"name": "military dispatch schematics",
"name_plural": "military dispatch schematics",
- "description": "Bearing the logo of Northrop, those are assembly plans, design specs, and technical drawings for the military dispatch. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
+ "description": "Bearing the logo of Northrop, those are assembly plans, design specs, and technical drawings for the military dispatch. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
"copy-from": "schematics_generic"
},
{
@@ -343,7 +343,7 @@
"type": "BOOK",
"name": "anti-materiel turret schematics",
"name_plural": "anti-materiel turret schematics",
- "description": "Assembly plans, design specs, and technical drawings for the anti-materiel turret. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
+ "description": "Assembly plans, design specs, and technical drawings for the anti-materiel turret. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
"copy-from": "schematics_generic"
},
{
@@ -351,7 +351,7 @@
"type": "BOOK",
"name": "milspec searchlight schematics",
"name_plural": "milspec searchlight schematics",
- "description": "Assembly plans, design specs, and technical drawings for the milspec searchlight. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
+ "description": "Assembly plans, design specs, and technical drawings for the milspec searchlight. Most of this is useless to you, but you could use the assembly plans to re-assemble the robot from salvaged parts.",
"copy-from": "schematics_generic"
}
]
diff --git a/data/json/items/book/martial.json b/data/json/items/book/martial.json
index ed84db4194f0c..4cc60f5ae14e7 100644
--- a/data/json/items/book/martial.json
+++ b/data/json/items/book/martial.json
@@ -5,7 +5,8 @@
"type": "GENERIC",
"name": "The Spirit of Aikido",
"name_plural": "The Spirit of Aikido",
- "description": "A complete guide to Aikido."
+ "description": "A complete guide to Aikido.",
+ "book_data": { "martial_art": "style_aikido" }
},
{
"id": "manual_boxing",
@@ -13,7 +14,8 @@
"type": "GENERIC",
"name": "Practical Pugilism",
"name_plural": "Practical Pugilism",
- "description": "A complete guide to boxing. Let's get ready to rough-up some ruffians!"
+ "description": "A complete guide to boxing. Let's get ready to rough-up some ruffians!",
+ "book_data": { "martial_art": "style_boxing" }
},
{
"id": "manual_capoeira",
@@ -21,7 +23,8 @@
"type": "GENERIC",
"name": "Capoeira 100",
"name_plural": "Capoeira 100",
- "description": "A complete guide to Capoeira."
+ "description": "A complete guide to Capoeira.",
+ "book_data": { "martial_art": "style_capoeira" }
},
{
"id": "manual_centipede",
@@ -29,7 +32,8 @@
"type": "GENERIC",
"name": "The Centipede Lu Feng",
"name_plural": "The Centipede Lu Feng",
- "description": "A complete guide to Centipede Kung Fu."
+ "description": "A complete guide to Centipede Kung Fu.",
+ "book_data": { "martial_art": "style_centipede" }
},
{
"id": "manual_crane",
@@ -37,7 +41,8 @@
"type": "GENERIC",
"name": "The Red Crane",
"name_plural": "The Red Crane",
- "description": "A complete guide to Crane Kung Fu."
+ "description": "A complete guide to Crane Kung Fu.",
+ "book_data": { "martial_art": "style_crane" }
},
{
"id": "manual_dragon",
@@ -45,7 +50,8 @@
"type": "GENERIC",
"name": "The Jade Dragon",
"name_plural": "The Jade Dragon",
- "description": "A complete guide to Dragon Kung Fu."
+ "description": "A complete guide to Dragon Kung Fu.",
+ "book_data": { "martial_art": "style_dragon" }
},
{
"id": "manual_eskrima",
@@ -53,7 +59,8 @@
"type": "GENERIC",
"name": "Practical Eskrima",
"name_plural": "Practical Eskrima",
- "description": "A complete guide to Eskrima."
+ "description": "A complete guide to Eskrima.",
+ "book_data": { "martial_art": "style_eskrima" }
},
{
"id": "manual_fencing",
@@ -61,7 +68,8 @@
"type": "GENERIC",
"name": "The Modern Swordsman",
"name_plural": "The Modern Swordsman",
- "description": "A complete guide to Fencing."
+ "description": "A complete guide to Fencing.",
+ "book_data": { "martial_art": "style_fencing" }
},
{
"id": "manual_judo",
@@ -69,7 +77,8 @@
"type": "GENERIC",
"name": "Kodokan Judo",
"name_plural": "Kodokan Judo",
- "description": "A complete guide to Judo."
+ "description": "A complete guide to Judo.",
+ "book_data": { "martial_art": "style_judo" }
},
{
"id": "manual_karate",
@@ -77,7 +86,8 @@
"type": "GENERIC",
"name": "The Shotokan Karate Handbook",
"name_plural": "The Shotokan Karate Handbook",
- "description": "A complete guide to Shotokan Karate."
+ "description": "A complete guide to Shotokan Karate.",
+ "book_data": { "martial_art": "style_karate" }
},
{
"id": "manual_krav_maga",
@@ -85,7 +95,8 @@
"type": "GENERIC",
"name": "Complete Krav Maga",
"name_plural": "Complete Krav Maga",
- "description": "A complete guide to Krav Maga."
+ "description": "A complete guide to Krav Maga.",
+ "book_data": { "martial_art": "style_krav_maga" }
},
{
"id": "manual_leopard",
@@ -93,7 +104,8 @@
"type": "GENERIC",
"name": "The Deaf Leopard",
"name_plural": "The Deaf Leopard",
- "description": "A complete guide to Leopard Kung Fu."
+ "description": "A complete guide to Leopard Kung Fu.",
+ "book_data": { "martial_art": "style_leopard" }
},
{
"id": "manual_lizard",
@@ -101,7 +113,8 @@
"type": "GENERIC",
"name": "The Lizard Kuo Chui",
"name_plural": "The Lizard Kuo Chui",
- "description": "A complete guide to Lizard Kung Fu."
+ "description": "A complete guide to Lizard Kung Fu.",
+ "book_data": { "martial_art": "style_lizard" }
},
{
"id": "manual_muay_thai",
@@ -109,7 +122,8 @@
"type": "GENERIC",
"name": "Ultimate Muay Thai",
"name_plural": "Ultimate Muay Thai",
- "description": "A complete guide to Muay Thai."
+ "description": "A complete guide to Muay Thai.",
+ "book_data": { "martial_art": "style_muay_thai" }
},
{
"id": "manual_ninjutsu",
@@ -117,7 +131,8 @@
"type": "GENERIC",
"name": "Essence of Ninjutsu",
"name_plural": "Essence of Ninjutsu",
- "description": "A complete guide to Ninjutsu."
+ "description": "A complete guide to Ninjutsu.",
+ "book_data": { "martial_art": "style_ninjutsu" }
},
{
"id": "manual_niten",
@@ -125,7 +140,8 @@
"type": "GENERIC",
"name": "The Book of Five Rings",
"name_plural": "The Book of Five Rings",
- "description": "A primer on Miyamoto Musashi's style of combat and philosophy, Niten Ichi-Ryu."
+ "description": "A primer on Miyamoto Musashi's style of combat and philosophy, Niten Ichi-Ryu.",
+ "book_data": { "martial_art": "style_niten" }
},
{
"id": "manual_pankration",
@@ -133,7 +149,8 @@
"type": "GENERIC",
"name": "The Modern Pankratiast",
"name_plural": "The Modern Pankratiast",
- "description": "A complete guide to Pankration."
+ "description": "A complete guide to Pankration.",
+ "book_data": { "martial_art": "style_pankration" }
},
{
"id": "manual_scorpion",
@@ -141,7 +158,8 @@
"type": "GENERIC",
"name": "The Scorpion Sun Chien",
"name_plural": "The Scorpion Sun Chien",
- "description": "A complete guide to Scorpion Kung Fu."
+ "description": "A complete guide to Scorpion Kung Fu.",
+ "book_data": { "martial_art": "style_scorpion" }
},
{
"id": "manual_silat",
@@ -149,7 +167,8 @@
"type": "GENERIC",
"name": "The Indonesian Warrior",
"name_plural": "The Indonesian Warrior",
- "description": "A complete guide to Pentjak Silat."
+ "description": "A complete guide to Pentjak Silat.",
+ "book_data": { "martial_art": "style_silat" }
},
{
"id": "manual_snake",
@@ -157,7 +176,8 @@
"type": "GENERIC",
"name": "The Black Snake",
"name_plural": "The Black Snake",
- "description": "A complete guide to Snake Kung Fu."
+ "description": "A complete guide to Snake Kung Fu.",
+ "book_data": { "martial_art": "style_snake" }
},
{
"id": "manual_taekwondo",
@@ -165,7 +185,8 @@
"type": "GENERIC",
"name": "Official Taekwondo Training Manual",
"name_plural": "Official Taekwondo Training Manual",
- "description": "A complete guide to Taekwondo."
+ "description": "A complete guide to Taekwondo.",
+ "book_data": { "martial_art": "style_taekwondo" }
},
{
"id": "manual_tai_chi",
@@ -173,7 +194,8 @@
"type": "GENERIC",
"name": "Becoming One with the Tao",
"name_plural": "Becoming One with the Tao",
- "description": "A complete guide to T'ai Chi Ch'uan."
+ "description": "A complete guide to T'ai Chi Ch'uan.",
+ "book_data": { "martial_art": "style_tai_chi" }
},
{
"id": "manual_tiger",
@@ -181,7 +203,8 @@
"type": "GENERIC",
"name": "The White Tiger",
"name_plural": "The White Tiger",
- "description": "A complete guide to Tiger Kung Fu."
+ "description": "A complete guide to Tiger Kung Fu.",
+ "book_data": { "martial_art": "style_tiger" }
},
{
"id": "manual_toad",
@@ -189,7 +212,8 @@
"type": "GENERIC",
"name": "The Toad Lo Mang",
"name_plural": "The Toad Lo Mang",
- "description": "A complete guide to Toad Kung Fu."
+ "description": "A complete guide to Toad Kung Fu.",
+ "book_data": { "martial_art": "style_toad" }
},
{
"id": "manual_venom_snake",
@@ -197,7 +221,8 @@
"type": "GENERIC",
"name": "The Viper Wei Pai",
"name_plural": "The Viper Wei Pai",
- "description": "A complete guide to Viper Kung Fu."
+ "description": "A complete guide to Viper Kung Fu.",
+ "book_data": { "martial_art": "style_venom_snake" }
},
{
"id": "manual_zui_quan",
@@ -205,7 +230,8 @@
"type": "GENERIC",
"name": "Zui Quan and You",
"name_plural": "Zui Quan and You",
- "description": "A complete guide to Zui Quan."
+ "description": "A complete guide to Zui Quan.",
+ "book_data": { "martial_art": "style_zui_quan" }
},
{
"id": "manual_sojutsu",
@@ -213,7 +239,8 @@
"type": "GENERIC",
"name": "The Way of the Spear",
"name_plural": "The Way of the Spear",
- "description": "A complete guide to Sōjutsu."
+ "description": "A complete guide to Sōjutsu.",
+ "book_data": { "martial_art": "style_sojutsu" }
},
{
"id": "manual_wingchun",
@@ -221,6 +248,16 @@
"type": "GENERIC",
"name": "Beautiful Springtime",
"name_plural": "Beautiful Springtime",
- "description": "A complete guide to Wing Chun Kung-fu. Includes a section on butterfly swords and the use of long poles at the end."
+ "description": "A complete guide to Wing Chun Kung-fu. Includes a section on butterfly swords and the use of long poles at the end.",
+ "book_data": { "martial_art": "style_wingchun" }
+ },
+ {
+ "id": "manual_swordsmanship",
+ "copy-from": "book_martial",
+ "type": "GENERIC",
+ "name": "Historic European Swordfighting",
+ "name_plural": "Historic European Swordfighting",
+ "description": "A complete guide to medieval swordsmanship. Compares the German and Italian traditions for longsword and side sword, in and out of armor, with and without shield.",
+ "book_data": { "martial_art": "style_swordsmanship" }
}
]
diff --git a/data/json/items/chemicals_and_resources.json b/data/json/items/chemicals_and_resources.json
index 2d99e0702c550..c2654317ad370 100644
--- a/data/json/items/chemicals_and_resources.json
+++ b/data/json/items/chemicals_and_resources.json
@@ -1192,7 +1192,7 @@
"type": "GENERIC",
"category": "other",
"name": "sandbag",
- "description": "This is a canvas sack filled with sand. It can be used to construct simple barricades.",
+ "description": "This is a canvas sack filled with sand. It can be used to construct simple barricades.",
"weight": 24415,
"volume": "16L",
"price": 0,
@@ -1207,7 +1207,7 @@
"type": "GENERIC",
"category": "other",
"name": "earthbag",
- "description": "This is a canvas sack filled with soil. It can be used to construct simple barricades.",
+ "description": "This is a canvas sack filled with soil. It can be used to construct simple barricades.",
"weight": 19500,
"volume": "16L",
"price": 0,
diff --git a/data/json/items/classes/gun.json b/data/json/items/classes/gun.json
index 9cbd22f962528..6a47d8956de1f 100644
--- a/data/json/items/classes/gun.json
+++ b/data/json/items/classes/gun.json
@@ -28,7 +28,7 @@
"name": "base launcher",
"skill": "launcher",
"modes": [ [ "DEFAULT", "single", 1, "NPC_AVOID" ] ],
- "valid_mod_locations": [ [ "accessories", 2 ], [ "barrel", 1 ], [ "sights", 1 ] ],
+ "valid_mod_locations": [ [ "accessories", 2 ], [ "barrel", 1 ], [ "sights", 1 ], [ "sling", 1 ] ],
"flags": [ "RELOAD_ONE", "RELOAD_EJECT", "NEVER_JAMS" ]
},
{
@@ -58,7 +58,19 @@
"type": "GUN",
"name": "backup pistol",
"//": "diminuitive backup pistols that lack underbarrel rails, sight dovetails and decent places to affix stocks.",
- "valid_mod_locations": [ [ "accessories", 2 ], [ "barrel", 1 ], [ "bore", 1 ], [ "grip", 1 ], [ "mechanism", 2 ] ]
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "barrel", 1 ],
+ [ "bore", 1 ],
+ [ "brass catcher", 1 ],
+ [ "grip", 1 ],
+ [ "mechanism", 2 ],
+ [ "muzzle", 1 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "stock mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ]
},
{
"abstract": "pistol_revolver",
@@ -75,7 +87,9 @@
[ "grip", 1 ],
[ "mechanism", 4 ],
[ "sights", 1 ],
- [ "stock", 1 ]
+ [ "stock", 1 ],
+ [ "rail mount", 1 ],
+ [ "underbarrel mount", 1 ]
]
},
{
diff --git a/data/json/items/comestibles/dairy.json b/data/json/items/comestibles/dairy.json
index 11670357ddfdc..a08d07036603f 100644
--- a/data/json/items/comestibles/dairy.json
+++ b/data/json/items/comestibles/dairy.json
@@ -1,4 +1,73 @@
[
+ {
+ "type": "COMESTIBLE",
+ "id": "milk_raw",
+ "name": "raw milk",
+ "name_plural": "raw milk",
+ "copy-from": "milk",
+ "spoils_in": "12 hours",
+ "price": 19,
+ "calories": 150,
+ "parasites": 11,
+ "description": "This is raw, unhomogenized and unpasteurized milk from a cow. It couldn't be any fresher unless you drank it straight from the cow, which might upset it. Depending on your dietary sensibilities, you might want to pasteurize or even boil this before drinking."
+ },
+ {
+ "type": "COMESTIBLE",
+ "id": "milk_UHT",
+ "name": "shelf stable milk",
+ "name_plural": "shelf stable milk",
+ "spoils_in": "2 d",
+ "copy-from": "milk",
+ "container": "carton_sealed",
+ "description": "This is milk that has been pasteurized at much higher temperatures than normal. It tastes slightly different, but, unopened, will last far longer than regular milk.",
+ "price": 50
+ },
+ {
+ "type": "COMESTIBLE",
+ "id": "milk_evap",
+ "name": "evaporated milk",
+ "name_plural": "evaporated milk",
+ "weight": 20,
+ "color": "white",
+ "spoils_in": "1 day",
+ "container": "can_food",
+ "comestible_type": "DRINK",
+ "symbol": "~",
+ "quench": 25,
+ "healthy": 1,
+ "calories": 132,
+ "description": "Milk that's had about 60% of its water removed prior to canning.",
+ "price": 38,
+ "material": [ "milk" ],
+ "volume": 1,
+ "phase": "liquid",
+ "flags": [ "EATEN_COLD" ],
+ "vitamins": [ [ "vitA", 10 ], [ "vitC", 4 ], [ "calcium", 25 ] ],
+ "fun": 1
+ },
+ {
+ "type": "COMESTIBLE",
+ "id": "buttermilk",
+ "name": "buttermilk",
+ "name_plural": "buttermilk",
+ "weight": 258,
+ "color": "white",
+ "spoils_in": "2 d",
+ "container": "bottle_plastic",
+ "comestible_type": "DRINK",
+ "symbol": "~",
+ "quench": 20,
+ "healthy": 2,
+ "calories": 1,
+ "description": "This is cultured milk defatted either due to churning or curdling. Spoils quickly.",
+ "price": 1,
+ "material": [ "milk" ],
+ "volume": 1,
+ "phase": "liquid",
+ "flags": [ "EATEN_COLD" ],
+ "fun": "0",
+ "vitamins": [ [ "vitA", 1 ], [ "vitC", 1 ], [ "calcium", 1 ] ]
+ },
{
"type": "COMESTIBLE",
"id": "yoghurt",
@@ -19,6 +88,41 @@
"fun": 15,
"vitamins": [ [ "vitA", 2 ], [ "vitC", 3 ], [ "calcium", 33 ], [ "iron", 1 ] ]
},
+ {
+ "type": "COMESTIBLE",
+ "id": "butter",
+ "name": "butter",
+ "name_plural": "butter",
+ "weight": 14.18,
+ "color": "yellow",
+ "spoils_in": "14 days",
+ "comestible_type": "FOOD",
+ "symbol": "%",
+ "quench": -1,
+ "calories": 101,
+ "container": "wrapper",
+ "description": "A yellow stick of milkfat and milk solids, usually made from cow's milk.",
+ "price": 300,
+ "material": [ "milk" ],
+ "volume": 2,
+ "charges": 32,
+ "vitamins": [ [ "vitA", 7 ] ],
+ "fun": -1
+ },
+ {
+ "type": "COMESTIBLE",
+ "id": "ghee",
+ "name": "ghee",
+ "name_plural": "ghee",
+ "copy-from": "butter",
+ "weight": 13.5,
+ "spoils_in": "90 days",
+ "container": "jar_glass_sealed",
+ "calories": 112,
+ "description": "Clarified butter, free from milk solids and water. Will last a very long time.",
+ "price": 420,
+ "phase": "liquid"
+ },
{
"type": "COMESTIBLE",
"id": "pudding",
@@ -145,5 +249,28 @@
"charges": 10,
"vitamins": [ [ "vitA", 3 ], [ "vitC", 1 ], [ "calcium", 7 ] ],
"fun": -5
+ },
+ {
+ "type": "COMESTIBLE",
+ "id": "con_milk",
+ "name": "condensed milk",
+ "name_plural": "condensed milk",
+ "weight": 32,
+ "color": "white",
+ "spoils_in": "1 day",
+ "container": "can_food",
+ "comestible_type": "DRINK",
+ "symbol": "~",
+ "quench": 12,
+ "calories": 103,
+ "description": "Cow's milk that has been partly dehydrated to vastly increase its shelf life, and also sweetened.",
+ "price": 70,
+ "material": [ "milk", "junk" ],
+ "primary_material": "milk",
+ "volume": 1,
+ "phase": "liquid",
+ "charges": 10,
+ "vitamins": [ [ "vitA", 2 ], [ "vitC", 1 ], [ "calcium", 7 ] ],
+ "fun": 3
}
]
diff --git a/data/json/items/comestibles/drink.json b/data/json/items/comestibles/drink.json
index 3ee266e39c33c..a57d632bca928 100644
--- a/data/json/items/comestibles/drink.json
+++ b/data/json/items/comestibles/drink.json
@@ -166,7 +166,6 @@
"name": "chocolate drink",
"weight": 236,
"color": "brown",
- "stim": 2,
"container": "can_drink",
"comestible_type": "DRINK",
"symbol": "~",
@@ -212,7 +211,6 @@
"name_plural": "coffee substitute",
"weight": 250,
"color": "brown",
- "stim": 4,
"container": "bottle_plastic",
"comestible_type": "DRINK",
"symbol": "~",
@@ -355,7 +353,6 @@
"name_plural": "crispy cranberries",
"weight": 250,
"color": "pink",
- "stim": 1,
"container": "can_drink",
"comestible_type": "DRINK",
"symbol": "~",
@@ -378,9 +375,6 @@
"name_plural": "dandelion tea",
"weight": 252,
"color": "yellow",
- "addiction_type": "caffeine",
- "use_action": "CAFF",
- "stim": 1,
"comestible_type": "DRINK",
"symbol": "~",
"quench": 48,
@@ -465,9 +459,6 @@
"name_plural": "herbal tea",
"weight": 250,
"color": "green",
- "addiction_type": "caffeine",
- "use_action": "CAFF",
- "stim": 1,
"container": "bottle_plastic",
"comestible_type": "DRINK",
"symbol": "~",
@@ -583,7 +574,6 @@
"name": "lemon-lime soda",
"weight": 258,
"color": "yellow",
- "stim": 2,
"container": "can_drink",
"comestible_type": "DRINK",
"symbol": "~",
@@ -735,7 +725,6 @@
"name": "orange soda",
"weight": 248,
"color": "yellow",
- "stim": 2,
"container": "can_drink",
"comestible_type": "DRINK",
"symbol": "~",
@@ -801,7 +790,6 @@
"name_plural": "root beer",
"weight": 260,
"color": "brown",
- "stim": 1,
"container": "can_drink",
"comestible_type": "DRINK",
"symbol": "~",
@@ -868,7 +856,6 @@
"name_plural": "sweet water",
"weight": 260,
"color": "light_cyan",
- "stim": 1,
"container": "bottle_plastic",
"comestible_type": "DRINK",
"symbol": "~",
diff --git a/data/json/items/comestibles/egg.json b/data/json/items/comestibles/egg.json
index fd381d2892b29..e9787f0295a5f 100644
--- a/data/json/items/comestibles/egg.json
+++ b/data/json/items/comestibles/egg.json
@@ -3,7 +3,7 @@
"type": "COMESTIBLE",
"id": "egg_bird",
"name": "bird egg",
- "weight": 50,
+ "weight": 57,
"color": "brown",
"spoils_in": "7 days",
"comestible_type": "FOOD",
@@ -12,10 +12,10 @@
"healthy": 1,
"calories": 80,
"description": "Nutritious egg laid by a bird.",
- "price": 250,
+ "price": 44,
"material": "egg",
- "volume": "62 ml",
- "stack_size": 4,
+ "volume": "50 ml",
+ "stack_size": 1,
"fun": -8,
"flags": [ "FREEZERBURN" ],
"rot_spawn": "GROUP_EGG_BIRD_WILD",
diff --git a/data/json/items/comestibles/junkfood.json b/data/json/items/comestibles/junkfood.json
index 67b190f43f7ae..ec47f6145511e 100644
--- a/data/json/items/comestibles/junkfood.json
+++ b/data/json/items/comestibles/junkfood.json
@@ -14,7 +14,7 @@
"description": "Dry toaster pastries usually coated with solid frosting and what luck! These are strawberry flavored!",
"price": 400,
"material": [ "wheat", "junk" ],
- "volume": 5,
+ "volume": "1 L",
"charges": 8,
"flags": [ "EATEN_HOT" ],
"vitamins": [ [ "vitA", 3 ], [ "iron", 10 ] ],
@@ -823,38 +823,19 @@
},
{
"type": "COMESTIBLE",
- "id": "frozen_burrito",
- "name": "uncooked burrito",
+ "id": "junk_burrito",
+ "name": "microwave burrito",
"weight": 142,
"color": "brown",
- "spoils_in": "11 days 16 hours",
+ "spoils_in": "2 days 12 hours",
"container": "bag_plastic",
"comestible_type": "FOOD",
"symbol": "%",
"quench": -12,
"healthy": -2,
- "calories": 130,
- "description": "A small, microwaveable steak & cheese burrito, like those found at gas stations. Not as appetizing or nutritious as it would be if heated up.",
- "price": 200,
- "material": [ "flesh", "junk", "milk" ],
- "primary_material": "processed_food",
- "volume": 1,
- "fun": -3
- },
- {
- "type": "COMESTIBLE",
- "id": "cooked_burrito",
- "name": "cooked burrito",
- "weight": 142,
- "color": "brown",
- "spoils_in": "2 days 12 hours",
- "comestible_type": "FOOD",
- "symbol": "%",
- "quench": -12,
- "healthy": -1,
"calories": 434,
- "description": "A small, microwaveable steak & cheese burrito, like those found at gas stations. It's tastier and more filling, but will also spoil quickly.",
- "price": 90,
+ "description": "A small, microwaveable steak & cheese burrito, like those found at gas stations.",
+ "price": 200,
"material": [ "flesh", "junk", "milk" ],
"primary_material": "processed_food",
"volume": 1,
diff --git a/data/json/items/comestibles/meat_dishes.json b/data/json/items/comestibles/meat_dishes.json
index c1470202cd298..2bfbdd5833280 100644
--- a/data/json/items/comestibles/meat_dishes.json
+++ b/data/json/items/comestibles/meat_dishes.json
@@ -465,7 +465,7 @@
"name": "hamburger helper",
"weight": 170,
"color": "red",
- "spoils_in": "10 hours",
+ "spoils_in": "1 day",
"container": "box_small",
"comestible_type": "FOOD",
"symbol": "%",
@@ -1097,5 +1097,25 @@
"flags": [ "EATEN_HOT" ],
"fun": 6,
"vitamins": [ [ "vitC", 3 ], [ "calcium", 2 ], [ "iron", 15 ] ]
+ },
+ {
+ "type": "COMESTIBLE",
+ "id": "homemade_burrito",
+ "name": "homemade burrito",
+ "weight": 142,
+ "color": "brown",
+ "spoils_in": "1 days 4 hours",
+ "comestible_type": "FOOD",
+ "symbol": "%",
+ "quench": -8,
+ "calories": 292,
+ "description": "A traditional Mexican dish of meat and vegetable stuffing put on a corn tortilla and rolled into a tube shape, like those you find in gas stations but homemade and delicious!",
+ "price": 700,
+ "material": [ "flesh", "veggy" ],
+ "volume": 1,
+ "charges": 3,
+ "flags": [ "EATEN_HOT" ],
+ "fun": 7,
+ "vitamins": [ [ "vitC", 3 ], [ "calcium", 19 ], [ "iron", 12 ] ]
}
]
diff --git a/data/json/items/comestibles/nuts.json b/data/json/items/comestibles/nuts.json
index 92f1afff1a12f..0b04c75ffe764 100644
--- a/data/json/items/comestibles/nuts.json
+++ b/data/json/items/comestibles/nuts.json
@@ -34,7 +34,7 @@
"quench": -2,
"healthy": 1,
"calories": 22,
- "description": "Junipers, for making gin and earthy flavors. Spicy, tastes similar to rosemary.",
+ "description": "Junipers, for making gin and earthy flavors. Spicy, tastes similar to rosemary.",
"price": 400,
"material": "fruit",
"volume": 1,
@@ -283,7 +283,7 @@
{
"type": "COMESTIBLE",
"id": "hazelnut_unshelled",
- "name": "handful of hazelnuts",
+ "name": "handful of shelled hazelnuts",
"name_plural": "handfuls of shelled hazelnuts",
"weight": 30,
"color": "brown",
diff --git a/data/json/items/comestibles/offal_dishes.json b/data/json/items/comestibles/offal_dishes.json
index ffc73671e82cc..5f1d7257e15fb 100644
--- a/data/json/items/comestibles/offal_dishes.json
+++ b/data/json/items/comestibles/offal_dishes.json
@@ -95,7 +95,7 @@
"quench": 2,
"healthy": 1,
"fun": 3,
- "description": "Stomach lining, cut up and stewed for an hour in broth. Better than it sounds.",
+ "description": "Stomach lining, cut up and stewed for an hour in broth. Better than it sounds.",
"material": [ "flesh" ],
"primary_material": "flesh",
"color": "brown",
diff --git a/data/json/items/comestibles/other.json b/data/json/items/comestibles/other.json
index deaa49e80e2d7..f787d6393c4d6 100644
--- a/data/json/items/comestibles/other.json
+++ b/data/json/items/comestibles/other.json
@@ -410,7 +410,7 @@
"quench": -10,
"healthy": 1,
"calories": 230,
- "description": "A humble but nutrient-rich legume. Should be cooked prior to consumption.",
+ "description": "A humble but nutrient-rich legume. Should be cooked prior to consumption.",
"price": 20,
"material": "veggy",
"volume": 1,
@@ -429,7 +429,7 @@
"color": "light_gray",
"spoils_in": "5 days",
"quench": 1,
- "description": "Some delicious cooked lentils. Humble but nutrient-rich.",
+ "description": "Some delicious cooked lentils. Humble but nutrient-rich.",
"price": 0,
"volume": 1,
"fun": 1,
diff --git a/data/json/items/comestibles/seed.json b/data/json/items/comestibles/seed.json
index 4547dfad092de..3112696349551 100644
--- a/data/json/items/comestibles/seed.json
+++ b/data/json/items/comestibles/seed.json
@@ -431,8 +431,8 @@
"type": "COMESTIBLE",
"id": "seed_beans",
"copy-from": "seed",
- "name": "raw beans",
- "name_plural": "raw beans",
+ "name": "bean seeds",
+ "name_plural": "bean seeds",
"weight": 194,
"symbol": "%",
"description": "Raw, uncooked beans, ready for planting.",
diff --git a/data/json/items/comestibles/soup.json b/data/json/items/comestibles/soup.json
index a69990aa23ddf..2ad5ff26126d6 100644
--- a/data/json/items/comestibles/soup.json
+++ b/data/json/items/comestibles/soup.json
@@ -10,7 +10,7 @@
"comestible_type": "DRINK",
"symbol": "~",
"quench": 30,
- "calories": 90,
+ "calories": 13,
"description": "Vegetable stock. Tasty and fairly nutritious.",
"price": 350,
"material": "veggy",
diff --git a/data/json/items/containers.json b/data/json/items/containers.json
index f38e568501545..782e5584f45b2 100644
--- a/data/json/items/containers.json
+++ b/data/json/items/containers.json
@@ -384,6 +384,38 @@
"unseals_into": "null",
"qualities": [ [ "CONTAIN", 1 ], [ "BOIL", 2 ] ]
},
+ {
+ "id": "carton_sealed",
+ "type": "CONTAINER",
+ "category": "other",
+ "name": "paper carton",
+ "description": "A half gallon carton constructed of a paper, aluminum and plastic laminate. It has a threaded cap for easy resealing.",
+ "weight": 28,
+ "volume": 8,
+ "price": 0,
+ "to_hit": 1,
+ "material": [ "plastic", "aluminum", "paper" ],
+ "symbol": ")",
+ "color": "light_cyan",
+ "contains": 8,
+ "watertight": true,
+ "preserves": true,
+ "unseals_into": "carton_unsealed"
+ },
+ {
+ "id": "carton_unsealed",
+ "copy-from": "carton_sealed",
+ "type": "CONTAINER",
+ "name": "opened paper carton",
+ "description": "A half gallon carton constructed of a paper, aluminum and plastic laminate. This one is open and its contents will spoil.",
+ "symbol": ")",
+ "color": "light_blue",
+ "preserves": false,
+ "seals": true,
+ "watertight": true,
+ "unseals_into": "null",
+ "qualities": [ [ "CONTAIN", 1 ] ]
+ },
{
"id": "plastic_bag_vac",
"type": "CONTAINER",
@@ -594,7 +626,7 @@
"type": "CONTAINER",
"category": "other",
"name": "beaker",
- "description": "A 250ml laboratory beaker. Basically a cup with delusions of grandeur.",
+ "description": "A 250ml laboratory beaker. Basically a cup with delusions of grandeur.",
"weight": 150,
"volume": "250ml",
"price": 500,
@@ -612,7 +644,7 @@
"type": "CONTAINER",
"category": "other",
"name": "graduated cylinder",
- "description": "A tall, narrow glass cylinder with precise markings for measuring fluid quantities. An important science tool, it is also useful for anal retentive chefs.",
+ "description": "A tall, narrow glass cylinder with precise markings for measuring fluid quantities. An important science tool, it is also useful for anal retentive chefs.",
"weight": 150,
"volume": "100ml",
"price": 500,
@@ -630,7 +662,7 @@
"type": "CONTAINER",
"category": "other",
"name": "microcentrifuge tube",
- "description": "These plastic tubes, with little built in snap-caps, are a great way to store a tiny amount of liquid. Great for jello shooters if 1mL is enough for a shot for you. Cool people call these \"eppies\".",
+ "description": "These plastic tubes, with little built in snap-caps, are a great way to store a tiny amount of liquid. Great for jello shooters if 1mL is enough for a shot for you. Cool people call these \"eppies\".",
"weight": 1,
"volume": "1ml",
"price": 10,
@@ -1050,7 +1082,7 @@
"type": "CONTAINER",
"category": "other",
"name": "condom",
- "description": "A gentleman's balloon. A single use life preventer. A thumbless latex mitten. This could be used as a makeshift water container, but otherwise it's anyone's guess what it's for.",
+ "description": "A gentleman's balloon. A single use life preventer. A thumbless latex mitten. This could be used as a makeshift water container, but otherwise it's anyone's guess what it's for.",
"weight": 5,
"volume": 0,
"price": 0,
diff --git a/data/json/items/crossbows.json b/data/json/items/crossbows.json
index b2544408bd056..25fcb894b389f 100644
--- a/data/json/items/crossbows.json
+++ b/data/json/items/crossbows.json
@@ -297,7 +297,17 @@
"durability": 6,
"clip_size": 1,
"reload": 500,
- "valid_mod_locations": [ [ "accessories", 4 ], [ "grip", 1 ], [ "mechanism", 4 ], [ "sling", 1 ], [ "stock", 1 ], [ "dampening", 1 ] ]
+ "valid_mod_locations": [
+ [ "accessories", 4 ],
+ [ "grip", 1 ],
+ [ "mechanism", 4 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "dampening", 1 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ]
},
{
"id": "compositecrossbow",
diff --git a/data/json/items/generic.json b/data/json/items/generic.json
index 6870fe89313cd..a70df49525c38 100644
--- a/data/json/items/generic.json
+++ b/data/json/items/generic.json
@@ -109,6 +109,20 @@
"volume": 1,
"flags": [ "TRADER_AVOID" ]
},
+ {
+ "type": "GENERIC",
+ "id": "fp_loyalty_card",
+ "category": "other",
+ "symbol": "-",
+ "color": "pink",
+ "name": "foodplace loyalty card",
+ "description": "A bright pink loyalty card, all the points are stamped. This would definitely prove your fidelity to Foodplace, if it still meant anything...",
+ "price": 0,
+ "material": "paper",
+ "flags": "TRADER_AVOID",
+ "weight": 3,
+ "volume": 0
+ },
{
"type": "GENERIC",
"id": "withered",
@@ -1683,7 +1697,7 @@
"to_hit": -2
},
{
- "type": "GENERIC",
+ "type": "TOOL",
"id": "glass_shard",
"symbol": ",",
"color": "light_cyan",
@@ -1699,7 +1713,7 @@
"trap": "tr_glass",
"moves": 150,
"practice": 2,
- "done_message": "You carefuly place the shards on the ground, ready to be cracked by something passing by."
+ "done_message": "You carefully place the shards on the ground, ready to be cracked by something passing by."
},
"flags": [ "HURT_WHEN_WIELDED", "HURT_WHEN_PULLED", "TRADER_AVOID" ],
"to_hit": -1
@@ -3129,5 +3143,18 @@
"weight": 4500,
"volume": 12,
"bashing": 8
+ },
+ {
+ "type": "GENERIC",
+ "id": "amplifier_head",
+ "symbol": ";",
+ "color": "blue",
+ "name": "amplifier head",
+ "description": "An amplifier head. Typically paired with a speaker cabinet for amplifying musical instruments. Basically only good for spare parts now.",
+ "price": 25000,
+ "price_postapoc": 2000,
+ "material": [ "steel", "plastic", "wood" ],
+ "weight": 11339,
+ "volume": 12
}
]
diff --git a/data/json/items/generic/casing.json b/data/json/items/generic/casing.json
index dc875824bded6..2a83c33605db0 100644
--- a/data/json/items/generic/casing.json
+++ b/data/json/items/generic/casing.json
@@ -37,6 +37,15 @@
"weight": 7,
"volume": "10ml"
},
+ {
+ "id": "270win_casing",
+ "copy-from": "casing",
+ "type": "GENERIC",
+ "name": ".270 Winchester casing",
+ "description": "An empty casing from a .270 Winchester round.",
+ "weight": 7,
+ "volume": "10ml"
+ },
{
"id": "300_casing",
"copy-from": "casing",
@@ -82,6 +91,15 @@
"weight": 3,
"volume": "4ml"
},
+ {
+ "id": "38super_casing",
+ "copy-from": "casing",
+ "type": "GENERIC",
+ "name": ".38 Super casing",
+ "description": "An empty casing from a .38 Super round.",
+ "weight": 3,
+ "volume": "4ml"
+ },
{
"id": "40_casing",
"copy-from": "casing",
@@ -91,6 +109,15 @@
"weight": 3,
"volume": "5ml"
},
+ {
+ "id": "10mm_casing",
+ "copy-from": "casing",
+ "type": "GENERIC",
+ "name": "10mm Auto casing",
+ "description": "An empty casing from a 10mm Auto round.",
+ "weight": 3,
+ "volume": "5ml"
+ },
{
"id": "40mm_casing",
"type": "GENERIC",
@@ -130,6 +157,15 @@
"weight": 4,
"volume": "6ml"
},
+ {
+ "id": "45colt_casing",
+ "copy-from": "casing",
+ "type": "GENERIC",
+ "name": ".45 Colt casing",
+ "description": "An empty casing from a .45 Colt round.",
+ "weight": 4,
+ "volume": "6ml"
+ },
{
"id": "4570_casing",
"copy-from": "casing",
@@ -298,5 +334,19 @@
"symbol": "=",
"color": "red",
"damage_states": [ 0, 0 ]
+ },
+ {
+ "id": "410shot_hull",
+ "type": "GENERIC",
+ "category": "spare_parts",
+ "name": ".410 hull",
+ "description": "An empty hull from a .410 shotgun shell.",
+ "weight": 8,
+ "volume": "12ml",
+ "stackable": true,
+ "material": "plastic",
+ "symbol": "=",
+ "color": "red",
+ "damage_states": [ 0, 0 ]
}
]
diff --git a/data/json/items/generic/currency.json b/data/json/items/generic/currency.json
index 1bf3c687246c9..7ed668128122c 100644
--- a/data/json/items/generic/currency.json
+++ b/data/json/items/generic/currency.json
@@ -5,7 +5,7 @@
"name": "Merch",
"description": "The Free Merchant Certified Note, also known by names such as a 'c-note' or 'merch', is a currency based on old American bills. Fifty dollar bills and larger are printed with a promissory note signed by the treasurer of the Free Merchants, along with a complex design. The note explains that this can be exchanged for food, water, and other services through the Free Merchants in the Refugee Center.",
"price": 5000,
- "price_postapoc": 1500,
+ "price_postapoc": 320,
"//": "$50 bills have substantial pre-Cataclysm value, but are worth 1 meat jerky",
"weight": 1,
"to_hit": -3,
@@ -34,7 +34,7 @@
"name": "FlatCoin",
"description": "This is a coin that has been flattened in a novelty coin flattening machine. The machine has been somewhat crudely altered so that the design - which appears to once have been Mickey Mouse - is overlayed with a handwritten emblem of a book. There is some text that faintly reads 'Campus Exchange Token'.",
"price": 5,
- "price_postapoc": 1500,
+ "price_postapoc": 320,
"weight": 18,
"to_hit": -3,
"color": "brown",
diff --git a/data/json/items/generic/string.json b/data/json/items/generic/string.json
index 056287b015767..011bd7b2c1aa6 100644
--- a/data/json/items/generic/string.json
+++ b/data/json/items/generic/string.json
@@ -44,7 +44,7 @@
"copy-from": "rope_30",
"type": "GENERIC",
"name": "vine",
- "description": "A sturdy 30-foot long vine. Could easily be used as a rope, but can't be disassembled. Strong enough to suspend a large corpse for butchering.",
+ "description": "A sturdy 30-foot long vine. Could easily be used as a rope, but can't be disassembled. Strong enough to suspend a large corpse for butchering.",
"material": "veggy",
"color": "light_green"
},
diff --git a/data/json/items/grenades.json b/data/json/items/grenades.json
index 6a1d93495b497..fe8e639231500 100644
--- a/data/json/items/grenades.json
+++ b/data/json/items/grenades.json
@@ -80,8 +80,9 @@
"use_action": {
"type": "explosion",
"no_deactivate_msg": "You've already pulled the %s's pin; try throwing it instead.",
- "explosion": { "power": 165, "distance_factor": 0.8, "shrapnel": { "count": 100, "mass": 1.25 } }
- }
+ "explosion": { "power": 155, "distance_factor": 0.8, "shrapnel": { "casing_mass": 160, "fragment_mass": 1 } }
+ },
+ "flags": [ "BOMB", "TRADER_AVOID" ]
},
{
"id": "grenade_inc",
diff --git a/data/json/items/gun/22.json b/data/json/items/gun/22.json
index 195c117b3cc02..2f8950bf3b9a6 100644
--- a/data/json/items/gun/22.json
+++ b/data/json/items/gun/22.json
@@ -77,7 +77,7 @@
},
{
"id": "moss_brownie",
- "copy-from": "pistol_backup",
+ "copy-from": "pistol_base",
"type": "GUN",
"name": "Mossberg Brownie",
"name_plural": "Mossberg Brownie",
@@ -94,6 +94,17 @@
"dispersion": 520,
"durability": 6,
"clip_size": 4,
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "barrel", 1 ],
+ [ "bore", 1 ],
+ [ "grip", 1 ],
+ [ "mechanism", 2 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "stock mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"flags": [ "RELOAD_ONE", "NEVER_JAMS", "RELOAD_EJECT" ]
},
{
@@ -120,7 +131,16 @@
"clip_size": 1,
"reload": 200,
"barrel_length": 2,
- "valid_mod_locations": [ [ "accessories", 2 ], [ "muzzle", 1 ], [ "sling", 1 ], [ "stock", 1 ] ],
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "muzzle", 1 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"flags": [ "RELOAD_EJECT" ]
},
{
diff --git a/data/json/items/gun/223.json b/data/json/items/gun/223.json
index 30054193912e1..cdcb2502c8585 100644
--- a/data/json/items/gun/223.json
+++ b/data/json/items/gun/223.json
@@ -129,7 +129,7 @@
"dispersion": 140,
"durability": 3,
"modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 3 ] ],
- "valid_mod_locations": [ [ "accessories", 2 ], [ "brass catcher", 1 ], [ "sling", 1 ] ],
+ "valid_mod_locations": [ [ "accessories", 2 ], [ "brass catcher", 1 ], [ "muzzle", 1 ], [ "sling", 1 ] ],
"magazines": [ [ "223", [ "lw223mag", "lw223bigmag" ] ] ],
"flags": [ "DISABLE_SIGHTS" ]
},
@@ -147,6 +147,7 @@
"valid_mod_locations": [
[ "accessories", 2 ],
[ "brass catcher", 1 ],
+ [ "muzzle", 1 ],
[ "sights", 1 ],
[ "sling", 1 ],
[ "barrel", 1 ],
@@ -170,6 +171,7 @@
"valid_mod_locations": [
[ "accessories", 2 ],
[ "brass catcher", 1 ],
+ [ "muzzle", 1 ],
[ "sights", 1 ],
[ "sling", 1 ],
[ "barrel", 1 ],
@@ -192,6 +194,7 @@
"valid_mod_locations": [
[ "accessories", 2 ],
[ "brass catcher", 1 ],
+ [ "muzzle", 1 ],
[ "sights", 1 ],
[ "sling", 1 ],
[ "barrel", 1 ],
@@ -209,7 +212,15 @@
"durability": 9,
"relative": { "weight": 1200, "volume": 2 },
"built_in_mods": [ "lead_acog_scope", "lead_red_dot_sight", "lead_grip", "lead_glm", "lead_stabilizer" ],
- "valid_mod_locations": [ [ "accessories", 2 ], [ "brass catcher", 1 ], [ "sights", 2 ], [ "sling", 1 ], [ "underbarrel", 2 ], [ "rail", 1 ] ]
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "brass catcher", 1 ],
+ [ "muzzle", 1 ],
+ [ "sights", 2 ],
+ [ "sling", 1 ],
+ [ "underbarrel", 2 ],
+ [ "rail", 1 ]
+ ]
},
{
"id": "m249",
@@ -302,7 +313,16 @@
"clip_size": 1,
"reload": 200,
"barrel_length": 4,
- "valid_mod_locations": [ [ "accessories", 2 ], [ "muzzle", 1 ], [ "sling", 1 ], [ "stock", 1 ] ],
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "muzzle", 1 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"flags": [ "RELOAD_EJECT" ]
},
{
@@ -332,7 +352,11 @@
[ "mechanism", 4 ],
[ "muzzle", 1 ],
[ "sights", 1 ],
- [ "sling", 1 ]
+ [ "sling", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "stock mount", 1 ],
+ [ "underbarrel mount", 1 ]
],
"magazines": [ [ "223", [ "ruger5", "stanag10", "ruger30" ] ] ]
},
@@ -439,7 +463,10 @@
[ "muzzle", 1 ],
[ "sling", 1 ],
[ "stock", 1 ],
- [ "underbarrel", 1 ]
+ [ "underbarrel", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ]
],
"magazines": [ [ "223", [ "survivor223mag", "stanag30", "stanag50" ] ] ]
}
diff --git a/data/json/items/gun/270win.json b/data/json/items/gun/270win.json
new file mode 100644
index 0000000000000..100f3d5ea4d62
--- /dev/null
+++ b/data/json/items/gun/270win.json
@@ -0,0 +1,22 @@
+[
+ {
+ "id": "remington700_270",
+ "copy-from": "rifle_manual",
+ "type": "GUN",
+ "name": "Remington 700",
+ "description": "A classic bolt action rifle chambered for .270 Winchester, very polular among hunters. This is a CDL SF model with a forged, fluted, 416 stainless steel barrel threaded into the receiver and a recessed bolt face. It has checkered walnut furniture and a recoil pad to reduce perceived recoil.",
+ "weight": 4080,
+ "volume": 12,
+ "price": 112600,
+ "to_hit": -1,
+ "bashing": 12,
+ "material": [ "steel", "wood" ],
+ "color": "brown",
+ "ammo": "270win",
+ "dispersion": 70,
+ "durability": 8,
+ "clip_size": 4,
+ "barrel_length": 3,
+ "flags": [ "RELOAD_ONE", "NEVER_JAMS" ]
+ }
+]
diff --git a/data/json/items/gun/3006.json b/data/json/items/gun/3006.json
index 8399cba3ff1f0..3938ea7497996 100644
--- a/data/json/items/gun/3006.json
+++ b/data/json/items/gun/3006.json
@@ -98,7 +98,11 @@
[ "mechanism", 4 ],
[ "muzzle", 1 ],
[ "sights", 1 ],
- [ "sling", 1 ]
+ [ "sling", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "stock mount", 1 ],
+ [ "underbarrel mount", 1 ]
],
"magazines": [ [ "3006", [ "3006_clip" ] ] ],
"flags": [ "RELOAD_ONE" ]
@@ -167,7 +171,7 @@
"name": "pipe rifle: .30-06",
"name_plural": "pipe rifles: .30-06",
"//": "It's the same size as the others, but it's still a scrap weapon.",
- "description": "A homemade rifle. It is simply a pipe attached to a stock, with a hammer to strike the single round it holds. This one is made to support more gun attachments.",
+ "description": "A homemade rifle. It is simply a pipe attached to a stock, with a hammer to strike the single round it holds.",
"weight": 4080,
"volume": 12,
"price": 110000,
@@ -185,7 +189,16 @@
"clip_size": 1,
"reload": 200,
"barrel_length": 4,
- "valid_mod_locations": [ [ "accessories", 2 ], [ "muzzle", 1 ], [ "sling", 1 ], [ "stock", 1 ] ],
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "muzzle", 1 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"flags": [ "RELOAD_EJECT" ]
},
{
@@ -204,7 +217,10 @@
[ "mechanism", 4 ],
[ "muzzle", 1 ],
[ "sights", 1 ],
- [ "sling", 1 ]
+ [ "sling", 1 ],
+ [ "rail mount", 1 ],
+ [ "stock mount", 1 ],
+ [ "underbarrel mount", 1 ]
],
"relative": { "durability": -3 },
"proportional": { "reload": 4 }
diff --git a/data/json/items/gun/308.json b/data/json/items/gun/308.json
index 05b4ebe7fe1fb..1ffc9600239c9 100644
--- a/data/json/items/gun/308.json
+++ b/data/json/items/gun/308.json
@@ -124,7 +124,11 @@
[ "mechanism", 4 ],
[ "muzzle", 1 ],
[ "sights", 1 ],
- [ "sling", 1 ]
+ [ "sling", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "stock mount", 1 ],
+ [ "underbarrel mount", 1 ]
],
"magazines": [ [ "308", [ "m14mag", "m14smallmag" ] ] ]
},
@@ -231,7 +235,10 @@
[ "stock", 1 ],
[ "mechanism", 4 ],
[ "sights", 1 ],
- [ "sling", 1 ]
+ [ "sling", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "underbarrel mount", 1 ]
],
"flags": [ "RELOAD_ONE" ]
},
@@ -299,7 +306,10 @@
[ "sling", 1 ],
[ "stock", 1 ],
[ "mechanism", 4 ],
- [ "sights", 1 ]
+ [ "sights", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "underbarrel mount", 1 ]
],
"flags": [ "NEVER_JAMS" ]
},
diff --git a/data/json/items/gun/357sig.json b/data/json/items/gun/357sig.json
index 143021b849cc6..a08b8ba16cc9b 100644
--- a/data/json/items/gun/357sig.json
+++ b/data/json/items/gun/357sig.json
@@ -27,5 +27,24 @@
"description": "A full size .357 SIG Glock pistol. It is extremely similar to the Glock 22, and could be converted to fire .40 S&W by switching the barrel.",
"ammo": [ "357sig" ],
"magazines": [ [ "357sig", [ "glock40mag", "glock40bigmag" ] ] ]
+ },
+ {
+ "id": "p320_357sig",
+ "copy-from": "pistol_base",
+ "type": "GUN",
+ "name": "SIG P320",
+ "description": "The P320 is a semi automatic, short recoil operated pistol. This one is chambered for .357 SIG.",
+ "weight": 800,
+ "volume": 2,
+ "price": 69000,
+ "to_hit": -2,
+ "bashing": 8,
+ "material": [ "plastic", "steel" ],
+ "color": "dark_gray",
+ "ammo": "357sig",
+ "dispersion": 480,
+ "durability": 6,
+ "magazine_well": 1,
+ "magazines": [ [ "357sig", [ "p320mag_14rd_357sig" ] ] ]
}
]
diff --git a/data/json/items/gun/38.json b/data/json/items/gun/38.json
index a1d9025062c6a..2cdf695594238 100644
--- a/data/json/items/gun/38.json
+++ b/data/json/items/gun/38.json
@@ -21,12 +21,19 @@
"durability": 3,
"clip_size": 2,
"reload": 200,
- "valid_mod_locations": [ [ "accessories", 4 ], [ "grip", 1 ], [ "sights", 1 ], [ "underbarrel", 1 ] ],
+ "valid_mod_locations": [
+ [ "accessories", 4 ],
+ [ "grip", 1 ],
+ [ "sights", 1 ],
+ [ "underbarrel", 1 ],
+ [ "rail mount", 1 ],
+ [ "stock mount", 1 ]
+ ],
"flags": [ "RELOAD_ONE", "RELOAD_EJECT" ]
},
{
"id": "cop_38",
- "copy-from": "pistol_backup",
+ "copy-from": "pistol_base",
"type": "GUN",
"name": "COP .38",
"name_plural": "COP .38",
@@ -42,6 +49,17 @@
"dispersion": 520,
"durability": 6,
"clip_size": 4,
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "barrel", 1 ],
+ [ "bore", 1 ],
+ [ "grip", 1 ],
+ [ "mechanism", 2 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "stock mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"flags": [ "RELOAD_ONE", "NEVER_JAMS", "RELOAD_EJECT" ]
},
{
@@ -67,7 +85,16 @@
"clip_size": 1,
"reload": 200,
"barrel_length": 3,
- "valid_mod_locations": [ [ "accessories", 2 ], [ "muzzle", 1 ], [ "sling", 1 ], [ "stock", 1 ] ],
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "muzzle", 1 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"flags": [ "RELOAD_EJECT" ]
},
{
diff --git a/data/json/items/gun/38super.json b/data/json/items/gun/38super.json
new file mode 100644
index 0000000000000..f925602368668
--- /dev/null
+++ b/data/json/items/gun/38super.json
@@ -0,0 +1,22 @@
+[
+ {
+ "id": "m1911a1_38super",
+ "copy-from": "pistol_base",
+ "type": "GUN",
+ "name": "M1911A1",
+ "description": "The M1911A1 is an extremely popular pistol known for its reliability. This one is chambered for .38 Super.",
+ "weight": 1035,
+ "volume": 2,
+ "price": 78400,
+ "to_hit": -2,
+ "bashing": 12,
+ "material": [ "steel", "plastic" ],
+ "symbol": "(",
+ "color": "light_gray",
+ "ammo": "38super",
+ "dispersion": 480,
+ "durability": 7,
+ "magazine_well": 1,
+ "magazines": [ [ "38super", [ "m1911mag_10rd_38super" ] ] ]
+ }
+]
diff --git a/data/json/items/gun/40.json b/data/json/items/gun/40.json
index c3746ac6d3011..a865b62b0a898 100644
--- a/data/json/items/gun/40.json
+++ b/data/json/items/gun/40.json
@@ -58,7 +58,16 @@
"clip_size": 1,
"reload": 200,
"barrel_length": 3,
- "valid_mod_locations": [ [ "accessories", 2 ], [ "muzzle", 1 ], [ "sling", 1 ], [ "stock", 1 ] ],
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "muzzle", 1 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"flags": [ "RELOAD_EJECT" ]
},
{
@@ -162,7 +171,8 @@
[ "grip", 1 ],
[ "sights", 1 ],
[ "stock", 1 ],
- [ "underbarrel", 1 ]
+ [ "underbarrel", 1 ],
+ [ "rail mount", 1 ]
],
"flags": [ "RELOAD_ONE", "NEVER_JAMS", "RELOAD_EJECT" ]
},
@@ -181,7 +191,7 @@
"material": [ "steel", "wood" ],
"symbol": "(",
"color": "dark_gray",
- "ammo": "40",
+ "ammo": [ "10mm", "40" ],
"ranged_damage": 1,
"dispersion": 320,
"durability": 8,
diff --git a/data/json/items/gun/40mm.json b/data/json/items/gun/40mm.json
index eb65edf0bb497..ecaa74b57123a 100644
--- a/data/json/items/gun/40mm.json
+++ b/data/json/items/gun/40mm.json
@@ -15,7 +15,17 @@
"dispersion": 550,
"durability": 6,
"clip_size": 1,
- "reload": 350
+ "reload": 350,
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "barrel", 1 ],
+ [ "sights", 1 ],
+ [ "sling", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "stock mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ]
},
{
"id": "m320",
@@ -53,7 +63,17 @@
"dispersion": 150,
"durability": 8,
"clip_size": 1,
- "reload": 250
+ "reload": 250,
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "barrel", 1 ],
+ [ "sights", 1 ],
+ [ "sling", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "stock mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ]
},
{
"id": "mark19",
@@ -95,7 +115,17 @@
"dispersion": 270,
"durability": 8,
"clip_size": 6,
- "reload": 300
+ "reload": 300,
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "barrel", 1 ],
+ [ "sights", 1 ],
+ [ "sling", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "stock mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ]
},
{
"id": "rm802",
diff --git a/data/json/items/gun/410shot.json b/data/json/items/gun/410shot.json
new file mode 100644
index 0000000000000..73ed52535234d
--- /dev/null
+++ b/data/json/items/gun/410shot.json
@@ -0,0 +1,22 @@
+[
+ {
+ "id": "saiga_410",
+ "copy-from": "shotgun_base",
+ "type": "GUN",
+ "name": "Saiga-410",
+ "description": "The Saiga-410 is a semi-automatic shotgun designed on the same Kalashnikov pattern as the AK47 rifle. It reloads with a magazine, rather than one shell at a time like most shotguns.",
+ "weight": 3550,
+ "volume": 11,
+ "price": 189000,
+ "to_hit": -1,
+ "bashing": 12,
+ "material": [ "steel", "plastic" ],
+ "dispersion": 395,
+ "durability": 7,
+ "barrel_length": 3,
+ "magazine_well": 1,
+ "ammo": "410shot",
+ "magazines": [ [ "410shot", [ "saiga410mag_10rd", "saiga410mag_30rd" ] ] ],
+ "flags": [ "NEVER_JAMS" ]
+ }
+]
diff --git a/data/json/items/gun/44.json b/data/json/items/gun/44.json
index 3157a34fb46e6..8b71f2975d269 100644
--- a/data/json/items/gun/44.json
+++ b/data/json/items/gun/44.json
@@ -63,7 +63,9 @@
[ "mechanism", 4 ],
[ "sights", 1 ],
[ "sling", 1 ],
- [ "stock", 1 ]
+ [ "stock", 1 ],
+ [ "rail mount", 1 ],
+ [ "underbarrel mount", 1 ]
]
},
{
@@ -121,7 +123,16 @@
"clip_size": 1,
"reload": 200,
"barrel_length": 3,
- "valid_mod_locations": [ [ "accessories", 2 ], [ "muzzle", 1 ], [ "sling", 1 ], [ "stock", 1 ] ],
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "muzzle", 1 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"flags": [ "RELOAD_EJECT" ]
},
{
diff --git a/data/json/items/gun/45.json b/data/json/items/gun/45.json
index 21bdeff9016e0..ecb0eb3ab4467 100644
--- a/data/json/items/gun/45.json
+++ b/data/json/items/gun/45.json
@@ -153,7 +153,16 @@
"clip_size": 1,
"reload": 200,
"barrel_length": 3,
- "valid_mod_locations": [ [ "accessories", 2 ], [ "muzzle", 1 ], [ "sling", 1 ], [ "stock", 1 ] ],
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "muzzle", 1 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"flags": [ "RELOAD_EJECT" ]
},
{
diff --git a/data/json/items/gun/454.json b/data/json/items/gun/454.json
index 0ae49def132de..164deef16dcb9 100644
--- a/data/json/items/gun/454.json
+++ b/data/json/items/gun/454.json
@@ -14,11 +14,19 @@
"material": [ "steel", "plastic" ],
"symbol": "(",
"color": "light_gray",
- "ammo": "454",
+ "ammo": [ "454", "45colt" ],
"dispersion": 280,
"durability": 8,
"clip_size": 5,
"magazines": [ [ "454", [ "454_speedloader5" ] ] ],
- "valid_mod_locations": [ [ "accessories", 2 ], [ "grip", 1 ], [ "mechanism", 4 ], [ "rail", 1 ], [ "sights", 1 ] ]
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "grip", 1 ],
+ [ "mechanism", 4 ],
+ [ "rail", 1 ],
+ [ "sights", 1 ],
+ [ "stock mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ]
}
]
diff --git a/data/json/items/gun/460.json b/data/json/items/gun/460.json
index 2a67cd8b9d26b..3d4a6fbe09264 100644
--- a/data/json/items/gun/460.json
+++ b/data/json/items/gun/460.json
@@ -8,8 +8,7 @@
"price": 90000,
"ammo": "460",
"relative": { "durability": -1 },
- "built_in_mods": [ "lead_holo_sight", "muzzle_brake", "lead_laser_sight" ],
- "valid_mod_locations": [ [ "accessories", 2 ], [ "brass catcher", 1 ], [ "muzzle", 1 ], [ "sights", 1 ], [ "underbarrel", 1 ] ]
+ "built_in_mods": [ "lead_holo_sight", "muzzle_brake", "lead_laser_sight" ]
},
{
"id": "l_mp_45",
@@ -19,8 +18,7 @@
"description": "After the success of their 9x19mm machine pistol, Leadworks LLC developed the L39B-45 from their .460 Rowland semi-autos, intending them to be used with .45ACP. Because it shares most of its parts with the L39-460, this variant retains the ability to fire fearsome .460 Rowland, though users are strongly advised not to do so during automatic fire. Comes with built in red dot, recoil compensator and laser sights. Similar to other Leadworks products it doesn't accept third-party modifications.",
"ammo": "460",
"relative": { "durability": -1 },
- "built_in_mods": [ "lead_holo_sight", "muzzle_brake", "lead_laser_sight" ],
- "valid_mod_locations": [ [ "accessories", 2 ], [ "brass catcher", 1 ], [ "muzzle", 1 ], [ "sights", 1 ], [ "underbarrel", 1 ] ]
+ "built_in_mods": [ "lead_holo_sight", "muzzle_brake", "lead_laser_sight" ]
},
{
"id": "l_enforcer_45",
@@ -45,7 +43,14 @@
"clip_size": 6,
"magazines": [ [ "460", [ "460_speedloader6" ] ] ],
"built_in_mods": [ "lead_holo_sight", "lead_laser_sight" ],
- "valid_mod_locations": [ [ "accessories", 2 ], [ "sights", 1 ], [ "underbarrel", 1 ] ]
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "sights", 1 ],
+ [ "underbarrel", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "stock mount", 1 ]
+ ]
},
{
"id": "l_long_45",
@@ -72,7 +77,17 @@
"clip_size": 12,
"barrel_length": 2,
"built_in_mods": [ "lead_holo_sight", "lead_laser_sight" ],
- "valid_mod_locations": [ [ "accessories", 2 ], [ "brass catcher", 1 ], [ "sights", 1 ], [ "sling", 1 ], [ "underbarrel", 1 ] ],
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "brass catcher", 1 ],
+ [ "sights", 1 ],
+ [ "sling", 1 ],
+ [ "underbarrel", 1 ],
+ [ "muzzle", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "stock mount", 1 ]
+ ],
"flags": [ "RELOAD_ONE" ]
}
]
diff --git a/data/json/items/gun/50.json b/data/json/items/gun/50.json
index 92c7e96a1e40b..893a3d280bbc3 100644
--- a/data/json/items/gun/50.json
+++ b/data/json/items/gun/50.json
@@ -76,7 +76,9 @@
[ "muzzle", 1 ],
[ "sling", 1 ],
[ "stock", 1 ],
- [ "grip", 1 ]
+ [ "grip", 1 ],
+ [ "rail mount", 1 ],
+ [ "underbarrel mount", 1 ]
],
"magazines": [ ],
"relative": { "weight": -21500, "volume": -6, "price": -1210000, "ranged_damage": -4, "dispersion": 60, "barrel_length": -1 },
diff --git a/data/json/items/gun/500.json b/data/json/items/gun/500.json
index e9fcac8e51a86..db91e828956d5 100644
--- a/data/json/items/gun/500.json
+++ b/data/json/items/gun/500.json
@@ -27,7 +27,9 @@
[ "mechanism", 4 ],
[ "sights", 1 ],
[ "sling", 1 ],
- [ "stock", 1 ]
+ [ "stock", 1 ],
+ [ "rail mount", 1 ],
+ [ "underbarrel mount", 1 ]
]
},
{
@@ -50,6 +52,14 @@
"durability": 8,
"clip_size": 5,
"magazines": [ [ "500", [ "500_speedloader5" ] ] ],
- "valid_mod_locations": [ [ "accessories", 2 ], [ "grip", 1 ], [ "mechanism", 4 ], [ "rail", 1 ], [ "sights", 1 ] ]
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "grip", 1 ],
+ [ "mechanism", 4 ],
+ [ "rail", 1 ],
+ [ "sights", 1 ],
+ [ "stock mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ]
}
]
diff --git a/data/json/items/gun/762x25.json b/data/json/items/gun/762x25.json
index e09bf2ad236de..c85ca979a82b3 100644
--- a/data/json/items/gun/762x25.json
+++ b/data/json/items/gun/762x25.json
@@ -31,7 +31,8 @@
[ "sights", 1 ],
[ "sling", 1 ],
[ "stock", 1 ],
- [ "underbarrel", 1 ]
+ [ "underbarrel", 1 ],
+ [ "rail mount", 1 ]
],
"magazines": [ [ "762x25", [ "ppshmag", "ppshdrum" ] ] ]
},
diff --git a/data/json/items/gun/8x40mm.json b/data/json/items/gun/8x40mm.json
index bf24c8787bc46..bc2b0aaa85440 100644
--- a/data/json/items/gun/8x40mm.json
+++ b/data/json/items/gun/8x40mm.json
@@ -64,7 +64,6 @@
[ "rail", 1 ],
[ "sights", 1 ],
[ "sling", 1 ],
- [ "stock", 1 ],
[ "underbarrel", 1 ]
],
"magazines": [ [ "8x40mm", [ "8x40_10_mag", "8x40_25_mag" ] ] ],
diff --git a/data/json/items/gun/9mm.json b/data/json/items/gun/9mm.json
index 44f1f811394d2..a59f249d00c84 100644
--- a/data/json/items/gun/9mm.json
+++ b/data/json/items/gun/9mm.json
@@ -21,6 +21,7 @@
"armor_data": { "covers": [ "ARM_EITHER", "HAND_EITHER" ], "coverage": 10, "encumbrance": 30, "material_thickness": 1 },
"faults": [ "fault_gun_blackpowder", "fault_gun_clogged" ],
"magazines": [ [ "9mm", [ "stenmag", "survivor9mm_mag" ] ] ],
+ "valid_mod_locations": [ [ "rail mount", 1 ] ],
"flags": [ "OVERSIZE", "BELTED", "FANCY", "RESTRICT_HANDS" ]
},
{
@@ -270,7 +271,16 @@
"dispersion": 340,
"durability": 9,
"built_in_mods": [ "lead_red_dot_sight", "lead_laser_sight" ],
- "valid_mod_locations": [ [ "accessories", 2 ], [ "brass catcher", 1 ], [ "sights", 1 ], [ "underbarrel", 1 ] ],
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "brass catcher", 1 ],
+ [ "sights", 1 ],
+ [ "underbarrel", 1 ],
+ [ "muzzle", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "stock mount", 1 ]
+ ],
"magazine_well": 1,
"magazines": [ [ "9mm", [ "lw21mag" ] ], [ "460", [ "lw12mag" ] ] ],
"flags": [ "DURABLE_MELEE" ]
@@ -322,7 +332,16 @@
"clip_size": 1,
"reload": 200,
"barrel_length": 3,
- "valid_mod_locations": [ [ "accessories", 2 ], [ "muzzle", 1 ], [ "sling", 1 ], [ "stock", 1 ] ],
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "muzzle", 1 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"faults": [ "fault_gun_blackpowder", "fault_gun_clogged" ],
"flags": [ "RELOAD_EJECT" ]
},
@@ -386,7 +405,16 @@
"blackpowder_tolerance": 24,
"min_cycle_recoil": 450,
"modes": [ [ "DEFAULT", "auto", 10 ] ],
- "valid_mod_locations": [ [ "accessories", 2 ], [ "muzzle", 1 ], [ "sling", 1 ], [ "stock", 1 ] ],
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "muzzle", 1 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"faults": [ "fault_gun_blackpowder", "fault_gun_clogged" ],
"magazines": [ [ "9mm", [ "stenmag", "survivor9mm_mag" ] ] ]
},
@@ -536,5 +564,24 @@
"bashing": 2,
"ammo": "9mm",
"magazines": [ [ "9mm", [ "kpf9mag" ] ] ]
+ },
+ {
+ "id": "m17",
+ "copy-from": "pistol_base",
+ "type": "GUN",
+ "name": "M17",
+ "description": "The M17 is a semi automatic, short recoil operated pistol derived from the SIG Sauer P320.",
+ "weight": 800,
+ "volume": 2,
+ "price": 69000,
+ "to_hit": -2,
+ "bashing": 8,
+ "material": [ "plastic", "steel" ],
+ "color": "dark_gray",
+ "ammo": "9mm",
+ "dispersion": 480,
+ "durability": 6,
+ "magazine_well": 1,
+ "magazines": [ [ "9mm", [ "p320mag_17rd_9x19mm" ] ] ]
}
]
diff --git a/data/json/items/gun/blunderbuss.json b/data/json/items/gun/blunderbuss.json
index fe7566e16280f..ed669f9ceb461 100644
--- a/data/json/items/gun/blunderbuss.json
+++ b/data/json/items/gun/blunderbuss.json
@@ -21,6 +21,13 @@
"loudness": 200,
"clip_size": 1,
"reload": 300,
- "valid_mod_locations": [ [ "sling", 1 ], [ "stock", 1 ] ]
+ "valid_mod_locations": [
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ]
}
]
diff --git a/data/json/items/gun/flammable.json b/data/json/items/gun/flammable.json
index 63b3c611091e4..178ea295d3d86 100644
--- a/data/json/items/gun/flammable.json
+++ b/data/json/items/gun/flammable.json
@@ -15,7 +15,15 @@
"dispersion": 300,
"durability": 8,
"burst": 4,
- "valid_mod_locations": [ [ "accessories", 1 ], [ "grip", 1 ], [ "sling", 1 ] ],
+ "valid_mod_locations": [
+ [ "accessories", 1 ],
+ [ "grip", 1 ],
+ [ "sling", 1 ],
+ [ "rail mount", 1 ],
+ [ "stock mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"magazines": [ [ "flammable", [ "pressurized_tank" ] ] ]
},
{
@@ -32,7 +40,7 @@
"dispersion": 300,
"durability": 8,
"clip_size": 100,
- "valid_mod_locations": [ [ "grip", 1 ], [ "sling", 1 ], [ "stock", 1 ] ],
+ "valid_mod_locations": [ [ "sling", 1 ], [ "stock", 1 ], [ "rail mount", 1 ] ],
"relative": { "reload": 4 }
},
{
diff --git a/data/json/items/gun/flintlock.json b/data/json/items/gun/flintlock.json
index 763417387a223..2b0ea91ddb3bf 100644
--- a/data/json/items/gun/flintlock.json
+++ b/data/json/items/gun/flintlock.json
@@ -5,7 +5,15 @@
"type": "GUN",
"name": "flintlock carbine",
"description": "This short rifle design once dominated the battlefields of ancient Europe, and may yet re-earn its feared status due to its ease of handling and ability to use easily-crafted ammunition.",
- "valid_mod_locations": [ [ "accessories", 1 ], [ "sling", 1 ] ],
+ "valid_mod_locations": [
+ [ "accessories", 1 ],
+ [ "sling", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "stock mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"relative": { "weight": -500, "volume": -4, "range": -2, "ranged_damage": -4 },
"proportional": { "bashing": 0.6, "dispersion": 1.35, "reload": 0.6 }
},
@@ -42,7 +50,14 @@
"durability": 6,
"clip_size": 1,
"reload": 600,
- "valid_mod_locations": [ [ "accessories", 1 ] ],
+ "valid_mod_locations": [
+ [ "accessories", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "stock mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"flags": [ "NEVER_JAMS" ]
},
{
@@ -67,7 +82,15 @@
"durability": 6,
"clip_size": 1,
"reload": 1200,
- "valid_mod_locations": [ [ "accessories", 1 ], [ "sling", 1 ], [ "underbarrel", 1 ] ],
+ "valid_mod_locations": [
+ [ "accessories", 1 ],
+ [ "sling", 1 ],
+ [ "underbarrel", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "stock mount", 1 ]
+ ],
"flags": [ "NEVER_JAMS", "DURABLE_MELEE" ]
}
]
diff --git a/data/json/items/gun/metal_rail.json b/data/json/items/gun/metal_rail.json
index a5de980544c52..86c6e8e9a2091 100644
--- a/data/json/items/gun/metal_rail.json
+++ b/data/json/items/gun/metal_rail.json
@@ -55,7 +55,7 @@
"clip_size": 1,
"ups_charges": 40,
"reload": 200,
- "valid_mod_locations": [ [ "grip", 1 ], [ "sling", 1 ], [ "stock", 1 ], [ "sights", 1 ] ],
+ "valid_mod_locations": [ [ "grip", 1 ], [ "sling", 1 ], [ "stock", 1 ], [ "sights", 1 ], [ "rail mount", 1 ], [ "underbarrel mount", 1 ] ],
"ammo_effects": [ "INCENDIARY", "TRAIL" ]
}
]
diff --git a/data/json/items/gun/nail.json b/data/json/items/gun/nail.json
index 4eb69087af1af..40358228eae6d 100644
--- a/data/json/items/gun/nail.json
+++ b/data/json/items/gun/nail.json
@@ -20,7 +20,15 @@
"dispersion": 180,
"durability": 5,
"ups_charges": 5,
- "valid_mod_locations": [ [ "accessories", 4 ], [ "grip", 1 ], [ "sights", 1 ], [ "sling", 1 ], [ "stock", 1 ] ],
+ "valid_mod_locations": [
+ [ "accessories", 4 ],
+ [ "grip", 1 ],
+ [ "sights", 1 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "rail mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"magazines": [ [ "nail", [ "nailmag" ] ] ]
},
{
@@ -43,7 +51,8 @@
"durability": 8,
"loudness": 5,
"clip_size": 20,
- "reload": 50
+ "reload": 50,
+ "valid_mod_locations": [ [ "grip mount", 1 ], [ "rail mount", 1 ], [ "sights mount", 1 ], [ "stock mount", 1 ], [ "underbarrel mount", 1 ] ]
},
{
"id": "nailrifle",
@@ -56,7 +65,16 @@
"skill": "rifle",
"burst": 10,
"clip_size": 0,
- "valid_mod_locations": [ [ "accessories", 4 ], [ "barrel", 1 ], [ "grip", 1 ], [ "sights", 1 ], [ "sling", 1 ], [ "stock", 1 ] ],
+ "valid_mod_locations": [
+ [ "accessories", 4 ],
+ [ "barrel", 1 ],
+ [ "grip", 1 ],
+ [ "sights", 1 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "rail mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"magazines": [ [ "nail", [ "nailmag" ] ] ],
"relative": { "weight": 1000, "volume": 6, "range": 3, "ranged_damage": 4 },
"proportional": { "price": 3, "dispersion": 0.5 }
diff --git a/data/json/items/gun/paintball.json b/data/json/items/gun/paintball.json
index 8442e45d6795f..af27f4da5c571 100644
--- a/data/json/items/gun/paintball.json
+++ b/data/json/items/gun/paintball.json
@@ -22,6 +22,13 @@
"durability": 7,
"clip_size": 50,
"reload": 50,
- "valid_mod_locations": [ [ "sling", 1 ] ]
+ "valid_mod_locations": [
+ [ "sling", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "stock mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ]
}
]
diff --git a/data/json/items/gun/shot.json b/data/json/items/gun/shot.json
index f5b1f25cc3fdf..dba218e02bdcb 100644
--- a/data/json/items/gun/shot.json
+++ b/data/json/items/gun/shot.json
@@ -42,7 +42,15 @@
"durability": 6,
"clip_size": 1,
"reload": 80,
- "valid_mod_locations": [ [ "accessories", 1 ], [ "grip", 1 ], [ "stock", 1 ], [ "mechanism", 4 ], [ "sights", 1 ] ],
+ "valid_mod_locations": [
+ [ "accessories", 1 ],
+ [ "grip", 1 ],
+ [ "stock", 1 ],
+ [ "mechanism", 4 ],
+ [ "sights", 1 ],
+ [ "rail mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"flags": [ "NEVER_JAMS", "RELOAD_EJECT" ]
},
{
@@ -63,7 +71,15 @@
"burst": 6,
"clip_size": 6,
"reload": 110,
- "valid_mod_locations": [ [ "accessories", 4 ], [ "grip", 1 ], [ "sights", 1 ], [ "sling", 1 ], [ "stock", 1 ] ],
+ "valid_mod_locations": [
+ [ "accessories", 4 ],
+ [ "grip", 1 ],
+ [ "sights", 1 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "rail mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"flags": [ "RELOAD_ONE", "RELOAD_EJECT" ]
},
{
@@ -116,7 +132,17 @@
"durability": 8,
"clip_size": 8,
"built_in_mods": [ "lead_red_dot_sight", "lead_laser_sight" ],
- "valid_mod_locations": [ [ "accessories", 2 ], [ "brass catcher", 1 ], [ "sights", 1 ], [ "sling", 1 ], [ "underbarrel", 1 ] ]
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "brass catcher", 1 ],
+ [ "sights", 1 ],
+ [ "sling", 1 ],
+ [ "underbarrel", 1 ],
+ [ "muzzle", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "stock mount", 1 ]
+ ]
},
{
"id": "m1014",
@@ -164,6 +190,16 @@
"clip_size": 2,
"modes": [ [ "DEFAULT", "single", 1 ], [ "DOUBLE", "double", 2 ] ],
"relative": { "weight": 500, "volume": 1, "price": 5000 },
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "barrel", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"extend": { "flags": [ "RELOAD_ONE" ] }
},
{
@@ -184,7 +220,17 @@
"clip_size": 1,
"reload": 200,
"barrel_length": 4,
- "valid_mod_locations": [ [ "accessories", 2 ], [ "sling", 1 ], [ "stock", 1 ], [ "barrel", 1 ] ],
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "barrel", 1 ],
+ [ "muzzle", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"flags": [ "NEVER_JAMS", "RELOAD_EJECT" ]
},
{
@@ -222,7 +268,16 @@
"clip_size": 6,
"reload": 200,
"barrel_length": 4,
- "valid_mod_locations": [ [ "accessories", 2 ], [ "sling", 1 ], [ "stock", 1 ], [ "barrel", 1 ] ],
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "barrel", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"flags": [ "RELOAD_ONE", "NEVER_JAMS", "RELOAD_EJECT" ]
},
{
@@ -253,6 +308,17 @@
"clip_size": 2,
"modes": [ [ "DEFAULT", "single", 1 ], [ "DOUBLE", "double", 2 ] ],
"relative": { "weight": 500, "volume": 1, "price": 5000 },
+ "valid_mod_locations": [
+ [ "accessories", 4 ],
+ [ "barrel", 1 ],
+ [ "bore", 1 ],
+ [ "sights", 1 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"extend": { "flags": [ "RELOAD_ONE" ] }
},
{
@@ -278,7 +344,10 @@
[ "muzzle", 1 ],
[ "sights", 1 ],
[ "sling", 1 ],
- [ "stock", 1 ]
+ [ "stock", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "underbarrel mount", 1 ]
],
"flags": [ "NEVER_JAMS", "RELOAD_EJECT" ]
},
@@ -300,7 +369,18 @@
"clip_size": 8,
"reload": 200,
"barrel_length": 4,
- "valid_mod_locations": [ [ "accessories", 2 ], [ "brass catcher", 1 ], [ "sling", 1 ], [ "stock", 1 ], [ "barrel", 1 ] ],
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "brass catcher", 1 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "barrel", 1 ],
+ [ "muzzle", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"flags": [ "RELOAD_ONE" ]
}
]
diff --git a/data/json/items/gun/signal_flare.json b/data/json/items/gun/signal_flare.json
index 5aa9be4643700..d4312e4d3ab9f 100644
--- a/data/json/items/gun/signal_flare.json
+++ b/data/json/items/gun/signal_flare.json
@@ -17,7 +17,14 @@
"durability": 7,
"loudness": 40,
"clip_size": 1,
- "valid_mod_locations": [ [ "accessories", 4 ], [ "grip", 1 ], [ "stock", 1 ] ],
+ "valid_mod_locations": [
+ [ "accessories", 4 ],
+ [ "grip", 1 ],
+ [ "stock", 1 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"flags": [ "WATERPROOF_GUN", "NEVER_JAMS", "RELOAD_EJECT" ]
}
]
diff --git a/data/json/items/gun/ups.json b/data/json/items/gun/ups.json
index 2e150b7515e9d..f0982f7d7a614 100644
--- a/data/json/items/gun/ups.json
+++ b/data/json/items/gun/ups.json
@@ -58,7 +58,14 @@
"loudness": 8,
"ups_charges": 25,
"reload": 200,
- "valid_mod_locations": [ [ "sling", 1 ] ],
+ "valid_mod_locations": [
+ [ "sling", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "stock mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ],
"ammo_effects": [ "LASER", "INCENDIARY" ],
"flags": [ "NO_UNLOAD" ]
},
diff --git a/data/json/items/gunmod/grip.json b/data/json/items/gunmod/grip.json
index 69703b435a96a..ffdb5e500ff8b 100644
--- a/data/json/items/gunmod/grip.json
+++ b/data/json/items/gunmod/grip.json
@@ -31,7 +31,7 @@
"symbol": ":",
"color": "dark_gray",
"location": "grip",
- "mod_targets": [ "smg", "rifle", "pistol", "shotgun", "crossbow", "launcher" ],
+ "mod_targets": [ "smg", "rifle", "pistol", "shotgun", "crossbow", "launcher", "bow" ],
"handling_modifier": 2,
"min_skills": [ [ "weapon", 2 ] ]
}
diff --git a/data/json/items/gunmod/mount.json b/data/json/items/gunmod/mount.json
new file mode 100644
index 0000000000000..0f3cf6a6c46e4
--- /dev/null
+++ b/data/json/items/gunmod/mount.json
@@ -0,0 +1,130 @@
+[
+ {
+ "id": "grip_mount",
+ "type": "GUNMOD",
+ "name": "replaceable furniture kit",
+ "description": "This is a kit consisting of various steel and plastic parts; when installed, it would permanently modify and partially replace some of the weapon's furniture so that it could be easily changed if needed. This allows installing any kind of more advanced grips or other furniture.",
+ "weight": 80,
+ "volume": "50ml",
+ "integral_volume": 0,
+ "price": 6000,
+ "material": [ "steel", "plastic" ],
+ "symbol": ":",
+ "color": "light_gray",
+ "location": "grip mount",
+ "mod_targets": [ "smg", "rifle", "pistol", "shotgun", "crossbow", "launcher" ],
+ "install_time": 60000,
+ "min_skills": [ [ "gun", 5 ] ],
+ "add_mod": [ [ "grip", 1 ] ],
+ "flags": [ "INSTALL_DIFFICULT", "IRREMOVABLE" ]
+ },
+ {
+ "id": "rail_mount",
+ "type": "GUNMOD",
+ "name": "side mount",
+ "description": "This is a plastic mount for attaching a rail accessory, designed to be permanently installed onto almost any weapon, along with some fasteners. Ideal for bringing out your inner tacticool on older guns.",
+ "weight": 10,
+ "volume": "8ml",
+ "price": 6000,
+ "material": [ "steel", "plastic" ],
+ "symbol": ":",
+ "color": "light_gray",
+ "location": "rail mount",
+ "mod_targets": [ "smg", "rifle", "pistol", "shotgun", "crossbow", "launcher" ],
+ "install_time": 15000,
+ "min_skills": [ [ "gun", 3 ] ],
+ "add_mod": [ [ "rail", 1 ] ],
+ "flags": [ "INSTALL_DIFFICULT", "IRREMOVABLE" ]
+ },
+ {
+ "id": "sights_mount",
+ "type": "GUNMOD",
+ "name": "sights mount",
+ "description": "This is a plastic mount for attaching a sight, designed to be permanently installed onto almost any weapon other than launchers and pistols, along with some fasteners. Ideal for bringing out your inner tacticool on older guns.",
+ "weight": 10,
+ "volume": "8ml",
+ "price": 6000,
+ "material": [ "steel", "plastic" ],
+ "symbol": ":",
+ "color": "light_gray",
+ "location": "sights mount",
+ "mod_targets": [ "smg", "rifle", "shotgun", "crossbow" ],
+ "install_time": 15000,
+ "min_skills": [ [ "gun", 3 ] ],
+ "add_mod": [ [ "sights", 1 ] ],
+ "flags": [ "INSTALL_DIFFICULT", "IRREMOVABLE" ]
+ },
+ {
+ "id": "sights_mount_launcher",
+ "type": "GUNMOD",
+ "name": "launcher sights mount",
+ "description": "This is a plastic mount for attaching a sight, designed to be permanently installed onto almost any launcher, along with some fasteners. Ideal for bringing out your inner tacticool on rocket launchers.",
+ "weight": 60,
+ "volume": "80ml",
+ "price": 6000,
+ "material": [ "steel", "plastic" ],
+ "symbol": ":",
+ "color": "light_gray",
+ "location": "sights mount",
+ "mod_targets": [ "launcher" ],
+ "install_time": 15000,
+ "min_skills": [ [ "gun", 3 ] ],
+ "add_mod": [ [ "sights", 1 ] ],
+ "flags": [ "INSTALL_DIFFICULT", "IRREMOVABLE" ]
+ },
+ {
+ "id": "sights_mount_pistol",
+ "type": "GUNMOD",
+ "name": "pistol sights mount",
+ "description": "This is a plastic mount for attaching a sight, designed to be permanently installed onto almost any pistol, along with some fasteners. Ideal for bringing out your inner tacticool on pocket pistols.",
+ "weight": 60,
+ "volume": "80ml",
+ "price": 6000,
+ "material": [ "steel", "plastic" ],
+ "symbol": ":",
+ "color": "light_gray",
+ "location": "sights mount",
+ "mod_targets": [ "pistol" ],
+ "install_time": 15000,
+ "min_skills": [ [ "gun", 3 ] ],
+ "add_mod": [ [ "sights", 1 ] ],
+ "flags": [ "INSTALL_DIFFICULT", "IRREMOVABLE" ]
+ },
+ {
+ "id": "stock_mount",
+ "type": "GUNMOD",
+ "name": "replaceable stock kit",
+ "description": "This is a kit consisting of various steel parts; when installed, it would remove the weapon's original fixed stock, install a new stock mount on its place, modify original stock to fit it and then reattach it to the gun, or simply attach a stock mount if gun had no stock to start with. This allows easy installation of any kind of more advanced stocks.",
+ "weight": 80,
+ "volume": "50ml",
+ "integral_volume": 0,
+ "price": 6000,
+ "material": [ "steel" ],
+ "symbol": ":",
+ "color": "light_gray",
+ "location": "stock mount",
+ "mod_targets": [ "smg", "rifle", "pistol", "shotgun", "crossbow", "launcher" ],
+ "install_time": 60000,
+ "min_skills": [ [ "gun", 5 ] ],
+ "add_mod": [ [ "stock", 1 ] ],
+ "flags": [ "INSTALL_DIFFICULT", "IRREMOVABLE" ]
+ },
+ {
+ "id": "underbarrel_mount",
+ "type": "GUNMOD",
+ "name": "bottom mount",
+ "description": "This is a plastic mount for attaching an underbarrel accessory, designed to be permanently installed onto almost any weapon, along with some fasteners. Ideal for bringing out your inner tacticool on older guns.",
+ "weight": 10,
+ "volume": "8ml",
+ "price": 6000,
+ "material": [ "steel", "plastic" ],
+ "symbol": ":",
+ "color": "light_gray",
+ "location": "underbarrel mount",
+ "mod_targets": [ "smg", "rifle", "pistol", "shotgun", "crossbow", "launcher", "bow" ],
+ "install_time": 15000,
+ "min_skills": [ [ "gun", 3 ] ],
+ "add_mod": [ [ "underbarrel", 1 ] ],
+ "flags": [ "INSTALL_DIFFICULT", "IRREMOVABLE" ]
+ }
+]
diff --git a/data/json/items/magazine/357sig.json b/data/json/items/magazine/357sig.json
index 28655705f4903..af391cdd2c634 100644
--- a/data/json/items/magazine/357sig.json
+++ b/data/json/items/magazine/357sig.json
@@ -14,5 +14,22 @@
"capacity": 15,
"reliability": 9,
"flags": [ "MAG_COMPACT" ]
+ },
+ {
+ "id": "p320mag_14rd_357sig",
+ "type": "MAGAZINE",
+ "name": "P320 magazine .357 SIG",
+ "description": "A 14 round double stack box magazine for the SIG Sauer P320.",
+ "weight": 105,
+ "volume": 1,
+ "price": 2900,
+ "material": "plastic",
+ "symbol": "#",
+ "color": "light_gray",
+ "ammo_type": "357sig",
+ "capacity": 14,
+ "reliability": 7,
+ "reload_time": 140,
+ "flags": [ "MAG_COMPACT" ]
}
]
diff --git a/data/json/items/magazine/38super.json b/data/json/items/magazine/38super.json
new file mode 100644
index 0000000000000..72a357f639ebb
--- /dev/null
+++ b/data/json/items/magazine/38super.json
@@ -0,0 +1,18 @@
+[
+ {
+ "id": "m1911mag_10rd_38super",
+ "type": "MAGAZINE",
+ "name": "M1911 .38 Super magazine",
+ "description": "A compact single stack box magazine for the M1911.",
+ "weight": 80,
+ "volume": 1,
+ "price": 3400,
+ "material": "steel",
+ "symbol": "#",
+ "color": "light_gray",
+ "ammo_type": "38super",
+ "capacity": 10,
+ "reliability": 8,
+ "flags": [ "MAG_COMPACT" ]
+ }
+]
diff --git a/data/json/items/magazine/410shot.json b/data/json/items/magazine/410shot.json
new file mode 100644
index 0000000000000..9df762d74f73d
--- /dev/null
+++ b/data/json/items/magazine/410shot.json
@@ -0,0 +1,35 @@
+[
+ {
+ "id": "saiga410mag_10rd",
+ "type": "MAGAZINE",
+ "name": "Saiga-410 box magazine",
+ "description": "A removable plastic box magazine for the Saiga-410 shotgun. Holds 10 shells.",
+ "weight": 210,
+ "volume": 2,
+ "price": 4500,
+ "material": "plastic",
+ "symbol": "#",
+ "color": "dark_gray",
+ "ammo_type": "410shot",
+ "capacity": 10,
+ "reliability": 9,
+ "flags": [ "MAG_COMPACT" ]
+ },
+ {
+ "id": "saiga410mag_30rd",
+ "type": "MAGAZINE",
+ "name": "Saiga-410 drum magazine",
+ "description": "A removable plastic drum magazine for the Saiga-410 shotgun. Holds 30 shells.",
+ "weight": 460,
+ "volume": 4,
+ "price": 11000,
+ "material": "plastic",
+ "symbol": "#",
+ "color": "dark_gray",
+ "ammo_type": "410shot",
+ "capacity": 30,
+ "reliability": 8,
+ "reload_time": 130,
+ "flags": [ "MAG_BULKY" ]
+ }
+]
diff --git a/data/json/items/magazine/9mm.json b/data/json/items/magazine/9mm.json
index a884c4526d9d3..d2a54476fdb59 100644
--- a/data/json/items/magazine/9mm.json
+++ b/data/json/items/magazine/9mm.json
@@ -307,5 +307,22 @@
"capacity": 7,
"reliability": 9,
"flags": [ "MAG_COMPACT" ]
+ },
+ {
+ "id": "p320mag_17rd_9x19mm",
+ "type": "MAGAZINE",
+ "name": "P320 magazine 9x19mm",
+ "description": "A 17 round double stack box magazine for the SIG Sauer P320.",
+ "weight": 105,
+ "volume": 1,
+ "price": 2900,
+ "material": "plastic",
+ "symbol": "#",
+ "color": "light_gray",
+ "ammo_type": "9mm",
+ "capacity": 17,
+ "reliability": 7,
+ "reload_time": 140,
+ "flags": [ "MAG_COMPACT" ]
}
]
diff --git a/data/json/items/melee.json b/data/json/items/melee.json
index b10cfad176540..eb564d0434cbb 100644
--- a/data/json/items/melee.json
+++ b/data/json/items/melee.json
@@ -19,7 +19,7 @@
"type": "GENERIC",
"id": "scythe_war",
"name": "war scythe",
- "description": "A pole weapon with a curving single-edged blade. Its blade bears some superficial resemblance to that of an agricultural scythe from which it likely evolved.",
+ "description": "A pole weapon with a curving single-edged blade. Its blade bears some superficial resemblance to that of an agricultural scythe from which it likely evolved.",
"weight": 3013,
"volume": 13,
"price": 16000,
@@ -831,7 +831,7 @@
"id": "naginata_fake",
"name": "naginata",
"name_plural": "naginata",
- "description": "This is a dull, slightly floppy replica of a Japanese polearm with a curved blade. With a little difficulty, you could use it administer a solid slap from a distance.",
+ "description": "This is a dull, slightly floppy replica of a Japanese polearm with a curved blade. With a little difficulty, you could use it administer a solid slap from a distance.",
"weight": 1400,
"color": "light_gray",
"symbol": "/",
@@ -1949,7 +1949,7 @@
"symbol": "/",
"color": "light_gray",
"name": "estoc",
- "description": "This is a thin sword resembling a longsword, a sort of predecessor to the rapier. It requires a larger baldric or scabbard, compared to smaller swords.",
+ "description": "This is a thin thrusting sword, a sort of predecessor to the rapier. It requires a larger baldric or scabbard, compared to smaller swords.",
"price": 135000,
"material": "steel",
"techniques": [ "WBLOCK_2", "PRECISE" ],
@@ -1962,13 +1962,32 @@
"category": "weapons",
"qualities": [ [ "CUT", 1 ], [ "BUTCHER", 8 ] ]
},
+ {
+ "id": "estoc_inferior",
+ "type": "GENERIC",
+ "symbol": "/",
+ "color": "light_gray",
+ "name": "estoc",
+ "description": "This is a thin thrusting sword, a sort of predecessor to the rapier. It requires a larger baldric or scabbard, compared to smaller swords. It seems a bit too bendy.",
+ "price": 13500,
+ "price_postapoc": 0,
+ "material": "budget_steel",
+ "techniques": [ "WBLOCK_2", "PRECISE" ],
+ "flags": "SHEATH_SWORD",
+ "weight": 1814,
+ "volume": 11,
+ "bashing": 4,
+ "cutting": 30,
+ "to_hit": 2,
+ "category": "weapons"
+ },
{
"id": "estoc_fake",
"type": "GENERIC",
"symbol": "/",
"color": "light_gray",
"name": "estoc",
- "description": "This is a dull, cheaply-made replica of a thin sword resembling a longsword. It requires a larger baldric or scabbard, compared to smaller swords.",
+ "description": "This is a dull, cheaply-made replica of a thin thrusting sword predating the rapier. It requires a larger baldric or scabbard, compared to smaller swords.",
"price": 13500,
"price_postapoc": 0,
"material": "aluminum",
@@ -2284,6 +2303,57 @@
"qualities": [ [ "CUT", 1 ], [ "CUT_FINE", 1 ], [ "BUTCHER", 7 ] ],
"flags": [ "STAB", "SHEATH_KNIFE" ]
},
+ {
+ "type": "TOOL",
+ "category": "weapons",
+ "id": "grip_hook",
+ "name": "grip hook",
+ "description": "A simple steel meathook with a circular steel handle. Makes a passable melee weapon.",
+ "weight": 900,
+ "to_hit": 1,
+ "color": "light_gray",
+ "symbol": "?",
+ "material": [ "steel" ],
+ "techniques": [ "DEF_DISARM", "SWEEP" ],
+ "flags": [ "DURABLE_MELEE", "BELT_CLIP", "STAB" ],
+ "volume": 3,
+ "bashing": 2,
+ "cutting": 6,
+ "price": 2000,
+ "qualities": [ [ "HAMMER", 1 ], [ "BUTCHER", -5 ] ]
+ },
+ {
+ "id": "2h_flail_steel",
+ "type": "GENERIC",
+ "category": "weapons",
+ "name": "war flail",
+ "description": "This is a stout pole with a large steel flanged mace head on a short chain attached to it, based on the peasant flail agricultural tool except now with a metal head and made to thresh people in metal armor rather than grain.",
+ "weight": 4550,
+ "volume": 15,
+ "price": 25000,
+ "bashing": 40,
+ "material": [ "wood", "steel" ],
+ "symbol": "\\",
+ "color": "dark_gray",
+ "techniques": [ "WBLOCK_1", "BRUTAL" ],
+ "flags": [ "DURABLE_MELEE", "REACH_ATTACK", "NONCONDUCTIVE" ]
+ },
+ {
+ "id": "2h_flail_wood",
+ "type": "GENERIC",
+ "category": "weapons",
+ "name": "peasant flail",
+ "description": "This is a stout pole with a wooden club on a leather cord attached to it, this is a tool used to thresh wheat and occasionally people when the peasants got angry at their feudal lords.",
+ "weight": 1700,
+ "volume": 15,
+ "price": 4000,
+ "bashing": 19,
+ "material": [ "wood" ],
+ "symbol": "\\",
+ "color": "brown",
+ "techniques": [ "WBLOCK_1" ],
+ "flags": [ "REACH_ATTACK", "NONCONDUCTIVE" ]
+ },
{
"id": "butterfly_swords",
"type": "TOOL",
@@ -2324,5 +2394,43 @@
"price": 4000,
"price_postapoc": 8000,
"qualities": [ [ "HAMMER", 1 ] ]
+ },
+ {
+ "id": "ji",
+ "type": "GENERIC",
+ "name": "ji",
+ "name_plural": "ji",
+ "//": "Couldn't find a good way to pluralize the transliteration.",
+ "description": "This is a bronze polearm that originated in the Shang dynasty of China, if not earlier. It combines a spear head with the perpendicular blade of the earlier ge or dagger-axe.",
+ "weight": 3175,
+ "volume": 15,
+ "price": 50000,
+ "to_hit": 2,
+ "bashing": 16,
+ "cutting": 20,
+ "material": [ "wood", "bronze" ],
+ "symbol": "/",
+ "color": "yellow",
+ "techniques": [ "WBLOCK_1", "DEF_DISARM" ],
+ "flags": [ "DURABLE_MELEE", "REACH_ATTACK" ]
+ },
+ {
+ "id": "spear_dory",
+ "type": "GENERIC",
+ "name": "dory",
+ "name_plural": "dories",
+ "description": "A well-made spear with a bronze head, Greek in origin.",
+ "weight": 1598,
+ "volume": 14,
+ "price": 10000,
+ "to_hit": 2,
+ "bashing": 5,
+ "cutting": 27,
+ "material": [ "bronze", "wood" ],
+ "symbol": "/",
+ "color": "yellow",
+ "techniques": [ "WBLOCK_1", "IMPALE" ],
+ "qualities": [ [ "COOK", 1 ] ],
+ "flags": [ "SPEAR", "REACH_ATTACK", "DURABLE_MELEE" ]
}
]
diff --git a/data/json/items/migration.json b/data/json/items/migration.json
index 0e952f408c11a..734c1637087e3 100644
--- a/data/json/items/migration.json
+++ b/data/json/items/migration.json
@@ -571,5 +571,30 @@
"id": "hd_battery",
"type": "MIGRATION",
"replace": "heavy_plus_battery_cell"
+ },
+ {
+ "id": "frozen_burrito",
+ "type": "MIGRATION",
+ "replace": "junk_burrito"
+ },
+ {
+ "id": "cooked_burrito",
+ "type": "MIGRATION",
+ "replace": "junk_burrito"
+ },
+ {
+ "id": "10mm",
+ "type": "MIGRATION",
+ "replace": "10mm_fmj"
+ },
+ {
+ "id": "270",
+ "type": "MIGRATION",
+ "replace": "270win_jsp"
+ },
+ {
+ "id": "reloaded_270",
+ "type": "MIGRATION",
+ "replace": "reloaded_270win_jsp"
}
]
diff --git a/data/json/items/ranged.json b/data/json/items/ranged.json
index 10e780eede30f..8de9a8dd5bd95 100644
--- a/data/json/items/ranged.json
+++ b/data/json/items/ranged.json
@@ -23,7 +23,15 @@
"durability": 7,
"clip_size": 150,
"reload": 50,
- "valid_mod_locations": [ [ "accessories", 4 ], [ "sights", 1 ], [ "sling", 1 ], [ "stock", 1 ] ]
+ "valid_mod_locations": [
+ [ "accessories", 4 ],
+ [ "sights", 1 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ]
},
{
"id": "sling",
@@ -66,7 +74,8 @@
"range": 5,
"dispersion": 75,
"durability": 6,
- "clip_size": 1
+ "clip_size": 1,
+ "valid_mod_locations": [ [ "grip mount", 1 ], [ "underbarrel mount", 1 ] ]
},
{
"id": "wristrocket",
@@ -87,7 +96,8 @@
"range": 8,
"dispersion": 45,
"durability": 7,
- "clip_size": 1
+ "clip_size": 1,
+ "valid_mod_locations": [ [ "grip mount", 1 ], [ "underbarrel mount", 1 ] ]
},
{
"id": "bullet_crossbow",
@@ -263,7 +273,15 @@
"loudness": 25,
"barrel_length": 2,
"built_in_mods": [ "combination_gun_shotgun_pipe" ],
- "valid_mod_locations": [ [ "muzzle", 1 ], [ "sling", 1 ], [ "stock", 1 ] ]
+ "valid_mod_locations": [
+ [ "muzzle", 1 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "grip mount", 1 ],
+ [ "rail mount", 1 ],
+ [ "sights mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ]
},
{
"id": "tihar",
@@ -290,7 +308,16 @@
"clip_size": 15,
"reload": 1000,
"loudness": 18,
- "valid_mod_locations": [ [ "accessories", 4 ], [ "grip", 1 ], [ "mechanism", 4 ], [ "sights", 1 ], [ "sling", 1 ], [ "stock", 1 ] ]
+ "valid_mod_locations": [
+ [ "accessories", 4 ],
+ [ "grip", 1 ],
+ [ "mechanism", 4 ],
+ [ "sights", 1 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "rail mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ]
},
{
"id": "helsing",
@@ -316,7 +343,16 @@
"clip_size": 8,
"reload": 1000,
"loudness": 22,
- "valid_mod_locations": [ [ "accessories", 4 ], [ "grip", 1 ], [ "mechanism", 4 ], [ "sights", 1 ], [ "sling", 1 ], [ "stock", 1 ] ]
+ "valid_mod_locations": [
+ [ "accessories", 4 ],
+ [ "grip", 1 ],
+ [ "mechanism", 4 ],
+ [ "sights", 1 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "rail mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ]
},
{
"id": "pneumatic_shotgun",
@@ -368,7 +404,7 @@
"durability": 7,
"clip_size": 1,
"reload": 800,
- "valid_mod_locations": [ [ "sling", 1 ] ]
+ "valid_mod_locations": [ [ "sling", 1 ], [ "grip mount", 1 ], [ "rail mount", 1 ], [ "sights mount", 1 ], [ "underbarrel mount", 1 ] ]
},
{
"id": "m202_flash",
@@ -394,7 +430,15 @@
"clip_size": 4,
"reload": 600,
"loudness": 200,
- "valid_mod_locations": [ [ "accessories", 4 ], [ "grip", 1 ], [ "mechanism", 4 ], [ "sights", 1 ], [ "sling", 1 ] ]
+ "valid_mod_locations": [
+ [ "accessories", 4 ],
+ [ "grip", 1 ],
+ [ "mechanism", 4 ],
+ [ "sights", 1 ],
+ [ "sling", 1 ],
+ [ "rail mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ]
},
{
"id": "RPG",
@@ -419,7 +463,15 @@
"durability": 10,
"clip_size": 1,
"reload": 150,
- "valid_mod_locations": [ [ "accessories", 4 ], [ "grip", 1 ], [ "mechanism", 4 ], [ "sights", 1 ], [ "sling", 1 ] ]
+ "valid_mod_locations": [
+ [ "accessories", 4 ],
+ [ "grip", 1 ],
+ [ "mechanism", 4 ],
+ [ "sights", 1 ],
+ [ "sling", 1 ],
+ [ "rail mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ]
},
{
"id": "speargun",
@@ -444,7 +496,15 @@
"durability": 8,
"clip_size": 1,
"reload": 700,
- "valid_mod_locations": [ [ "accessories", 4 ], [ "grip", 1 ], [ "sights", 1 ], [ "sling", 1 ], [ "stock", 1 ] ]
+ "valid_mod_locations": [
+ [ "accessories", 4 ],
+ [ "grip", 1 ],
+ [ "sights", 1 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "rail mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ]
},
{
"id": "minispeargun",
@@ -467,7 +527,14 @@
"durability": 8,
"clip_size": 1,
"reload": 600,
- "valid_mod_locations": [ [ "accessories", 2 ], [ "grip", 1 ], [ "sights", 1 ], [ "stock", 1 ] ]
+ "valid_mod_locations": [
+ [ "accessories", 2 ],
+ [ "grip", 1 ],
+ [ "sights", 1 ],
+ [ "stock", 1 ],
+ [ "rail mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ]
},
{
"id": "doublespeargun",
@@ -492,7 +559,15 @@
"durability": 7,
"clip_size": 2,
"reload": 700,
- "valid_mod_locations": [ [ "accessories", 4 ], [ "grip", 1 ], [ "sights", 1 ], [ "sling", 1 ], [ "stock", 1 ] ]
+ "valid_mod_locations": [
+ [ "accessories", 4 ],
+ [ "grip", 1 ],
+ [ "sights", 1 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "rail mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ]
},
{
"id": "airspeargun",
@@ -518,7 +593,15 @@
"clip_size": 4,
"reload": 1000,
"loudness": 11,
- "valid_mod_locations": [ [ "accessories", 4 ], [ "grip", 1 ], [ "sights", 1 ], [ "sling", 1 ], [ "stock", 1 ] ]
+ "valid_mod_locations": [
+ [ "accessories", 4 ],
+ [ "grip", 1 ],
+ [ "sights", 1 ],
+ [ "sling", 1 ],
+ [ "stock", 1 ],
+ [ "rail mount", 1 ],
+ [ "underbarrel mount", 1 ]
+ ]
},
{
"id": "combination_gun",
@@ -552,7 +635,8 @@
[ "sights", 1 ],
[ "sling", 1 ],
[ "stock", 1 ],
- [ "underbarrel", 1 ]
+ [ "underbarrel", 1 ],
+ [ "rail mount", 1 ]
]
},
{
@@ -578,7 +662,7 @@
"clip_size": 1,
"reload": 800,
"loudness": 200,
- "valid_mod_locations": [ [ "sling", 1 ] ]
+ "valid_mod_locations": [ [ "sling", 1 ], [ "grip mount", 1 ], [ "rail mount", 1 ], [ "sights mount", 1 ], [ "underbarrel mount", 1 ] ]
},
{
"id": "watercannon",
diff --git a/data/json/items/resources/metals.json b/data/json/items/resources/metals.json
index 1c880b9fb5d5e..f611e461e6933 100644
--- a/data/json/items/resources/metals.json
+++ b/data/json/items/resources/metals.json
@@ -199,5 +199,39 @@
"color": "light_gray",
"ammo_type": "components",
"qualities": [ [ "HAMMER", 1 ] ]
+ },
+ {
+ "id": "hinge",
+ "type": "AMMO",
+ "category": "spare_parts",
+ "name": "door hinge",
+ "description": "A small metal hinge with two metal plates with screw holes. Useful for making doors.",
+ "weight": 300,
+ "volume": 1,
+ "price": 3000,
+ "bashing": 5,
+ "to_hit": -3,
+ "stack_size": 6,
+ "//": "Roughly in the 8cm×8cm to 10cm×10cm range. Compact and stacks well",
+ "material": "steel",
+ "symbol": "%",
+ "color": "light_cyan",
+ "ammo_type": "components"
+ },
+ {
+ "type": "material",
+ "ident": "bronze",
+ "name": "Bronze",
+ "density": 58,
+ "bash_resist": 4,
+ "cut_resist": 5,
+ "acid_resist": 1,
+ "fire_resist": 2,
+ "elec_resist": 0,
+ "chip_resist": 15,
+ "salvaged_into": "scrap_bronze",
+ "dmg_adj": [ "marked", "dented", "smashed", "shattered" ],
+ "bash_dmg_verb": "dented",
+ "cut_dmg_verb": "scratched"
}
]
diff --git a/data/json/items/tool_armor.json b/data/json/items/tool_armor.json
index 2f7d95ffacff1..e5e87566aa88f 100644
--- a/data/json/items/tool_armor.json
+++ b/data/json/items/tool_armor.json
@@ -2034,6 +2034,49 @@
"coverage": 10,
"material_thickness": 2
},
+ {
+ "type": "TOOL_ARMOR",
+ "id": "guitar_electric",
+ "name": "electric guitar",
+ "category": "tools",
+ "weight": 2250,
+ "color": "red",
+ "covers": [ "TORSO" ],
+ "to_hit": 2,
+ "max_charges": 1,
+ "initial_charges": 1,
+ "use_action": {
+ "type": "musical_instrument",
+ "speed_penalty": 15,
+ "volume": 20,
+ "fun": 2,
+ "fun_bonus": 2,
+ "description_frequency": 20,
+ "player_descriptions": [
+ "You plink out a shredding solo on your guitar.",
+ "You play an epic classic rock riff on your guitar.",
+ "You play a furious, muted riff on your guitar.",
+ "You play a crunchy stoner tune on your guitar.",
+ "You play an old Britpop song on your guitar.",
+ "You play a tasteful classical piece on your guitar.",
+ "You play a jangly folk ditty on your guitar.",
+ "You play a melancholy melody on your guitar."
+ ]
+ },
+ "symbol": "-",
+ "description": "A standard factory-made electric guitar. It's probably better at smashing heads than melting faces, these days. Has a strap.",
+ "price": 1000,
+ "price_postapoc": 500,
+ "//": "Electric guitar less awesome when there's no electricity.",
+ "material": [ "wood", "iron" ],
+ "volume": 27,
+ "warmth": 2,
+ "encumbrance": 27,
+ "bashing": 8,
+ "flags": [ "BELTED" ],
+ "coverage": 10,
+ "material_thickness": 2
+ },
{
"type": "TOOL_ARMOR",
"id": "bagpipes",
@@ -2528,5 +2571,66 @@
"power_draw": 100000,
"use_action": { "type": "transform", "msg": "You turn the blanket's heating elements off.", "target": "electric_blanket" },
"magazine_well": 2
+ },
+ {
+ "id": "foodperson_mask",
+ "type": "TOOL_ARMOR",
+ "name": "Foodperson mask",
+ "description": "Foodperson, the mascot your stomach deserves!",
+ "weight": 1500,
+ "volume": "16L",
+ "price": 1500,
+ "to_hit": -3,
+ "material": [ "cotton", "plastic" ],
+ "symbol": "Q",
+ "color": "pink",
+ "covers": [ "HEAD", "MOUTH", "EYES" ],
+ "coverage": 100,
+ "encumbrance": 30,
+ "warmth": 50,
+ "material_thickness": 5,
+ "environmental_protection": 2,
+ "charges_per_use": 1,
+ "ammo": "battery",
+ "use_action": {
+ "type": "transform",
+ "msg": "Your HUD lights-up: \"Greetings Foodperson, your shift begins now. Good luck!\"",
+ "target": "foodperson_mask_on",
+ "active": true,
+ "need_worn": true,
+ "need_charges": 1,
+ "need_charges_msg": "The mask's batteries are dead."
+ },
+ "magazines": [
+ [
+ "battery",
+ [
+ "medium_battery_cell",
+ "medium_plus_battery_cell",
+ "medium_atomic_battery_cell",
+ "medium_disposable_cell",
+ "light_battery_cell",
+ "light_plus_battery_cell",
+ "light_minus_battery_cell",
+ "light_atomic_battery_cell",
+ "light_minus_atomic_battery_cell",
+ "light_minus_disposable_cell",
+ "light_disposable_cell"
+ ]
+ ]
+ ],
+ "magazine_well": 2,
+ "flags": [ "OUTER", "SUN_GLASSES" ]
+ },
+ {
+ "id": "foodperson_mask_on",
+ "type": "TOOL_ARMOR",
+ "name": "Foodperson mask (on)",
+ "name_plural": "Foodperson masks (on)",
+ "copy-from": "foodperson_mask",
+ "turns_per_charge": 15,
+ "revert_to": "foodperson_mask",
+ "use_action": "FOODPERSON",
+ "flags": [ "OUTER", "SUN_GLASSES", "NO_TAKEOFF", "LIGHT_10", "WATCH", "NO_UNLOAD" ]
}
]
diff --git a/data/json/items/tools.json b/data/json/items/tools.json
index 606ae5b7f556b..a929f1c1d0039 100644
--- a/data/json/items/tools.json
+++ b/data/json/items/tools.json
@@ -3608,8 +3608,8 @@
"type": "explosion",
"fields_type": "fd_tear_gas",
"fields_radius": 3,
- "fields_min_density": 1,
- "fields_max_density": 3,
+ "fields_min_intensity": 1,
+ "fields_max_intensity": 3,
"sound_volume": 0,
"sound_msg": "Tick.",
"no_deactivate_msg": "You've already pulled the %s's pin, try throwing it instead."
@@ -3817,8 +3817,8 @@
"type": "explosion",
"fields_type": "fd_toxic_gas",
"fields_radius": 2,
- "fields_min_density": 1,
- "fields_max_density": 3,
+ "fields_min_intensity": 1,
+ "fields_max_intensity": 3,
"sound_volume": 0,
"sound_msg": "Hiss.",
"no_deactivate_msg": "You've already armed the %s, try throwing it instead."
@@ -4821,14 +4821,25 @@
"use_action": { "type": "firestarter", "moves": 50 },
"flags": [ "FIRESTARTER" ]
},
+ {
+ "abstract": "lightstrip_base",
+ "type": "TOOL",
+ "name": "lightstrip_base",
+ "weight": 27,
+ "volume": 1,
+ "price": 500,
+ "to_hit": 2,
+ "bashing": 1,
+ "material": [ "plastic", "aluminum" ],
+ "symbol": ";"
+ },
{
"id": "lightstrip",
"type": "TOOL",
"name": "lightstrip",
- "copy-from": "lightstrip_inactive",
"name_plural": "lightstrips",
+ "copy-from": "lightstrip_base",
"description": "This is a light-emitting circuit that has been wired directly to a battery. It provides some weak light and can't be turned off until the battery dies.",
- "symbol": ";",
"color": "green",
"power_draw": 1000,
"revert_to": "lightstrip_inactive",
@@ -4841,17 +4852,17 @@
"type": "TOOL",
"name": "lightstrip (inactive)",
"name_plural": "lightstrips (inactive)",
+ "copy-from": "lightstrip_base",
"description": "This is a light-emitting circuit that can be wired directly to a battery. It provides some weak light and can't be turned off until the battery dies.",
- "weight": 27,
- "volume": 1,
- "price": 500,
- "to_hit": 2,
- "bashing": 1,
- "material": [ "plastic", "aluminum" ],
- "symbol": ";",
"color": "white",
"ammo": "battery",
- "use_action": { "target": "lightstrip", "msg": "You irreversibly activate the lightstrip.", "active": true, "type": "transform" },
+ "use_action": {
+ "target": "lightstrip",
+ "msg": "You irreversibly activate the lightstrip.",
+ "active": true,
+ "need_charges": 1,
+ "type": "transform"
+ },
"magazines": [
[
"battery",
@@ -5274,8 +5285,8 @@
"type": "explosion",
"fields_type": "fd_nuke_gas",
"fields_radius": 18,
- "fields_min_density": 3,
- "fields_max_density": 3,
+ "fields_min_intensity": 3,
+ "fields_max_intensity": 3,
"sound_volume": 2,
"sound_msg": "Tick.",
"no_deactivate_msg": "You've already set the %s's timer, you might want to get away from it.",
@@ -8118,8 +8129,8 @@
"type": "explosion",
"fields_type": "fd_smoke",
"fields_radius": 2,
- "fields_min_density": 2,
- "fields_max_density": 3,
+ "fields_min_intensity": 2,
+ "fields_max_intensity": 3,
"sound_volume": 5,
"sound_msg": "Hsssss.",
"no_deactivate_msg": "You've already lit the fuse - get rid of it immediately!",
@@ -9149,6 +9160,82 @@
"looks_like": "frame_wood_light",
"flags": [ "NONCONDUCTIVE" ]
},
+ {
+ "id": "sword_xiphos",
+ "type": "TOOL",
+ "category": "weapons",
+ "name": "xiphos",
+ "name_plural": "xiphoses",
+ "description": "A bronze sword of ancient Greek origin, wielded as a sidearm to the dory spear.",
+ "weight": 800,
+ "volume": 8,
+ "price": 12000,
+ "to_hit": 2,
+ "bashing": 8,
+ "cutting": 20,
+ "material": "bronze",
+ "symbol": "!",
+ "color": "yellow",
+ "techniques": [ "WBLOCK_2" ],
+ "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 8 ] ],
+ "flags": [ "SHEATH_SWORD", "DURABLE_MELEE" ]
+ },
+ {
+ "id": "khopesh",
+ "type": "TOOL",
+ "category": "weapons",
+ "name": "khopesh",
+ "name_plural": "khopeshes",
+ "description": "This ancient bronze weapon features a curved, sickle-like blade sharpened on the outside edge. Associated with the New Kingdom period of ancient Egypt, it was designed mainly to hack through the light armor common to the region.",
+ "weight": 750,
+ "volume": 7,
+ "price": 12000,
+ "to_hit": 1,
+ "bashing": 7,
+ "cutting": 19,
+ "material": "bronze",
+ "symbol": "/",
+ "color": "yellow",
+ "techniques": [ "WBLOCK_2", "DEF_DISARM" ],
+ "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 8 ] ],
+ "flags": [ "DURABLE_MELEE" ]
+ },
+ {
+ "id": "dao",
+ "type": "TOOL",
+ "category": "weapons",
+ "name": "dao",
+ "name_plural": "dao",
+ "description": "An ancient Chinese sword consisting of a curved blade and a guard with a cupped design. Existing since the Shang dynasty, this one is made of bronze. One of the four major weapons in folklore, alongside the jian sword, qiang spear, and gun staff.",
+ "weight": 850,
+ "volume": 7,
+ "price": 12500,
+ "to_hit": 2,
+ "bashing": 6,
+ "cutting": 18,
+ "material": "bronze",
+ "symbol": "/",
+ "color": "yellow",
+ "techniques": [ "WBLOCK_2" ],
+ "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 8 ] ],
+ "flags": [ "DURABLE_MELEE", "SHEATH_SWORD" ]
+ },
+ {
+ "id": "anvil_bronze",
+ "type": "TOOL",
+ "name": "bronze anvil",
+ "description": "This is a block of oddly shaped bronze with a chisel-like projection set into the corner. It's used in most metalworking fabrication recipes.",
+ "weight": 2180,
+ "volume": 10,
+ "price": 60000,
+ "to_hit": -5,
+ "bashing": 20,
+ "material": "bronze",
+ "symbol": ";",
+ "color": "yellow",
+ "qualities": [ [ "ANVIL", 2 ] ],
+ "flags": [ "DURABLE_MELEE" ]
+ },
{
"id": "hand_axe",
"type": "TOOL",
diff --git a/data/json/mapgen/apartment_con.json b/data/json/mapgen/apartment_con.json
index ecadd230d5531..ac3b1674f0974 100644
--- a/data/json/mapgen/apartment_con.json
+++ b/data/json/mapgen/apartment_con.json
@@ -6,20 +6,20 @@
"rows": [
" ",
" |------|-|-|ww---| |---ww|-|-|------| ",
- " |.dBBd.+r|u+..eSc|-w--w-|cSe..+u|r+.dBBd.| ",
- " w..BB..|-|-|....c|.....l|c....|-|-|..BB..w ",
+ " |.dBBd.+r|u+..e3u|-w--w-|u3e..+u|r+.dBBd.| ",
+ " w..BB..|-|-|....2|.....l|2....|-|-|..BB..w ",
" w.h....|STb|....O|.hc..l|O....|bTS|......w ",
- " |cxc...+.fb|..ccc|cxc...|ccc..|bf.+....d.| ",
+ " |cxc...+.fb|..uu1|cxc...|1uu..|bf.+....d.| ",
" |--|-+-|-+-|....Q|-ww-D-|.QQ..|-+-|-+-|--| ",
" RssX.............|^.....|.............XssR ",
" Rssw..F..........D......D.............wssR ",
" Rssw..F.......|+-|......|-+|..........wssR ",
" Rss|..F...FFF^|.Y|......|Y.|oo.FFFF..^|ssR ",
" |------|-|-|--|--|......|--|--|-|-|------| ",
- " |.dBBd.+r|u+..eSc|......|cSe..+u|r+.dBBd.| ",
- " w..BB..|-|-|....c|......|c....|-|-|..BB..w ",
+ " |.dBBd.+r|u+..e3u|......|u3e..+u|r+.dBBd.| ",
+ " w..BB..|-|-|....2|......|2....|-|-|..BB..w ",
" w......|STb|....O|......|O....|bTS|......w ",
- " |od....+.fb|..ccc|......|ccc..|bf.+....d.| ",
+ " |od....+.fb|..1uu|......|1uu..|bf.+....d.| ",
" |--|-+-|-+-|...QQ|.....^|Q.Q..|-+-|-+-|--| ",
" RssX.............|......|.............XssR ",
" Rssw.............D......D......A......wssR ",
@@ -29,20 +29,20 @@
" |############|EEE=......=xEE|############| ",
" |############|EEx=......=EEE|############| ",
" |------|-|-|-|---|......|---|-|-|-|------| ",
- " |.dBBd.+r|u+..eSc|......|cSe..+u|r+.dBBd.| ",
- " w..BB..|-|-|....c|......|c....|-|-|..BB..w ",
+ " |.dBBd.+r|u+..e32|......|23e..+u|r+.dBBd.| ",
+ " w..BB..|-|-|....u|......|u....|-|-|..BB..w ",
" w......|STb|....O|......|O....|bTS|......w ",
- " |oo....+..b|..ccc|^.....|ccc..|bf.+....d.| ",
+ " |oo....+..b|..1uu|^.....|u1u..|bf.+....d.| ",
" |--|-+-|-+-|..QQQ|......|.Q...|-+-|-+-|--| ",
" RssX.............|......|.............+ssR ",
" Rssw.............D......D.............wssR ",
" Rssw..A....A..|+-|......|-+|...htth...wssR ",
" Rss|...FFF...^|.Y|......|Y.|^..htth.oo|ssR ",
" |------|-|-|--|--|......|--|--|-|-|------| ",
- " |.dBBd.+r|u+..eSc|......|cSe..+u|r+.dBBd.| ",
- " w..BB..|-|-|....c|.....^|c....|-|-|..BB..w ",
+ " |.dBBd.+r|u+..e3u|......|u3e..+u|r+.dBBd.| ",
+ " w..BB..|-|-|....2|.....^|2....|-|-|..BB..w ",
" w......|STb|....O|......|O....|bTS|......w ",
- " |.d....+..b|..ccc|......|ccc..|bf.+....d.| ",
+ " |.d....+..b|..uu1|......|u1u..|bf.+....d.| ",
" |--|-+-|-+-|....^|......|.....|-+-|-+-|--| ",
" RssX...A.........|......|.............+ssR ",
" Rssw.............D......D...........A.wssR ",
@@ -54,30 +54,6 @@
" ssss "
],
"palettes": [ "apartment_con_old" ],
- "toilets": { "T": { } },
- "items": {
- "B": { "item": "bed", "chance": 60 },
- "O": { "item": "oven", "chance": 70 },
- "S": [ { "item": "softdrugs", "chance": 70 }, { "item": "cleaning", "chance": 50 } ],
- "d": { "item": "dresser", "chance": 70 },
- "e": { "item": "fridge", "chance": 70 },
- "f": [ { "item": "magazines", "chance": 70 }, { "item": "novels", "chance": 50 } ],
- "o": [
- { "item": "magazines", "chance": 30 },
- { "item": "novels", "chance": 40 },
- { "item": "alcohol", "chance": 30 },
- { "item": "manuals", "chance": 20 }
- ],
- "r": [ { "item": "dresser", "chance": 30 }, { "item": "jackets", "chance": 60 } ],
- "u": [
- { "item": "cleaning", "chance": 50 },
- { "item": "home_hw", "chance": 30 },
- { "item": "cannedfood", "chance": 50 },
- { "item": "pasta", "chance": 50 }
- ],
- "Y": { "item": "coat_rack", "chance": 35, "repeat": [ 1, 4 ] },
- "p": { "item": "mail", "chance": 30, "repeat": [ 2, 5 ] }
- },
"place_monsters": [
{ "monster": "GROUP_ZOMBIE", "x": [ 4, 23 ], "y": [ 2, 23 ], "repeat": [ 1, 2 ] },
{ "monster": "GROUP_ZOMBIE", "x": [ 24, 43 ], "y": [ 2, 23 ], "repeat": [ 1, 2 ] },
diff --git a/data/json/mapgen/apartment_con_new.json b/data/json/mapgen/apartment_con_new.json
index c7eb032d9d919..fed4f97726d7d 100644
--- a/data/json/mapgen/apartment_con_new.json
+++ b/data/json/mapgen/apartment_con_new.json
@@ -6,20 +6,20 @@
"rows": [
" ",
" |------|-|-|ww---| |---ww|-|-|------| ",
- " |.dBBd.+r|u+..eSc|-w--w-|cSe..+u|r+.dBBd.| ",
- " w..BB..|-|-|..iic|.....l|cii..|-|-|..BB..w ",
+ " |.dBBd.+r|u+..e3u|-w--w-|23e..+u|r+.dBBd.| ",
+ " w..BB..|-|-|..ii2|.....l|uii..|-|-|..BB..w ",
" w.h....|STb|..iiO|.hC..l|Oii..|bTS|......w ",
- " |CxC...+iib|..ccc|CxC...|ccc.j|bii+....X.| ",
+ " |CxC...+iib|..u1u|CxC...|u1u.j|bii+....X.| ",
" |--|-+-|-+-|..lll|-ww-D-|lll..|-+-|-+-|--| ",
" R,,+......nt.....|^.....|........nt...+,,R ",
" R,,w..F..........D......D.............w,,R ",
" R,,w..F.......|+-|p....p|-+|..........w,,R ",
" R,Q|..F.I.FFF^|.Y|......|Y.|oo.FFFFI.^|Q,R ",
" |------|-|-|--|--|......|--|--|-|-|------| ",
- " |.dBBd.+r|u+..eSc|......|cSe..+u|r+.dBBd.| ",
- " w..BB..|-|-|..iic|......|cii..|-|-|..BB..w ",
+ " |.dBBd.+r|u+..e32|......|u3e..+u|r+.dBBd.| ",
+ " w..BB..|-|-|..iiu|......|2ii..|-|-|..BB..w ",
" w......|STb|..iiO|......|Oii..|bTS|......w ",
- " |oX....+iib|j.ccc|......|ccc.j|bii+....X.| ",
+ " |oX....+iib|j.uu1|......|1uu.j|bii+....X.| ",
" |--|-+-|-+-|..lll|.....^|lll..|-+-|-+-|--| ",
" R,,+...tn........|p....p|.........nt..+,,R ",
" R,,w.............D......D......A......w,,R ",
@@ -29,20 +29,20 @@
" |%%%%%%%%%%%%|,,,G......=EEx|%%%%%%%%%%%%| ",
" |%%%%%%%%%%%%|<,,G......=EEE|%%%%%%%%%%%%| ",
" |------|-|-|-|---|......|---|-|-|-|------| ",
- " |.dBBd.+r|u+..eSc|......|cSe..+u|r+.dBBd.| ",
- " w..BB..|-|-|..iic|......|cii..|-|-|..BB..w ",
+ " |.dBBd.+r|u+..e32|......|23e..+u|r+.dBBd.| ",
+ " w..BB..|-|-|..iiu|......|uii..|-|-|..BB..w ",
" w......|STb|..iiO|......|Oii..|bTS|......w ",
- " |oo....+iib|j.ccc|^.....|ccc.j|bii+....X.| ",
+ " |oo....+iib|j.uu1|^.....|u1u.j|bii+....X.| ",
" |--|-+-|-+-|..lll|......|lll..|-+-|-+-|--| ",
" R,,+...tn........|......|........nt...+,,R ",
" R,,w.............D......D.............w,,R ",
" R,,w..A....A..|+-|p....p|-+|I..htth...w,,R ",
" R,Q|...FFFI..^|.Y|......|Y.|^..htth.oo|Q,R ",
" |------|-|-|--|--|......|--|--|-|-|------| ",
- " |.dBBd.+r|u+..eSc|......|cSe..+u|r+.dBBd.| ",
- " w..BB..|-|-|..iic|.....^|cii..|-|-|..BB..w ",
+ " |.dBBd.+r|u+..e32|......|u3e..+u|r+.dBBd.| ",
+ " w..BB..|-|-|..ii1|.....^|2ii..|-|-|..BB..w ",
" w......|STb|..iiO|......|Oii..|bTS|......w ",
- " |.X....+iib|j.ccc|......|ccc.j|bii+....X.| ",
+ " |.X....+iib|j.uuu|......|1uu.j|bii+....X.| ",
" |--|-+-|-+-|^.lll|......|lll..|-+-|-+-|--| ",
" R,,+...A..nt.....|p....p|........tn...+,,R ",
" R,,w.............D......D...........A.w,,R ",
@@ -75,20 +75,20 @@
"rows": [
"************************************************",
"***|------|-|-|ww---|******|---ww|-|-|------|***",
- "***|.dBBd.+r|u+..eSc|zzzzzz|cSe..+u|r+.dBBd.|***",
- "***w..BB..|-|-|..iic|zzzzzz|cii..|-|-|..BB..w***",
+ "***|.dBBd.+r|u+..e3u|zzzzzz|u3e..+u|r+.dBBd.|***",
+ "***w..BB..|-|-|..ii2|zzzzzz|2ii..|-|-|..BB..w***",
"***w.h....|STb|..iiO|zzzzzz|Oii..|bTS|......w***",
- "***|CxC...+iib|j.ccc|zzzzzz|ccc.j|bii+....X.|***",
+ "***|CxC...+iib|j.uu1|zzzzzz|uu1.j|bii+....X.|***",
"***|--|-+-|-+-|..lll|-WW-D-|lll..|-+-|-+-|--|***",
"***R,,+......nt.....|^.....|........nt...+,,R***",
"***R,,w..F..........D......D.............w,,R***",
"***R,,w..F.......|+-|p....p|-+|..........w,,R***",
"***R,Q|..F.I.FFF^|.Y|......|Y.|oo.FFFF..^|Q,R***",
"***|------|-|-|--|--|......|--|--|-|-|------|***",
- "***|.dBBd.+r|u+..eSc|......|cSe..+u|r+.dBBd.|***",
- "***w..BB..|-|-|..iic|......|cii..|-|-|..BB..w***",
+ "***|.dBBd.+r|u+..e3u|......|u3e..+u|r+.dBBd.|***",
+ "***w..BB..|-|-|..ii2|......|2ii..|-|-|..BB..w***",
"***w......|STb|..iiO|......|Oii..|bTS|......w***",
- "***|oX....+iib|j.ccc|......|ccc.j|bii+....X.|***",
+ "***|oX....+iib|j.uu1|......|uu1.j|bii+....X.|***",
"***|--|-+-|-+-|..lll|.....^|lll..|-+-|-+-|--|***",
"***R,,+...tn........|p....p|.........nt..+,,R***",
"***R,,w.............D......D......A......w,,R***",
@@ -98,20 +98,20 @@
"***|%%%%%%%%%%%%|<,,G......=EEx|%%%%%%%%%%%%|***",
"***|%%%%%%%%%%%%|>,,G......=EEE|%%%%%%%%%%%%|***",
"***|------|-|-|-|---|......|---|-|-|-|------|***",
- "***|.dBBd.+r|u+..eSc|......|cSe..+u|r+.dBBd.|***",
- "***w..BB..|-|-|..iic|......|cii..|-|-|..BB..w***",
+ "***|.dBBd.+r|u+..e3u|......|u3e..+u|r+.dBBd.|***",
+ "***w..BB..|-|-|..ii2|......|2ii..|-|-|..BB..w***",
"***w......|STb|..iiO|......|Oii..|bTS|......w***",
- "***|oo....+iib|j.ccc|^.....|ccc.j|bii+....X.|***",
+ "***|oo....+iib|j.uu1|^.....|uu1.j|bii+....X.|***",
"***|--|-+-|-+-|..lll|......|lll..|-+-|-+-|--|***",
"***R,,+...tn........|......|........nt...+,,R***",
"***R,,w.............D......D.............w,,R***",
"***R,,w..A....A..|+-|p....p|-+|I..htth...w,,R***",
"***R,Q|...FFFI..^|.Y|......|Y.|^..htth.oo|Q,R***",
"***|------|-|-|--|--|......|--|--|-|-|------|***",
- "***|.dBBd.+r|u+..eSc|......|cSe..+u|r+.dBBd.|***",
- "***w..BB..|-|-|..iic|.....^|cii..|-|-|..BB..w***",
+ "***|.dBBd.+r|u+..e3u|......|u3e..+u|r+.dBBd.|***",
+ "***w..BB..|-|-|..ii2|.....^|2ii..|-|-|..BB..w***",
"***w......|STb|..iiO|......|Oii..|bTS|......w***",
- "***|.X....+iib|j.ccc|......|ccc.j|bii+....X.|***",
+ "***|.X....+iib|j.uu1|......|uu1.j|bii+....X.|***",
"***|--|-+-|-+-|^.lll|......|lll..|-+-|-+-|--|***",
"***R,,+...A..nt.....|p....p|........tn...+,,R***",
"***R,,w.............D......D...........A.w,,R***",
@@ -144,20 +144,20 @@
"rows": [
"************************************************",
"***|------|-|-|ww---|******|---ww|-|-|------|***",
- "***|.dBBd.+r|u+..eSc|******|cSe..+u|r+.dBBd.|***",
- "***w..BB..|-|-|..iic|******|cii..|-|-|..BB..w***",
+ "***|.dBBd.+r|u+..e3u|******|u3e..+u|r+.dBBd.|***",
+ "***w..BB..|-|-|..ii2|******|2ii..|-|-|..BB..w***",
"***w.h....|STb|..iiO|******|Oii..|bTS|......w***",
- "***|CxC...+iib|j.ccc|******|ccc.j|bii+....X.|***",
+ "***|CxC...+iib|j.uu1|******|uu1.j|bii+....X.|***",
"***|--|-+-|-+-|..lll|-WWWW-|lll..|-+-|-+-|--|***",
"***R,,+......nt.....|^.....|........nt...+,,R***",
"***R,,w..F..........D......D.............w,,R***",
"***R,,w..F.......|+-|p....p|-+|..........w,,R***",
"***R,Q|..F.I.FFF^|.Y|......|Y.|oo.FFFFI.^|Q,R***",
"***|------|-|-|--|--|......|--|--|-|-|------|***",
- "***|.dBBd.+r|u+..eSc|......|cSe..+u|r+.dBBd.|***",
- "***w..BB..|-|-|..iic|......|cii..|-|-|..BB..w***",
+ "***|.dBBd.+r|u+..e3u|......|u3e..+u|r+.dBBd.|***",
+ "***w..BB..|-|-|..ii2|......|2ii..|-|-|..BB..w***",
"***w......|STb|..iiO|......|Oii..|bTS|......w***",
- "***|oX....+iib|j.ccc|......|ccc.j|bii+....X.|***",
+ "***|oX....+iib|j.uu1|......|uu1.j|bii+....X.|***",
"***|--|-+-|-+-|..lll|.....^|lll..|-+-|-+-|--|***",
"***R,,+...tn........|p....p|.........nt..+,,R***",
"***R,,w.............D......D......A......w,,R***",
@@ -167,20 +167,20 @@
"***|%%%%%%%%%%%%|>,,G......=EEx|%%%%%%%%%%%%|***",
"***|%%%%%%%%%%%%|<,,G......=EEE|%%%%%%%%%%%%|***",
"***|------|-|-|-|---|......|---|-|-|-|------|***",
- "***|.dBBd.+r|u+..eSc|......|cSe..+u|r+.dBBd.|***",
- "***w..BB..|-|-|..iic|......|cii..|-|-|..BB..w***",
+ "***|.dBBd.+r|u+..e3u|......|u3e..+u|r+.dBBd.|***",
+ "***w..BB..|-|-|..ii2|......|2ii..|-|-|..BB..w***",
"***w......|STb|..iiO|......|Oii..|bTS|......w***",
- "***|oo....+iib|..ccc|^.....|ccc.j|bii+....X.|***",
+ "***|oo....+iib|..uu1|^.....|uu1.j|bii+....X.|***",
"***|--|-+-|-+-|..lll|......|lll..|-+-|-+-|--|***",
"***R,,+...tn........|......|........nt...+,,R***",
"***R,,w.............D......D.............w,,R***",
"***R,,w..A....A..|+-|p....p|-+|I..htth...w,,R***",
"***R,Q|...FFFI..^|.Y|......|Y.|^..htth.oo|Q,R***",
"***|------|-|-|--|--|......|--|--|-|-|------|***",
- "***|.dBBd.+r|u+..eSc|......|cSe..+u|r+.dBBd.|***",
- "***w..BB..|-|-|..iic|.....^|cii..|-|-|..BB..w***",
+ "***|.dBBd.+r|u+..e3u|......|u3e..+u|r+.dBBd.|***",
+ "***w..BB..|-|-|..ii2|.....^|2ii..|-|-|..BB..w***",
"***w......|STb|..iiO|......|Oii..|bTS|......w***",
- "***|.X....+iib|j.ccc|......|ccc.j|bii+....X.|***",
+ "***|.X....+iib|j.uu1|......|uu1.j|bii+....X.|***",
"***|--|-+-|-+-|^.lll|......|lll..|-+-|-+-|--|***",
"***R,,+...A..nt.....|p....p|........tn...+,,R***",
"***R,,w.............D......D...........A.w,,R***",
@@ -213,20 +213,20 @@
"rows": [
"************************************************",
"***|------|-|-|ww---|******|---ww|-|-|------|***",
- "***|.dBBd.+r|u+..eSc|******|cSe..+u|r+.dBBd.|***",
- "***w..BB..|-|-|..iic|******|cii..|-|-|..BB..w***",
+ "***|.dBBd.+r|u+..e3u|******|u3e..+u|r+.dBBd.|***",
+ "***w..BB..|-|-|..ii2|******|2ii..|-|-|..BB..w***",
"***w.h....|STb|..iiO|******|Oii..|bTS|......w***",
- "***|CxC...+iib|j.ccc|******|ccc.j|bii+....X.|***",
+ "***|CxC...+iib|j.uu1|******|uu1.j|bii+....X.|***",
"***|--|-+-|-+-|..lll|-WWWW-|lll..|-+-|-+-|--|***",
"***R,,+......nt.....|^.....|........nt...+,,R***",
"***R,,w..F..........D......D.............w,,R***",
"***R,,w..F.......|+-|p....p|-+|..........w,,R***",
"***R,Q|..F.I.FFF^|.Y|......|Y.|oo.FFFFI.^|Q,R***",
"***|------|-|-|--|--|......|--|--|-|-|------|***",
- "***|.dBBd.+r|u+..eSc|......|cSe..+u|r+.dBBd.|***",
- "***w..BB..|-|-|..iic|......|cii..|-|-|..BB..w***",
+ "***|.dBBd.+r|u+..e3u|......|u3e..+u|r+.dBBd.|***",
+ "***w..BB..|-|-|..ii2|......|2ii..|-|-|..BB..w***",
"***w......|STb|..iiO|......|Oii..|bTS|......w***",
- "***|oX....+iib|j.ccc|......|ccc.j|bii+....X.|***",
+ "***|oX....+iib|j.uu1|......|uu1.j|bii+....X.|***",
"***|--|-+-|-+-|..lll|.....^|lll..|-+-|-+-|--|***",
"***R,,+...tn........|p....p|.........nt..+,,R***",
"***R,,w.............D......D......A......w,,R***",
@@ -236,20 +236,20 @@
"***|%%%%%%%%%%%%|<,,G......=EEx|%%%%%%%%%%%%|***",
"***|%%%%%%%%%%%%|>,,G......=EEE|%%%%%%%%%%%%|***",
"***|------|-|-|-|---|......|---|-|-|-|------|***",
- "***|.dBBd.+r|u+..eSc|......|cSe..+u|r+.dBBd.|***",
- "***w..BB..|-|-|..iic|......|cii..|-|-|..BB..w***",
+ "***|.dBBd.+r|u+..e3u|......|u3e..+u|r+.dBBd.|***",
+ "***w..BB..|-|-|..ii2|......|2ii..|-|-|..BB..w***",
"***w......|STb|..iiO|......|Oii..|bTS|......w***",
- "***|oo....+iib|..ccc|^.....|ccc.j|bii+....X.|***",
+ "***|oo....+iib|..uu1|^.....|uu1.j|bii+....X.|***",
"***|--|-+-|-+-|..lll|......|lll..|-+-|-+-|--|***",
"***R,,+...tn........|......|........nt...+,,R***",
"***R,,w.............D......D.............w,,R***",
"***R,,w..A....A..|+-|p....p|-+|I..htth...w,,R***",
"***R,Q|...FFFI..^|.Y|......|Y.|^..htth.oo|Q,R***",
"***|------|-|-|--|--|......|--|--|-|-|------|***",
- "***|.dBBd.+r|u+..eSc|......|cSe..+u|r+.dBBd.|***",
- "***w..BB..|-|-|..iic|.....^|cii..|-|-|..BB..w***",
+ "***|.dBBd.+r|u+..e3u|......|u3e..+u|r+.dBBd.|***",
+ "***w..BB..|-|-|..ii2|.....^|2ii..|-|-|..BB..w***",
"***w......|STb|..iiO|......|Oii..|bTS|......w***",
- "***|.X....+iib|j.ccc|......|ccc.j|bii+....X.|***",
+ "***|.X....+iib|j.uu1|......|uu1.j|bii+....X.|***",
"***|--|-+-|-+-|^.lll|......|lll..|-+-|-+-|--|***",
"***R,,+...A..nt.....|p....p|........tn...+,,R***",
"***R,,w.............D......D...........A.w,,R***",
@@ -282,20 +282,20 @@
"rows": [
"************************************************",
"***|------|-|-|ww---|******|---ww|-|-|------|***",
- "***|.dBBd.+r|u+..eSc|******|cSe..+u|r+.dBBd.|***",
- "***w..BB..|-|-|..iic|******|cii..|-|-|..BB..w***",
+ "***|.dBBd.+r|u+..e3u|******|u3e..+u|r+.dBBd.|***",
+ "***w..BB..|-|-|..ii2|******|2ii..|-|-|..BB..w***",
"***w.h....|STb|..iiO|******|Oii..|bTS|......w***",
- "***|CxC...+iib|j.ccc|******|ccc.j|bii+....X.|***",
+ "***|CxC...+iib|j.uu1|******|uu1.j|bii+....X.|***",
"***|--|-+-|-+-|..lll|-WWWW-|lll..|-+-|-+-|--|***",
"***R,,+......nt.....|^.....|........nt...+,,R***",
"***R,,w..F..........D......D.............w,,R***",
"***R,,w..F.......|+-|p....p|-+|..........w,,R***",
"***R,Q|..F.I.FFF^|.Y|......|Y.|oo.FFFFI.^|Q,R***",
"***|------|-|-|--|--|......|--|--|-|-|------|***",
- "***|.dBBd.+r|u+..eSc|......|cSe..+u|r+.dBBd.|***",
- "***w..BB..|-|-|..iic|......|cii..|-|-|..BB..w***",
+ "***|.dBBd.+r|u+..e3u|......|u3e..+u|r+.dBBd.|***",
+ "***w..BB..|-|-|..ii2|......|2ii..|-|-|..BB..w***",
"***w......|STb|..iiO|......|Oii..|bTS|......w***",
- "***|oX....+iib|j.ccc|......|ccc.j|bii+....X.|***",
+ "***|oX....+iib|j.uu1|......|uu1.j|bii+....X.|***",
"***|--|-+-|-+-|..lll|.....^|lll..|-+-|-+-|--|***",
"***R,,+...tn........|p....p|.........nt..+,,R***",
"***R,,w.............D......D......A......w,,R***",
@@ -305,20 +305,20 @@
"***|%%%%%%%%%%%%|>,,G......=EEx|%%%%%%%%%%%%|***",
"***|%%%%%%%%%%%%|<,,G......=EEE|%%%%%%%%%%%%|***",
"***|------|-|-|-|---|......|---|-|-|-|------|***",
- "***|.dBBd.+r|u+..eSc|......|cSe..+u|r+.dBBd.|***",
- "***w..BB..|-|-|..iic|......|cii..|-|-|..BB..w***",
+ "***|.dBBd.+r|u+..e3u|......|u3e..+u|r+.dBBd.|***",
+ "***w..BB..|-|-|..ii2|......|2ii..|-|-|..BB..w***",
"***w......|STb|..iiO|......|Oii..|bTS|......w***",
- "***|oo....+iib|..ccc|^.....|ccc.j|bii+....X.|***",
+ "***|oo....+iib|..uu1|^.....|uu1.j|bii+....X.|***",
"***|--|-+-|-+-|..lll|......|lll..|-+-|-+-|--|***",
"***R,,+...tn........|......|........nt...+,,R***",
"***R,,w.............D......D.............w,,R***",
"***R,,w..A....A..|+-|p....p|-+|I..htth...w,,R***",
"***R,Q|...FFFI..^|.Y|......|Y.|^..htth.oo|Q,R***",
"***|------|-|-|--|--|......|--|--|-|-|------|***",
- "***|.dBBd.+r|u+..eSc|......|cSe..+u|r+.dBBd.|***",
- "***w..BB..|-|-|..iic|.....^|cii..|-|-|..BB..w***",
+ "***|.dBBd.+r|u+..e3u|......|u3e..+u|r+.dBBd.|***",
+ "***w..BB..|-|-|..ii2|.....^|2ii..|-|-|..BB..w***",
"***w......|STb|..iiO|......|Oii..|bTS|......w***",
- "***|.X....+iib|j.ccc|......|ccc.j|bii+....X.|***",
+ "***|.X....+iib|j.uu1|......|uu1.j|bii+....X.|***",
"***|--|-+-|-+-|^.lll|......|lll..|-+-|-+-|--|***",
"***R,,+...A..nt.....|p....p|........tn...+,,R***",
"***R,,w.............D......D...........A.w,,R***",
@@ -351,20 +351,20 @@
"rows": [
"************************************************",
"***|------|-|-|ww---|******|---ww|-|-|------|***",
- "***|.dBBd.+r|u+..eSc|******|cSe..+u|r+.dBBd.|***",
- "***w..BB..|-|-|..iic|******|cii..|-|-|..BB..w***",
+ "***|.dBBd.+r|u+..e3u|******|u3e..+u|r+.dBBd.|***",
+ "***w..BB..|-|-|..ii2|******|2ii..|-|-|..BB..w***",
"***w.h....|STb|..iiO|******|Oii..|bTS|......w***",
- "***|CxC...+iib|j.ccc|******|ccc.j|bii+....X.|***",
+ "***|CxC...+iib|j.uu1|******|uu1.j|bii+....X.|***",
"***|--|-+-|-+-|..lll|-WWWW-|lll..|-+-|-+-|--|***",
"***R,,+......nt.....|^.....|........nt...+,,R***",
"***R,,w..F..........D......D.............w,,R***",
"***R,,w..F.......|+-|p....p|-+|..........w,,R***",
"***R,Q|..F.I.FFF^|.Y|......|Y.|oo.FFFFI.^|Q,R***",
"***|------|-|-|--|--|......|--|--|-|-|------|***",
- "***|.dBBd.+r|u+..eSc|......|cSe..+u|r+.dBBd.|***",
- "***w..BB..|-|-|..iic|......|cii..|-|-|..BB..w***",
+ "***|.dBBd.+r|u+..e3u|......|u3e..+u|r+.dBBd.|***",
+ "***w..BB..|-|-|..ii2|......|2ii..|-|-|..BB..w***",
"***w......|STb|..iiO|......|Oii..|bTS|......w***",
- "***|oX....+iib|j.ccc|......|ccc.j|bii+....X.|***",
+ "***|oX....+iib|j.uu1|......|uu1.j|bii+....X.|***",
"***|--|-+-|-+-|..lll|.....^|lll..|-+-|-+-|--|***",
"***R,,+...tn........|p....p|.........nt..+,,R***",
"***R,,w.............D......D......A......w,,R***",
@@ -374,20 +374,20 @@
"***|%%%%%%%%%%%%|<,,G......=EEx|%%%%%%%%%%%%|***",
"***|%%%%%%%%%%%%|>,,G......=EEE|%%%%%%%%%%%%|***",
"***|------|-|-|-|---|......|---|-|-|-|------|***",
- "***|.dBBd.+r|u+..eSc|......|cSe..+u|r+.dBBd.|***",
- "***w..BB..|-|-|..iic|......|cii..|-|-|..BB..w***",
+ "***|.dBBd.+r|u+..e3u|......|u3e..+u|r+.dBBd.|***",
+ "***w..BB..|-|-|..ii2|......|2ii..|-|-|..BB..w***",
"***w......|STb|..iiO|......|Oii..|bTS|......w***",
- "***|oo....+iib|..ccc|^.....|ccc.j|bii+....X.|***",
+ "***|oo....+iib|..uu1|^.....|uu1.j|bii+....X.|***",
"***|--|-+-|-+-|..lll|......|lll..|-+-|-+-|--|***",
"***R,,+...tn........|......|........nt...+,,R***",
"***R,,w.............D......D.............w,,R***",
"***R,,w..A....A..|+-|p....p|-+|I..htth...w,,R***",
"***R,Q|...FFFI..^|.Y|......|Y.|^..htth.oo|Q,R***",
"***|------|-|-|--|--|......|--|--|-|-|------|***",
- "***|.dBBd.+r|u+..eSc|......|cSe..+u|r+.dBBd.|***",
- "***w..BB..|-|-|..iic|.....^|cii..|-|-|..BB..w***",
+ "***|.dBBd.+r|u+..e3u|......|u3e..+u|r+.dBBd.|***",
+ "***w..BB..|-|-|..ii2|.....^|2ii..|-|-|..BB..w***",
"***w......|STb|..iiO|......|Oii..|bTS|......w***",
- "***|.X....+iib|j.ccc|......|ccc.j|bii+....X.|***",
+ "***|.X....+iib|j.uu1|......|uu1.j|bii+....X.|***",
"***|--|-+-|-+-|^.lll|......|lll..|-+-|-+-|--|***",
"***R,,+...A..nt.....|p....p|........tn...+,,R***",
"***R,,w.............D......D...........A.w,,R***",
diff --git a/data/json/mapgen/apartment_mod.json b/data/json/mapgen/apartment_mod.json
index 59891fbe50be8..5d65d2a93b811 100644
--- a/data/json/mapgen/apartment_mod.json
+++ b/data/json/mapgen/apartment_mod.json
@@ -16,24 +16,24 @@
" RsswFFFF...^|.STb| |bTS.|...FFFF.wssR ",
" Rssw........+...b|-WW-|b...+........wssR ",
" RssX........|--|-|EEEE|-|--|........XssR ",
- " Rss|c.htth...oo|Y|EEEE|Y|..........c|ssR ",
+ " Rss|1.htth...oo|Y|EEEE|Y|..........1|ssR ",
" Rss|e.htth.....+.|xEEE|.+..........e|ssR ",
- " |-----|c.........A|-|-==-|-|..hh......c|-----| ",
- " |..BBd|cOS........|........|..tt....SOc|dBB..| ",
+ " |-----|2.........A|-|-==-|-|..hh......u|-----| ",
+ " |..BBd|uO3........|........|..tt....3O2|dBB..| ",
" w..BB.|--|+|......D........D..tt..|+|--|.BB..w ",
" |d....+.r|u|^....t|........|..hh.^|u|r.+....d| ",
" |r...||--|-|------|........|------|-|--||...r| ",
- " w....|STb|u|...e.S|........|S.e..^|u|bTS|....w ",
- " |....+..b|.+.....c|........|c.....+.|b..+....| ",
+ " w....|STb|u|...e.3|........|3.e..^|u|bTS|....w ",
+ " |....+..b|.+.....1|........|1.....+.|b..+....| ",
" |--|+|-+-|-|.....O|........|O.....|-|-+-|+|--| ",
- " RssX.....A....cccc|........|cccc...oo..A..XssR ",
+ " RssX.....A....uuu2|........|2uuu...oo..A..XssR ",
" Rssw.........l.ll.|........|.l.l..........wssR ",
" Rssw..............D........D..............wssR ",
" Rss|..ooo.FFFF..Y^|........|^....A..FFFF..|ssR ",
" R|-|--------------|........|--------------|-|R ",
- " w.htth..FFFF..eSc|........|cSe.u.htth...oo.w ",
+ " w.htth..FFFF..e32|........|u3e.u.htth...oo.w ",
" w...............O|........|O.....htth......w ",
- " |-X|..........ccc|........|ccc..........|X-| ",
+ " |-X|..........1uu|........|2u1..........|X-| ",
" Rss|-+----|o...l.|........|l.....|----+-|ssR ",
" Rss|...BBd|o....A|........|.....A|dBB...|ssR ",
" Rssw...BB.|^.....|........|.....^|.BB...wssR ",
@@ -43,9 +43,9 @@
" |b....|bTS.+..|---|........|---|..+.STb|....b| ",
" |b.T.S|b...|..+..u|........|u..+..|...b|S.T.b| ",
" |-----|-+|-|..|---|........|---|..|-|+-|-----| ",
- " |.dBBd...+r|...eSc|........|cSe...|r+..d.BBd.| ",
+ " |.dBBd...+r|...e3u|........|23e...|r+..d.BBd.| ",
" w..BB....|-|.....O|........|O.....|-|....BB..w ",
- " |.....h..+.....ccc|........|ccc.....+........| ",
+ " |.....h..+.....12u|........|u1u.....+........| ",
" |--|.cxc.|......ll|........|.l.....A|....o|--| ",
" |-www-|o.tt....D........D........|-www-| ",
" Rsssss|.......F|........|t.......wsssssR ",
@@ -56,67 +56,7 @@
" ppsssspp ",
" ssss "
],
- "terrain": {
- " ": [ "t_grass", "t_grass", "t_grass", "t_dirt" ],
- "+": [ "t_door_c", "t_door_c", "t_door_o" ],
- "-": "t_wall",
- "=": "t_door_metal_c",
- "D": "t_door_locked_interior",
- "E": "t_elevator",
- "G": "t_door_glass_c",
- "R": "t_railing_v",
- "W": "t_window",
- "X": "t_door_locked",
- "a": "t_railing_h",
- "s": "t_sidewalk",
- "w": [ "t_window_domestic", "t_window_domestic", "t_window_domestic", "t_curtains" ],
- "x": "t_console_broken",
- "|": "t_wall"
- },
- "furniture": {
- "A": "f_armchair",
- "B": "f_bed",
- "F": "f_sofa",
- "O": "f_oven",
- "p": "f_mailbox",
- "l": "f_stool",
- "Y": "f_rack_coat",
- "S": "f_sink",
- "^": "f_indoor_plant",
- "b": "f_bathtub",
- "c": "f_counter",
- "d": "f_dresser",
- "e": "f_fridge",
- "h": "f_chair",
- "o": "f_bookcase",
- "r": "f_rack",
- "t": "f_table",
- "u": "f_cupboard"
- },
- "toilets": { "T": { } },
- "items": {
- "B": { "item": "bed", "chance": 60 },
- "O": { "item": "oven", "chance": 70 },
- "S": [ { "item": "softdrugs", "chance": 70 }, { "item": "cleaning", "chance": 50 } ],
- "T": [ { "item": "magazines", "chance": 50 }, { "item": "novels", "chance": 50 } ],
- "d": { "item": "dresser", "chance": 70 },
- "e": { "item": "fridge", "chance": 70 },
- "o": [
- { "item": "magazines", "chance": 30 },
- { "item": "novels", "chance": 40 },
- { "item": "alcohol", "chance": 30 },
- { "item": "manuals", "chance": 20 }
- ],
- "r": [ { "item": "dresser", "chance": 30 }, { "item": "jackets", "chance": 60 } ],
- "u": [
- { "item": "cleaning", "chance": 50 },
- { "item": "home_hw", "chance": 30 },
- { "item": "cannedfood", "chance": 50 },
- { "item": "pasta", "chance": 50 }
- ],
- "Y": { "item": "coat_rack", "chance": 35, "repeat": [ 1, 4 ] },
- "p": { "item": "mail", "chance": 30, "repeat": [ 2, 5 ] }
- },
+ "palettes": [ "apartment_palette" ],
"place_monsters": [
{ "monster": "GROUP_ZOMBIE", "x": [ 0, 23 ], "y": [ 0, 23 ], "repeat": [ 1, 2 ] },
{ "monster": "GROUP_ZOMBIE", "x": [ 0, 23 ], "y": [ 24, 47 ], "repeat": [ 1, 2 ] },
diff --git a/data/json/mapgen/apartment_mod_new.json b/data/json/mapgen/apartment_mod_new.json
index 637b6de4f33bf..5fa2c41af7304 100644
--- a/data/json/mapgen/apartment_mod_new.json
+++ b/data/json/mapgen/apartment_mod_new.json
@@ -19,24 +19,24 @@
" R,,wFFFFI..^|iSTb| |bTSi|A..FFFFIw,,R ",
" R,,w........+iiib|-WW-|biii+........w,,R ",
" R,,D....hh..|--|-|,,,,|-|--|nt......D,,R ",
- " R,,|cii.tt..joo|Y|<,,,|Y|........iic|,,R ",
+ " R,,|1ii.tt..joo|Y|<,,,|Y|........ii1|,,R ",
" R,Q|eii.tt.....+.|,,,,|.+........iie|Q,R ",
- " |-----|cii.hh....A|-|-++-|-|..hh....iic|-----| ",
- " |A.BBd|cOS.....A..|........|..tt....SOc|dBB.X| ",
+ " |-----|2ii.hh....A|-|-++-|-|..hh....iiu|-----| ",
+ " |A.BBd|uO3.....A..|........|..tt....3O2|dBB.X| ",
" w..BB.|--|+|......D........D..tt..|+|--|.BB..w ",
" |d....+.r|u|^...nt|p......p|j.hh.^|u|r.+....d| ",
" |r...||--|-|------|........|------|-|--||...r| ",
- " w....|STb|u|j.ieiS|C......3|Siei.^|u|bTS|....w ",
- " |X...+iib|i+..iiic|C......3|ciii..+i|bii+....| ",
+ " w....|STb|u|j.iei3|C......3|3iei.^|u|bTS|....w ",
+ " |X...+iib|i+..iiiu|C......3|uiii..+i|bii+....| ",
" |--|+|-+-|-|..iiiO|C......3|Oiii.j|-|-+-|+|--| ",
- " R,,D.....Atn..cccc|........|cccc...oon.A..D,,R ",
+ " R,,D.....Atn..12uu|........|12uu...oon.A..D,,R ",
" R,,w..........llll|p......p|llll..........w,,R ",
" R,,w..............D........D..............w,,R ",
" R,Q|A.ooo.FFFFI.Y^|........|^....A..FFFF.I|Q,R ",
" R|-|--------------|........|--------------|-|R ",
- " w.htth.IFFFF..eSc|^.......|cSeiu.htth..noohw ",
+ " w.htth.IFFFF..e32|^.......|23eiu.htth..noohw ",
" w.............iiO|........|Oiiii.htth......w ",
- " |-D|h....nt...ccc|........|cccii.......I|D-| ",
+ " |-D|h....nt...1uu|........|1uuii.......I|D-| ",
" R,,|-+----|o..lll|.......^|lll...|----+-|,,R ",
" R,,|X..BBd|o....A|........|.....A|dBB...|,,R ",
" R,,w...BB.|^.....|........|.....^|.BB...w,,R ",
@@ -46,9 +46,9 @@
" |biiii|bTSi+.A|---|........|---|j.+iSTb|iiiib| ",
" |biTiS|biii|..+iiu|3......C|uii+..|iiib|SiTib| ",
" |-----|-+|-|..|---|3......C|---|..|-|+-|-----| ",
- " |.dBBd.h.+r|...eSc|3......C|cSe...|r+..d.BBd.| ",
+ " |.dBBd.h.+r|...e32|3......C|23e...|r+..d.BBd.| ",
" w..BB....|-|I..iiO|........|Oii...|-|....BB..w ",
- " |X....h..+.....ccc|........|ccc.....+.......A| ",
+ " |X....h..+.....1uu|........|1uu.....+.......A| ",
" |--|.CxC.|.....lll|p......p|lll.tn.A|X...o|--| ",
" |-www-|o.tn....D........D........|-www-| ",
" R,,,,Q|j......F|........|t.......wQ,,,,R ",
@@ -88,24 +88,24 @@
"****R,,wFFFFI..^|iSTb|****|bTSi|A..FFFFIw,,R****",
"****R,,w........+iiib|-WW-|biii+........w,,R****",
"****R,,D....hh..|--|-|,,,,|-|--|nt......D,,R****",
- "****R,,|cii.tt..joo|Y|>,,<|Y|........iic|,,R****",
+ "****R,,|1ii.tt..joo|Y|>,,<|Y|........ii1|,,R****",
"****R,Q|eii.tt.....+.|,,,,|.+........iie|Q,R****",
- "*|-----|cii.hh....A|-|-++-|-|..hh....iic|-----|*",
- "*|..BBd|cOS.....A..|........|..tt....SOc|dBB.X|*",
+ "*|-----|uii.hh....A|-|-++-|-|..hh....iiu|-----|*",
+ "*|..BBd|2O3.....A..|........|..tt....3O2|dBB.X|*",
"*w..BB.|--|+|......D........D..tt..|+|--|.BB..w*",
"*|d....+.r|u|^...nt|p......p|j.hh.^|u|r.+....d|*",
"*|r...||--|-|------|........|------|-|--||...r|*",
- "*w....|STb|u|j.ieiS|C......3|Siei.^|u|bTS|....w*",
- "*|X...+iib|i+..iiic|C......3|ciii..+i|bii+....|*",
+ "*w....|STb|u|j.iei3|C......3|3iei.^|u|bTS|....w*",
+ "*|X...+iib|i+..iii2|C......3|2iii..+i|bii+....|*",
"*|--|+|-+-|-|..iiiO|C......3|Oiii.j|-|-+-|+|--|*",
- "*R,,D.....Atn..cccc|........|cccc...oon.A..D,,R*",
+ "*R,,D.....Atn..uuu1|........|1uuu...oon.A..D,,R*",
"*R,,w..........llll|p......p|llll..........w,,R*",
"*R,,w..............D........D..............w,,R*",
"*R,Q|A.ooo.FFFFI.Y^|........|^....A..FFFF.I|Q,R*",
"*R|-|--------------|........|--------------|-|R*",
- "**w.htth.IFFFF..eSc|.......^|cSeiu.htth..noohw**",
+ "**w.htth.IFFFF..e32|.......^|23eiu.htth..noohw**",
"**w.............iiO|........|Oiiii.htth......w**",
- "**|-D|A....nt...ccc|........|cccii.......I|D-|**",
+ "**|-D|A....nt...uu1|........|1uuii.......I|D-|**",
"**R,,|-+----|o..lll|^.......|lll...|----+-|,,R**",
"**R,,|X..BBd|o....A|........|.....A|dBB...|,,R**",
"**R,,w...BB.|^.....|........|.....^|.BB...w,,R**",
@@ -115,9 +115,9 @@
"*|biiii|bTSi+.A|---|........|---|j.+iSTb|iiiib|*",
"*|biTiS|biii|..+iiu|3......C|uii+..|iiib|SiTib|*",
"*|-----|-+|-|..|---|3......C|---|..|-|+-|-----|*",
- "*|.dBBd...+r|...eSc|3......C|cSe...|r+..d.BBd.|*",
+ "*|.dBBd...+r|...e32|3......C|23e...|r+..d.BBd.|*",
"*w..BB...h|-|I..iiO|........|Oii...|-|....BB..w*",
- "*|X....h..+.....ccc|........|ccc.....+........|*",
+ "*|X....h..+.....uu1|........|1uu.....+........|*",
"*|--|.CxC.|.....lll|p......p|lll.tn.A|X...o|--|*",
"****|-www-|o.tn....D........D........|-www-|****",
"****R,,,,Q|j......F|........|t.......wQ,,,,R****",
@@ -154,17 +154,17 @@
"****R,,wFFFFI..^|iSTb|****|bTSi|A..FFFFIw,,R****",
"****R,,w........+iiib|-WW-|biii+........w,,R****",
"****R,,D....hh..|--|-|,,,,|-|--|nt......D,,R****",
- "****R,,|cii.tth.joo|Y|<,,>|Y|........iic|,,R****",
+ "****R,,|uii.tth.joo|Y|<,,>|Y|........iiu|,,R****",
"****R,Q|eii.tth....+.|,,,,|.+........iie|Q,R****",
- "*|-----|cii.hh....A|-|-++-|-|..hh....iic|-----|*",
- "*|A.BBd|cOS.....A..|........|..tth...SOc|dBB.X|*",
+ "*|-----|1ii.hh....A|-|-++-|-|..hh....ii1|-----|*",
+ "*|A.BBd|2O3.....A..|........|..tth...3O2|dBB.X|*",
"*w..BB.|--|+|......D........D..tth.|+|--|.BB..w*",
"*|d....+.r|u|^...nt|p......p|j.hh.^|u|r.+....d|*",
"*|r...||--|-|------|........|------|-|--||...r|*",
- "*w....|STb|u|j.ieiS|C......3|Siei.^|u|bTS|....w*",
- "*|X...+iib|i+..iiic|C......3|ciii..+i|bii+....|*",
+ "*w....|STb|u|j.iei3|C......3|3iei.^|u|bTS|....w*",
+ "*|X...+iib|i+..iii2|C......3|2iii..+i|bii+....|*",
"*|--|+|-+-|-|..iiiO|C......3|Oiii.j|-|-+-|+|--|*",
- "*R,,D.....Atn..cccc|........|cccc...oon.A..D,,R*",
+ "*R,,D.....Atn..uuu1|........|1uuu...oon.A..D,,R*",
"*R,,w..........llll|p......p|llll..........w,,R*",
"*R,,w..............D........D..............w,,R*",
"*R,Q|A.ooo.FFFFI.Y^|........|^....A..FFFF.I|Q,R*",
diff --git a/data/json/mapgen/basecamps/modular_field_common.json b/data/json/mapgen/basecamps/modular_field_common.json
index a238e7dbff7b8..d02837d3821f4 100644
--- a/data/json/mapgen/basecamps/modular_field_common.json
+++ b/data/json/mapgen/basecamps/modular_field_common.json
@@ -1,7 +1,7 @@
[
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_0",
+ "update_mapgen_id": "fbmh_0",
"method": "json",
"object": {
"set": [
@@ -12,26 +12,26 @@
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_fireplace_northeast",
+ "update_mapgen_id": "fbmh_fireplace_northeast",
"method": "json",
"object": { "set": [ { "point": "furniture", "id": "f_fireplace", "x": 19, "y": 6 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_brazier_northeast",
+ "update_mapgen_id": "fbmh_brazier_northeast",
"method": "json",
"object": { "set": [ { "point": "furniture", "id": "f_brazier", "x": 19, "y": 6 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_stove_northeast",
+ "update_mapgen_id": "fbmh_stove_northeast",
"method": "json",
"object": { "set": [ { "point": "furniture", "id": "f_woodstove", "x": 19, "y": 6 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_strawbed",
+ "nested_mapgen_id": "fbmh_strawbed",
"object": {
"mapgensize": [ 2, 2 ],
"set": [
@@ -42,14 +42,14 @@
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_strawbed1_northeast",
+ "update_mapgen_id": "fbmh_strawbed1_northeast",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_strawbed" ], "x": 18, "y": 5 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_strawbed" ], "x": 18, "y": 5 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_bedset",
+ "nested_mapgen_id": "fbmh_bedset",
"object": {
"mapgensize": [ 3, 3 ],
"set": [
@@ -61,167 +61,167 @@
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_bed1_northeast",
+ "update_mapgen_id": "fbmh_bed1_northeast",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_bedset" ], "x": 17, "y": 5 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_bedset" ], "x": 17, "y": 5 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_strawbed2_northeast",
+ "update_mapgen_id": "fbmh_strawbed2_northeast",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_strawbed" ], "x": 18, "y": 7 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_strawbed" ], "x": 18, "y": 7 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_bed2_northeast",
+ "update_mapgen_id": "fbmh_bed2_northeast",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_bedset" ], "x": 17, "y": 7 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_bedset" ], "x": 17, "y": 7 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_tent_strawbed3_east",
+ "update_mapgen_id": "fbmh_tent_strawbed3_east",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_strawbed" ], "x": 18, "y": 11 }, { "chunks": [ "fbmf_strawbed" ], "x": 18, "y": 13 } ]
+ "place_nested": [ { "chunks": [ "fbmh_strawbed" ], "x": 18, "y": 11 }, { "chunks": [ "fbmh_strawbed" ], "x": 18, "y": 13 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_tent_bed3_east",
+ "update_mapgen_id": "fbmh_tent_bed3_east",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_bedset" ], "x": 17, "y": 11 }, { "chunks": [ "fbmf_bedset" ], "x": 17, "y": 13 } ]
+ "place_nested": [ { "chunks": [ "fbmh_bedset" ], "x": 17, "y": 11 }, { "chunks": [ "fbmh_bedset" ], "x": 17, "y": 13 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room_strawbed3_east",
+ "update_mapgen_id": "fbmh_room_strawbed3_east",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_strawbed" ], "x": 18, "y": 10 }, { "chunks": [ "fbmf_strawbed" ], "x": 18, "y": 13 } ]
+ "place_nested": [ { "chunks": [ "fbmh_strawbed" ], "x": 18, "y": 10 }, { "chunks": [ "fbmh_strawbed" ], "x": 18, "y": 13 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room_bed3_east",
+ "update_mapgen_id": "fbmh_room_bed3_east",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_bedset" ], "x": 17, "y": 10 }, { "chunks": [ "fbmf_bedset" ], "x": 17, "y": 13 } ]
+ "place_nested": [ { "chunks": [ "fbmh_bedset" ], "x": 17, "y": 10 }, { "chunks": [ "fbmh_bedset" ], "x": 17, "y": 13 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_tent_strawbed3_southeast",
+ "update_mapgen_id": "fbmh_tent_strawbed3_southeast",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_strawbed" ], "x": 18, "y": 17 }, { "chunks": [ "fbmf_strawbed" ], "x": 18, "y": 19 } ]
+ "place_nested": [ { "chunks": [ "fbmh_strawbed" ], "x": 18, "y": 17 }, { "chunks": [ "fbmh_strawbed" ], "x": 18, "y": 19 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_tent_bed3_southeast",
+ "update_mapgen_id": "fbmh_tent_bed3_southeast",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_bedset" ], "x": 17, "y": 17 }, { "chunks": [ "fbmf_bedset" ], "x": 17, "y": 19 } ]
+ "place_nested": [ { "chunks": [ "fbmh_bedset" ], "x": 17, "y": 17 }, { "chunks": [ "fbmh_bedset" ], "x": 17, "y": 19 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room_strawbed3_southeast",
+ "update_mapgen_id": "fbmh_room_strawbed3_southeast",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_strawbed" ], "x": 18, "y": 16 }, { "chunks": [ "fbmf_strawbed" ], "x": 18, "y": 19 } ]
+ "place_nested": [ { "chunks": [ "fbmh_strawbed" ], "x": 18, "y": 16 }, { "chunks": [ "fbmh_strawbed" ], "x": 18, "y": 19 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room_bed3_southeast",
+ "update_mapgen_id": "fbmh_room_bed3_southeast",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_bedset" ], "x": 17, "y": 16 }, { "chunks": [ "fbmf_bedset" ], "x": 17, "y": 19 } ]
+ "place_nested": [ { "chunks": [ "fbmh_bedset" ], "x": 17, "y": 16 }, { "chunks": [ "fbmh_bedset" ], "x": 17, "y": 19 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_strawbed3_northwest",
+ "update_mapgen_id": "fbmh_strawbed3_northwest",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_strawbed" ], "x": 4, "y": 5 }, { "chunks": [ "fbmf_strawbed" ], "x": 4, "y": 7 } ]
+ "place_nested": [ { "chunks": [ "fbmh_strawbed" ], "x": 4, "y": 5 }, { "chunks": [ "fbmh_strawbed" ], "x": 4, "y": 7 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_bed3_northwest",
+ "update_mapgen_id": "fbmh_bed3_northwest",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_bedset" ], "x": 4, "y": 5 }, { "chunks": [ "fbmf_bedset" ], "x": 4, "y": 7 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_bedset" ], "x": 4, "y": 5 }, { "chunks": [ "fbmh_bedset" ], "x": 4, "y": 7 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_tent_strawbed3_west",
+ "update_mapgen_id": "fbmh_tent_strawbed3_west",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_strawbed" ], "x": 4, "y": 11 }, { "chunks": [ "fbmf_strawbed" ], "x": 4, "y": 13 } ]
+ "place_nested": [ { "chunks": [ "fbmh_strawbed" ], "x": 4, "y": 11 }, { "chunks": [ "fbmh_strawbed" ], "x": 4, "y": 13 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_tent_bed3_west",
+ "update_mapgen_id": "fbmh_tent_bed3_west",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_bedset" ], "x": 4, "y": 11 }, { "chunks": [ "fbmf_bedset" ], "x": 4, "y": 13 } ]
+ "place_nested": [ { "chunks": [ "fbmh_bedset" ], "x": 4, "y": 11 }, { "chunks": [ "fbmh_bedset" ], "x": 4, "y": 13 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room_strawbed3_west",
+ "update_mapgen_id": "fbmh_room_strawbed3_west",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_strawbed" ], "x": 4, "y": 10 }, { "chunks": [ "fbmf_strawbed" ], "x": 4, "y": 13 } ]
+ "place_nested": [ { "chunks": [ "fbmh_strawbed" ], "x": 4, "y": 10 }, { "chunks": [ "fbmh_strawbed" ], "x": 4, "y": 13 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room_bed3_west",
+ "update_mapgen_id": "fbmh_room_bed3_west",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_bedset" ], "x": 4, "y": 10 }, { "chunks": [ "fbmf_bedset" ], "x": 4, "y": 13 } ]
+ "place_nested": [ { "chunks": [ "fbmh_bedset" ], "x": 4, "y": 10 }, { "chunks": [ "fbmh_bedset" ], "x": 4, "y": 13 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_tent_strawbed3_southwest",
+ "update_mapgen_id": "fbmh_tent_strawbed3_southwest",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_strawbed" ], "x": 4, "y": 17 }, { "chunks": [ "fbmf_strawbed" ], "x": 4, "y": 19 } ]
+ "place_nested": [ { "chunks": [ "fbmh_strawbed" ], "x": 4, "y": 17 }, { "chunks": [ "fbmh_strawbed" ], "x": 4, "y": 19 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_tent_bed3_southwest",
+ "update_mapgen_id": "fbmh_tent_bed3_southwest",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_bedset" ], "x": 4, "y": 17 }, { "chunks": [ "fbmf_bedset" ], "x": 4, "y": 19 } ]
+ "place_nested": [ { "chunks": [ "fbmh_bedset" ], "x": 4, "y": 17 }, { "chunks": [ "fbmh_bedset" ], "x": 4, "y": 19 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room_strawbed3_southwest",
+ "update_mapgen_id": "fbmh_room_strawbed3_southwest",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_strawbed" ], "x": 4, "y": 16 }, { "chunks": [ "fbmf_strawbed" ], "x": 4, "y": 19 } ]
+ "place_nested": [ { "chunks": [ "fbmh_strawbed" ], "x": 4, "y": 16 }, { "chunks": [ "fbmh_strawbed" ], "x": 4, "y": 19 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room_bed3_southwest",
+ "update_mapgen_id": "fbmh_room_bed3_southwest",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_bedset" ], "x": 4, "y": 16 }, { "chunks": [ "fbmf_bedset" ], "x": 4, "y": 19 } ]
+ "place_nested": [ { "chunks": [ "fbmh_bedset" ], "x": 4, "y": 16 }, { "chunks": [ "fbmh_bedset" ], "x": 4, "y": 19 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_kitchen_fireplace_center",
+ "update_mapgen_id": "fbmh_core_kitchen_fireplace_center",
"method": "json",
"object": {
"mapgensize": [ 6, 6 ],
@@ -233,20 +233,20 @@
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_kitchen_butchery_center",
+ "update_mapgen_id": "fbmh_core_kitchen_butchery_center",
"method": "json",
"object": { "set": [ { "point": "furniture", "id": "f_butcher_rack", "x": 12, "y": 10 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_kitchen_toolrack_center",
+ "update_mapgen_id": "fbmh_core_kitchen_toolrack_center",
"method": "json",
"object": { "set": [ { "point": "furniture", "id": "f_bookcase", "x": 10, "y": 10 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_tableset",
+ "nested_mapgen_id": "fbmh_core_tableset",
"object": {
"mapgensize": [ 3, 3 ],
"set": [
@@ -258,23 +258,23 @@
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_kitchen_table_center",
+ "update_mapgen_id": "fbmh_core_kitchen_table_center",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_core_tableset" ], "x": 11, "y": 12 }, { "chunks": [ "fbmf_core_tableset" ], "x": 11, "y": 13 } ]
+ "place_nested": [ { "chunks": [ "fbmh_core_tableset" ], "x": 11, "y": 12 }, { "chunks": [ "fbmh_core_tableset" ], "x": 11, "y": 13 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_kitchen_table_south",
+ "update_mapgen_id": "fbmh_core_kitchen_table_south",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_core_tableset" ], "x": 11, "y": 16 }, { "chunks": [ "fbmf_core_tableset" ], "x": 11, "y": 15 } ]
+ "place_nested": [ { "chunks": [ "fbmh_core_tableset" ], "x": 11, "y": 16 }, { "chunks": [ "fbmh_core_tableset" ], "x": 11, "y": 15 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_kitchen_stove_south",
+ "update_mapgen_id": "fbmh_core_kitchen_stove_south",
"method": "json",
"object": {
"set": [
@@ -285,25 +285,25 @@
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_well_north",
+ "update_mapgen_id": "fbmh_well_north",
"method": "json",
"object": { "set": [ { "point": "terrain", "id": "t_water_pump", "x": 13, "y": 6 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_root_cellar_north",
+ "update_mapgen_id": "fbmh_root_cellar_north",
"method": "json",
"object": { "set": [ { "point": "terrain", "id": "t_rootcellar", "x": 12, "y": 8 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_radio_tower_north",
+ "update_mapgen_id": "fbmh_radio_tower_north",
"method": "json",
"object": { "set": [ { "point": "terrain", "id": "t_radio_tower", "x": 13, "y": 3 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_radio_console_north",
+ "update_mapgen_id": "fbmh_radio_console_north",
"method": "json",
"object": { "set": [ { "point": "terrain", "id": "t_radio_controls", "x": 13, "y": 4 } ] }
}
diff --git a/data/json/mapgen/basecamps/modular_field_defenses.json b/data/json/mapgen/basecamps/modular_field_defenses.json
index 84388fb9754d3..728b67d5e5bed 100644
--- a/data/json/mapgen/basecamps/modular_field_defenses.json
+++ b/data/json/mapgen/basecamps/modular_field_defenses.json
@@ -1,61 +1,193 @@
[
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_trench_north",
+ "update_mapgen_id": "fbmh_trench_north",
"method": "json",
- "object": { "set": [ { "line": "terrain", "id": "t_pit", "x": 3, "x2": 20, "y": 0, "y2": 0 } ] }
+ "object": {
+ "set": [ { "line": "terrain", "id": "t_pit", "x": 3, "x2": 20, "y": 0, "y2": 0 } ],
+ "place_items": [
+ { "x": 3, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 4, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 5, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 6, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 7, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 8, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 9, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 10, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 11, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 12, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 13, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 14, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 15, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 16, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 17, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 18, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 19, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 20, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }
+ ]
+ }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_trench_south",
+ "update_mapgen_id": "fbmh_trench_south",
"method": "json",
- "object": { "set": [ { "line": "terrain", "id": "t_pit", "x": 3, "x2": 20, "y": 23, "y2": 23 } ] }
+ "object": {
+ "set": [ { "line": "terrain", "id": "t_pit", "x": 3, "x2": 20, "y": 23, "y2": 23 } ],
+ "place_items": [
+ { "x": 3, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 4, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 5, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 6, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 7, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 8, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 9, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 10, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 11, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 12, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 13, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 14, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 15, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 16, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 17, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 18, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 19, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 20, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }
+ ]
+ }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_trench_corner_northeast",
+ "update_mapgen_id": "fbmh_trench_corner_northeast",
"method": "json",
- "object": { "set": [ { "line": "terrain", "id": "t_pit", "x": 21, "x2": 21, "y": 0, "y2": 4 } ] }
+ "object": {
+ "set": [ { "line": "terrain", "id": "t_pit", "x": 21, "x2": 21, "y": 0, "y2": 4 } ],
+ "place_items": [
+ { "x": 20, "y": 0, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 20, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 20, "y": 2, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 20, "y": 3, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 20, "y": 4, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }
+ ]
+ }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_trench_corner_northwest",
+ "update_mapgen_id": "fbmh_trench_corner_northwest",
"method": "json",
- "object": { "set": [ { "line": "terrain", "id": "t_pit", "x": 2, "x2": 2, "y": 0, "y2": 4 } ] }
+ "object": {
+ "set": [ { "line": "terrain", "id": "t_pit", "x": 2, "x2": 2, "y": 0, "y2": 4 } ],
+ "place_items": [
+ { "x": 3, "y": 0, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 3, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 3, "y": 2, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 3, "y": 3, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 3, "y": 4, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }
+ ]
+ }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_trench_corner_southeast",
+ "update_mapgen_id": "fbmh_trench_corner_southeast",
"method": "json",
- "object": { "set": [ { "line": "terrain", "id": "t_pit", "x": 21, "x2": 21, "y": 19, "y2": 23 } ] }
+ "object": {
+ "set": [ { "line": "terrain", "id": "t_pit", "x": 21, "x2": 21, "y": 19, "y2": 23 } ],
+ "place_items": [
+ { "x": 20, "y": 19, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 20, "y": 20, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 20, "y": 21, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 20, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 20, "y": 23, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }
+ ]
+ }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_trench_corner_southwest",
+ "update_mapgen_id": "fbmh_trench_corner_southwest",
"method": "json",
- "object": { "set": [ { "line": "terrain", "id": "t_pit", "x": 2, "x2": 2, "y": 19, "y2": 23 } ] }
+ "object": {
+ "set": [ { "line": "terrain", "id": "t_pit", "x": 2, "x2": 2, "y": 19, "y2": 23 } ],
+ "place_items": [
+ { "x": 3, "y": 19, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 3, "y": 20, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 3, "y": 21, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 3, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 3, "y": 23, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }
+ ]
+ }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_trench_east",
+ "update_mapgen_id": "fbmh_trench_east",
"method": "json",
"object": {
"set": [
{ "line": "terrain", "id": "t_pit", "x": 21, "x2": 22, "y": 0, "y2": 0 },
{ "line": "terrain", "id": "t_pit", "x": 21, "x2": 22, "y": 23, "y2": 23 },
{ "line": "terrain", "id": "t_pit", "x": 23, "x2": 23, "y": 0, "y2": 23 }
+ ],
+ "place_items": [
+ { "x": 22, "y": 0, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 22, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 22, "y": 2, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 22, "y": 3, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 22, "y": 4, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 22, "y": 5, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 22, "y": 6, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 22, "y": 7, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 22, "y": 8, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 22, "y": 9, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 22, "y": 10, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 22, "y": 11, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 22, "y": 12, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 22, "y": 13, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 22, "y": 14, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 22, "y": 15, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 22, "y": 16, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 22, "y": 17, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 22, "y": 18, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 22, "y": 19, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 22, "y": 20, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 22, "y": 21, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 22, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 22, "y": 23, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }
]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_trench_west",
+ "update_mapgen_id": "fbmh_trench_west",
"method": "json",
"object": {
"set": [
{ "line": "terrain", "id": "t_pit", "x": 1, "x2": 2, "y": 0, "y2": 0 },
{ "line": "terrain", "id": "t_pit", "x": 1, "x2": 2, "y": 23, "y2": 23 },
{ "line": "terrain", "id": "t_pit", "x": 0, "x2": 0, "y": 0, "y2": 23 }
+ ],
+ "place_items": [
+ { "x": 1, "y": 0, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 1, "y": 1, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 1, "y": 2, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 1, "y": 3, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 1, "y": 4, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 1, "y": 5, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 1, "y": 6, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 1, "y": 7, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 1, "y": 8, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 1, "y": 9, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 1, "y": 10, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 1, "y": 11, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 1, "y": 12, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 1, "y": 13, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 1, "y": 14, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 1, "y": 15, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 1, "y": 16, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 1, "y": 17, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 1, "y": 18, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 1, "y": 19, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 1, "y": 20, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 1, "y": 21, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 1, "y": 22, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 },
+ { "x": 1, "y": 23, "item": "digging_soil_loam_50L", "chance": 99, "repeat": 30 }
]
}
}
diff --git a/data/json/mapgen/basecamps/modular_field_metal.json b/data/json/mapgen/basecamps/modular_field_metal.json
index 244895d06a2a8..48a75f3f60c90 100644
--- a/data/json/mapgen/basecamps/modular_field_metal.json
+++ b/data/json/mapgen/basecamps/modular_field_metal.json
@@ -1,14 +1,14 @@
[
{
"type": "palette",
- "id": "fbmf_metal_palette",
+ "id": "fbmh_metal_palette",
"terrain": { ";": "t_dirt", ".": "t_scrap_floor", "+": "t_door_metal_c", "v": "t_window_no_curtains", "w": "t_scrap_wall" },
"furniture": { }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_room0_metal",
+ "nested_mapgen_id": "fbmh_room0_metal",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -19,19 +19,19 @@
" ;;;;;",
" ;;;;;"
],
- "palettes": [ "fbmf_metal_palette" ]
+ "palettes": [ "fbmh_metal_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room0_metal_northeast",
+ "update_mapgen_id": "fbmh_room0_metal_northeast",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_room0_metal" ], "x": 15, "y": 3 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_room0_metal" ], "x": 15, "y": 3 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_room1_metal",
+ "nested_mapgen_id": "fbmh_room1_metal",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -42,19 +42,19 @@
" w...w",
" "
],
- "palettes": [ "fbmf_metal_palette" ]
+ "palettes": [ "fbmh_metal_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room1_metal_northeast",
+ "update_mapgen_id": "fbmh_room1_metal_northeast",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_room1_metal" ], "x": 15, "y": 3 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_room1_metal" ], "x": 15, "y": 3 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_room2_metal",
+ "nested_mapgen_id": "fbmh_room2_metal",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -65,19 +65,19 @@
" ",
" wwwww"
],
- "palettes": [ "fbmf_metal_palette" ]
+ "palettes": [ "fbmh_metal_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room2_metal_northeast",
+ "update_mapgen_id": "fbmh_room2_metal_northeast",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_room2_metal" ], "x": 15, "y": 3 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_room2_metal" ], "x": 15, "y": 3 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_metal_shack_east",
+ "nested_mapgen_id": "fbmh_metal_shack_east",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -88,19 +88,19 @@
"w....w",
"w+wwww"
],
- "palettes": [ "fbmf_metal_palette" ]
+ "palettes": [ "fbmh_metal_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_shack4_metal_east",
+ "update_mapgen_id": "fbmh_shack4_metal_east",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_metal_shack_east" ], "x": 15, "y": 9 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_metal_shack_east" ], "x": 15, "y": 9 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_metal_room_east",
+ "nested_mapgen_id": "fbmh_metal_room_east",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -111,34 +111,34 @@
"w....w",
"w+wwww"
],
- "palettes": [ "fbmf_metal_palette" ]
+ "palettes": [ "fbmh_metal_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room4_metal_east",
+ "update_mapgen_id": "fbmh_room4_metal_east",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_metal_room_east" ], "x": 15, "y": 9 } ],
+ "place_nested": [ { "chunks": [ "fbmh_metal_room_east" ], "x": 15, "y": 9 } ],
"set": [ { "point": "terrain", "id": "t_wall_metal", "x": 15, "y": 8 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_shack4_metal_southeast",
+ "update_mapgen_id": "fbmh_shack4_metal_southeast",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_metal_shack_east" ], "x": 15, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_metal_shack_east" ], "x": 15, "y": 15 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room4_metal_southeast",
+ "update_mapgen_id": "fbmh_room4_metal_southeast",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_metal_room_east" ], "x": 15, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_metal_room_east" ], "x": 15, "y": 15 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_metal_shack_northwest",
+ "nested_mapgen_id": "fbmh_metal_shack_northwest",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -149,19 +149,19 @@
"w...w;",
"wwwww;"
],
- "palettes": [ "fbmf_metal_palette" ]
+ "palettes": [ "fbmh_metal_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room4_metal_northwest",
+ "update_mapgen_id": "fbmh_room4_metal_northwest",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_metal_shack_northwest" ], "x": 3, "y": 3 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_metal_shack_northwest" ], "x": 3, "y": 3 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_metal_shack_west",
+ "nested_mapgen_id": "fbmh_metal_shack_west",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -172,19 +172,19 @@
"w....w",
"wwww+w"
],
- "palettes": [ "fbmf_metal_palette" ]
+ "palettes": [ "fbmh_metal_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_shack4_metal_west",
+ "update_mapgen_id": "fbmh_shack4_metal_west",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_metal_shack_west" ], "x": 3, "y": 9 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_metal_shack_west" ], "x": 3, "y": 9 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_metal_room_west",
+ "nested_mapgen_id": "fbmh_metal_room_west",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -195,34 +195,34 @@
"w....w",
"wwww+w"
],
- "palettes": [ "fbmf_metal_palette" ]
+ "palettes": [ "fbmh_metal_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room4_metal_west",
+ "update_mapgen_id": "fbmh_room4_metal_west",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_metal_room_west" ], "x": 3, "y": 9 } ],
+ "place_nested": [ { "chunks": [ "fbmh_metal_room_west" ], "x": 3, "y": 9 } ],
"set": [ { "point": "terrain", "id": "t_wall_metal", "x": 8, "y": 8 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_shack4_metal_southwest",
+ "update_mapgen_id": "fbmh_shack4_metal_southwest",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_metal_shack_west" ], "x": 3, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_metal_shack_west" ], "x": 3, "y": 15 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room4_metal_southwest",
+ "update_mapgen_id": "fbmh_room4_metal_southwest",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_metal_room_west" ], "x": 3, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_metal_room_west" ], "x": 3, "y": 15 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_shack_ne_metal_center",
+ "nested_mapgen_id": "fbmh_core_shack_ne_metal_center",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -233,19 +233,19 @@
" ..w",
" ..w"
],
- "palettes": [ "fbmf_metal_palette" ]
+ "palettes": [ "fbmh_metal_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_shack_ne_metal_center",
+ "update_mapgen_id": "fbmh_core_shack_ne_metal_center",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_core_shack_ne_metal_center" ], "x": 9, "y": 9 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_ne_metal_center" ], "x": 9, "y": 9 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_ne_metal_center",
+ "nested_mapgen_id": "fbmh_core_ne_metal_center",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -256,19 +256,19 @@
" ...",
" ..."
],
- "palettes": [ "fbmf_metal_palette" ]
+ "palettes": [ "fbmh_metal_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_ne_metal_center",
+ "update_mapgen_id": "fbmh_core_ne_metal_center",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_core_ne_metal_center" ], "x": 9, "y": 9 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_core_ne_metal_center" ], "x": 9, "y": 9 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_shack_nw_metal_center",
+ "nested_mapgen_id": "fbmh_core_shack_nw_metal_center",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -279,19 +279,19 @@
"w.. ",
"w.. "
],
- "palettes": [ "fbmf_metal_palette" ]
+ "palettes": [ "fbmh_metal_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_shack_nw_metal_center",
+ "update_mapgen_id": "fbmh_core_shack_nw_metal_center",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_core_shack_nw_metal_center" ], "x": 9, "y": 9 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_nw_metal_center" ], "x": 9, "y": 9 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_nw_metal_center",
+ "nested_mapgen_id": "fbmh_core_nw_metal_center",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -302,30 +302,30 @@
"... ",
"... "
],
- "palettes": [ "fbmf_metal_palette" ]
+ "palettes": [ "fbmh_metal_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_nw_metal_center",
+ "update_mapgen_id": "fbmh_core_nw_metal_center",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_core_nw_metal_center" ], "x": 9, "y": 9 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_core_nw_metal_center" ], "x": 9, "y": 9 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_metal_center",
+ "update_mapgen_id": "fbmh_core_metal_center",
"method": "json",
"object": {
"place_nested": [
- { "chunks": [ "fbmf_core_nw_metal_center" ], "x": 9, "y": 9 },
- { "chunks": [ "fbmf_core_ne_metal_center" ], "x": 9, "y": 9 }
+ { "chunks": [ "fbmh_core_nw_metal_center" ], "x": 9, "y": 9 },
+ { "chunks": [ "fbmh_core_ne_metal_center" ], "x": 9, "y": 9 }
]
}
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_shack_se_metal_south",
+ "nested_mapgen_id": "fbmh_core_shack_se_metal_south",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -336,19 +336,19 @@
" ..w",
" +ww"
],
- "palettes": [ "fbmf_metal_palette" ]
+ "palettes": [ "fbmh_metal_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_shack_se_metal_south",
+ "update_mapgen_id": "fbmh_core_shack_se_metal_south",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_core_shack_se_metal_south" ], "x": 9, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_se_metal_south" ], "x": 9, "y": 15 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_se_metal_south",
+ "nested_mapgen_id": "fbmh_core_se_metal_south",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -359,19 +359,19 @@
" ...",
" +ww"
],
- "palettes": [ "fbmf_metal_palette" ]
+ "palettes": [ "fbmh_metal_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_se_metal_south",
+ "update_mapgen_id": "fbmh_core_se_metal_south",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_core_se_metal_south" ], "x": 9, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_core_se_metal_south" ], "x": 9, "y": 15 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_shack_sw_metal_south",
+ "nested_mapgen_id": "fbmh_core_shack_sw_metal_south",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -382,19 +382,19 @@
"w.. ",
"www "
],
- "palettes": [ "fbmf_metal_palette" ]
+ "palettes": [ "fbmh_metal_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_shack_sw_metal_south",
+ "update_mapgen_id": "fbmh_core_shack_sw_metal_south",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_core_shack_sw_metal_south" ], "x": 9, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_sw_metal_south" ], "x": 9, "y": 15 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_sw_metal_south",
+ "nested_mapgen_id": "fbmh_core_sw_metal_south",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -405,23 +405,23 @@
"... ",
"www "
],
- "palettes": [ "fbmf_metal_palette" ]
+ "palettes": [ "fbmh_metal_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_sw_metal_south",
+ "update_mapgen_id": "fbmh_core_sw_metal_south",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_core_sw_metal_south" ], "x": 9, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_core_sw_metal_south" ], "x": 9, "y": 15 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_metal_south",
+ "update_mapgen_id": "fbmh_core_metal_south",
"method": "json",
"object": {
"place_nested": [
- { "chunks": [ "fbmf_core_sw_metal_south" ], "x": 9, "y": 15 },
- { "chunks": [ "fbmf_core_se_metal_south" ], "x": 9, "y": 15 }
+ { "chunks": [ "fbmh_core_sw_metal_south" ], "x": 9, "y": 15 },
+ { "chunks": [ "fbmh_core_se_metal_south" ], "x": 9, "y": 15 }
]
}
}
diff --git a/data/json/mapgen/basecamps/modular_field_tent.json b/data/json/mapgen/basecamps/modular_field_tent.json
index 7045c38c3f06d..e2675d80dbe0c 100644
--- a/data/json/mapgen/basecamps/modular_field_tent.json
+++ b/data/json/mapgen/basecamps/modular_field_tent.json
@@ -1,14 +1,14 @@
[
{
"type": "palette",
- "id": "fbmf_tent_palette",
+ "id": "fbmh_tent_palette",
"terrain": { " ": "t_dirt", ".": "t_dirtfloor", "+": "t_dirtfloor", "w": "t_dirtfloor" },
"furniture": { "+": "f_canvas_door", "w": "f_canvas_wall" }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_large_tent_east",
+ "nested_mapgen_id": "fbmh_large_tent_east",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -19,31 +19,31 @@
" w...w",
" wwwww"
],
- "palettes": [ "fbmf_tent_palette" ]
+ "palettes": [ "fbmh_tent_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_tent_northeast",
+ "update_mapgen_id": "fbmh_tent_northeast",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_large_tent_east" ], "x": 15, "y": 3 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_large_tent_east" ], "x": 15, "y": 3 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_tent_east",
+ "update_mapgen_id": "fbmh_tent_east",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_large_tent_east" ], "x": 15, "y": 9 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_large_tent_east" ], "x": 15, "y": 9 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_tent_southeast",
+ "update_mapgen_id": "fbmh_tent_southeast",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_large_tent_east" ], "x": 15, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_large_tent_east" ], "x": 15, "y": 15 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_large_tent_west",
+ "nested_mapgen_id": "fbmh_large_tent_west",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -54,25 +54,25 @@
"w...w ",
"wwwww "
],
- "palettes": [ "fbmf_tent_palette" ]
+ "palettes": [ "fbmh_tent_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_tent_northwest",
+ "update_mapgen_id": "fbmh_tent_northwest",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_large_tent_west" ], "x": 3, "y": 3 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_large_tent_west" ], "x": 3, "y": 3 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_tent_west",
+ "update_mapgen_id": "fbmh_tent_west",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_large_tent_west" ], "x": 3, "y": 9 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_large_tent_west" ], "x": 3, "y": 9 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_tent_southwest",
+ "update_mapgen_id": "fbmh_tent_southwest",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_large_tent_west" ], "x": 3, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_large_tent_west" ], "x": 3, "y": 15 } ] }
}
]
diff --git a/data/json/mapgen/basecamps/modular_field_wad.json b/data/json/mapgen/basecamps/modular_field_wad.json
index 6c83e4be8ce3c..dfd368333f5c6 100644
--- a/data/json/mapgen/basecamps/modular_field_wad.json
+++ b/data/json/mapgen/basecamps/modular_field_wad.json
@@ -1,14 +1,14 @@
[
{
"type": "palette",
- "id": "fbmf_wad_palette",
+ "id": "fbmh_wad_palette",
"terrain": { ";": "t_dirt", ".": "t_floor_primitive", "+": "t_door_makeshift_c", "v": "t_wall_wattle_half", "w": "t_wall_wattle" },
"furniture": { }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_room0_wad",
+ "nested_mapgen_id": "fbmh_room0_wad",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -19,19 +19,19 @@
" ;;;;;",
" ;;;;;"
],
- "palettes": [ "fbmf_wad_palette" ]
+ "palettes": [ "fbmh_wad_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room0_wad_northeast",
+ "update_mapgen_id": "fbmh_room0_wad_northeast",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_room0_wad" ], "x": 15, "y": 3 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_room0_wad" ], "x": 15, "y": 3 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_room1_wad",
+ "nested_mapgen_id": "fbmh_room1_wad",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -42,19 +42,19 @@
" w...w",
" "
],
- "palettes": [ "fbmf_wad_palette" ]
+ "palettes": [ "fbmh_wad_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room1_wad_northeast",
+ "update_mapgen_id": "fbmh_room1_wad_northeast",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_room1_wad" ], "x": 15, "y": 3 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_room1_wad" ], "x": 15, "y": 3 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_room2_wad",
+ "nested_mapgen_id": "fbmh_room2_wad",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -65,19 +65,19 @@
" ",
" wwwww"
],
- "palettes": [ "fbmf_wad_palette" ]
+ "palettes": [ "fbmh_wad_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room2_wad_northeast",
+ "update_mapgen_id": "fbmh_room2_wad_northeast",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_room2_wad" ], "x": 15, "y": 3 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_room2_wad" ], "x": 15, "y": 3 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_wad_shack_east",
+ "nested_mapgen_id": "fbmh_wad_shack_east",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -88,19 +88,19 @@
"w....w",
"w+wwww"
],
- "palettes": [ "fbmf_wad_palette" ]
+ "palettes": [ "fbmh_wad_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_shack4_wad_east",
+ "update_mapgen_id": "fbmh_shack4_wad_east",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_wad_shack_east" ], "x": 15, "y": 9 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_wad_shack_east" ], "x": 15, "y": 9 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_wad_room_east",
+ "nested_mapgen_id": "fbmh_wad_room_east",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -111,34 +111,34 @@
"w....w",
"w+wwww"
],
- "palettes": [ "fbmf_wad_palette" ]
+ "palettes": [ "fbmh_wad_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room4_wad_east",
+ "update_mapgen_id": "fbmh_room4_wad_east",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_wad_room_east" ], "x": 15, "y": 9 } ],
+ "place_nested": [ { "chunks": [ "fbmh_wad_room_east" ], "x": 15, "y": 9 } ],
"set": [ { "point": "terrain", "id": "t_wall_wattle", "x": 15, "y": 8 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_shack4_wad_southeast",
+ "update_mapgen_id": "fbmh_shack4_wad_southeast",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_wad_shack_east" ], "x": 15, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_wad_shack_east" ], "x": 15, "y": 15 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room4_wad_southeast",
+ "update_mapgen_id": "fbmh_room4_wad_southeast",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_wad_room_east" ], "x": 15, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_wad_room_east" ], "x": 15, "y": 15 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_wad_shack_northwest",
+ "nested_mapgen_id": "fbmh_wad_shack_northwest",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -149,19 +149,19 @@
"w...w;",
"wwwww;"
],
- "palettes": [ "fbmf_wad_palette" ]
+ "palettes": [ "fbmh_wad_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room4_wad_northwest",
+ "update_mapgen_id": "fbmh_room4_wad_northwest",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_wad_shack_northwest" ], "x": 3, "y": 3 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_wad_shack_northwest" ], "x": 3, "y": 3 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_wad_shack_west",
+ "nested_mapgen_id": "fbmh_wad_shack_west",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -172,19 +172,19 @@
"w....w",
"wwww+w"
],
- "palettes": [ "fbmf_wad_palette" ]
+ "palettes": [ "fbmh_wad_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_shack4_wad_west",
+ "update_mapgen_id": "fbmh_shack4_wad_west",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_wad_shack_west" ], "x": 3, "y": 9 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_wad_shack_west" ], "x": 3, "y": 9 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_wad_room_west",
+ "nested_mapgen_id": "fbmh_wad_room_west",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -195,34 +195,34 @@
"w....w",
"wwww+w"
],
- "palettes": [ "fbmf_wad_palette" ]
+ "palettes": [ "fbmh_wad_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room4_wad_west",
+ "update_mapgen_id": "fbmh_room4_wad_west",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_wad_room_west" ], "x": 3, "y": 9 } ],
+ "place_nested": [ { "chunks": [ "fbmh_wad_room_west" ], "x": 3, "y": 9 } ],
"set": [ { "point": "terrain", "id": "t_wall_wattle", "x": 8, "y": 8 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_shack4_wad_southwest",
+ "update_mapgen_id": "fbmh_shack4_wad_southwest",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_wad_shack_west" ], "x": 3, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_wad_shack_west" ], "x": 3, "y": 15 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room4_wad_southwest",
+ "update_mapgen_id": "fbmh_room4_wad_southwest",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_wad_room_west" ], "x": 3, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_wad_room_west" ], "x": 3, "y": 15 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_shack_ne_wad_center",
+ "nested_mapgen_id": "fbmh_core_shack_ne_wad_center",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -233,19 +233,19 @@
" ..w",
" ..w"
],
- "palettes": [ "fbmf_wad_palette" ]
+ "palettes": [ "fbmh_wad_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_shack_ne_wad_center",
+ "update_mapgen_id": "fbmh_core_shack_ne_wad_center",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_core_shack_ne_wad_center" ], "x": 9, "y": 9 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_ne_wad_center" ], "x": 9, "y": 9 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_ne_wad_center",
+ "nested_mapgen_id": "fbmh_core_ne_wad_center",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -256,19 +256,19 @@
" ...",
" ..."
],
- "palettes": [ "fbmf_wad_palette" ]
+ "palettes": [ "fbmh_wad_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_ne_wad_center",
+ "update_mapgen_id": "fbmh_core_ne_wad_center",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_core_ne_wad_center" ], "x": 9, "y": 9 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_core_ne_wad_center" ], "x": 9, "y": 9 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_shack_nw_wad_center",
+ "nested_mapgen_id": "fbmh_core_shack_nw_wad_center",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -279,19 +279,19 @@
"w.. ",
"w.. "
],
- "palettes": [ "fbmf_wad_palette" ]
+ "palettes": [ "fbmh_wad_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_shack_nw_wad_center",
+ "update_mapgen_id": "fbmh_core_shack_nw_wad_center",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_core_shack_nw_wad_center" ], "x": 9, "y": 9 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_nw_wad_center" ], "x": 9, "y": 9 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_nw_wad_center",
+ "nested_mapgen_id": "fbmh_core_nw_wad_center",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -302,30 +302,30 @@
"... ",
"... "
],
- "palettes": [ "fbmf_wad_palette" ]
+ "palettes": [ "fbmh_wad_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_nw_wad_center",
+ "update_mapgen_id": "fbmh_core_nw_wad_center",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_core_nw_wad_center" ], "x": 9, "y": 9 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_core_nw_wad_center" ], "x": 9, "y": 9 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_wad_center",
+ "update_mapgen_id": "fbmh_core_wad_center",
"method": "json",
"object": {
"place_nested": [
- { "chunks": [ "fbmf_core_nw_wad_center" ], "x": 9, "y": 9 },
- { "chunks": [ "fbmf_core_ne_wad_center" ], "x": 9, "y": 9 }
+ { "chunks": [ "fbmh_core_nw_wad_center" ], "x": 9, "y": 9 },
+ { "chunks": [ "fbmh_core_ne_wad_center" ], "x": 9, "y": 9 }
]
}
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_shack_se_wad_south",
+ "nested_mapgen_id": "fbmh_core_shack_se_wad_south",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -336,19 +336,19 @@
" ..w",
" +ww"
],
- "palettes": [ "fbmf_wad_palette" ]
+ "palettes": [ "fbmh_wad_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_shack_se_wad_south",
+ "update_mapgen_id": "fbmh_core_shack_se_wad_south",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_core_shack_se_wad_south" ], "x": 9, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_se_wad_south" ], "x": 9, "y": 15 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_se_wad_south",
+ "nested_mapgen_id": "fbmh_core_se_wad_south",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -359,19 +359,19 @@
" ...",
" +ww"
],
- "palettes": [ "fbmf_wad_palette" ]
+ "palettes": [ "fbmh_wad_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_se_wad_south",
+ "update_mapgen_id": "fbmh_core_se_wad_south",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_core_se_wad_south" ], "x": 9, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_core_se_wad_south" ], "x": 9, "y": 15 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_shack_sw_wad_south",
+ "nested_mapgen_id": "fbmh_core_shack_sw_wad_south",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -382,19 +382,19 @@
"w.. ",
"www "
],
- "palettes": [ "fbmf_wad_palette" ]
+ "palettes": [ "fbmh_wad_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_shack_sw_wad_south",
+ "update_mapgen_id": "fbmh_core_shack_sw_wad_south",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_core_shack_sw_wad_south" ], "x": 9, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_sw_wad_south" ], "x": 9, "y": 15 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_sw_wad_south",
+ "nested_mapgen_id": "fbmh_core_sw_wad_south",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -405,23 +405,23 @@
"... ",
"www "
],
- "palettes": [ "fbmf_wad_palette" ]
+ "palettes": [ "fbmh_wad_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_sw_wad_south",
+ "update_mapgen_id": "fbmh_core_sw_wad_south",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_core_sw_wad_south" ], "x": 9, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_core_sw_wad_south" ], "x": 9, "y": 15 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_wad_south",
+ "update_mapgen_id": "fbmh_core_wad_south",
"method": "json",
"object": {
"place_nested": [
- { "chunks": [ "fbmf_core_sw_wad_south" ], "x": 9, "y": 15 },
- { "chunks": [ "fbmf_core_se_wad_south" ], "x": 9, "y": 15 }
+ { "chunks": [ "fbmh_core_sw_wad_south" ], "x": 9, "y": 15 },
+ { "chunks": [ "fbmh_core_se_wad_south" ], "x": 9, "y": 15 }
]
}
}
diff --git a/data/json/mapgen/basecamps/modular_field_wood.json b/data/json/mapgen/basecamps/modular_field_wood.json
index cae2a3cae11e2..5f2db459d69ef 100644
--- a/data/json/mapgen/basecamps/modular_field_wood.json
+++ b/data/json/mapgen/basecamps/modular_field_wood.json
@@ -1,14 +1,14 @@
[
{
"type": "palette",
- "id": "fbmf_wood_palette",
+ "id": "fbmh_wood_palette",
"terrain": { ";": "t_dirt", ".": "t_floor", "+": "t_door_c", "v": "t_window_no_curtains", "w": "t_wall_wood" },
"furniture": { }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_room0_wood",
+ "nested_mapgen_id": "fbmh_room0_wood",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -19,19 +19,19 @@
" ;;;;;",
" ;;;;;"
],
- "palettes": [ "fbmf_wood_palette" ]
+ "palettes": [ "fbmh_wood_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room0_wood_northeast",
+ "update_mapgen_id": "fbmh_room0_wood_northeast",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_room0_wood" ], "x": 15, "y": 3 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_room0_wood" ], "x": 15, "y": 3 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_room1_wood",
+ "nested_mapgen_id": "fbmh_room1_wood",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -42,19 +42,19 @@
" w...w",
" "
],
- "palettes": [ "fbmf_wood_palette" ]
+ "palettes": [ "fbmh_wood_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room1_wood_northeast",
+ "update_mapgen_id": "fbmh_room1_wood_northeast",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_room1_wood" ], "x": 15, "y": 3 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_room1_wood" ], "x": 15, "y": 3 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_room2_wood",
+ "nested_mapgen_id": "fbmh_room2_wood",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -65,19 +65,19 @@
" ",
" wwwww"
],
- "palettes": [ "fbmf_wood_palette" ]
+ "palettes": [ "fbmh_wood_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room2_wood_northeast",
+ "update_mapgen_id": "fbmh_room2_wood_northeast",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_room2_wood" ], "x": 15, "y": 3 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_room2_wood" ], "x": 15, "y": 3 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_wood_shack_east",
+ "nested_mapgen_id": "fbmh_wood_shack_east",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -88,19 +88,19 @@
"w....w",
"w+wwww"
],
- "palettes": [ "fbmf_wood_palette" ]
+ "palettes": [ "fbmh_wood_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_shack4_wood_east",
+ "update_mapgen_id": "fbmh_shack4_wood_east",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_wood_shack_east" ], "x": 15, "y": 9 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_wood_shack_east" ], "x": 15, "y": 9 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_wood_room_east",
+ "nested_mapgen_id": "fbmh_wood_room_east",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -111,34 +111,34 @@
"w....w",
"w+wwww"
],
- "palettes": [ "fbmf_wood_palette" ]
+ "palettes": [ "fbmh_wood_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room4_wood_east",
+ "update_mapgen_id": "fbmh_room4_wood_east",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_wood_room_east" ], "x": 15, "y": 9 } ],
+ "place_nested": [ { "chunks": [ "fbmh_wood_room_east" ], "x": 15, "y": 9 } ],
"set": [ { "point": "terrain", "id": "t_wall_wood", "x": 15, "y": 8 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_shack4_wood_southeast",
+ "update_mapgen_id": "fbmh_shack4_wood_southeast",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_wood_shack_east" ], "x": 15, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_wood_shack_east" ], "x": 15, "y": 15 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room4_wood_southeast",
+ "update_mapgen_id": "fbmh_room4_wood_southeast",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_wood_room_east" ], "x": 15, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_wood_room_east" ], "x": 15, "y": 15 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_wood_shack_northwest",
+ "nested_mapgen_id": "fbmh_wood_shack_northwest",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -149,19 +149,19 @@
"w...w;",
"wwwww;"
],
- "palettes": [ "fbmf_wood_palette" ]
+ "palettes": [ "fbmh_wood_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room4_wood_northwest",
+ "update_mapgen_id": "fbmh_room4_wood_northwest",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_wood_shack_northwest" ], "x": 3, "y": 3 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_wood_shack_northwest" ], "x": 3, "y": 3 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_wood_shack_west",
+ "nested_mapgen_id": "fbmh_wood_shack_west",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -172,19 +172,19 @@
"w....w",
"wwww+w"
],
- "palettes": [ "fbmf_wood_palette" ]
+ "palettes": [ "fbmh_wood_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_shack4_wood_west",
+ "update_mapgen_id": "fbmh_shack4_wood_west",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_wood_shack_west" ], "x": 3, "y": 9 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_wood_shack_west" ], "x": 3, "y": 9 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_wood_room_west",
+ "nested_mapgen_id": "fbmh_wood_room_west",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -195,34 +195,34 @@
"w....w",
"wwww+w"
],
- "palettes": [ "fbmf_wood_palette" ]
+ "palettes": [ "fbmh_wood_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room4_wood_west",
+ "update_mapgen_id": "fbmh_room4_wood_west",
"method": "json",
"object": {
- "place_nested": [ { "chunks": [ "fbmf_wood_room_west" ], "x": 3, "y": 9 } ],
+ "place_nested": [ { "chunks": [ "fbmh_wood_room_west" ], "x": 3, "y": 9 } ],
"set": [ { "point": "terrain", "id": "t_wall_wood", "x": 8, "y": 8 } ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_shack4_wood_southwest",
+ "update_mapgen_id": "fbmh_shack4_wood_southwest",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_wood_shack_west" ], "x": 3, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_wood_shack_west" ], "x": 3, "y": 15 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_room4_wood_southwest",
+ "update_mapgen_id": "fbmh_room4_wood_southwest",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_wood_room_west" ], "x": 3, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_wood_room_west" ], "x": 3, "y": 15 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_shack_ne_wood_center",
+ "nested_mapgen_id": "fbmh_core_shack_ne_wood_center",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -233,19 +233,19 @@
" ..w",
" ..w"
],
- "palettes": [ "fbmf_wood_palette" ]
+ "palettes": [ "fbmh_wood_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_shack_ne_wood_center",
+ "update_mapgen_id": "fbmh_core_shack_ne_wood_center",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_core_shack_ne_wood_center" ], "x": 9, "y": 9 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_ne_wood_center" ], "x": 9, "y": 9 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_ne_wood_center",
+ "nested_mapgen_id": "fbmh_core_ne_wood_center",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -256,19 +256,19 @@
" ...",
" ..."
],
- "palettes": [ "fbmf_wood_palette" ]
+ "palettes": [ "fbmh_wood_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_ne_wood_center",
+ "update_mapgen_id": "fbmh_core_ne_wood_center",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_core_ne_wood_center" ], "x": 9, "y": 9 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_core_ne_wood_center" ], "x": 9, "y": 9 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_shack_nw_wood_center",
+ "nested_mapgen_id": "fbmh_core_shack_nw_wood_center",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -279,19 +279,19 @@
"w.. ",
"w.. "
],
- "palettes": [ "fbmf_wood_palette" ]
+ "palettes": [ "fbmh_wood_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_shack_nw_wood_center",
+ "update_mapgen_id": "fbmh_core_shack_nw_wood_center",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_core_shack_nw_wood_center" ], "x": 9, "y": 9 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_nw_wood_center" ], "x": 9, "y": 9 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_nw_wood_center",
+ "nested_mapgen_id": "fbmh_core_nw_wood_center",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -302,30 +302,30 @@
"... ",
"... "
],
- "palettes": [ "fbmf_wood_palette" ]
+ "palettes": [ "fbmh_wood_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_nw_wood_center",
+ "update_mapgen_id": "fbmh_core_nw_wood_center",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_core_nw_wood_center" ], "x": 9, "y": 9 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_core_nw_wood_center" ], "x": 9, "y": 9 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_wood_center",
+ "update_mapgen_id": "fbmh_core_wood_center",
"method": "json",
"object": {
"place_nested": [
- { "chunks": [ "fbmf_core_nw_wood_center" ], "x": 9, "y": 9 },
- { "chunks": [ "fbmf_core_ne_wood_center" ], "x": 9, "y": 9 }
+ { "chunks": [ "fbmh_core_nw_wood_center" ], "x": 9, "y": 9 },
+ { "chunks": [ "fbmh_core_ne_wood_center" ], "x": 9, "y": 9 }
]
}
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_shack_se_wood_south",
+ "nested_mapgen_id": "fbmh_core_shack_se_wood_south",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -336,19 +336,19 @@
" ..w",
" +ww"
],
- "palettes": [ "fbmf_wood_palette" ]
+ "palettes": [ "fbmh_wood_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_shack_se_wood_south",
+ "update_mapgen_id": "fbmh_core_shack_se_wood_south",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_core_shack_se_wood_south" ], "x": 9, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_se_wood_south" ], "x": 9, "y": 15 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_se_wood_south",
+ "nested_mapgen_id": "fbmh_core_se_wood_south",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -359,19 +359,19 @@
" ...",
" +ww"
],
- "palettes": [ "fbmf_wood_palette" ]
+ "palettes": [ "fbmh_wood_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_se_wood_south",
+ "update_mapgen_id": "fbmh_core_se_wood_south",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_core_se_wood_south" ], "x": 9, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_core_se_wood_south" ], "x": 9, "y": 15 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_shack_sw_wood_south",
+ "nested_mapgen_id": "fbmh_core_shack_sw_wood_south",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -382,19 +382,19 @@
"w.. ",
"www "
],
- "palettes": [ "fbmf_wood_palette" ]
+ "palettes": [ "fbmh_wood_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_shack_sw_wood_south",
+ "update_mapgen_id": "fbmh_core_shack_sw_wood_south",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_core_shack_sw_wood_south" ], "x": 9, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_core_shack_sw_wood_south" ], "x": 9, "y": 15 } ] }
},
{
"type": "mapgen",
"method": "json",
- "nested_mapgen_id": "fbmf_core_sw_wood_south",
+ "nested_mapgen_id": "fbmh_core_sw_wood_south",
"object": {
"mapgensize": [ 6, 6 ],
"rows": [
@@ -405,23 +405,23 @@
"... ",
"www "
],
- "palettes": [ "fbmf_wood_palette" ]
+ "palettes": [ "fbmh_wood_palette" ]
}
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_sw_wood_south",
+ "update_mapgen_id": "fbmh_core_sw_wood_south",
"method": "json",
- "object": { "place_nested": [ { "chunks": [ "fbmf_core_sw_wood_south" ], "x": 9, "y": 15 } ] }
+ "object": { "place_nested": [ { "chunks": [ "fbmh_core_sw_wood_south" ], "x": 9, "y": 15 } ] }
},
{
"type": "mapgen",
- "update_mapgen_id": "fbmf_core_wood_south",
+ "update_mapgen_id": "fbmh_core_wood_south",
"method": "json",
"object": {
"place_nested": [
- { "chunks": [ "fbmf_core_sw_wood_south" ], "x": 9, "y": 15 },
- { "chunks": [ "fbmf_core_se_wood_south" ], "x": 9, "y": 15 }
+ { "chunks": [ "fbmh_core_sw_wood_south" ], "x": 9, "y": 15 },
+ { "chunks": [ "fbmh_core_se_wood_south" ], "x": 9, "y": 15 }
]
}
}
diff --git a/data/json/mapgen/basement/basement_meth.json b/data/json/mapgen/basement/basement_meth.json
index d2a7309b6e2aa..93a3658e68354 100644
--- a/data/json/mapgen/basement/basement_meth.json
+++ b/data/json/mapgen/basement/basement_meth.json
@@ -101,13 +101,13 @@
{ "monster": "mon_zombie", "x": [ 13, 14 ], "y": [ 11, 17 ], "chance": 90, "repeat": [ 1, 3 ] }
],
"place_fields": [
- { "x": [ 15, 16 ], "y": [ 5, 6 ], "field": "fd_blood", "density": 3 },
- { "x": [ 15, 16 ], "y": [ 5, 6 ], "field": "fd_blood", "density": 2 },
- { "x": [ 14, 19 ], "y": [ 12, 13 ], "field": "fd_toxic_gas", "density": 3 },
- { "x": [ 14, 19 ], "y": [ 12, 13 ], "field": "fd_toxic_gas", "density": 3 },
- { "x": [ 14, 16 ], "y": [ 12, 13 ], "field": "fd_toxic_gas", "density": 3 },
- { "x": [ 14, 16 ], "y": [ 12, 13 ], "field": "fd_toxic_gas", "density": 3 },
- { "x": [ 14, 16 ], "y": [ 12, 13 ], "field": "fd_toxic_gas", "density": 3 }
+ { "x": [ 15, 16 ], "y": [ 5, 6 ], "field": "fd_blood", "intensity": 3 },
+ { "x": [ 15, 16 ], "y": [ 5, 6 ], "field": "fd_blood", "intensity": 2 },
+ { "x": [ 14, 19 ], "y": [ 12, 13 ], "field": "fd_toxic_gas", "intensity": 3 },
+ { "x": [ 14, 19 ], "y": [ 12, 13 ], "field": "fd_toxic_gas", "intensity": 3 },
+ { "x": [ 14, 16 ], "y": [ 12, 13 ], "field": "fd_toxic_gas", "intensity": 3 },
+ { "x": [ 14, 16 ], "y": [ 12, 13 ], "field": "fd_toxic_gas", "intensity": 3 },
+ { "x": [ 14, 16 ], "y": [ 12, 13 ], "field": "fd_toxic_gas", "intensity": 3 }
]
}
},
diff --git a/data/json/mapgen/farm.json b/data/json/mapgen/farm.json
index 734e4997fff11..3fb11bc35b849 100644
--- a/data/json/mapgen/farm.json
+++ b/data/json/mapgen/farm.json
@@ -5,7 +5,7 @@
"om_terrain": [ [ "farm_3", "farm_2", "farm_1" ], [ "farm_6", "farm_5", "farm_4" ], [ "farm_9", "farm_8", "farm_7" ] ],
"weight": 250,
"object": {
- "fill_ter": "t_dirt",
+ "fill_ter": "t_floor",
"rows": [
" FFFFFFFFFFFFFFFFFFFFFF ",
" P F F ",
@@ -19,9 +19,9 @@
" #333__________ 233W F F ",
" #__2__________ 2__# $$$ $$$ F DDDDDDDDDDDDDDDD F ",
" #__2__________ 2__# ###++### --w---+-----w-- F Q F ",
- " W__g__________ g__W #EE____# -uSeuu...Y....- F DDDDDDDDDDDDDDDD F ",
+ " W__g__________ g__W #EE____# -u5e4u...Y....- F DDDDDDDDDDDDDDDD F ",
" W__g__________ g__W #E_____# -o............- F F ",
- " #__2__________ 2__# #_1__1_# -u..........H.- F DDDDDDDDDDDDDDDD F ",
+ " #__2__________ 2__# #_1__1_# -6..........H.- F DDDDDDDDDDDDDDDD F ",
" #__2__________ 2__# #______# -u...----+----- F F ",
" #332__________ 233# #______# --+---kh......- F DDDDDDDDDDDDDDDD F ",
" #_____________1___# #_1__1_# -...-.........w F F ",
@@ -80,39 +80,6 @@
"F F ",
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF "
],
- "terrain": {
- "Q": [ "t_grass", "t_grass", "t_grass", "t_dirt" ],
- "#": "t_wall_wood",
- "+": "t_door_c",
- "5": "t_palisade_pulley",
- "H": "t_floor",
- "g": "t_fencegate_c"
- },
- "toilets": { "T": { } },
- "items": {
- "B": { "item": "bed", "chance": 60 },
- "D": { "item": "hydro", "chance": 5 },
- "H": { "item": "livingroom", "chance": 65 },
- "b": { "item": "softdrugs", "chance": 70 },
- "d": [ { "item": "dresser", "chance": 80 }, { "item": "homeguns", "chance": 20 } ],
- "e": { "item": "fridge", "chance": 65 },
- "h": { "item": "bedroom", "chance": 65 },
- "k": { "item": "bedroom", "chance": 65 },
- "Y": { "item": "coat_rack", "chance": 35, "repeat": [ 1, 4 ] },
- "P": { "item": "mail", "chance": 30, "repeat": [ 2, 5 ] },
- "l": [
- { "item": "tools_earthworking", "chance": 65 },
- { "item": "mechanics", "chance": 40 },
- { "item": "home_hw", "chance": 50 },
- { "item": "tools_common", "chance": 50 }
- ],
- "u": [
- { "item": "kitchen", "chance": 70 },
- { "item": "cannedfood", "chance": 65 },
- { "item": "moonshine_brew", "chance": 65 }
- ],
- "Q": { "item": "farming_tools", "chance": 15 }
- },
"place_items": [ ],
"place_item": [
{ "item": "straw_pile", "x": [ 3, 5 ], "y": [ 5, 7 ], "amount": [ 0, 8 ] },
@@ -135,7 +102,7 @@
"om_terrain": [ [ "farm_2" ] ],
"weight": 250,
"object": {
- "fill_ter": "t_dirt",
+ "fill_ter": "t_floor",
"rows": [
" ",
"P ",
@@ -149,9 +116,9 @@
" ",
" $$$ $$$ ",
"###++### --w---+-----w--",
- "#EE____# -uSeuu.mm.....-",
+ "#EE____# -u5e4u.mm.....-",
"#E_____# -o...........m-",
- "#_1__1_# -u...........m-",
+ "#_1__1_# -6...........m-",
"#__Q___# -u...----+-----",
"#______# --+---mm....mm-",
"#_1__1_# -...-.........w",
@@ -163,8 +130,6 @@
"FFFFFFFFFFFFFFFFFFFFFFFF",
",,,,,,,,,,,,,,,,,,,,,,,,"
],
- "terrain": { "#": "t_wall_wood", "+": "t_door_c", "5": "t_palisade_pulley", "H": "t_floor", "g": "t_fencegate_c" },
- "toilets": { "T": { } },
"items": {
".": { "item": "trash", "chance": 20 },
"B": [
@@ -208,7 +173,7 @@
"//": "Grain silo copy of silo in ranch_camp_57",
"weight": 250,
"object": {
- "fill_ter": "t_dirt",
+ "fill_ter": "t_dirtfloor",
"rows": [
" ",
" |--| ####W###W### ",
@@ -217,9 +182,9 @@
"|________A_________s# ",
"||______||H________s# ",
" |-|__|-|#__________W ",
- " |--| #_______5__# ",
- " ####====#### ",
- " 5 ",
+ " |--| #_______O__# ",
+ " ####MMMM#### ",
+ " O ",
" ",
" ",
" ",
@@ -235,7 +200,6 @@
" F DDDDDDDDDDDDDDDD F ",
"FF F "
],
- "terrain": { "#": "t_wall_wood" },
"items": { "D": { "item": "hydro", "chance": 5 }, "r": { "item": "farming_tools", "chance": 25 } },
"place_item": [
{ "item": "wheat", "x": [ 4, 5 ], "y": 2, "chance": 40 },
@@ -254,7 +218,7 @@
"//": "Chicken Coop",
"weight": 250,
"object": {
- "fill_ter": "t_dirt",
+ "fill_ter": "t_dirtfloor",
"rows": [
" ",
" ",
@@ -281,8 +245,6 @@
" F DDDDDDDDDDDDDDDD F ",
"FF F "
],
- "terrain": { "#": "t_wall_wood", "+": "t_door_c" },
- "items": { "D": { "item": "hydro", "chance": 5 } },
"monster": { "7": { "monster": "mon_chicken" }, "8": { "monster": "mon_chicken_chick" } },
"place_item": [
{ "item": "straw_pile", "x": 12, "y": 3, "chance": 75 },
@@ -312,16 +274,16 @@
"rows": [
" ",
" ",
- " ################## ",
- " #DDDDDDDDDDDDDDDD# ",
- " #D_______________# ",
- " #D__DDDDDDDDDD__r# ",
- " +_______________r# ",
- " +_______________r# ",
- " #D__DDDDDDDDDD__r# ",
- " #D_______________# ",
- " #DDDDDDDDDDDDDDDD# ",
- " ################## ",
+ " GGGGGGGGGGGGGGGGGG ",
+ " GDDDDDDDDDDDDDDDDG ",
+ " GD_______________G ",
+ " GD__DDDDDDDDDD__rG ",
+ " ~_______________rG ",
+ " ~_______________rG ",
+ " GD__DDDDDDDDDD__rG ",
+ " GD_______________G ",
+ " GDDDDDDDDDDDDDDDDG ",
+ " GGGGGGGGGGGGGGGGGG ",
" ",
" ",
" FFFFFFFFFFFFFFFFFFFFFF ",
@@ -335,8 +297,46 @@
" F DDDDDDDDDDDDDDDD F ",
"FF F "
],
- "items": { "D": { "item": "hydro", "chance": 5 }, "r": { "item": "tools_earthworking", "chance": 20 } },
+ "items": { "r": { "item": "tools_earthworking", "chance": 20 } },
"palettes": [ "farm" ]
}
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "farm_3_roof", "farm_2_roof" ] ],
+ "weight": 250,
+ "object": {
+ "fill_ter": "t_shingle_flat_roof",
+ "rows": [
+ " ",
+ " ",
+ " ",
+ " ",
+ " ,,,,,,,,,,,,,,,,,,, ",
+ " ,,,,,,,,,,,,,,,,,,, ",
+ " ,,,,,,,,,,,,,,,,,,, ",
+ " ,,,,,,,,,,,,,,,,,,, ",
+ " ,,,,,,,,,,,,,,,,,,, ",
+ " ,,,,,,,,,,,,,,,,,,, ",
+ " ,,,,,,,,,,,,,,,,,,, ... ",
+ " ,,,,,,,,,,,,,,,,,,, ,,,,,,,, 22222...2222222",
+ " ,,,,,,,,,,,,,,,,,,, ,,,,,,,, ...............",
+ " ,,,,,,,,,,,,,,,,,,, ,,,,,,,, ...............",
+ " ,,,,,,,,,,,,,,,,,,, ,,,,,,,, ..&..........:.",
+ " ,,,,,,,,,,,,,,,,,,, ,,,,,,,, ...............",
+ " ,,,,,,,,,,,,,,,,,,, ,,,,,,,, .............X.",
+ " ,,,,,,,,,,,,,,,,,,, ,,,,,,,, ...............",
+ " ,,,,,,,,,,,,,,,,,,, ,,,,,,,, .=.............",
+ " ,,,,,,,,,,,,,,,,,,, ,,,,,,,, ...............",
+ " ,,,,,,,,,,,,,,,,,,, ,,,,,,,, ---------------",
+ " ,,,,,,,,,,,,,,,,,,, ",
+ " ",
+ " ",
+ " "
+ ],
+ "palettes": [ "roof_palette" ],
+ "terrain": { ".": "t_shingle_flat_roof", ",": "t_metal_flat_roof" }
+ }
}
]
diff --git a/data/json/mapgen/field_football.json b/data/json/mapgen/field_football.json
index 352e9f85cbe83..5e587a0706506 100644
--- a/data/json/mapgen/field_football.json
+++ b/data/json/mapgen/field_football.json
@@ -2,6 +2,8 @@
{
"id": "football_items",
"type": "item_group",
+ "ammo": 75,
+ "magazine": 100,
"items": [
[ "whistle", 10 ],
[ "sports_drink", 60 ],
diff --git a/data/json/mapgen/gunsmith.json b/data/json/mapgen/gunsmith.json
index 3e2a17aa75e54..ad2a5eacca93a 100644
--- a/data/json/mapgen/gunsmith.json
+++ b/data/json/mapgen/gunsmith.json
@@ -2,9 +2,10 @@
{
"type": "mapgen",
"method": "json",
- "om_terrain": [ "s_gun" ],
+ "om_terrain": [ "s_gun_4" ],
"weight": 300,
"object": {
+ "fill_ter": "t_floor",
"rows": [
"__________________sss___",
"_,___,___,___,___,sss_%_",
@@ -20,13 +21,13 @@
"s8r..rrrrrr...xb.rrrrr|_",
"s8r...........#......r|_",
"s|r..rrrrrr...#rr....r|_",
- "s|---------D--------+-|_",
- "s|#######|...|tccEc..^|_",
- "s|#.c..c#|...|t.xEc...w_",
+ "s|----------D-------+-|_",
+ "s|#######|<|.|tccEc..^|_",
+ "s|#.c..c#|D|.|t.xEc...w_",
"sL...c...L...D........w_",
"_|l.###.l|..^|##FCC...|_",
"_|l.rrr.l|-L-------D-D|_",
- "_|l.rrr.l|ssss____WS|SW_",
+ "_|l.rrr.l|ssss___4WS|SW_",
"_|l.....l|s__,_dd_|T|T|_",
"_--WW-WW--s__,_dd_-----_",
"__________s__,_dd_______"
@@ -40,30 +41,21 @@
"%": "t_shrub",
"+": "t_door_metal_pickable",
",": "t_pavement_y",
- "-": "t_wall",
+ "-": "t_wall_w",
".": "t_floor",
"5": "t_window_bars_alarm",
"8": "t_window_bars_alarm",
- "C": "t_floor",
"D": "t_door_c",
- "E": "t_floor",
- "F": "t_floor",
"L": "t_door_metal_pickable",
- "S": "t_floor",
- "T": "t_floor",
"W": "t_window_bars_alarm",
- "^": "t_floor",
"_": "t_pavement",
- "b": "t_floor",
- "c": "t_floor",
"d": "t_pavement",
- "l": "t_floor",
- "r": "t_floor",
"s": "t_sidewalk",
- "t": "t_floor",
"w": "t_window_bars_alarm",
"x": "t_console_broken",
- "|": "t_wall"
+ "|": "t_wall_w",
+ "<": "t_stairs_up",
+ "4": "t_gutter_downspout"
},
"furniture": {
"#": "f_counter",
@@ -112,5 +104,89 @@
{ "item": "laptop", "x": 17, "y": 15, "chance": 30 }
]
}
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": "s_gun_2ndfloor_4",
+ "object": {
+ "fill_ter": "t_flat_roof",
+ "rows": [
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " |222222222222222222223 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |.....%%%%%%%%%%%%...3 ",
+ " |.....%;;rrrrrr;;%...3 ",
+ " |.....%;;;;;;;;;;%...3 ",
+ " |.....%;;;;;;C;C;%...3 ",
+ " |.VVVV%%+%%;;;CC;%...3 ",
+ " |.VAA.+;;>%;;C;;;%4..3 ",
+ " |.V...%;;;%;;;;W;%...3 ",
+ " |.V^VV%%%%%%%%%%%%...3 ",
+ " |....................3 ",
+ " |.......3--------5...3 ",
+ " |.X.....3 |.=.3 ",
+ " |.....:.3 |...3 ",
+ " |-------3 |---3 ",
+ " "
+ ],
+ "palettes": [ "roof_palette" ],
+ "terrain": {
+ ";": "t_floor",
+ "r": "t_floor",
+ "C": "t_floor",
+ "W": "t_floor",
+ "%": "t_wall_w",
+ "V": "t_chainfence",
+ "^": "t_chaingate_l",
+ ">": "t_stairs_down",
+ "+": "t_door_locked"
+ },
+ "furniture": { "W": "f_water_heater" },
+ "liquids": { "W": { "liquid": "water_clean", "amount": [ 0, 100 ] } },
+ "items": { "C": { "item": "ammo_common", "chance": 30 }, "r": { "item": "tools_blacksmith", "chance": 30 } }
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": "s_gun_roof_4",
+ "object": {
+ "fill_ter": "t_flat_roof",
+ "rows": [
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " |22222222223 ",
+ " |..........3 ",
+ " |..........3 ",
+ " |.......&..3 ",
+ " |..........3 ",
+ " |..........5 ",
+ " |..........3 ",
+ " |----------3 ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " "
+ ],
+ "palettes": [ "roof_palette" ]
+ }
}
]
diff --git a/data/json/mapgen/headshop.json b/data/json/mapgen/headshop.json
index a8e86a4f213c7..1681b93c8d340 100644
--- a/data/json/mapgen/headshop.json
+++ b/data/json/mapgen/headshop.json
@@ -1,108 +1,221 @@
-{
- "method": "json",
- "object": {
- "place_item": [
- { "item": "rolling_paper", "repeat": 1, "x": 13, "y": 3 },
- { "item": "rolling_paper", "repeat": 1, "x": 3, "y": 6 },
- { "item": "pipe_tobacco", "repeat": 1, "x": 18, "y": 6 },
- { "item": "pipe_glass", "repeat": 1, "x": 21, "y": 7 },
- { "item": "crackpipe", "repeat": 1, "x": 18, "y": 8 },
- { "item": "pipe_glass", "repeat": 1, "x": 21, "y": 8 },
- { "item": "crackpipe", "repeat": 1, "x": 4, "y": 10 },
- { "item": "pipe_glass", "repeat": 1, "x": 4, "y": 10 },
- { "item": "pipe_glass", "repeat": 1, "x": 7, "y": 10 },
- { "item": "pipe_glass", "repeat": 1, "x": 18, "y": 10 },
- { "item": "crackpipe", "repeat": 1, "x": 21, "y": 10 }
- ],
- "furniture": {
- "#": "f_displaycase",
- "&": "f_trashcan",
- "+": "f_null",
- "-": "f_null",
- ".": "f_null",
- "4": "f_null",
- "D": "f_dumpster",
- "H": "f_armchair",
- "S": "f_sofa",
- "^": "f_indoor_plant",
- "_": "f_null",
- "a": "f_null",
- "b": "f_bench",
- "c": "f_counter",
- "d": "f_null",
- "l": "f_locker",
- "p": "f_null",
- "s": "f_null",
- "t": "f_table",
- "{": "f_rack",
- "|": "f_null"
- },
- "place_items": [
- { "chance": 35, "item": "clothing_outdoor_torso", "x": [ 13, 14 ], "y": 20 },
- { "chance": 45, "item": "stoner", "x": 14, "y": 17 },
- { "chance": 45, "item": "stoner", "x": 13, "y": [ 16, 17 ] },
- { "chance": 45, "item": "stoner", "x": [ 3, 5 ], "y": 13 },
- { "chance": 45, "item": "stoner", "x": 14, "y": 11 },
- { "chance": 45, "item": "stoner", "x": 8, "y": 10 },
- { "chance": 45, "item": "stoner", "x": [ 4, 5 ], "y": 10 },
- { "chance": 45, "item": "stoner", "x": 14, "y": [ 8, 9 ] },
- { "chance": 65, "item": "misc_smoking", "x": 15, "y": 17 },
- { "chance": 65, "item": "misc_smoking", "x": 13, "y": 15 },
- { "chance": 65, "item": "misc_smoking", "x": 9, "y": 10 },
- { "chance": 65, "item": "misc_smoking", "x": 3, "y": 10 },
- { "chance": 65, "item": "misc_smoking", "x": 14, "y": [ 6, 7 ] }
- ],
- "rows": [
- "__d_____sssdd___d___d___",
- "________sss_____________",
- "__|----|sss|----|4|-|4_d",
- "d_-S..H-sss-HttH|-|^|-|_",
- "__-S..^|++||..........|_",
- "__-S......bb..........|d",
- "__|t.H........#...{..{|_",
- "__|...........#...{..{|_",
- "d_|...........#...{..{|_",
- "d_|...........#...{..{|_",
- "__|##ccc##....c...{..{|d",
- "__|&.....c....c...{..{|_",
- "d_|...................|_",
- "__|{{{{{..............|d",
- "d_|||||||||||-+--|....|d",
- "____d___DDps|{...-....|d",
- "___d____ppps|{...+....|_",
- "________ppps|{{##-....|d",
- "d___d___ppps||||||....|_",
- "________pppsa.........|_",
- "__d_____ppps|ll..|....|_",
- "d_____d_ppps|||||||||||_",
- "______________d_________",
- "___d______dddd_____d__d_"
- ],
- "terrain": {
- "#": "t_floor",
- "&": "t_floor",
- "+": "t_door_glass_c",
- "-": "t_wall_glass",
- ".": "t_floor",
- "4": "t_tree_pine",
- "D": "t_pavement",
- "H": "t_floor",
- "S": "t_floor",
- "^": "t_floor",
- "_": "t_grass",
- "a": "t_door_c",
- "b": "t_floor",
- "c": "t_floor",
- "d": "t_dirt",
- "l": "t_floor",
- "p": "t_pavement",
- "s": "t_sidewalk",
- "t": "t_floor",
- "{": "t_floor",
- "|": "t_wall"
+[
+ {
+ "method": "json",
+ "om_terrain": "headshop",
+ "type": "mapgen",
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_floor",
+ "rows": [
+ "__d_____sssdd___d___d___",
+ "________sss_____________",
+ "__|----|sss|----|4|-|4_d",
+ "d_-S..H-sss-HttH|-|^|-|_",
+ "__-S..^|++||..........|_",
+ "__-S......bb..........|d",
+ "__|t.H........#...{..{|_",
+ "__|...........#...{..{|_",
+ "d_|...........#...{..{|_",
+ "d_|...........#...{..{|_",
+ "__|##ccc##....c...{..{|d",
+ "__|&.u...c....c...{..{|_",
+ "d_|...................|_",
+ "__|{{{{{.............H|d",
+ "d_|||||||||||-+--|...t|d",
+ "__U_d___DD5s|{..u-...H|d",
+ "___d____ppps|{...+...^|_",
+ "________ppps|{{##-..|||d",
+ "d___d___ppps|||||||%|L|_",
+ "________pppsa....%..a.|_",
+ "__d_____ppps|ll|<|ll|R|_",
+ "d_____d_ppps|||||||||||_",
+ "______________d_________",
+ "___d______dddd_____d__d_"
+ ],
+ "terrain": {
+ "+": "t_door_glass_c",
+ "-": "t_wall_glass",
+ ".": "t_floor",
+ "4": "t_tree_pine",
+ "D": "t_pavement",
+ "_": "t_grass",
+ "a": "t_door_c",
+ "d": "t_dirt",
+ "p": "t_pavement",
+ "s": "t_sidewalk",
+ "|": "t_wall_p",
+ "<": "t_stairs_up",
+ "5": "t_gutter_downspout",
+ "U": "t_grass"
+ },
+ "furniture": {
+ "#": "f_displaycase",
+ "&": "f_trashcan",
+ "D": [ "f_dumpster", "f_recycle_bin" ],
+ "H": "f_armchair",
+ "S": "f_sofa",
+ "^": [ "f_indoor_plant_y", "f_indoor_plant" ],
+ "b": "f_bench",
+ "c": "f_counter",
+ "l": "f_locker",
+ "t": "f_table",
+ "{": "f_rack",
+ "R": "f_sink",
+ "%": "f_beaded_door",
+ "u": "f_stool"
+ },
+ "nested": {
+ "U": {
+ "chunks": [
+ [ "roof_6x6_greenhouse_1", 25 ],
+ [ "roof_6x6_garden_4", 25 ],
+ [ "roof_6x6_garden_1", 25 ],
+ [ "roof_6x6_garden_2", 25 ]
+ ]
+ }
+ },
+ "toilets": { "L": { } },
+ "place_nested": [ { "chunks": [ [ "null", 2 ], [ "headshop_graffiti_snippet", 98 ] ], "x": 22, "y": 19 } ],
+ "place_item": [
+ { "item": "rolling_paper", "repeat": 1, "x": 13, "y": 3 },
+ { "item": "rolling_paper", "repeat": 1, "x": 3, "y": 6 },
+ { "item": "pipe_tobacco", "repeat": 1, "x": 18, "y": 6 },
+ { "item": "pipe_glass", "repeat": 1, "x": 21, "y": 7 },
+ { "item": "crackpipe", "repeat": 1, "x": 18, "y": 8 },
+ { "item": "pipe_glass", "repeat": 1, "x": 21, "y": 8 },
+ { "item": "crackpipe", "repeat": 1, "x": 4, "y": 10 },
+ { "item": "pipe_glass", "repeat": 1, "x": 4, "y": 10 },
+ { "item": "pipe_glass", "repeat": 1, "x": 7, "y": 10 },
+ { "item": "pipe_glass", "repeat": 1, "x": 18, "y": 10 },
+ { "item": "crackpipe", "repeat": 1, "x": 21, "y": 10 }
+ ],
+ "place_items": [
+ { "chance": 35, "item": "clothing_outdoor_torso", "x": [ 13, 14 ], "y": 20 },
+ { "chance": 45, "item": "stoner", "x": 14, "y": 17 },
+ { "chance": 45, "item": "jar_weed", "x": 13, "y": [ 16, 17 ] },
+ { "chance": 45, "item": "jar_weed", "x": [ 3, 5 ], "y": 13, "repeat": [ 2, 4 ] },
+ { "chance": 45, "item": "stoner", "x": 14, "y": 11 },
+ { "chance": 45, "item": "stoner", "x": 8, "y": 10 },
+ { "chance": 45, "item": "stoner", "x": [ 4, 5 ], "y": 10 },
+ { "chance": 45, "item": "stoner", "x": 14, "y": [ 8, 9 ] },
+ { "chance": 65, "item": "misc_smoking", "x": 15, "y": 17 },
+ { "chance": 65, "item": "misc_smoking", "x": 13, "y": 15 },
+ { "chance": 65, "item": "misc_smoking", "x": 9, "y": 10 },
+ { "chance": 65, "item": "misc_smoking", "x": 3, "y": 10 },
+ { "chance": 65, "item": "misc_smoking", "x": 14, "y": [ 6, 7 ] }
+ ]
}
},
- "om_terrain": "headshop",
- "type": "mapgen",
- "weight": 100
-}
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": "headshop_roof",
+ "object": {
+ "fill_ter": "t_floor",
+ "rows": [
+ " ",
+ " ",
+ " |22222222222222222223 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |-------5-|........43 ",
+ " %%%+%0%%%%% ",
+ " %r*****%II% ",
+ " %r**C%%%*h% ",
+ " %r*C*%y***0 ",
+ " %r***+****% ",
+ " %r**>%ffyB% ",
+ " %%0%%%%%0%% ",
+ " ",
+ " "
+ ],
+ "palettes": [ "roof_palette" ],
+ "terrain": { "*": "t_floor", "%": "t_wall_p", "+": "t_door_locked", ">": "t_stairs_down", "0": "t_window_domestic" },
+ "furniture": {
+ "B": "f_bookcase",
+ "f": "f_filing_cabinet",
+ "I": "f_desk",
+ "h": "f_chair",
+ "y": [ "f_indoor_plant_y", "f_indoor_plant" ]
+ },
+ "items": {
+ "I": { "item": "office", "chance": 30 },
+ "f": { "item": "office_paper", "chance": 30 },
+ "y": { "item": "trash", "chance": 20, "repeat": [ 2, 4 ] },
+ "C": { "item": "stoner", "chance": 20, "repeat": [ 2, 4 ] },
+ "r": { "item": "jar_weed", "chance": 20, "repeat": [ 2, 4 ] }
+ },
+ "place_nested": [
+ {
+ "chunks": [
+ [ "null", 20 ],
+ [ "roof_2x2_utilities_b", 15 ],
+ [ "roof_2x2_utilities_c", 5 ],
+ [ "roof_2x2_utilities_d", 40 ],
+ [ "roof_2x2_utilities", 50 ],
+ [ "roof_2x2_golf", 20 ],
+ [ "roof_3x3_wine", 30 ]
+ ],
+ "x": [ 13, 18 ],
+ "y": [ 9, 11 ]
+ },
+ {
+ "chunks": [ [ "roof_4x4_party", 5 ], [ "roof_4x4_utility", 10 ], [ "roof_4x4_utility_1", 10 ], [ "roof_6x6_greenhouse_3", 80 ] ],
+ "x": [ 4, 5 ],
+ "y": 8
+ },
+ { "chunks": [ [ "roof_16x16_help", 20 ], [ "null", 80 ] ], "x": 4, "y": 3 }
+ ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": "headshop_upper_roof",
+ "object": {
+ "fill_ter": "t_flat_roof",
+ "rows": [
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " |--------53 ",
+ " |.........3 ",
+ " |......:..3 ",
+ " |.........3 ",
+ " |..&......3 ",
+ " |.......=.3 ",
+ " |.........3 ",
+ " ",
+ " "
+ ],
+ "palettes": [ "roof_palette" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "nested_mapgen_id": "headshop_graffiti_snippet",
+ "object": { "mapgensize": [ 1, 1 ], "place_graffiti": [ { "snippet": "headshop_graffiti", "x": 0, "y": 0 } ] }
+ }
+]
diff --git a/data/json/mapgen/homeimprovement.json b/data/json/mapgen/homeimprovement.json
index ce994dbe79e51..da500a37234cf 100644
--- a/data/json/mapgen/homeimprovement.json
+++ b/data/json/mapgen/homeimprovement.json
@@ -5,49 +5,69 @@
"om_terrain": [ "home_improvement" ],
"weight": 10000,
"object": {
+ "fill_ter": "t_floor",
"rows": [
",,,,,,,,,,,,,,,,,,,,,,,,",
",,,,,,,,,,,,,,,,,,,,,,,,",
",----------++---------|,",
- ",|.@.@.@.@.rr?????????|,",
- ",O.........rr.........O,",
- ",|.@.@.@.@.rr?????????|,",
+ ",|.@.@.@.@.rr.#....???|,",
+ ",O.........rr.#.A....?O,",
+ ",|.@.@.@.@.rr.#%###..?|,",
",|rrrrrrrrrrrrrrrrrrrr|,",
",|rrrrrrrrrrrrrrrrrrrr|,",
",|:::::::::rryyyyyyyyy|,",
",|.........rr.........|,",
- ",|:::::::::rr^^^^^^^^^|,",
+ ",|111111111rrLLLLLLLLL|,",
",|rrrrrrrrrrrrrrrrrrrr|,",
",|rrrrrrrrrrrrrrrrrrrr|,",
- ",O.........rr.........O,",
- ",O.........rr.........O,",
+ ",OSSSSSSSSSrr333333333O,",
+ ",O222222222rr333333333O,",
",|rrrrrrrrrrrrrrrrrrrr|,",
- ",|rrrrrrrrrrrrrrrrrrrr|,",
- ",|#########rr#########|,",
- ",O.........rr.........O,",
- ",|#########rr#########|,",
- ",O.........rr.........O,",
- ",|#########rr#########|,",
+ ",||+|||rrrrrrrrrrrrrrr|,",
+ ",|y.ll|####rr#########|,",
+ ",OI...|#...rr.........O,",
+ ",|Ih.S|####rr#########|,",
+ ",O--+-|#...rr.........O,",
+ ",|6..&|####rr#########|,",
",---------------------|,",
- ",,,,,,,,,,,,,,,,,,,,,,,,"
+ ",,,,,,,,,U## "
+ ],
+ "palettes": [ "roof_palette" ],
+ "terrain": { ">": "t_ladder_down" },
+ "place_nested": [
+ {
+ "chunks": [
+ [ "null", 20 ],
+ [ "roof_2x2_utilities_b", 15 ],
+ [ "roof_2x2_utilities_c", 5 ],
+ [ "roof_2x2_utilities_d", 40 ],
+ [ "roof_2x2_utilities", 50 ],
+ [ "roof_2x2_golf", 20 ],
+ [ "roof_3x3_wine", 30 ]
+ ],
+ "x": [ 3, 17 ],
+ "y": [ 4, 7 ]
+ },
+ {
+ "chunks": [
+ [ "null", 20 ],
+ [ "roof_4x4_party", 15 ],
+ [ "roof_4x4_utility", 40 ],
+ [ "roof_4x4_utility_1", 30 ],
+ [ "roof_6x6_utility", 20 ]
+ ],
+ "x": [ 3, 15 ],
+ "y": [ 10, 14 ]
+ }
+ ]
+ }
}
]
diff --git a/data/json/mapgen/irradiator_1.json b/data/json/mapgen/irradiator_1.json
index dfc9a8a891edf..f006889b5781c 100644
--- a/data/json/mapgen/irradiator_1.json
+++ b/data/json/mapgen/irradiator_1.json
@@ -326,7 +326,7 @@
{ "group": "prison_armor", "x": 39, "y": 26, "prob": 50, "repeat": [ 1, 2 ] }
],
"liquids": { "T": { "liquid": "water_clean", "amount": [ 200, 600 ] } },
- "fields": { "U": { "field": "fd_nuke_gas", "density": 3, "age": 990, "chance": 100 }, "/": { "field": "fd_shock_vent" } },
+ "fields": { "U": { "field": "fd_nuke_gas", "intensity": 3, "age": 990, "chance": 100 }, "/": { "field": "fd_shock_vent" } },
"monster": { "(": { "monster": "mon_turret" }, "!": { "monster": "mon_hazmatbot", "chance": 5 } },
"monsters": {
"h": { "monster": "GROUP_ZOMBIE", "chance": 50 },
diff --git a/data/json/mapgen/jewel_store.json b/data/json/mapgen/jewel_store.json
index 2faa988124305..84fcad93be0ac 100644
--- a/data/json/mapgen/jewel_store.json
+++ b/data/json/mapgen/jewel_store.json
@@ -5,6 +5,7 @@
"om_terrain": [ "s_jewelry" ],
"weight": 500,
"object": {
+ "fill_ter": "t_floor",
"rows": [
"....________________....",
"....,____,____,____,....",
@@ -15,45 +16,62 @@
"....FFFFFFFFFFFFFFFF....",
"....|-hhhhh++hhhhh-|....",
"....| |....",
- "....|hh hh|....",
- "....|#v hhhh v#|....",
- "....|#v v##v v#|....",
- "....|#v v##v v#|....",
- "85^5|#v hhhh v#|....",
- "8___|hh hh|....",
- "8___| r|....",
- "8___| r|....",
- "8__f|##### r|....",
- "8__f| rrrr|....",
- "8___|-&------------|....",
- "8___& ###### T|....",
- "8555| c T|....",
- "....|GG |....",
- "....|--------------|...."
+ "....|hh ;;;;;;;; hh|....",
+ "....|%v ;;hhhh;; v%|....",
+ "....|%v ;;v##v;; v%|....",
+ "....|%v ;;v##v;; v%|....",
+ "85^5|%v ;;hhhh;; v%|....",
+ "8___|hh ;;;;;;;; hh|....",
+ "8___| ;;CttC;; r|....",
+ "8__4| ;;;;;;;; r|||||",
+ "8__U|%%%?% r|sf9|",
+ "8__U| c x rrrr| |",
+ "8___|--&-----------||&||",
+ "8___& %%%%%% T|a |",
+ "8555| c a T| L|",
+ "....|GGf SS & L|",
+ "....|--------------|||||"
],
"terrain": {
" ": "t_floor",
- "#": "t_floor",
+ "#": "t_carpet_yellow",
+ ";": "t_carpet_yellow",
+ "C": "t_carpet_yellow",
+ "t": "t_carpet_yellow",
"&": "t_door_locked",
"+": "t_door_glass_c",
",": "t_pavement_y",
- "-": "t_wall",
- ".": "t_grass",
+ "-": "t_wall_b",
+ ".": [ [ "t_grass", 5 ], [ "t_grass_long", 2 ], "t_dirt", "t_shrub" ],
"5": "t_chainfence_h",
"8": "t_chainfence_v",
"F": "t_sidewalk",
- "G": "t_floor",
- "T": "t_floor",
"^": "t_chaingate_l",
"_": "t_pavement",
- "c": "t_floor",
- "f": "t_pavement",
- "h": "t_wall_glass",
- "r": "t_floor",
- "v": "t_wall_glass",
- "|": "t_wall"
+ "h": "t_wall_glass_alarm",
+ "v": "t_wall_glass_alarm",
+ "?": "t_console_broken",
+ "4": "t_gutter_downspout",
+ "|": "t_wall_b"
},
- "furniture": { "#": "f_counter", "G": "f_desk", "T": "f_safe_l", "c": "f_chair", "f": "f_trashcan", "r": "f_rack" },
+ "furniture": {
+ "#": "f_counter",
+ "%": "f_counter",
+ "G": "f_desk",
+ "T": "f_safe_l",
+ "c": "f_chair",
+ "f": "f_trashcan",
+ "U": [ "f_dumpster", "f_recycle_bin" ],
+ "r": "f_displaycase",
+ "a": "f_stool",
+ "S": "f_filing_cabinet",
+ "s": "f_sink",
+ "L": "f_locker",
+ "C": "f_armchair",
+ "t": "f_table",
+ "x": "f_counter_gate_c"
+ },
+ "toilets": { "9": { } },
"place_items": [
{ "item": "jewelry_front", "x": [ 5, 5 ], "y": [ 10, 13 ], "chance": 75 },
{ "item": "jewelry_front", "x": [ 18, 18 ], "y": [ 10, 13 ], "chance": 75 },
@@ -64,7 +82,56 @@
{ "item": "jewelry_safe", "x": [ 18, 18 ], "y": [ 20, 21 ], "chance": 95 },
{ "item": "trash", "x": [ 3, 3 ], "y": [ 17, 18 ], "chance": 50 }
],
+ "items": {
+ "G": { "item": "office", "chance": 30 },
+ "S": { "item": "office_paper", "chance": 30 },
+ "L": { "item": "jackets", "chance": 20 },
+ "9": { "item": "softdrugs", "chance": 20 }
+ },
"place_vehicles": [ { "vehicle": "security_van", "x": 11, "y": 2, "chance": 20, "fuel": 20, "status": 0, "rotation": 0 } ]
}
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": "s_jewelry_roof",
+ "object": {
+ "fill_ter": "t_flat_roof",
+ "rows": [
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " |222222222222223 ",
+ " |..............3 ",
+ " |..............3 ",
+ " |...Z..........3 ",
+ " |..............3 ",
+ " |..............3 ",
+ " |..............3 ",
+ " |..............3 ",
+ " |..............3 ",
+ " 5..............32223",
+ " |..................3",
+ " |..................3",
+ " |.............U....3",
+ " |..R...............3",
+ " |..................3",
+ " |..................3",
+ " |------------------3"
+ ],
+ "palettes": [ "roof_palette" ],
+ "terrain": { ".": "t_flat_roof" },
+ "furniture": { "&": "f_roof_turbine_vent" },
+ "place_items": [ { "item": "roof_trash", "x": [ 5, 17 ], "y": [ 9, 23 ], "chance": 50, "repeat": [ 1, 3 ] } ],
+ "nested": {
+ "U": { "chunks": [ "roof_2x2_infrastructure" ] },
+ "R": { "chunks": [ "roof_2x2_infrastructure_1" ] },
+ "Z": { "chunks": [ "roof_2x2_infrastructure_2" ] }
+ }
+ }
}
]
diff --git a/data/json/mapgen/lan_center.json b/data/json/mapgen/lan_center.json
index a7230111536ed..e5fd19f5c1abb 100644
--- a/data/json/mapgen/lan_center.json
+++ b/data/json/mapgen/lan_center.json
@@ -1,46 +1,20 @@
[
{
"method": "json",
+ "om_terrain": "lancenter",
+ "type": "mapgen",
+ "weight": 100,
"object": {
- "furniture": {
- "#": "f_table",
- "&": "f_trashcan",
- "+": "f_null",
- ".": "f_null",
- "6": "f_null",
- "C": "f_counter",
- "H": "f_armchair",
- "_": "f_null",
- "a": "f_null",
- "c": "f_chair",
- "d": "f_null",
- "s": "f_null",
- "v": "f_vending_c",
- "w": "f_null",
- "Y": "f_rack_coat",
- "{": "f_fridge",
- "|": "f_null"
- },
- "items": { "Y": { "item": "coat_rack", "chance": 40, "repeat": 2 } },
- "place_items": [
- { "chance": 75, "item": "vending_drink_items", "x": 12, "y": 9 },
- { "chance": 75, "item": "fridge", "x": 10, "y": 9 },
- { "chance": 75, "item": "fridge", "x": 11, "y": 9 },
- { "chance": 15, "repeat": [ 1, 2 ], "item": "trash", "x": 4, "y": 9 },
- { "chance": 25, "item": "fridge", "x": 2, "y": 9 },
- { "chance": 75, "item": "vending_food_items", "x": 13, "y": 9 }
- ],
+ "fill_ter": "t_floor",
"rows": [
"ssssssssssssssssssssssss",
"ssssssssssssssssssssssss",
- "ssssssssssssssssssssssss",
- "ssssssssssssssssssssssss",
- "_______s______d_________",
- "d_d____s_______________d",
- "______ds___d_______d____",
- "_______s______d_________",
+ "______dsd_____d_________",
+ "d9d___dsd__9___9___9___d",
+ "___9__dsd__d_9___9_d_9__",
+ "______dsd_____d_________",
"_||w|||+|w||||w||||w|||_",
- "_|{.&C....{{vv.......Y|_",
+ "_|{.&C...y{{vW.......Y|_",
"_|..H6..........##...#|_",
"_|.CCC.........c66c.c6|_",
"_|.........##...##...#|_",
@@ -52,70 +26,139 @@
"_|#...##...##...##...#|_",
"_|6c.c66c.c66c.c66c.c6|d",
"d|#...##...##...##...#|_",
- "_|Y..................Y|_",
- "_||||||||||||||||||||||_",
- "_______________d________"
+ "_|Y......y....y......Y|_",
+ "_||=|||=|||=|w||=||w|||_",
+ "__sss4|..|..|@....S..I|_",
+ "__sUss|RT|RT|@@@y...cI|_",
+ "__ssUU|||||||||||||||||_"
],
"terrain": {
- "#": "t_floor",
- "&": "t_floor",
"+": "t_reinforced_door_glass_c",
".": "t_floor",
"6": "t_console",
- "C": "t_floor",
- "Y": "t_floor",
- "H": "t_floor",
- "_": "t_grass",
+ "_": [ [ "t_grass", 5 ], [ "t_grass_long", 2 ], "t_dirt", "t_shrub" ],
"a": "t_console_broken",
- "c": "t_floor",
- "d": "t_dirt",
+ "d": "t_grass_long",
"s": "t_sidewalk",
- "v": "t_floor",
"w": "t_window",
- "{": "t_floor",
- "|": "t_wall"
- }
- },
- "om_terrain": "lancenter",
- "type": "mapgen",
- "weight": 100
- },
- {
- "method": "json",
- "object": {
+ "|": "t_wall_w",
+ "4": "t_gutter_downspout",
+ "=": "t_door_locked",
+ "U": "t_sidewalk",
+ "9": [
+ "t_tree_blackjack",
+ "t_tree_walnut",
+ "t_tree_chestnut",
+ "t_tree_beech",
+ "t_tree_hazelnut",
+ "t_tree_cottonwood",
+ "t_tree",
+ "t_tree_elm",
+ "t_tree_dead",
+ "t_tree_apple",
+ "t_tree_pear",
+ "t_tree_cherry",
+ "t_tree_peach",
+ "t_tree_apricot",
+ "t_tree_plum",
+ "t_tree_mulberry",
+ "t_tree_elderberry",
+ "t_tree_pine",
+ "t_tree_birch",
+ "t_tree_willow",
+ "t_tree_maple",
+ "t_tree_hickory",
+ "t_tree_almond",
+ "t_tree_pecan"
+ ]
+ },
"furniture": {
"#": "f_table",
"&": "f_trashcan",
- "+": "f_null",
- "-": "f_null",
- ".": "f_null",
- "6": "f_null",
"C": "f_counter",
- "D": "f_null",
"H": "f_armchair",
- "P": "f_sign",
- "S": "f_sink",
- "_": "f_null",
"c": "f_chair",
- "d": "f_null",
- "f": "f_fridge",
- "p": "f_null",
- "s": "f_null",
- "Y": "f_rack_coat",
- "t": "f_toilet",
"v": "f_vending_c",
- "{": "f_glass_fridge",
- "|": "f_null"
+ "W": "f_vending_c",
+ "Y": "f_rack_coat",
+ "{": "f_fridge",
+ "I": "f_desk",
+ "S": "f_filing_cabinet",
+ "U": [ "f_dumpster", "f_recycle_bin" ],
+ "d": [ "f_datura", "f_bluebell", "f_mutpoppy", "f_dahlia", "f_flower_tulip", "f_chamomile", "f_flower_spurge", "f_lily" ],
+ "y": [ "f_indoor_plant_y", "f_indoor_plant" ],
+ "R": "f_sink",
+ "@": "f_sofa"
},
- "items": { "Y": { "item": "coat_rack", "chance": 40, "repeat": 2 } },
- "place_items": [
- { "chance": 45, "item": "fridge", "x": 20, "y": 20 },
- { "chance": 50, "item": "vending_food_items", "x": 14, "y": 20 },
- { "chance": 15, "repeat": [ 1, 3 ], "item": "trash", "x": 19, "y": 15 },
- { "chance": 50, "item": "vending_drink_items", "x": 15, "y": 20 },
- { "chance": 50, "item": "vending_drink_items", "x": 16, "y": 20 }
+ "toilets": { "T": { } },
+ "items": {
+ "Y": { "item": "coat_rack", "chance": 40, "repeat": 2 },
+ "I": { "item": "office", "chance": 30 },
+ "S": { "item": "office_paper", "chance": 30 },
+ "R": { "item": "softdrugs", "chance": 30 },
+ "U": { "item": "trash", "chance": 20, "repeat": [ 2, 4 ] },
+ "{": { "item": "fridge", "chance": 20, "repeat": [ 2, 4 ] },
+ "v": { "item": "vending_drink_items", "chance": 20, "repeat": [ 2, 4 ] },
+ "W": { "item": "vending_food_items", "chance": 20, "repeat": [ 2, 4 ] }
+ }
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": "lancenter_roof",
+ "object": {
+ "fill_ter": "t_flat_roof",
+ "rows": [
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " |--------------------3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |.R..................3 ",
+ " |....................3 ",
+ " |----5...............3 ",
+ " |..Z........U...3 ",
+ " |...............3 ",
+ " |---------------3 "
],
- "place_toilets": [ { "x": 3, "y": 20 } ],
+ "palettes": [ "roof_palette" ],
+ "place_items": [ { "item": "roof_trash", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 50, "repeat": [ 1, 3 ] } ],
+ "nested": {
+ "U": { "chunks": [ "roof_2x2_infrastructure" ] },
+ "R": { "chunks": [ "roof_2x2_infrastructure_1" ] },
+ "Z": { "chunks": [ "roof_2x2_infrastructure_2" ] }
+ },
+ "place_nested": [
+ { "chunks": [ [ "null", 20 ], [ "roof_2x2_utilities_d", 40 ], [ "roof_2x2_utilities", 50 ] ], "x": [ 7, 17 ], "y": 17 },
+ {
+ "chunks": [ [ "null", 20 ], [ "roof_4x4_utility", 40 ], [ "roof_6x6_utility", 20 ] ],
+ "x": [ 3, 15 ],
+ "y": [ 8, 10 ]
+ }
+ ]
+ }
+ },
+ {
+ "method": "json",
+ "om_terrain": "lancenter_1",
+ "type": "mapgen",
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_floor",
"rows": [
"ssssssssssssssssssssssss",
"ssssssssssssssssssssssss",
@@ -137,38 +180,88 @@
"__|Y.....c.c......C..|__",
"__|||||...........C..|__",
"__|...D..c.c......C..|__",
- "__|tCS|.#6#6#.v{{...f|__",
+ "__|tCS|.#6#6#.v{{...f|4_",
"_d||||||||||||||||||||__",
"______________d_________",
"______d_d_____________d_"
],
"terrain": {
- "#": "t_floor",
- "&": "t_floor",
"+": "t_reinforced_door_glass_c",
"-": "t_wall_glass",
".": "t_floor",
"6": "t_console",
- "C": "t_floor",
"D": "t_door_c",
- "H": "t_floor",
- "Y": "t_floor",
"P": "t_wall_glass",
- "S": "t_floor",
- "_": "t_grass",
- "c": "t_floor",
+ "_": [ [ "t_grass", 5 ], [ "t_grass_long", 2 ], "t_dirt", "t_shrub" ],
"d": "t_dirt",
- "f": "t_floor",
"p": "t_pavement",
"s": "t_sidewalk",
- "t": "t_floor",
- "v": "t_floor",
- "{": "t_floor",
- "|": "t_brick_wall"
- }
- },
- "om_terrain": "lancenter",
+ "|": "t_brick_wall",
+ "4": "t_gutter_downspout"
+ },
+ "furniture": {
+ "#": "f_table",
+ "&": "f_trashcan",
+ "C": "f_counter",
+ "H": "f_armchair",
+ "P": "f_sign",
+ "S": "f_sink",
+ "c": "f_chair",
+ "f": "f_fridge",
+ "Y": "f_rack_coat",
+ "t": "f_toilet",
+ "v": "f_vending_c",
+ "{": "f_glass_fridge"
+ },
+ "items": { "Y": { "item": "coat_rack", "chance": 40, "repeat": 2 } },
+ "place_items": [
+ { "chance": 45, "item": "fridge", "x": 20, "y": 20 },
+ { "chance": 50, "item": "vending_food_items", "x": 14, "y": 20 },
+ { "chance": 15, "repeat": [ 1, 3 ], "item": "trash", "x": 19, "y": 15 },
+ { "chance": 50, "item": "vending_drink_items", "x": 15, "y": 20 },
+ { "chance": 50, "item": "vending_drink_items", "x": 16, "y": 20 }
+ ],
+ "place_toilets": [ { "x": 3, "y": 20 } ]
+ }
+ },
+ {
"type": "mapgen",
- "weight": 100
+ "method": "json",
+ "om_terrain": "lancenter_roof_1",
+ "object": {
+ "fill_ter": "t_flat_roof",
+ "rows": [
+ " ",
+ " ",
+ " |222222222223 ",
+ " |...........3 ",
+ " |...........3 ",
+ " |........R..3 ",
+ " |...........3 ",
+ " |...........3 ",
+ " |...........3 ",
+ " |...........3 ",
+ " |...........3 ",
+ " |...........3 ",
+ " |...........3 ",
+ " |...........3 ",
+ " |...........3------3 ",
+ " |....ZA............3 ",
+ " |.....A............3 ",
+ " |.............U....3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................5 ",
+ " |------------------3 ",
+ " ",
+ " "
+ ],
+ "palettes": [ "roof_palette" ],
+ "nested": {
+ "U": { "chunks": [ "roof_2x2_infrastructure" ] },
+ "R": { "chunks": [ "roof_2x2_infrastructure_1" ] },
+ "Z": { "chunks": [ "roof_2x2_infrastructure_2" ] }
+ }
+ }
}
]
diff --git a/data/json/mapgen/landscaping_supply.json b/data/json/mapgen/landscaping_supply.json
index 7be5f0db88925..03cde62125d04 100644
--- a/data/json/mapgen/landscaping_supply.json
+++ b/data/json/mapgen/landscaping_supply.json
@@ -145,7 +145,8 @@
"s": "f_sign",
"w": "f_null",
"{": "f_rack",
- "|": "f_null"
+ "|": "f_null",
+ "S": "f_sink"
},
"place_items": [
{ "chance": 25, "repeat": 2, "item": "clothing_work_gloves", "x": [ 14, 15 ], "y": [ 15, 16 ] },
@@ -172,9 +173,9 @@
"......._-&f#ffffffff-_|_",
"......._-fl#ff{{f{{f-_|_",
"o_....._-ff#ff{{f{{f-_|_",
- "o_....._-ff#ffffffff-_|_",
- "cs_...._-fffff{{{{{f-_|_",
- "n_....._-fffffffffff-_|_",
+ "o_....._-fffffffffff-_|_",
+ "cs_...._--+--f{{{{{f-_|_",
+ "n_.....4-TfS-fffffff-_|_",
"n_....._-------------_|_",
"______________________|_",
"|||||||||||||||||||||||_",
@@ -184,6 +185,8 @@
"#": "t_floor",
"&": "t_floor",
"l": "t_floor",
+ "S": "t_floor",
+ "T": "t_floor",
"+": "t_door_c",
"-": "t_brick_wall",
".": "t_dirt",
@@ -197,8 +200,11 @@
"s": "t_grass",
"w": "t_window",
"{": "t_floor",
+ "4": "t_gutter_downspout",
"|": "t_chainfence"
},
+ "place_loot": [ { "item": "stepladder", "x": 9, "y": 17, "chance": 100 } ],
+ "toilets": { "T": { } },
"place_signs": [
{ "signage": "CEMENT", "x": 4, "y": 5 },
{ "signage": "FERTILIZER", "x": 8, "y": 5 },
@@ -209,5 +215,41 @@
"om_terrain": "landscapingsupplyco_1b",
"type": "mapgen",
"weight": 100
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": "landscapingsupplyco_1b_roof",
+ "object": {
+ "fill_ter": "t_tar_flat_roof",
+ "rows": [
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " |222222222223 ",
+ " |...........3 ",
+ " |.......&...3 ",
+ " |...........3 ",
+ " |...........3 ",
+ " |...........3 ",
+ " 5.=.........3 ",
+ " |-----------3 ",
+ " ",
+ " ",
+ " "
+ ],
+ "palettes": [ "roof_palette" ],
+ "terrain": { ".": "t_tar_flat_roof" }
+ }
}
]
diff --git a/data/json/mapgen/laundromat.json b/data/json/mapgen/laundromat.json
index b2b057c77868c..bd45dfd7d684c 100644
--- a/data/json/mapgen/laundromat.json
+++ b/data/json/mapgen/laundromat.json
@@ -1,20 +1,11 @@
[
- {
- "id": "laundromat_bleach",
- "type": "item_group",
- "items": [ [ "bleach", 50 ] ]
- },
- {
- "id": "laundromat_containers",
- "type": "item_group",
- "items": [ [ "duffelbag", 5 ], [ "backpack", 5 ], [ "bag_plastic", 30 ], [ "basket_laundry", 30 ] ]
- },
{
"type": "mapgen",
"method": "json",
"om_terrain": [ "s_laundromat" ],
"weight": 400,
"object": {
+ "fill_ter": "t_linoleum_white",
"rows": [
"s______________________s",
"s______________________s",
@@ -25,13 +16,13 @@
"s|t..#.............&|sss",
"s|C.Bt.............D|sss",
"s|ttt#....rrrr.....D|sss",
- "s|WWWWWWWWWWWt.....D|sss",
- "s|.................D|%ss",
"s|WWWWWWWWWWWt.....D|%ss",
- "s|.................D|sss",
+ "s|.................D|%ss",
"s|WWWWWWWWWWWt.....D|sss",
- "s|t................D|sss",
- "s|c...DDD####t.....D|sss",
+ "s|.................D|LLs",
+ "s|WWWWWWWWWWWt.....D|ass",
+ "s|t................D|oss",
+ "s|c...DDD####t.....D|4ss",
"s|c...-------......|--|s",
"s|c...WWWWWWWt.....|lS|s",
"s|6................+lT|s",
@@ -42,39 +33,26 @@
"ssssssssssssssssssssssss"
],
"terrain": {
- "#": "t_linoleum_white",
"%": "t_sidewalk",
- "&": "t_linoleum_white",
"+": "t_door_c",
- "-": "t_wall",
+ "-": "t_wall_w",
".": "t_linoleum_white",
- "6": "t_linoleum_white",
"=": "t_wall_glass",
"A": "t_atm",
- "B": "t_linoleum_white",
"C": "t_console_broken",
- "D": "t_linoleum_white",
- "S": "t_linoleum_white",
- "T": "t_linoleum_white",
- "V": "t_linoleum_white",
- "W": "t_linoleum_white",
"[": "t_door_glass_c",
- "]": "t_linoleum_white",
- "^": "t_linoleum_white",
"_": "t_pavement",
- "c": "t_linoleum_white",
"l": "t_linoleum_gray",
- "r": "t_linoleum_white",
"s": "t_sidewalk",
- "t": "t_linoleum_white",
- "w": "t_linoleum_white",
- "y": "t_linoleum_white",
- "|": "t_wall",
- "~": "t_linoleum_white"
+ "L": "t_sidewalk",
+ "a": "t_sidewalk",
+ "o": "t_sidewalk",
+ "|": "t_wall_w",
+ "4": "t_gutter_downspout"
},
"furniture": {
"#": "f_counter",
- "%": "f_trashcan",
+ "%": [ "f_dumpster", "f_recycle_bin" ],
"&": "f_trashcan",
"6": "f_arcade_machine",
"B": "f_stool",
@@ -86,7 +64,10 @@
"^": "f_indoor_plant",
"c": "f_chair",
"r": "f_rack",
- "t": "f_table"
+ "t": "f_table",
+ "o": "f_water_heater",
+ "a": "f_water_purifier",
+ "L": "f_standing_tank"
},
"toilets": { "T": { } },
"place_items": [
@@ -116,14 +97,52 @@
{
"type": "mapgen",
"method": "json",
- "om_terrain": [ "s_laundromat" ],
+ "om_terrain": "s_laundromat_roof",
+ "object": {
+ "fill_ter": "t_flat_roof",
+ "rows": [
+ " ",
+ " ",
+ " ",
+ " ",
+ " |2222222222222222223 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |....R.............3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................523 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |.................U..3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " "
+ ],
+ "palettes": [ "roof_palette" ],
+ "nested": { "U": { "chunks": [ "roof_2x2_infrastructure" ] }, "R": { "chunks": [ "roof_2x2_infrastructure_1" ] } },
+ "place_items": [ { "item": "roof_trash", "x": [ 6, 20 ], "y": [ 4, 17 ], "chance": 50, "repeat": [ 1, 3 ] } ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ "s_laundromat_1" ],
"weight": 400,
"object": {
+ "fill_ter": "t_linoleum_white",
"rows": [
"________________ssssssss",
"________________sssddsss",
"________________ss ss",
- "________________sd ds",
+ "________________sd H ds",
"-----______-----sd ds",
"________________ss ss",
"________________sssddsss",
@@ -143,45 +162,29 @@
"s|D.D|+|+|+|+|.|,,,,,}|s",
"s|DDD|T|T|T|T|.+,p,P,}|s",
"s|||||||||||||+|,p,Pp}|s",
- "sssssssssssssss||||||||s"
+ "sss4sssssssssss||||||||s"
],
"terrain": {
" ": [ "t_grass", "t_grass", "t_dirt", "t_grass", "t_shrub", "t_tree_young" ],
- "#": "t_linoleum_white",
"P": "t_floor",
"p": "t_floor",
",": "t_floor",
"}": "t_floor",
"%": "t_pavement",
- "&": "t_linoleum_white",
"+": "t_door_c",
".": "t_linoleum_white",
- "6": "t_linoleum_white",
"=": "t_wall_glass",
"A": "t_atm",
- "B": "t_linoleum_white",
- "b": "t_linoleum_white",
"C": "t_console_broken",
- "D": "t_linoleum_white",
- "S": "t_linoleum_white",
- "T": "t_linoleum_white",
- "V": "t_linoleum_white",
- "W": "t_linoleum_white",
"[": "t_door_glass_c",
- "]": "t_linoleum_white",
- "^": "t_linoleum_white",
"_": "t_pavement",
"-": "t_pavement_y",
- "c": "t_linoleum_white",
"l": "t_linoleum_gray",
- "r": "t_linoleum_white",
"d": "t_sidewalk",
"s": "t_sidewalk",
- "t": "t_linoleum_white",
- "w": "t_linoleum_white",
- "y": "t_linoleum_white",
- "|": "t_wall",
- "~": "t_linoleum_white"
+ "|": "t_wall_w",
+ "H": "t_grass",
+ "4": "t_gutter_downspout"
},
"furniture": {
"#": "f_counter",
@@ -201,7 +204,8 @@
"^": "f_indoor_plant",
"c": "f_chair",
"r": "f_rack",
- "t": "f_table"
+ "t": "f_table",
+ "H": "f_birdbath"
},
"toilets": { "T": { } },
"items": {
@@ -223,5 +227,42 @@
{ "vehicle": "car", "x": [ 3, 10 ], "y": [ 2, 3 ], "chance": 20 }
]
}
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": "s_laundromat_roof_1",
+ "object": {
+ "fill_ter": "t_flat_roof",
+ "rows": [
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " |22223 ",
+ " |222222222222222|....3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |...U................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |.............R......3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |-5-----------|......3 ",
+ " |------3 "
+ ],
+ "palettes": [ "roof_palette" ],
+ "nested": { "U": { "chunks": [ "roof_2x2_infrastructure" ] }, "R": { "chunks": [ "roof_2x2_infrastructure_1" ] } },
+ "place_items": [ { "item": "roof_trash", "x": [ 3, 19 ], "y": [ 11, 20 ], "chance": 50, "repeat": [ 1, 3 ] } ]
+ }
}
]
diff --git a/data/json/mapgen/library.json b/data/json/mapgen/library.json
index 13962e60dd17f..a32e89928d68f 100644
--- a/data/json/mapgen/library.json
+++ b/data/json/mapgen/library.json
@@ -1,31 +1,11 @@
[
- {
- "id": "library_elec",
- "type": "item_group",
- "items": [
- [ "superglue", 30 ],
- [ "processor", 15 ],
- [ "RAM", 22 ],
- [ "power_supply", 16 ],
- [ "amplifier", 8 ],
- [ "transponder", 5 ],
- [ "receiver", 10 ],
- [ "antenna", 18 ],
- [ "screwdriver", 40 ],
- { "group": "ammo_pocket_batteries_full", "prob": 50 },
- [ "manual_electronics", 20 ],
- [ "mobile_memory_card", 20 ],
- [ "usb_drive", 5 ],
- [ "software_useless", 10 ],
- [ "survnote", 1 ]
- ]
- },
{
"type": "mapgen",
"method": "json",
"om_terrain": [ "s_library" ],
"weight": 500,
"object": {
+ "fill_ter": "t_floor",
"rows": [
"~~~~~~~~~~~~~~~~~~~~~~~~",
"**qq~~~~qq|-O-|---|-O-|*",
@@ -49,30 +29,22 @@
"*|.|.|.|.a]aa]]aa]]aa]|*",
"*|t|t|t|.............T|*",
"*|-----|-O--O---O---O-|*",
- "************************",
+ "*****4******************",
"************************"
],
"terrain": {
- "#": "t_floor",
"%": "t_console_broken",
"*": "t_grass",
"+": "t_door_c",
- "-": "t_wall",
+ "-": "t_wall_w",
".": "t_floor",
":": "t_door_glass_c",
"=": "t_wall_glass",
"O": "t_window",
- "T": "t_floor",
- "]": "t_floor",
- "a": "t_floor",
- "d": "t_floor",
- "h": "t_floor",
"q": "t_grass",
- "s": "t_floor",
- "t": "t_floor",
- "y": "t_floor",
- "|": "t_wall",
- "~": "t_sidewalk"
+ "|": "t_wall_w",
+ "~": "t_sidewalk",
+ "4": "t_gutter_downspout"
},
"furniture": {
"#": "f_counter",
@@ -121,9 +93,65 @@
{
"type": "mapgen",
"method": "json",
- "om_terrain": [ "s_library" ],
+ "om_terrain": "s_library_roof",
+ "object": {
+ "fill_ter": "t_flat_roof",
+ "rows": [
+ " ",
+ " |222222222223 ",
+ " |...........3 ",
+ " |.R.........3 ",
+ " |22222222|........U..3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |---5----------------3 ",
+ " ",
+ " "
+ ],
+ "palettes": [ "roof_palette" ],
+ "place_items": [ { "item": "roof_trash", "x": [ 3, 18 ], "y": [ 6, 19 ], "chance": 50, "repeat": [ 1, 3 ] } ],
+ "nested": { "U": { "chunks": [ "roof_2x2_infrastructure" ] }, "R": { "chunks": [ "roof_2x2_infrastructure_1" ] } },
+ "place_nested": [
+ {
+ "chunks": [
+ [ "null", 20 ],
+ [ "roof_2x2_utilities_b", 15 ],
+ [ "roof_2x2_utilities_c", 5 ],
+ [ "roof_2x2_utilities_d", 40 ],
+ [ "roof_2x2_utilities", 50 ]
+ ],
+ "x": [ 3, 15 ],
+ "y": [ 6, 8 ]
+ },
+ {
+ "chunks": [ [ "null", 20 ], [ "roof_4x4_utility", 40 ], [ "roof_6x6_utility", 20 ] ],
+ "x": [ 3, 15 ],
+ "y": [ 10, 14 ]
+ }
+ ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ "s_library_1" ],
"weight": 500,
"object": {
+ "fill_ter": "t_floor",
"rows": [
"~~~~~~~~~~~~~~~~~~~~~~~~",
"~~~~~~~~~~~~~~~~~~~~~~~~",
@@ -141,41 +169,37 @@
"*|]aa]]...h%%h...]]aa]|*",
"*|]aa]]...h%%h...]]aa]|*",
"*|....................|*",
- "*|]]]]]]]]]]]]]]]]]]]]|*",
- "*|--------------------|*",
- "************************",
- "************************",
- "****4*******************",
- "*******************4****",
- "************************",
- "************************"
+ "*|]]]]]]]]]]]]]].]]]]]|*",
+ "*|--------------+-----|*",
+ "*****5***4|f.##|.|.t|***",
+ "**********|@...=.+.s|***",
+ "****5**5**|@...:.||||***",
+ "**********O..U.=.+.s|***",
+ "*5*****5**|LLLf|.|.t|***",
+ "**********||||||O||||***"
],
"terrain": {
- "#": "t_floor",
"%": "t_console_broken",
"*": "t_grass",
"+": "t_door_c",
- "-": "t_wall",
+ "-": "t_wall_w",
".": "t_floor",
- "4": "t_tree_pine",
+ "5": "t_tree_pine",
":": "t_door_glass_c",
";": "t_door_locked",
"=": "t_wall_glass",
"O": "t_window",
- "T": "t_floor",
- "]": "t_floor",
- "a": "t_floor",
- "b": "t_floor",
- "d": "t_floor",
- "f": "t_floor",
- "h": "t_floor",
"q": "t_grass",
"r": "t_grass",
- "|": "t_wall",
+ "|": "t_wall_w",
+ "4": "t_gutter_downspout",
"~": "t_sidewalk"
},
"furniture": {
"#": "f_counter",
+ "@": "f_sofa",
+ "U": "f_armchair",
+ "L": "f_locker",
"T": "f_table",
"]": "f_bookcase",
"a": [
@@ -194,11 +218,13 @@
],
"b": "f_stool",
"d": "f_desk",
+ "s": "f_sink",
"f": "f_indoor_plant",
"h": "f_chair",
"q": "f_bluebell",
"r": "f_dahlia"
},
+ "toilets": { "t": { } },
"place_items": [
{ "item": "magazines", "x": 21, "y": [ 10, 14 ], "chance": 80, "repeat": [ 5, 12 ] },
{ "item": "novels", "x": [ 2, 21 ], "y": 16, "chance": 95, "repeat": [ 12, 20 ] },
@@ -215,7 +241,65 @@
{
"type": "mapgen",
"method": "json",
- "om_terrain": [ "s_library" ],
+ "om_terrain": "s_library_roof_1",
+ "object": {
+ "fill_ter": "t_flat_roof",
+ "rows": [
+ " ",
+ " ",
+ " ",
+ " |222222222222222222223 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |.....x..............3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |--------5.........--3 ",
+ " |......Z..3 ",
+ " |.........3 ",
+ " |..R......3 ",
+ " |.........3 ",
+ " |......U..3 ",
+ " |---------3 "
+ ],
+ "palettes": [ "roof_palette" ],
+ "nested": {
+ "U": { "chunks": [ "roof_2x2_infrastructure" ] },
+ "R": { "chunks": [ "roof_2x2_infrastructure_1" ] },
+ "Z": { "chunks": [ "roof_2x2_infrastructure_2" ] }
+ },
+ "place_nested": [
+ {
+ "chunks": [
+ [ "null", 20 ],
+ [ "roof_2x2_utilities_b", 15 ],
+ [ "roof_2x2_utilities_c", 5 ],
+ [ "roof_2x2_utilities_d", 40 ],
+ [ "roof_2x2_utilities", 50 ]
+ ],
+ "x": [ 5, 15 ],
+ "y": [ 5, 7 ]
+ },
+ {
+ "chunks": [ [ "null", 20 ], [ "roof_4x4_utility", 40 ], [ "roof_6x6_utility", 20 ] ],
+ "x": [ 3, 13 ],
+ "y": [ 9, 10 ]
+ }
+ ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ "s_library_2" ],
"weight": 1000,
"object": {
"fill_ter": "t_floor",
@@ -237,25 +321,31 @@
" w....sss.s...CC...b| ",
" wsss........ss...sb| ",
" |bbbbbbbbbbbbbf...b| ",
- " ----------------+--- ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " "
+ " --------------w+---- ",
+ " M 4|VVV...+.S| ",
+ " w.tt...|.&| ",
+ " wX..t.f|||| ",
+ " w...t..|.t| ",
+ " |ftt...+.&| ",
+ " ||||||||||| "
],
+ "nested": { "M": { "chunks": [ "roof_6x6_garden_1" ] } },
"terrain": {
" ": [ "t_grass", "t_grass", "t_grass", "t_dirt" ],
+ "M": "t_grass",
"+": "t_door_c",
- "-": "t_wall",
+ "-": "t_wall_b",
".": "t_floor",
"w": "t_window_domestic",
- "|": "t_wall"
+ "|": "t_wall_b",
+ "4": "t_gutter_downspout"
},
"furniture": {
"b": "f_bookcase",
+ "V": "f_bookcase",
"B": "f_trashcan",
+ "X": "f_armchair",
+ "S": "f_sink",
"c": "f_counter",
"C": [ "f_chair", "f_null", "f_null" ],
"d": "f_table",
@@ -263,6 +353,8 @@
"s": [ "f_stool", "f_null", "f_null", "f_null", "f_null", "f_null", "f_null" ],
"t": "f_stool"
},
+ "toilets": { "&": { } },
+ "items": { "S": { "item": "softdrugs", "chance": 30 }, "V": { "item": "textbooks", "chance": 30 } },
"place_items": [
{ "item": "magazines", "x": [ 3, 9 ], "y": 4, "chance": 90, "repeat": [ 5, 10 ] },
{ "item": "magazines", "x": 20, "y": [ 8, 16 ], "chance": 90, "repeat": [ 5, 10 ] },
@@ -277,5 +369,63 @@
],
"place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 0, 0 ], "y": [ 23, 23 ], "chance": 2, "repeat": [ 2, 3 ] } ]
}
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": "s_library_roof_2",
+ "object": {
+ "fill_ter": "t_flat_roof",
+ "rows": [
+ " ",
+ " ",
+ " |2222222222222222223 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |--------5.........3 ",
+ " |......Z..3 ",
+ " |.U.......3 ",
+ " |.....R...3 ",
+ " |.........3 ",
+ " |.........3 ",
+ " |---------3 "
+ ],
+ "palettes": [ "roof_palette" ],
+ "nested": {
+ "U": { "chunks": [ "roof_2x2_infrastructure" ] },
+ "R": { "chunks": [ "roof_2x2_infrastructure_1" ] },
+ "Z": { "chunks": [ "roof_2x2_infrastructure_2" ] }
+ },
+ "place_nested": [
+ {
+ "chunks": [
+ [ "null", 20 ],
+ [ "roof_2x2_utilities_b", 15 ],
+ [ "roof_2x2_utilities_c", 5 ],
+ [ "roof_2x2_utilities_d", 40 ],
+ [ "roof_2x2_utilities", 50 ]
+ ],
+ "x": [ 5, 15 ],
+ "y": [ 13, 14 ]
+ },
+ {
+ "chunks": [ [ "null", 20 ], [ "roof_4x4_utility", 40 ], [ "roof_6x6_utility", 20 ] ],
+ "x": [ 4, 10 ],
+ "y": [ 4, 6 ]
+ }
+ ]
+ }
}
]
diff --git a/data/json/mapgen/lmoe.json b/data/json/mapgen/lmoe.json
index d18a51c226cbb..dec22389704b9 100644
--- a/data/json/mapgen/lmoe.json
+++ b/data/json/mapgen/lmoe.json
@@ -7,130 +7,187 @@
"weight": 100,
"object": {
"rows": [
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " $$$$$$$$ ",
- " $TTTTTT$ ",
- " $$T####T$$ ",
- " $$T#>>#T$$ ",
- " $$T#..#T$$ ",
- " $$T#+##T$$ ",
- " $$$ $$$$ ",
- " $$$ $$$$ ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " ",
- " "
+ " S S S",
+ " S S S ",
+ " S S S ",
+ " S ",
+ " S S SSSSS S ",
+ " SSSSSSSSSSSS ",
+ " SS$$$$$$$$$$SS ",
+ " S$$TTTTTTTT$$S S ",
+ " SS$$T))))))T$$S ",
+ " S SS$$T)####)T$$SS ",
+ " SS$$T)#>>#)T$$SS ",
+ " SS$$T)#..#)T$$SS ",
+ " SS$$T)#+##)T$$SS S",
+ " S S$$T))_)))T$$SS ",
+ " S$$$$$_$$$$$$S ",
+ " SS$$$$_$$$$$SS S ",
+ " SSSSS_SSSSSS ",
+ "S S S SS S ",
+ " S S ",
+ " S S ",
+ " S S ",
+ " S",
+ " S S ",
+ " S "
],
- "terrain": {
- " ": [ "t_dirt", "t_dirt", "t_grass" ],
- "#": "t_rock",
- "$": [ "t_tree", "t_tree_young", "t_tree_young", "t_shrub", "t_shrub", "t_shrub" ],
- "+": "t_door_metal_c",
- ".": "t_rock_floor",
- ">": "t_stairs_down",
- "T": "t_tree"
- }
+ "palettes": [ "bunker_ext" ]
}
},
{
"type": "mapgen",
"method": "json",
- "om_terrain": [ "lmoe_under" ],
- "//": "Below ground",
+ "om_terrain": [ "lmoe_roof" ],
+ "//": "Above ground",
"weight": 100,
"object": {
+ "rows": [
+ "vvvvvvvvvvvvvvvvvvvvvvvv",
+ "vvvvvvvvvvvvvvvvvvvvvvvv",
+ "vvvvvvvvvvvvvvvvvvvvvvvv",
+ "vvvvvvvvvvvvvvvvvvvvvvvv",
+ "vvvvvvvvvvvvvvvvvvvvvvvv",
+ "vvvvvvvvvvvvvvvvvvvvvvvv",
+ "vvvvvvvvvvvvvvvvvvvvvvvv",
+ "vvvvvvvvvvvvvvvvvvvvvvvv",
+ "vvvvvvvvv((((((vvvvvvvvv",
+ "vvvvvvvvv( (vvvvvvvvv",
+ "vvvvvvvvv( (vvvvvvvvv",
+ "vvvvvvvvv( (vvvvvvvvv",
+ "vvvvvvvvv( (vvvvvvvvv",
+ "vvvvvvvvv((v(((vvvvvvvvv",
+ "vvvvvvvvvvvvvvvvvvvvvvvv",
+ "vvvvvvvvvvvvvvvvvvvvvvvv",
+ "vvvvvvvvvvvvvvvvvvvvvvvv",
+ "vvvvvvvvvvvvvvvvvvvvvvvv",
+ "vvvvvvvvvvvvvvvvvvvvvvvv",
+ "vvvvvvvvvvvvvvvvvvvvvvvv",
+ "vvvvvvvvvvvvvvvvvvvvvvvv",
+ "vvvvvvvvvvvvvvvvvvvvvvvv",
+ "vvvvvvvvvvvvvvvvvvvvvvvv",
+ "vvvvvvvvvvvvvvvvvvvvvvvv"
+ ],
+ "palettes": [ "bunker_ext" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ "lmoe_under_empty" ],
+ "//": "Empty LMOE shelter that has been looted or used.",
+ "//2": "This particular 2-bed shelter is a more professionally done, all metal bomb shelter with kitchen, secret safe room / gun locker, and workshop.",
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_metal_floor",
"rows": [
"########################",
"########################",
+ "##||||||||||||||||||||##",
+ "##|{{{{{|UUUUUU|w__BB|##",
+ "##|u____|U____U|d__BB|##",
+ "##|u___h|U_UU_U|A,,,_|##",
+ "##|u___D|=*==*=|_,,,}|##",
+ "##|A____:______+_,,,}|##",
+ "##|||||||_1,,1_|S__hD|##",
+ "##|VVVVV=_e,,P_|||||||##",
+ "##|_____*__,,____|s_K|##",
+ "##|vvvvv=_E,,f___+__t|##",
+ "##|||||||||++|||||||||##",
+ "##|c_bbbbA|,,|CSCCKCC|##",
+ "##|c______|,,|u_____C|##",
+ "##|c_TT___|,,|u_hLh_F|##",
+ "##|c_TTh__+__+_______|##",
+ "##|c_TT___|__|rrrr__~|##",
+ "##|c______|__|||||+|||##",
+ "##|c______|__*__a|__A|##",
+ "##|ccccccc|<<=G_a|HlW|##",
+ "##||||||||||||||||||||##",
"########################",
- "###{{{{].......|}..BB###",
- "###....].......|}..BB###",
- "###....].......|}....###",
- "###==*=].......+.....###",
- "###.......1..1.|...CD###",
- "###............|.....###",
- "###{{{{{.......------###",
- "###............^^|.K.###",
- "###{{{{{.........+..t###",
- "###--------++--------###",
- "###c.}}}}.|..|C..XXXX###",
- "###c......|..|....XXX###",
- "###c.TT...|..|.....X~###",
- "###c.TTC..+..+...S.~^###",
- "###c.TT...|..|....~^^###",
- "###c......|..|C..~^^^###",
- "###c......|..|..~^^^^###",
- "###ccccccc|<<|.~^^^^^###",
+ "########################"
+ ],
+ "palettes": [ "bunker", "empty_bunker_items" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ "lmoe_under_empty" ],
+ "//": "Empty LMOE shelter that has been looted or used.",
+ "//2": "This particular 4-bed shelter is definitely homemade, mostly carved out of bare rock, and seems to be incomplete.",
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_rock_floor",
+ "rows": [
"########################",
"########################",
+ "##<<..=...^#############",
+ "##....*....^############",
+ "##....=....^############",
+ "##===###Y...^###########",
+ "##G.R###-+|||####||||||#",
+ "##a.l###A.|UUVVvv|{{{{|#",
+ "##=*=###..|U.....:....|#",
+ "##c..ll-..|Uuuu.u||||||#",
+ "##c....+..|||||+||Dh..d#",
+ "##c.h..-r.+......+...BB#",
+ "##c.TTT-r.-r..h..------#",
+ "#######--+-r.hLh.+...BB#",
+ "#######-F.Sr..h..-Dh..d#",
+ "#######-C.......-------#",
+ "#######-CCKC.uu.+...hD-#",
+ "#######-----.--+-}....-#",
+ "#########W.~.-s.-}.BBS-#",
+ "#########H...-&.-w.BBr-#",
+ "#########l..A-Kt-------#",
+ "#########--------#######",
+ "########################",
"########################"
],
- "terrain": {
- "#": "t_rock",
- "*": "t_chaingate_c",
- "+": "t_door_metal_c",
- "-": "t_wall_metal",
- ".": "t_rock_floor",
- "1": "t_column",
- "<": "t_stairs_up",
- "=": "t_chainfence_h",
- "B": "t_rock_floor",
- "C": "t_rock_floor",
- "D": "t_rock_floor",
- "K": "t_rock_floor",
- "S": "t_rock_floor",
- "T": "t_rock_floor",
- "X": "t_rock_floor",
- "]": "t_chainfence_v",
- "^": "t_rock_floor",
- "c": "t_rock_floor",
- "t": "t_rock_floor",
- "{": "t_rock_floor",
- "|": "t_wall_metal",
- "}": "t_rock_floor",
- "~": "t_water_sh"
- },
- "furniture": {
- "B": "f_bed",
- "C": "f_chair",
- "D": "f_desk",
- "K": "f_sink",
- "S": "f_woodstove",
- "T": "f_table",
- "X": "f_crate_c",
- "^": "f_rubble",
- "c": "f_counter",
- "{": "f_rack",
- "}": "f_bookcase"
- },
- "toilets": { "t": { } },
- "place_items": [
- { "item": "lmoe_guns", "x": [ 3, 6 ], "y": [ 3, 3 ], "chance": 80 },
- { "item": "ammo", "x": [ 3, 6 ], "y": [ 3, 3 ], "chance": 80 },
- { "item": "cannedfood", "x": [ 3, 7 ], "y": [ 9, 9 ], "chance": 90 },
- { "item": "gear_survival", "x": [ 3, 7 ], "y": [ 11, 11 ], "chance": 80 },
- { "item": "bags", "x": [ 3, 7 ], "y": [ 11, 11 ], "chance": 50 },
- { "item": "softdrugs", "x": [ 3, 7 ], "y": [ 11, 11 ], "chance": 50 },
- { "item": "manuals", "x": [ 5, 8 ], "y": [ 13, 13 ], "chance": 60 },
- { "item": "textbooks", "x": [ 5, 8 ], "y": [ 13, 13 ], "chance": 60 },
- { "item": "tools_common", "x": [ 5, 6 ], "y": [ 15, 17 ], "chance": 90 },
- { "item": "hardware", "x": [ 3, 3 ], "y": [ 13, 20 ], "chance": 70 },
- { "item": "stash_wood", "x": [ 3, 9 ], "y": [ 20, 20 ], "chance": 70 },
- { "item": "shelter", "x": [ 18, 20 ], "y": [ 13, 14 ], "chance": 70 },
- { "item": "novels", "x": [ 16, 16 ], "y": [ 3, 5 ], "chance": 70 },
- { "item": "office", "x": [ 20, 20 ], "y": [ 7, 7 ], "chance": 50 },
- { "item": "bed", "x": [ 19, 20 ], "y": [ 3, 4 ], "chance": 60 }
+ "palettes": [ "bunker", "empty_bunker_items" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ "lmoe_under_empty" ],
+ "//": "Empty LMOE shelter that has been looted or used.",
+ "//2": "This is a commercially built 4-bed LMOE shelter based on IRL plans.",
+ "//3": "There are extensive secret rooms which might contain a lot of treasure in the non-looted version.",
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_carpet_metal",
+ "rows": [
+ "##|||||#################",
+ "##|,,<|||||||###########",
+ "##|Y,<|w,BBd|###########",
+ "||||+||},BB,|###########",
+ "|A,,,E|,,,,,|###########",
+ "|f,,,,|+|||||||||||#####",
+ "|f,,,e|,,,,b|_____|#####",
+ "|f,,,,|,,h,,|_____|#####",
+ "|Dh,,P|,hLh,|_____|#####",
+ "|,,,,,|,hLh,|_____|#####",
+ "|,,,,,+,,h,,|_____|#####",
+ "|,|||||~,,,u|_____|#####",
+ "|,+,,B|K,,,u:_____|#####",
+ "|,|d,B|COC,u|_____|#####",
+ "|,||||||||+||_____|#####",
+ "|,+,,B|t,,,K|_____|#####",
+ "|}|d,B|WAv,s|_____|#####",
+ "|;|||||||||:|||+||||||||",
+ "|__|_____|__|_______=__|",
+ "|__|_____||+|_______*__|",
+ "|__|________|_______=__|",
+ "|__|________+_______=__|",
+ "|__+________|_______=__|",
+ "||||||||||||||||||||||||"
+ ],
+ "palettes": [ "bunker", "empty_bunker_items" ],
+ "place_nested": [
+ { "chunks": [ "lmoe3_storage_11x11" ], "x": 13, "y": 6 },
+ { "chunks": [ "lmoe3_tankroom_11x11" ], "x": 1, "y": 18 },
+ { "chunks": [ "lmoe3_crafting_11x11" ], "x": 13, "y": 18 }
]
}
},
@@ -138,94 +195,39 @@
"type": "mapgen",
"method": "json",
"om_terrain": [ "lmoe_under" ],
- "//": "Below ground",
- "weight": 100,
+ "//": "Stocked up LMOE shelter.",
+ "//2": "This particular 2-bed shelter is a more professionally done, all metal bomb shelter with kitchen, secret safe room / gun locker, and workshop.",
+ "//3": "For now this is just filler terrain, it shouldn't spawn in game.",
+ "weight": 50,
"object": {
+ "fill_ter": "t_metal_floor",
"rows": [
"########################",
"########################",
- "##<<..].........^^^^####",
- "##....*............^^^##",
- "##....]..............^##",
- "##===###.........#######",
- "##...###-+------########",
- "##===###..|{{{{{{#######",
- "##.....|..+...........##",
- "##.....|..|.{{...{{{{.##",
- "##.....+..|----+------##",
- "##.....|..+..+..ccccc{##",
- "##{{{{{|..|..|.......{##",
- "##------+----|}.CTTT.{##",
- "##XXXX.......|}......{##",
- "##...........|..------##",
- "##....S......|..+...CD##",
- "##......~~~..--+|.....##",
- "##....~~~~~~~|K.|}.BBS##",
- "###..~~~~~~~~|..|}.BB###",
- "####.~~~~~~~~|t.|#######",
- "#######~~~##############",
+ "##||||||||||||||||||||##",
+ "##|{{{{{|UUUUUU|w__BB|##",
+ "##|u____|U____U|d__BB|##",
+ "##|u___h|U_UU_U|A,,,_|##",
+ "##|u___D|=*==*=|_,,,}|##",
+ "##|A____:______+_,,,}|##",
+ "##|||||||_1,,1_|S__hD|##",
+ "##|VVVVV=_e,,P_|||||||##",
+ "##|_____*__,,____|s_K|##",
+ "##|vvvvv=_E,,f___+__t|##",
+ "##|||||||||++|||||||||##",
+ "##|c_bbbbA|,,|CSCCKCC|##",
+ "##|c______|,,|u_____C|##",
+ "##|c_TT___|,,|u_hLh_F|##",
+ "##|c_TTh__+__+_______|##",
+ "##|c_TT___|__|rrrr__~|##",
+ "##|c______|__|||||+|||##",
+ "##|c______|__*__a|__A|##",
+ "##|ccccccc|<<=G_a|HlW|##",
+ "##||||||||||||||||||||##",
"########################",
"########################"
],
- "terrain": {
- "#": "t_rock",
- "*": "t_chaingate_c",
- "+": "t_door_metal_c",
- "-": "t_wall_metal",
- ".": "t_rock_floor",
- "<": "t_stairs_up",
- "=": "t_chainfence_h",
- "B": "t_rock_floor",
- "C": "t_rock_floor",
- "D": "t_rock_floor",
- "K": "t_rock_floor",
- "S": "t_rock_floor",
- "T": "t_rock_floor",
- "X": "t_rock_floor",
- "]": "t_chainfence_v",
- "^": "t_rock_floor",
- "c": "t_rock_floor",
- "t": "t_rock_floor",
- "{": "t_rock_floor",
- "|": "t_wall_metal",
- "}": "t_rock_floor",
- "~": "t_water_sh"
- },
- "furniture": {
- "B": "f_bed",
- "C": "f_chair",
- "D": "f_desk",
- "K": "f_sink",
- "S": "f_woodstove",
- "T": "f_table",
- "X": "f_crate_c",
- "^": "f_rubble",
- "c": "f_counter",
- "{": "f_rack",
- "}": "f_bookcase"
- },
- "toilets": { "t": { } },
- "place_items": [
- { "item": "lmoe_guns", "x": [ 2, 6 ], "y": [ 12, 12 ], "chance": 80 },
- { "item": "ammo", "x": [ 2, 6 ], "y": [ 12, 12 ], "chance": 80 },
- { "item": "cannedfood", "x": [ 17, 20 ], "y": [ 9, 9 ], "chance": 90 },
- { "item": "cannedfood", "x": [ 12, 13 ], "y": [ 9, 9 ], "chance": 90 },
- { "item": "cannedfood", "x": [ 11, 16 ], "y": [ 7, 7 ], "chance": 90 },
- { "item": "gear_survival", "x": [ 21, 21 ], "y": [ 11, 14 ], "chance": 80 },
- { "item": "bags", "x": [ 21, 21 ], "y": [ 11, 14 ], "chance": 50 },
- { "item": "shelter", "x": [ 21, 21 ], "y": [ 11, 14 ], "chance": 70 },
- { "item": "tools_common", "x": [ 17, 19 ], "y": [ 13, 13 ], "chance": 90 },
- { "item": "hardware", "x": [ 16, 20 ], "y": [ 11, 11 ], "chance": 70 },
- { "item": "softdrugs", "x": [ 21, 21 ], "y": [ 16, 16 ], "chance": 50 },
- { "item": "office", "x": [ 21, 21 ], "y": [ 16, 16 ], "chance": 50 },
- { "item": "manuals", "x": [ 14, 14 ], "y": [ 13, 14 ], "chance": 60 },
- { "item": "textbooks", "x": [ 14, 14 ], "y": [ 13, 14 ], "chance": 60 },
- { "item": "stash_wood", "x": [ 10, 12 ], "y": [ 14, 16 ], "chance": 90 },
- { "item": "stash_wood", "x": [ 6, 6 ], "y": [ 16, 16 ], "chance": 90 },
- { "item": "stash_wood", "x": [ 21, 21 ], "y": [ 18, 18 ], "chance": 60 },
- { "item": "novels", "x": [ 17, 17 ], "y": [ 18, 19 ], "chance": 70 },
- { "item": "bed", "x": [ 19, 20 ], "y": [ 18, 19 ], "chance": 70 }
- ]
+ "palettes": [ "bunker", "empty_bunker_items" ]
}
}
]
diff --git a/data/json/mapgen/mapgen-test.json b/data/json/mapgen/mapgen-test.json
index e5b7772083c91..ffa3f3da92313 100644
--- a/data/json/mapgen/mapgen-test.json
+++ b/data/json/mapgen/mapgen-test.json
@@ -71,8 +71,8 @@
"place_furniture": [ { "furn": "f_rack", "x": 9, "y": 3 } ],
"place_traps": [ { "trap": "tr_funnel", "x": 7, "y": 3 } ],
"traps": { "F": "tr_cot", "f": { "trap": "tr_funnel" }, "g": { "trap": "tr_funnel" } },
- "fields": { "B": { "field": "fd_blood", "density": 1, "age": 10 } },
- "place_fields": [ { "field": "fd_bile", "x": 5, "y": 1, "density": 2, "age": 20 } ],
+ "fields": { "B": { "field": "fd_blood", "intensity": 1, "age": 10 } },
+ "place_fields": [ { "field": "fd_bile", "x": 5, "y": 1, "intensity": 2, "age": 20 } ],
"place_signs": [
{ "signage": "it works again.", "x": 7, "y": 1 },
{ "signage": " owned at ", "x": 7, "y": 2 },
diff --git a/data/json/mapgen/mil_surplus.json b/data/json/mapgen/mil_surplus.json
index afabdd2516087..51c1614f5e232 100644
--- a/data/json/mapgen/mil_surplus.json
+++ b/data/json/mapgen/mil_surplus.json
@@ -5,15 +5,16 @@
"om_terrain": [ "mil_surplus" ],
"weight": 300,
"object": {
+ "fill_ter": "t_floor",
"rows": [
"...........~~...........",
"...........~~...........",
"..-''''''--++--''''''--.",
- "..| |.",
- "..| # |.",
- "..| # |.",
- "..| # |.",
- "..| # |.",
+ "..| QrQd |.",
+ "..| # b b |.",
+ "..| # *]* |.",
+ "..| # d *8* |.",
+ "..| # *** |.",
"..| |.",
"..| R R R R R R R R R |.",
"..| R R R R R R R R R |.",
@@ -27,9 +28,9 @@
"..| R R R R R R R R R |.",
"..| R R R R R R R R R |.",
"..| |.",
- "..---------------------.",
- "........................",
- "........................"
+ "..|-+-----+--------+- |.",
+ "..|& %|4YYYUUYUU<|LL|d|.",
+ "..|----YYYYYYYYYY-----|."
],
"palettes": [ "mil_surplus" ],
"place_loot": [
@@ -42,15 +43,89 @@
{ "group": "mil_food_nodrugs", "x": 16, "y": [ 9, 19 ], "chance": 70 },
{ "group": "mil_food_nodrugs", "x": 18, "y": [ 9, 19 ], "chance": 70 },
{ "group": "mil_food_nodrugs", "x": 20, "y": [ 9, 19 ], "chance": 70 }
+ ],
+ "items": {
+ "%": { "item": "softdrugs", "chance": 30 },
+ "L": { "item": "cleaning", "chance": 30 },
+ "U": { "item": "trash", "chance": 20, "repeat": [ 2, 4 ] },
+ "d": [
+ { "item": "mil_armor", "chance": 40 },
+ { "item": "mil_armor_pants", "chance": 100 },
+ { "item": "mil_armor_torso", "chance": 100 },
+ { "item": "mil_armor_helmet", "chance": 10 },
+ { "item": "shoestore_shoes", "chance": 20 }
+ ]
+ }
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": "mil_surplus_roof",
+ "object": {
+ "fill_ter": "t_flat_roof",
+ "rows": [
+ " ",
+ " ",
+ " |22222222222222222223 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |.R.5-------####..U.3 ",
+ " |...3 ####>#....3 ",
+ " |---3 |----3 "
+ ],
+ "palettes": [ "roof_palette" ],
+ "terrain": { ">": "t_ladder_down" },
+ "nested": { "U": { "chunks": [ "roof_2x2_infrastructure" ] }, "R": { "chunks": [ "roof_2x2_infrastructure_1" ] } },
+ "place_nested": [
+ {
+ "chunks": [
+ [ "null", 20 ],
+ [ "roof_2x2_utilities_b", 15 ],
+ [ "roof_2x2_utilities_c", 5 ],
+ [ "roof_2x2_utilities_d", 40 ],
+ [ "roof_2x2_utilities", 40 ]
+ ],
+ "x": [ 4, 18 ],
+ "y": [ 5, 6 ]
+ },
+ {
+ "chunks": [
+ [ "null", 20 ],
+ [ "roof_4x4_utility", 40 ],
+ [ "roof_6x6_survivor", 20 ],
+ [ "roof_4x4_holdout", 5 ],
+ [ "roof_6x6_utility", 20 ]
+ ],
+ "x": [ 3, 13 ],
+ "y": [ 8, 14 ]
+ }
]
}
},
{
"type": "mapgen",
"method": "json",
- "om_terrain": [ "mil_surplus" ],
+ "om_terrain": [ "mil_surplus_1" ],
"weight": 300,
"object": {
+ "fill_ter": "t_floor",
"rows": [
"...........~~...........",
"...........~~...........",
@@ -73,12 +148,20 @@
".| |.",
".| CCCCCCC CCCCCCC |.",
".| |.",
- ".| CCCCCCC CCCCCCC |.",
+ ".| CCCCCCC CCCCCCC |4",
".----------------------.",
"........................"
],
"palettes": [ "mil_surplus" ],
"items": { "R": { "item": "mil_armor", "chance": 50 } },
+ "%": { "item": "softdrugs", "chance": 30 },
+ "@": [
+ { "item": "mil_armor", "chance": 40 },
+ { "item": "mil_armor_pants", "chance": 100 },
+ { "item": "mil_armor_torso", "chance": 100 },
+ { "item": "mil_armor_helmet", "chance": 10 },
+ { "item": "shoestore_shoes", "chance": 20 }
+ ],
"place_loot": [
{ "group": "mil_armor", "x": 8, "y": [ 7, 11 ], "chance": 70 },
{ "group": "mil_armor", "x": 11, "y": [ 7, 11 ], "chance": 70 },
@@ -98,46 +181,70 @@
}
},
{
+ "type": "mapgen",
"method": "json",
+ "om_terrain": "mil_surplus_roof_1",
"object": {
- "furniture": {
- "#": "f_counter",
- "+": "f_null",
- "-": "f_null",
- ".": "f_null",
- "D": "f_null",
- "S": "f_null",
- "^": "f_indoor_plant",
- "_": "f_null",
- "b": "f_bench",
- "c": "f_chair",
- "d": "f_null",
- "l": "f_locker",
- "r": "f_null",
- "s": "f_null",
- "t": "f_table",
- "u": "f_null",
- "{": "f_rack",
- "|": "f_null"
- },
- "place_items": [
- { "chance": 25, "item": "mil_armor_pants", "x": [ 3, 5 ], "y": 11 },
- { "chance": 25, "item": "mil_armor_pants", "x": [ 3, 5 ], "y": 8 },
- { "chance": 25, "item": "jackets", "x": [ 8, 9 ], "y": 18 },
- { "chance": 55, "item": "winter", "x": [ 4, 5 ], "y": 13 },
- { "chance": 55, "item": "winter", "x": [ 3, 6 ], "y": 6 },
- { "chance": 55, "item": "winter", "x": [ 3, 6 ], "y": 2 },
- { "chance": 25, "item": "mil_accessories", "x": 3, "y": [ 13, 16 ] },
- { "chance": 35, "item": "magazines", "x": [ 10, 11 ], "y": 18 },
- { "chance": 45, "item": "knife_shop", "x": [ 4, 6 ], "y": 4 },
- { "chance": 35, "item": "antique_guns", "x": 20, "y": 5 },
- { "chance": 35, "item": "antique_guns", "x": 18, "y": 5 },
- { "chance": 35, "item": "mil_surplus", "x": [ 9, 10 ], "y": [ 13, 14 ] },
- { "chance": 35, "item": "mil_surplus", "x": 21, "y": [ 11, 19 ] },
- { "chance": 35, "item": "mil_surplus", "x": [ 17, 18 ], "y": [ 11, 18 ] },
- { "chance": 35, "item": "mil_surplus", "x": [ 14, 15 ], "y": [ 11, 18 ] },
- { "chance": 35, "item": "mil_surplus", "x": [ 9, 10 ], "y": [ 9, 10 ] }
+ "fill_ter": "t_flat_roof",
+ "rows": [
+ " ",
+ " ",
+ " |222222222222222222223 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |....................3 ",
+ " |..U...............Z.3 ",
+ " |..........R.........3 ",
+ " |................... 5 ",
+ " |--------------------3 ",
+ " "
],
+ "palettes": [ "roof_palette" ],
+ "nested": {
+ "U": { "chunks": [ "roof_2x2_infrastructure" ] },
+ "R": { "chunks": [ "roof_2x2_infrastructure_1" ] },
+ "Z": { "chunks": [ "roof_2x2_infrastructure_2" ] }
+ },
+ "place_nested": [
+ {
+ "chunks": [
+ [ "null", 20 ],
+ [ "roof_2x2_utilities_b", 15 ],
+ [ "roof_2x2_utilities_c", 5 ],
+ [ "roof_2x2_utilities_d", 40 ],
+ [ "roof_2x2_utilities", 50 ]
+ ],
+ "x": [ 4, 18 ],
+ "y": [ 4, 6 ]
+ },
+ {
+ "chunks": [ [ "null", 20 ], [ "roof_4x4_utility", 40 ], [ "roof_6x6_utility", 20 ] ],
+ "x": [ 5, 13 ],
+ "y": [ 8, 11 ]
+ }
+ ]
+ }
+ },
+ {
+ "method": "json",
+ "om_terrain": "mil_surplus_2",
+ "type": "mapgen",
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_floor",
"rows": [
"___d___ud___________ss__",
"__||||||||||||------ssr_",
@@ -156,37 +263,112 @@
"__|#.....tt...{{.{{..{|_",
"__|#..........{{.{{..{|_",
"__|#..........{{.{{..{|d",
- "_u|....||||||.{{.{{..{|u",
+ "_u|b...||||||.{{.{{..{|u",
"__|b...|llll|.{{.{{..{|_",
- "__|b...|....|........{|_",
- "__|b...+....|||||||||||_",
- "d_|^...|tc..+ss____duS__",
+ "__||||.|....|........{|_",
+ "__|&.+.+....|||||||||||4",
+ "d_|%.|y|tc..+ss____duS__",
"__|||||||||||ss_________",
"____u_u_______________d_"
],
"terrain": {
- "#": "t_floor",
"+": "t_door_c",
"-": "t_railing_h",
".": "t_floor",
"D": "t_door_glass_c",
"S": "t_shrub",
- "^": "t_floor",
"_": "t_grass",
- "b": "t_floor",
- "c": "t_floor",
"d": "t_dirt",
- "l": "t_floor",
"r": "t_railing_v",
"s": "t_sidewalk",
- "t": "t_floor",
"u": "t_underbrush",
- "{": "t_floor",
- "|": "t_wall"
- }
- },
- "om_terrain": "mil_surplus",
+ "|": "t_wall_g",
+ "4": "t_gutter_downspout"
+ },
+ "furniture": {
+ "#": "f_counter",
+ "^": "f_indoor_plant",
+ "b": "f_bench",
+ "c": "f_chair",
+ "l": "f_locker",
+ "t": "f_table",
+ "{": "f_rack",
+ "%": "f_sink",
+ "y": [ "f_indoor_plant_y", "f_indoor_plant" ]
+ },
+ "toilets": { "&": { } },
+ "place_items": [
+ { "chance": 25, "item": "mil_armor_pants", "x": [ 3, 5 ], "y": 11 },
+ { "chance": 25, "item": "mil_armor_pants", "x": [ 3, 5 ], "y": 8 },
+ { "chance": 25, "item": "jackets", "x": [ 8, 9 ], "y": 18 },
+ { "chance": 55, "item": "winter", "x": [ 4, 5 ], "y": 13 },
+ { "chance": 55, "item": "winter", "x": [ 3, 6 ], "y": 6 },
+ { "chance": 55, "item": "winter", "x": [ 3, 6 ], "y": 2 },
+ { "chance": 25, "item": "mil_accessories", "x": 3, "y": [ 13, 16 ] },
+ { "chance": 35, "item": "magazines", "x": [ 10, 11 ], "y": 18 },
+ { "chance": 45, "item": "knife_shop", "x": [ 4, 6 ], "y": 4 },
+ { "chance": 35, "item": "antique_guns", "x": 20, "y": 5 },
+ { "chance": 35, "item": "antique_guns", "x": 18, "y": 5 },
+ { "chance": 35, "item": "mil_surplus", "x": [ 9, 10 ], "y": [ 13, 14 ] },
+ { "chance": 35, "item": "mil_surplus", "x": 21, "y": [ 11, 19 ] },
+ { "chance": 35, "item": "mil_surplus", "x": [ 17, 18 ], "y": [ 11, 18 ] },
+ { "chance": 35, "item": "mil_surplus", "x": [ 14, 15 ], "y": [ 11, 18 ] },
+ { "chance": 35, "item": "mil_surplus", "x": [ 9, 10 ], "y": [ 9, 10 ] }
+ ]
+ }
+ },
+ {
"type": "mapgen",
- "weight": 100
+ "method": "json",
+ "om_terrain": "mil_surplus_roof_2",
+ "object": {
+ "fill_ter": "t_flat_roof",
+ "rows": [
+ " ",
+ " |22222222222222222223 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |...................3 ",
+ " |..R...U..3---------5 ",
+ " |.........3 ",
+ " |---------3 ",
+ " "
+ ],
+ "palettes": [ "roof_palette" ],
+ "nested": { "U": { "chunks": [ "roof_2x2_infrastructure" ] }, "R": { "chunks": [ "roof_2x2_infrastructure_1" ] } },
+ "place_nested": [
+ {
+ "chunks": [
+ [ "null", 20 ],
+ [ "roof_2x2_utilities_b", 15 ],
+ [ "roof_2x2_utilities_c", 5 ],
+ [ "roof_2x2_utilities_d", 40 ],
+ [ "roof_2x2_utilities", 50 ]
+ ],
+ "x": [ 5, 18 ],
+ "y": [ 3, 6 ]
+ },
+ {
+ "chunks": [ [ "null", 20 ], [ "roof_4x4_utility", 40 ], [ "roof_6x6_utility", 20 ] ],
+ "x": [ 3, 13 ],
+ "y": [ 8, 13 ]
+ }
+ ]
+ }
}
]
diff --git a/data/json/mapgen/music_venue.json b/data/json/mapgen/music_venue.json
index b9ea69b59df04..d01acaa775191 100644
--- a/data/json/mapgen/music_venue.json
+++ b/data/json/mapgen/music_venue.json
@@ -30,7 +30,8 @@
"u": "f_null",
"w": "f_null",
"{": "f_glass_fridge",
- "|": "f_null"
+ "|": "f_null",
+ "7": "f_speaker_cabinet"
},
"place_items": [
{ "chance": 45, "item": "bar_table", "x": 15, "y": 15 },
@@ -59,32 +60,42 @@
{ "chance": 75, "item": "music_shop", "x": 6, "y": 8 },
{ "chance": 75, "item": "mussto_stringinst", "x": 5, "y": 6 }
],
+ "place_loot": [
+ { "chance": 20, "item": "tshirt_tour", "x": [ 8, 19 ], "y": [ 6, 12 ], "repeat": [ 1, 5 ] },
+ { "item": "amplifier_head", "x": 3, "y": 10 },
+ { "chance": 10, "item": "amplifier_head", "x": 2, "y": [ 5, 12 ], "repeat": [ 1, 2 ] },
+ { "chance": 5, "item": "amplifier_head", "x": [ 3, 4 ], "y": [ 5, 12 ], "repeat": [ 1, 4 ] }
+ ],
+ "place_furniture": [
+ { "chance": 20, "furn": "f_speaker_cabinet", "x": 2, "y": [ 5, 12 ], "repeat": [ 1, 2 ] },
+ { "chance": 10, "furn": "f_speaker_cabinet", "x": [ 3, 4 ], "y": [ 5, 12 ], "repeat": [ 1, 4 ] }
+ ],
"place_toilets": [ { "x": 2, "y": 14 }, { "x": 4, "y": 14 }, { "x": 6, "y": 14 } ],
"rows": [
- "____d___ss________d_____",
+ "________ss______________",
"_______rss-----|||W||___",
- "_d____ursssssssW...#|d__",
+ "______ursssssssW...#|___",
"____dufrsssssss+....|___",
"_||||||||||||||||..||||_",
- "_|cccccc.............^|_",
+ "_|ccccc7.............^|_",
"_|cecccc...#...#......|_",
- "d|cccccc..#t#.#t#....#|_",
- "_|cccccc...#...#.....t|d",
+ "_|cccccc..#t#.#t#....#|_",
+ "_|cccccc...#...#.....t|_",
"_|cccccc.....#.......#|_",
- "_|cccccc..#.#t#.......|_",
+ "_|c7cccc..#.#t#.......|_",
"_|cccccc..t..#..#t#..H|_",
- "_|cceccc..#..........H|u",
+ "_|ccecc7..#..........H|_",
"_|||||||.............H|_",
"_|&|&|&|...#####......|_",
"_|g|D|D|..aaaaaaa.....|_",
- "d|.....+..a.....a.....|_",
- "_|SaSah|.....{{{a....^|d",
+ "_|.....+..a.....a.....|_",
+ "_|SaSah|.....{{{a....^|_",
"_||||||||www|www||+||||_",
- "_____uu|bCCCTCCCCCCCbb|_",
- "____d_urTCCCCCCCCCCCCCr_",
- "d______rbCCCCCCCCCCCCCr_",
+ "_____u<|bCCCTCCCCCCCbb|_",
+ "______urTCCCCCCCCCCCCCr_",
+ "_______rbCCCCCCCCCCCCCr_",
"_______----------------_",
- "___d______d__________d__"
+ "________________________"
],
"terrain": {
"#": "t_floor",
@@ -99,7 +110,7 @@
"T": "t_concrete",
"W": "t_window_no_curtains",
"^": "t_floor",
- "_": "t_grass",
+ "_": [ [ "t_grass", 6 ], [ "t_dirt", 2 ], [ "t_grass_long", 4 ], [ "t_underbrush", 2 ] ],
"a": "t_floor",
"b": "t_concrete",
"c": "t_carpet_red",
@@ -114,13 +125,68 @@
"u": "t_underbrush",
"w": "t_wall_glass",
"{": "t_floor",
- "|": "t_wall"
+ "|": "t_wall",
+ "<": "t_gutter_downspout",
+ "7": "t_carpet_red"
}
},
"om_terrain": "music_venue",
"type": "mapgen",
"weight": 100
},
+ {
+ "method": "json",
+ "object": {
+ "fill_ter": "t_flat_roof",
+ "rows": [
+ " ",
+ " wnnnne ",
+ " w....e ",
+ " w....e ",
+ " wnnnnnnnnnnnnnw....ene ",
+ " w....................e ",
+ " w....................e ",
+ " w.&..................e ",
+ " w....................e ",
+ " w....................e ",
+ " w....................e ",
+ " w....................e ",
+ " w....................e ",
+ " w....................e ",
+ " w....................e ",
+ " w....................e ",
+ " w....................e ",
+ " w....................e ",
+ " wsssssw..............e ",
+ " d e ",
+ " ",
+ " ",
+ " ",
+ " "
+ ],
+ "terrain": {
+ " ": "t_open_air",
+ ".": "t_flat_roof",
+ "n": "t_gutter_north",
+ "e": "t_gutter_east",
+ "s": "t_gutter_south",
+ "w": "t_gutter_west",
+ "d": "t_gutter_downspout"
+ },
+ "furniture": { "&": "f_roof_turbine_vent" },
+ "place_items": [ { "item": "roof_trash", "x": [ 2, 21 ], "y": [ 5, 17 ], "chance": 50, "repeat": [ 1, 3 ] } ],
+ "place_nested": [
+ {
+ "chunks": [ [ "null", 5 ], [ "roof_2x2_utilities_d", 30 ], [ "roof_2x2_utilities", 50 ], [ "roof_6x6_survivor", 5 ] ],
+ "x": [ 4, 19 ],
+ "y": [ 7, 15 ]
+ }
+ ]
+ },
+ "om_terrain": "music_venue_roof",
+ "type": "mapgen",
+ "weight": 100
+ },
{
"method": "json",
"object": {
@@ -151,7 +217,8 @@
"t": "f_table",
"v": "f_vending_c",
"{": "f_glass_fridge",
- "|": "f_null"
+ "|": "f_null",
+ "7": "f_speaker_cabinet"
},
"place_items": [
{ "chance": 65, "item": "bar_trash", "x": [ 13, 14 ], "y": 20 },
@@ -180,39 +247,45 @@
{ "chance": 25, "item": "hatstore_hats", "x": 11, "y": 10 },
{ "chance": 75, "item": "bar_alcohol", "x": [ 6, 8 ], "y": 18 }
],
+ "place_loot": [
+ { "chance": 20, "item": "tshirt_tour", "x": [ 10, 18 ], "y": [ 5, 15 ], "repeat": [ 1, 5 ] },
+ { "item": "amplifier_head", "x": 6, "y": 9 },
+ { "chance": 5, "item": "amplifier_head", "x": 5, "y": [ 7, 12 ], "repeat": [ 1, 2 ] }
+ ],
+ "place_furniture": [ { "chance": 10, "furn": "f_speaker_cabinet", "x": 5, "y": [ 7, 12 ], "repeat": [ 1, 2 ] } ],
"place_toilets": [ { "x": 4, "y": 2 }, { "x": 6, "y": 2 }, { "x": 8, "y": 2 } ],
"rows": [
- ".......d.......sss..d...",
+ ".......d.......sss......",
"...||||||||--||TTT||||..",
- "d..|&|&|&|___^|TTT|vv|..",
- "...|D|D|f|____|a-a|__|d.",
+ "...|&|&|&|___^|TTT|vv|..",
+ "...|D|D|f|____|a-a|__|..",
"...|_____+___________|..",
"...|SCSCg|___________|..",
"...|||||||___________|..",
- "..d|cccccc_____#_____|..",
+ "...|ccccc7_____#_____|..",
"...|ccbccc____#t#___t|..",
- "...|cccccc__#__#____H|.d",
- "..d|bccccc_#t#______H|..",
+ "...|cc7ccc__#__#____H|..",
+ "...|bccccc_#t#______H|..",
"...|cccccc__#__#____H|..",
- "...|cccccc____#t#___t|..",
+ "...|ccccc7____#t#___t|..",
"...|________#__#____H|d.",
"...|_______#t#______H|..",
- "d..|________#_______H|..",
+ "...|________#_______H|..",
"...|CCCC||__________t|..",
- "...|_____h___________|..",
- "...|rr{{{|___HHH_____|..",
+ "...|_____h_________|+|..",
+ "...|rr{{{|___HHH___|<|..",
"...|||||||||||||||+|||..",
- "..........d..eeps|_|....",
- "......d......ppps+_|d...",
+ ".....!....d..eeps|_|....",
+ ".............ppps+_|....",
".............ppps|||....",
- "..d.....d.......d......d"
+ "................d......."
],
"terrain": {
"#": "t_floor",
"&": "t_floor",
"+": "t_door_c",
"-": "t_wall_glass",
- ".": "t_grass",
+ ".": [ [ "t_grass", 20 ], [ "t_dirt", 2 ], [ "t_underbrush", 1 ] ],
"C": "t_floor",
"D": "t_door_metal_c",
"H": "t_floor",
@@ -234,10 +307,102 @@
"t": "t_floor",
"v": "t_floor",
"{": "t_floor",
- "|": "t_wall"
+ "|": "t_wall",
+ "<": "t_stairs_up",
+ "!": "t_gutter_downspout",
+ "7": "t_carpet_green"
}
},
- "om_terrain": "music_venue",
+ "om_terrain": "music_venue_1",
+ "type": "mapgen",
+ "weight": 100
+ },
+ {
+ "method": "json",
+ "object": {
+ "fill_ter": "t_flat_roof",
+ "rows": [
+ " ",
+ " wnnnnnnnnnnn...nnne ",
+ " w.................e ",
+ " w.................e ",
+ " w.................e ",
+ " w.&...............e ",
+ " w.................e ",
+ " w.&...............e ",
+ " w.................e ",
+ " w.................e ",
+ " w.................e ",
+ " w.................e ",
+ " w.................e ",
+ " w.................e ",
+ " w.................e ",
+ " w.................e ",
+ " w.................e ",
+ " w...............|+| ",
+ " w...............|>| ",
+ " wsdsssssssssssw.||| ",
+ " w.e ",
+ " w.e ",
+ " wse ",
+ " "
+ ],
+ "terrain": {
+ " ": "t_open_air",
+ ".": "t_flat_roof",
+ "n": "t_gutter_north",
+ "e": "t_gutter_east",
+ "s": "t_gutter_south",
+ "w": "t_gutter_west",
+ "|": "t_wall",
+ "+": "t_door_c",
+ ">": "t_stairs_down",
+ "d": "t_gutter_downspout"
+ },
+ "furniture": { "&": "f_roof_turbine_vent" },
+ "place_items": [ { "item": "roof_trash", "x": [ 4, 18 ], "y": [ 2, 17 ], "chance": 50, "repeat": [ 1, 3 ] } ],
+ "place_nested": [
+ { "chunks": [ [ "roof_2x2_utilities", 50 ] ], "x": 17, "y": 3 },
+ { "chunks": [ [ "null", 70 ], [ "roof_6x6_survivor", 5 ] ], "x": [ 6, 17 ], "y": 8 }
+ ]
+ },
+ "om_terrain": "music_venue_1_roof",
+ "type": "mapgen",
+ "weight": 100
+ },
+ {
+ "method": "json",
+ "object": {
+ "fill_ter": "t_flat_roof",
+ "rows": [
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ... ",
+ " ... ",
+ " ... ",
+ " ",
+ " ",
+ " ",
+ " "
+ ],
+ "terrain": { " ": "t_open_air", ".": "t_flat_roof" }
+ },
+ "om_terrain": "music_venue_1_roof_top",
"type": "mapgen",
"weight": 100
}
diff --git a/data/json/mapgen/musicstore.json b/data/json/mapgen/musicstore.json
index e3515779a04e7..913085b5bd675 100644
--- a/data/json/mapgen/musicstore.json
+++ b/data/json/mapgen/musicstore.json
@@ -19,6 +19,7 @@
{ "item": "tuba", "prob": 25 },
{ "item": "ukulele", "prob": 50 },
{ "item": "violin", "prob": 90 },
+ { "item": "guitar_electric", "prob": 90 },
{
"collection": [ { "item": "case_violin" }, { "item": "tommygun" }, { "item": "grip" }, { "item": "thompson_drum" } ],
"prob": 15
@@ -45,7 +46,7 @@
{
"id": "mussto_stringinst",
"type": "item_group",
- "items": [ [ "acoustic_guitar", 100 ], [ "violin", 80 ], [ "ukulele", 90 ], [ "banjo", 100 ] ]
+ "items": [ [ "acoustic_guitar", 100 ], [ "violin", 80 ], [ "ukulele", 90 ], [ "banjo", 100 ], [ "guitar_electric", 100 ] ]
},
{
"id": "light_reading",
@@ -85,12 +86,12 @@
"_|...######..........C|_",
"_|...######...........|_",
"_8...........|+-|+-|+-|_",
- "_8E..rrrrrr..|..|..|..8_",
- "_8c..rrrrrr..|..|..|..8_",
- "_|...........|Ec|Ec|Ec|_",
+ "_8E..rrrrrr..|g7|gg|gg8_",
+ "_8c..rrrrrr..|gg|gg|gg8_",
+ "_|...........|Kh|Kh|Kh|_",
"_|D---D|D-55----------|_",
"_|.S|S.|sssssss12_z_____",
- "_|T#|#T|________________",
+ "_|T#|#T|<_______________",
"_-H---H-________________",
"________________________"
],
@@ -124,6 +125,11 @@
"w": "t_linoleum_gray",
"y": "t_linoleum_gray",
"z": "t_shrub",
+ "g": "t_carpet_green",
+ "h": "t_carpet_green",
+ "K": "t_carpet_green",
+ "7": "t_carpet_green",
+ "<": "t_gutter_downspout",
"|": "t_wall"
},
"furniture": {
@@ -134,6 +140,9 @@
"^": "f_indoor_plant",
"c": "f_chair",
"d": "f_dumpster",
+ "h": "f_chair",
+ "K": "f_desk",
+ "7": "f_speaker_cabinet",
"r": "f_rack"
},
"vendingmachines": { "1": { "item_group": "vending_drink" }, "2": { "item_group": "vending_food" } },
@@ -146,7 +155,68 @@
{ "group": "mussto_stringinst", "x": [ 5, 10 ], "y": 16, "chance": 30, "repeat": [ 1, 2 ] },
{ "group": "mussto_windinst", "x": [ 5, 10 ], "y": 17, "chance": 40, "repeat": [ 1, 2 ] },
{ "group": "light_reading", "x": [ 13, 14 ], "y": [ 10, 12 ], "chance": 70, "repeat": [ 2, 4 ] },
- { "group": "musicstore_showpiece", "x": 21, "y": 8, "chance": 95 }
+ { "group": "musicstore_showpiece", "x": 21, "y": 8, "chance": 95 },
+ { "item": "amplifier_head", "x": 15, "y": [ 16, 17 ], "chance": 50 },
+ { "item": "amplifier_head", "x": 18, "y": [ 16, 17 ], "chance": 10 },
+ { "item": "amplifier_head", "x": 21, "y": [ 16, 17 ], "chance": 10 }
+ ],
+ "place_furniture": [
+ { "furn": "f_speaker_cabinet", "x": 15, "y": 17, "chance": 5 },
+ { "furn": "f_speaker_cabinet", "x": 18, "y": [ 16, 17 ], "chance": 10 },
+ { "furn": "f_speaker_cabinet", "x": 21, "y": [ 16, 17 ], "chance": 10 }
+ ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ "s_music_roof" ],
+ "weight": 180,
+ "object": {
+ "fill_ter": "t_flat_roof",
+ "rows": [
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " wnnnnnnnnnnnnnnnnnnnne ",
+ " w....................e ",
+ " w....................e ",
+ " w....................e ",
+ " w....................e ",
+ " w....................e ",
+ " w....................e ",
+ " w....................e ",
+ " w....................e ",
+ " w....................e ",
+ " w....................e ",
+ " w.&..................e ",
+ " w.....esssssssssssssse ",
+ " w.....e ",
+ " w.....d ",
+ " wssssse ",
+ " "
+ ],
+ "terrain": {
+ " ": "t_open_air",
+ ".": "t_flat_roof",
+ "n": "t_gutter_north",
+ "e": "t_gutter_east",
+ "s": "t_gutter_south",
+ "w": "t_gutter_west",
+ "d": "t_gutter_downspout"
+ },
+ "furniture": { "&": "f_roof_turbine_vent" },
+ "place_items": [ { "item": "roof_trash", "x": [ 2, 21 ], "y": [ 9, 18 ], "chance": 50, "repeat": [ 1, 3 ] } ],
+ "place_nested": [
+ {
+ "chunks": [ [ "null", 5 ], [ "roof_2x2_utilities_d", 30 ], [ "roof_2x2_utilities", 50 ], [ "roof_6x6_survivor", 5 ] ],
+ "x": [ 3, 20 ],
+ "y": [ 10, 17 ]
+ }
]
}
}
diff --git a/data/json/mapgen/nested/city_npc_nested_spawns.json b/data/json/mapgen/nested/city_npc_nested_spawns.json
index 5b1b09af17681..61b0a4f6c3b95 100644
--- a/data/json/mapgen/nested/city_npc_nested_spawns.json
+++ b/data/json/mapgen/nested/city_npc_nested_spawns.json
@@ -71,5 +71,66 @@
"t": { "item": "cannedfood", "chance": 100, "repeat": [ 2, 3 ] }
}
}
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "nested_mapgen_id": "foodperson_break_room",
+ "object": {
+ "mapgensize": [ 9, 9 ],
+ "rows": [
+ "WWWWWWWWW",
+ ",,sWh,,sW",
+ ",,,WT,,,W",
+ "WDWWWWDWW",
+ ",,bWl,,bW",
+ ",,bWl,,bW",
+ "WDWWWWDWW",
+ ",,,M@,,,W",
+ ",,,,,,,aW"
+ ],
+ "terrain": { "W": "t_wall_p", "D": "t_door_c", ",": "t_floor" },
+ "toilets": { "T": { } },
+ "furniture": {
+ "l": "f_locker",
+ "b": "f_bench",
+ "h": "f_shower",
+ "s": "f_sink",
+ "M": "f_bigmirror",
+ "@": "f_mannequin",
+ "a": "f_armchair"
+ },
+ "place_nested": [ { "chunks": [ [ "foodperson_barred_bathroom", 20 ], [ "null", 80 ] ], "x": 3, "y": 1 } ],
+ "place_npcs": [ { "chance": 100, "class": "true_foodperson", "x": 4, "y": 8 } ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "nested_mapgen_id": "foodperson_barred_bathroom",
+ "object": {
+ "mapgensize": [ 6, 6 ],
+ "rows": [
+ "Wh,,sW",
+ "WT,,,W",
+ "WWWDWW",
+ "Wl,,bW",
+ "Wl,,bW",
+ "WWWXWW"
+ ],
+ "terrain": { "W": "t_wall_p", "D": "t_door_c", "X": "t_rdoor_boarded", ",": "t_floor" },
+ "toilets": { "T": { } },
+ "furniture": { "l": "f_locker", "b": "f_bench", "h": "f_shower", "s": "f_sink" },
+ "place_loot": [
+ { "item": "corpse", "x": 0, "y": [ 0, 1 ], "repeat": 3, "chance": 100 },
+ { "item": "foodperson_mask", "x": 0, "y": [ 0, 1 ], "repeat": 3, "chance": 100 },
+ { "item": "cape_fp", "x": 0, "y": [ 0, 1 ], "repeat": 3, "chance": 100 },
+ { "item": "chestguard_hard", "x": 0, "y": [ 0, 1 ], "repeat": 3, "chance": 100 },
+ { "item": "legguard_hard", "x": 0, "y": [ 0, 1 ], "repeat": 3, "chance": 100 },
+ { "item": "armguard_hard", "x": 0, "y": [ 0, 1 ], "repeat": 3, "chance": 100 },
+ { "item": "gloves_rubber", "x": 0, "y": [ 0, 1 ], "repeat": 3, "chance": 100 },
+ { "item": "boots_rubber", "x": 0, "y": [ 0, 1 ], "repeat": 3, "chance": 100 }
+ ]
+ }
}
]
diff --git a/data/json/mapgen/nested/lmoe_nested.json b/data/json/mapgen/nested/lmoe_nested.json
new file mode 100644
index 0000000000000..86c687df753bb
--- /dev/null
+++ b/data/json/mapgen/nested/lmoe_nested.json
@@ -0,0 +1,73 @@
+[
+ {
+ "type": "mapgen",
+ "method": "json",
+ "nested_mapgen_id": "lmoe3_storage_11x11",
+ "//": "This is done in a nested map to make the flooring under the furniture look right, nothing much else.",
+ "object": {
+ "mapgensize": [ 11, 11 ],
+ "fill_ter": "t_metal_floor",
+ "rows": [
+ "lllll|#####",
+ "u___U|#####",
+ "u_u_U|#####",
+ "u_u_U|#####",
+ "u_u_U|#####",
+ "u_u_U|#####",
+ "__v_U|#####",
+ "u_v_U|#####",
+ "u_v_U|#####",
+ "u___U|#####",
+ "AV_VU|#####"
+ ],
+ "palettes": [ "bunker", "empty_bunker_items" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "nested_mapgen_id": "lmoe3_tankroom_11x11",
+ "//": "This is done in a nested map to make the flooring under the furniture look right, nothing much else.",
+ "object": {
+ "mapgensize": [ 11, 11 ],
+ "fill_ter": "t_metal_floor",
+ "rows": [
+ "_{|l__aa|{_",
+ "_{|l__aa||+",
+ "_{|l____ll_",
+ "_{|l_______",
+ "__+________",
+ "|||||||||||",
+ "###########",
+ "###########",
+ "###########",
+ "###########",
+ "###########"
+ ],
+ "palettes": [ "bunker", "empty_bunker_items" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "nested_mapgen_id": "lmoe3_crafting_11x11",
+ "//": "This is done in a nested map to make the flooring under the furniture look right, nothing much else.",
+ "object": {
+ "mapgensize": [ 10, 10 ],
+ "fill_ter": "t_metal_floor",
+ "rows": [
+ "l__RRRR=_G",
+ "l______*_a",
+ "l_____c=_a",
+ "__h___c=_l",
+ "TTTcccc=_A",
+ "||||||||||",
+ "##########",
+ "##########",
+ "##########",
+ "##########"
+ ],
+ "palettes": [ "bunker", "empty_bunker_items" ]
+ }
+ }
+]
diff --git a/data/json/mapgen/nested/nested_chunks_roof.json b/data/json/mapgen/nested/nested_chunks_roof.json
index 34eddd450a461..911440f465e10 100644
--- a/data/json/mapgen/nested/nested_chunks_roof.json
+++ b/data/json/mapgen/nested/nested_chunks_roof.json
@@ -149,7 +149,8 @@
"__ox"
],
"terrain": { "_": "t_concrete", "x": "t_sewage_pipe" },
- "furniture": { "o": "f_water_heater", "a": "f_air_conditioner" }
+ "furniture": { "o": "f_water_heater", "a": "f_air_conditioner" },
+ "liquids": { "o": { "liquid": "water_clean", "amount": [ 0, 100 ] } }
}
},
{
@@ -166,7 +167,8 @@
"UUUU"
],
"terrain": { "_": "t_null", "c": "t_chaingate_l", "U": "t_chainfence" },
- "furniture": { "o": "f_water_heater", "a": "f_water_purifier", "A": "f_standing_tank" }
+ "furniture": { "o": "f_water_heater", "a": "f_water_purifier", "A": "f_standing_tank" },
+ "liquids": { "o": { "liquid": "water_clean", "amount": [ 0, 100 ] } }
}
},
{
@@ -185,7 +187,8 @@
"xxxxxx"
],
"terrain": { "_": "t_null", "x": "t_sewage_pipe" },
- "furniture": { "o": "f_water_heater", "a": "f_water_purifier", "A": "f_standing_tank" }
+ "furniture": { "o": "f_water_heater", "a": "f_water_purifier", "A": "f_standing_tank" },
+ "liquids": { "o": { "liquid": "water_clean", "amount": [ 0, 100 ] } }
}
},
{
@@ -205,6 +208,33 @@
]
}
},
+ {
+ "type": "mapgen",
+ "method": "json",
+ "nested_mapgen_id": "roof_2x2_infrastructure",
+ "object": {
+ "mapgensize": [ 2, 2 ],
+ "place_furniture": [ { "furn": "f_vent_pipe", "x": 0, "y": 0 }, { "furn": "f_roof_turbine_vent", "x": 0, "y": 1 } ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "nested_mapgen_id": "roof_2x2_infrastructure_1",
+ "object": {
+ "mapgensize": [ 2, 2 ],
+ "place_furniture": [ { "furn": "f_small_satelitte_dish", "x": 1, "y": 0 }, { "furn": "f_cellphone_booster", "x": 0, "y": 1 } ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "nested_mapgen_id": "roof_2x2_infrastructure_2",
+ "object": {
+ "mapgensize": [ 2, 2 ],
+ "place_terrain": [ { "ter": "t_switchgear_s", "x": 0, "y": 0 }, { "ter": "t_sai_box", "x": 0, "y": 1 } ]
+ }
+ },
{
"type": "mapgen",
"method": "json",
@@ -352,6 +382,36 @@
"furniture": { "S": "f_statue", "b": "f_bench" }
}
},
+ {
+ "type": "mapgen",
+ "method": "json",
+ "nested_mapgen_id": "roof_6x6_greenhouse_3",
+ "object": {
+ "mapgensize": [ 6, 6 ],
+ "rotation": [ 0, 2 ],
+ "rows": [
+ "%#++#%",
+ "%1__1%",
+ "#1a_1#",
+ "#1__1#",
+ "%1_a1%",
+ "%#++#%"
+ ],
+ "terrain": {
+ "_": "t_null",
+ "#": "t_reinforced_glass_shutter_open",
+ "+": "t_reinforced_door_glass_c",
+ "%": "t_reinforced_glass_shutter",
+ "$": "t_wall_glass"
+ },
+ "furniture": { "a": "f_stool" },
+ "place_loot": [
+ { "item": "stepladder", "x": 3, "y": 5, "chance": 75, "repeat": [ 1, 3 ] },
+ { "item": "seed_weed", "x": [ 2, 3 ], "y": [ 2, 3 ], "chance": 75, "repeat": [ 1, 3 ] }
+ ],
+ "sealed_item": { "1": { "item": { "item": "seed_weed" }, "furniture": "f_planter_harvest" } }
+ }
+ },
{
"type": "mapgen",
"method": "json",
@@ -396,6 +456,7 @@
"type": "mapgen",
"method": "json",
"nested_mapgen_id": "roof_6x6_garden_3",
+ "//": "herb garden",
"object": {
"mapgensize": [ 6, 6 ],
"rotation": [ 0, 3 ],
@@ -415,5 +476,25 @@
"4": { "item": { "item": "seed_mugwort" }, "furniture": "f_planter_harvest" }
}
}
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "nested_mapgen_id": "roof_6x6_garden_4",
+ "//": "zen garden.",
+ "object": {
+ "mapgensize": [ 6, 6 ],
+ "rotation": [ 0, 3 ],
+ "rows": [
+ "bb__bb",
+ "b2222b",
+ "_22G2_",
+ "_2G22_",
+ "b2222b",
+ "bb__bb"
+ ],
+ "terrain": { "_": "t_railroad_rubble", "b": "t_railroad_rubble", "2": "t_sandbox", "G": "t_sandbox" },
+ "furniture": { "G": [ "f_boulder_medium", "f_boulder_large" ], "b": "f_bench" }
+ }
}
]
diff --git a/data/json/mapgen/refugee_center/rc_grounds_e.json b/data/json/mapgen/refugee_center/rc_grounds_e.json
new file mode 100644
index 0000000000000..37d213cee93d7
--- /dev/null
+++ b/data/json/mapgen/refugee_center/rc_grounds_e.json
@@ -0,0 +1,260 @@
+[
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_E1a", "refctr_E2a", "refctr_E3a", "refctr_E4a", "refctr_E5a" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|."
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_E1b", "refctr_E2b", "refctr_E3b", "refctr_E4b", "refctr_E5b" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|."
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_E1c", "refctr_E2c", "refctr_E3c", "refctr_E4c", "refctr_E5c" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|."
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_E1d", "refctr_E2d", "refctr_E3d", "refctr_E4d", "refctr_E5d" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|."
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_E1e", "refctr_E2e", "refctr_E3e", "refctr_E4e", "refctr_E5e" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|."
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_E1a_z2", "refctr_E2a_z2", "refctr_E3a_z2", "refctr_E4a_z2", "refctr_E5a_z2" ],
+ [ "refctr_E1b_z2", "refctr_E2b_z2", "refctr_E3b_z2", "refctr_E4b_z2", "refctr_E5b_z2" ],
+ [ "refctr_E1c_z2", "refctr_E2c_z2", "refctr_E3c_z2", "refctr_E4c_z2", "refctr_E5c_z2" ],
+ [ "refctr_E1d_z2", "refctr_E2d_z2", "refctr_E3d_z2", "refctr_E4d_z2", "refctr_E5d_z2" ],
+ [ "refctr_E1e_z2", "refctr_E2e_z2", "refctr_E3e_z2", "refctr_E4e_z2", "refctr_E5e_z2" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_open_air" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_E1a_z1", "refctr_E2a_z1", "refctr_E3a_z1", "refctr_E4a_z1", "refctr_E5a_z1" ],
+ [ "refctr_E1b_z1", "refctr_E2b_z1", "refctr_E3b_z1", "refctr_E4b_z1", "refctr_E5b_z1" ],
+ [ "refctr_E1c_z1", "refctr_E2c_z1", "refctr_E3c_z1", "refctr_E4c_z1", "refctr_E5c_z1" ],
+ [ "refctr_E1d_z1", "refctr_E2d_z1", "refctr_E3d_z1", "refctr_E4d_z1", "refctr_E5d_z1" ],
+ [ "refctr_E1e_z1", "refctr_E2e_z1", "refctr_E3e_z1", "refctr_E4e_z1", "refctr_E5e_z1" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_open_air" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_E1a_z-1", "refctr_E2a_z-1", "refctr_E3a_z-1", "refctr_E4a_z-1", "refctr_E5a_z-1" ],
+ [ "refctr_E1b_z-1", "refctr_E2b_z-1", "refctr_E3b_z-1", "refctr_E4b_z-1", "refctr_E5b_z-1" ],
+ [ "refctr_E1c_z-1", "refctr_E2c_z-1", "refctr_E3c_z-1", "refctr_E4c_z-1", "refctr_E5c_z-1" ],
+ [ "refctr_E1d_z-1", "refctr_E2d_z-1", "refctr_E3d_z-1", "refctr_E4d_z-1", "refctr_E5d_z-1" ],
+ [ "refctr_E1e_z-1", "refctr_E2e_z-1", "refctr_E3e_z-1", "refctr_E4e_z-1", "refctr_E5e_z-1" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_E1a_z-2", "refctr_E2a_z-2", "refctr_E3a_z-2", "refctr_E4a_z-2", "refctr_E5a_z-2" ],
+ [ "refctr_E1b_z-2", "refctr_E2b_z-2", "refctr_E3b_z-2", "refctr_E4b_z-2", "refctr_E5b_z-2" ],
+ [ "refctr_E1c_z-2", "refctr_E2c_z-2", "refctr_E3c_z-2", "refctr_E4c_z-2", "refctr_E5c_z-2" ],
+ [ "refctr_E1d_z-2", "refctr_E2d_z-2", "refctr_E3d_z-2", "refctr_E4d_z-2", "refctr_E5d_z-2" ],
+ [ "refctr_E1e_z-2", "refctr_E2e_z-2", "refctr_E3e_z-2", "refctr_E4e_z-2", "refctr_E5e_z-2" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_E1a_z-3", "refctr_E2a_z-3", "refctr_E3a_z-3", "refctr_E4a_z-3", "refctr_E5a_z-3" ],
+ [ "refctr_E1b_z-3", "refctr_E2b_z-3", "refctr_E3b_z-3", "refctr_E4b_z-3", "refctr_E5b_z-3" ],
+ [ "refctr_E1c_z-3", "refctr_E2c_z-3", "refctr_E3c_z-3", "refctr_E4c_z-3", "refctr_E5c_z-3" ],
+ [ "refctr_E1d_z-3", "refctr_E2d_z-3", "refctr_E3d_z-3", "refctr_E4d_z-3", "refctr_E5d_z-3" ],
+ [ "refctr_E1e_z-3", "refctr_E2e_z-3", "refctr_E3e_z-3", "refctr_E4e_z-3", "refctr_E5e_z-3" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_E1a_z-4", "refctr_E2a_z-4", "refctr_E3a_z-4", "refctr_E4a_z-4", "refctr_E5a_z-4" ],
+ [ "refctr_E1b_z-4", "refctr_E2b_z-4", "refctr_E3b_z-4", "refctr_E4b_z-4", "refctr_E5b_z-4" ],
+ [ "refctr_E1c_z-4", "refctr_E2c_z-4", "refctr_E3c_z-4", "refctr_E4c_z-4", "refctr_E5c_z-4" ],
+ [ "refctr_E1d_z-4", "refctr_E2d_z-4", "refctr_E3d_z-4", "refctr_E4d_z-4", "refctr_E5d_z-4" ],
+ [ "refctr_E1e_z-4", "refctr_E2e_z-4", "refctr_E3e_z-4", "refctr_E4e_z-4", "refctr_E5e_z-4" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ }
+]
diff --git a/data/json/mapgen/refugee_center/rc_grounds_n.json b/data/json/mapgen/refugee_center/rc_grounds_n.json
new file mode 100644
index 0000000000000..3b3c840969095
--- /dev/null
+++ b/data/json/mapgen/refugee_center/rc_grounds_n.json
@@ -0,0 +1,260 @@
+[
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_N1a", "refctr_N2a", "refctr_N3a", "refctr_N4a", "refctr_N5a" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "........................................................................................................................",
+ "||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_N1b", "refctr_N2b", "refctr_N3b", "refctr_N4b", "refctr_N5b" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_N1c", "refctr_N2c", "refctr_N3c", "refctr_N4c", "refctr_N5c" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_N1d", "refctr_N2d", "refctr_N3d", "refctr_N4d", "refctr_N5d" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_N1e", "refctr_N2e", "refctr_N3e", "refctr_N4e", "refctr_N5e" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_N1a_z2", "refctr_N2a_z2", "refctr_N3a_z2", "refctr_N4a_z2", "refctr_N5a_z2" ],
+ [ "refctr_N1b_z2", "refctr_N2b_z2", "refctr_N3b_z2", "refctr_N4b_z2", "refctr_N5b_z2" ],
+ [ "refctr_N1c_z2", "refctr_N2c_z2", "refctr_N3c_z2", "refctr_N4c_z2", "refctr_N5c_z2" ],
+ [ "refctr_N1d_z2", "refctr_N2d_z2", "refctr_N3d_z2", "refctr_N4d_z2", "refctr_N5d_z2" ],
+ [ "refctr_N1e_z2", "refctr_N2e_z2", "refctr_N3e_z2", "refctr_N4e_z2", "refctr_N5e_z2" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_open_air" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_N1a_z1", "refctr_N2a_z1", "refctr_N3a_z1", "refctr_N4a_z1", "refctr_N5a_z1" ],
+ [ "refctr_N1b_z1", "refctr_N2b_z1", "refctr_N3b_z1", "refctr_N4b_z1", "refctr_N5b_z1" ],
+ [ "refctr_N1c_z1", "refctr_N2c_z1", "refctr_N3c_z1", "refctr_N4c_z1", "refctr_N5c_z1" ],
+ [ "refctr_N1d_z1", "refctr_N2d_z1", "refctr_N3d_z1", "refctr_N4d_z1", "refctr_N5d_z1" ],
+ [ "refctr_N1e_z1", "refctr_N2e_z1", "refctr_N3e_z1", "refctr_N4e_z1", "refctr_N5e_z1" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_open_air" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_N1a_z-1", "refctr_N2a_z-1", "refctr_N3a_z-1", "refctr_N4a_z-1", "refctr_N5a_z-1" ],
+ [ "refctr_N1b_z-1", "refctr_N2b_z-1", "refctr_N3b_z-1", "refctr_N4b_z-1", "refctr_N5b_z-1" ],
+ [ "refctr_N1c_z-1", "refctr_N2c_z-1", "refctr_N3c_z-1", "refctr_N4c_z-1", "refctr_N5c_z-1" ],
+ [ "refctr_N1d_z-1", "refctr_N2d_z-1", "refctr_N3d_z-1", "refctr_N4d_z-1", "refctr_N5d_z-1" ],
+ [ "refctr_N1e_z-1", "refctr_N2e_z-1", "refctr_N3e_z-1", "refctr_N4e_z-1", "refctr_N5e_z-1" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_N1a_z-2", "refctr_N2a_z-2", "refctr_N3a_z-2", "refctr_N4a_z-2", "refctr_N5a_z-2" ],
+ [ "refctr_N1b_z-2", "refctr_N2b_z-2", "refctr_N3b_z-2", "refctr_N4b_z-2", "refctr_N5b_z-2" ],
+ [ "refctr_N1c_z-2", "refctr_N2c_z-2", "refctr_N3c_z-2", "refctr_N4c_z-2", "refctr_N5c_z-2" ],
+ [ "refctr_N1d_z-2", "refctr_N2d_z-2", "refctr_N3d_z-2", "refctr_N4d_z-2", "refctr_N5d_z-2" ],
+ [ "refctr_N1e_z-2", "refctr_N2e_z-2", "refctr_N3e_z-2", "refctr_N4e_z-2", "refctr_N5e_z-2" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_N1a_z-3", "refctr_N2a_z-3", "refctr_N3a_z-3", "refctr_N4a_z-3", "refctr_N5a_z-3" ],
+ [ "refctr_N1b_z-3", "refctr_N2b_z-3", "refctr_N3b_z-3", "refctr_N4b_z-3", "refctr_N5b_z-3" ],
+ [ "refctr_N1c_z-3", "refctr_N2c_z-3", "refctr_N3c_z-3", "refctr_N4c_z-3", "refctr_N5c_z-3" ],
+ [ "refctr_N1d_z-3", "refctr_N2d_z-3", "refctr_N3d_z-3", "refctr_N4d_z-3", "refctr_N5d_z-3" ],
+ [ "refctr_N1e_z-3", "refctr_N2e_z-3", "refctr_N3e_z-3", "refctr_N4e_z-3", "refctr_N5e_z-3" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_N1a_z-4", "refctr_N2a_z-4", "refctr_N3a_z-4", "refctr_N4a_z-4", "refctr_N5a_z-4" ],
+ [ "refctr_N1b_z-4", "refctr_N2b_z-4", "refctr_N3b_z-4", "refctr_N4b_z-4", "refctr_N5b_z-4" ],
+ [ "refctr_N1c_z-4", "refctr_N2c_z-4", "refctr_N3c_z-4", "refctr_N4c_z-4", "refctr_N5c_z-4" ],
+ [ "refctr_N1d_z-4", "refctr_N2d_z-4", "refctr_N3d_z-4", "refctr_N4d_z-4", "refctr_N5d_z-4" ],
+ [ "refctr_N1e_z-4", "refctr_N2e_z-4", "refctr_N3e_z-4", "refctr_N4e_z-4", "refctr_N5e_z-4" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ }
+]
diff --git a/data/json/mapgen/refugee_center/rc_grounds_ne.json b/data/json/mapgen/refugee_center/rc_grounds_ne.json
new file mode 100644
index 0000000000000..206600739fef9
--- /dev/null
+++ b/data/json/mapgen/refugee_center/rc_grounds_ne.json
@@ -0,0 +1,260 @@
+[
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_NE1a", "refctr_NE2a", "refctr_NE3a", "refctr_NE4a", "refctr_NE5a" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "........................................................................................................................",
+ "|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|."
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_NE1b", "refctr_NE2b", "refctr_NE3b", "refctr_NE4b", "refctr_NE5b" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|."
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_NE1c", "refctr_NE2c", "refctr_NE3c", "refctr_NE4c", "refctr_NE5c" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|."
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_NE1d", "refctr_NE2d", "refctr_NE3d", "refctr_NE4d", "refctr_NE5d" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|."
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_NE1e", "refctr_NE2e", "refctr_NE3e", "refctr_NE4e", "refctr_NE5e" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|."
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_NE1a_z2", "refctr_NE2a_z2", "refctr_NE3a_z2", "refctr_NE4a_z2", "refctr_NE5a_z2" ],
+ [ "refctr_NE1b_z2", "refctr_NE2b_z2", "refctr_NE3b_z2", "refctr_NE4b_z2", "refctr_NE5b_z2" ],
+ [ "refctr_NE1c_z2", "refctr_NE2c_z2", "refctr_NE3c_z2", "refctr_NE4c_z2", "refctr_NE5c_z2" ],
+ [ "refctr_NE1d_z2", "refctr_NE2d_z2", "refctr_NE3d_z2", "refctr_NE4d_z2", "refctr_NE5d_z2" ],
+ [ "refctr_NE1e_z2", "refctr_NE2e_z2", "refctr_NE3e_z2", "refctr_NE4e_z2", "refctr_NE5e_z2" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_open_air" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_NE1a_z1", "refctr_NE2a_z1", "refctr_NE3a_z1", "refctr_NE4a_z1", "refctr_NE5a_z1" ],
+ [ "refctr_NE1b_z1", "refctr_NE2b_z1", "refctr_NE3b_z1", "refctr_NE4b_z1", "refctr_NE5b_z1" ],
+ [ "refctr_NE1c_z1", "refctr_NE2c_z1", "refctr_NE3c_z1", "refctr_NE4c_z1", "refctr_NE5c_z1" ],
+ [ "refctr_NE1d_z1", "refctr_NE2d_z1", "refctr_NE3d_z1", "refctr_NE4d_z1", "refctr_NE5d_z1" ],
+ [ "refctr_NE1e_z1", "refctr_NE2e_z1", "refctr_NE3e_z1", "refctr_NE4e_z1", "refctr_NE5e_z1" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_open_air" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_NE1a_z-1", "refctr_NE2a_z-1", "refctr_NE3a_z-1", "refctr_NE4a_z-1", "refctr_NE5a_z-1" ],
+ [ "refctr_NE1b_z-1", "refctr_NE2b_z-1", "refctr_NE3b_z-1", "refctr_NE4b_z-1", "refctr_NE5b_z-1" ],
+ [ "refctr_NE1c_z-1", "refctr_NE2c_z-1", "refctr_NE3c_z-1", "refctr_NE4c_z-1", "refctr_NE5c_z-1" ],
+ [ "refctr_NE1d_z-1", "refctr_NE2d_z-1", "refctr_NE3d_z-1", "refctr_NE4d_z-1", "refctr_NE5d_z-1" ],
+ [ "refctr_NE1e_z-1", "refctr_NE2e_z-1", "refctr_NE3e_z-1", "refctr_NE4e_z-1", "refctr_NE5e_z-1" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_NE1a_z-2", "refctr_NE2a_z-2", "refctr_NE3a_z-2", "refctr_NE4a_z-2", "refctr_NE5a_z-2" ],
+ [ "refctr_NE1b_z-2", "refctr_NE2b_z-2", "refctr_NE3b_z-2", "refctr_NE4b_z-2", "refctr_NE5b_z-2" ],
+ [ "refctr_NE1c_z-2", "refctr_NE2c_z-2", "refctr_NE3c_z-2", "refctr_NE4c_z-2", "refctr_NE5c_z-2" ],
+ [ "refctr_NE1d_z-2", "refctr_NE2d_z-2", "refctr_NE3d_z-2", "refctr_NE4d_z-2", "refctr_NE5d_z-2" ],
+ [ "refctr_NE1e_z-2", "refctr_NE2e_z-2", "refctr_NE3e_z-2", "refctr_NE4e_z-2", "refctr_NE5e_z-2" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_NE1a_z-3", "refctr_NE2a_z-3", "refctr_NE3a_z-3", "refctr_NE4a_z-3", "refctr_NE5a_z-3" ],
+ [ "refctr_NE1b_z-3", "refctr_NE2b_z-3", "refctr_NE3b_z-3", "refctr_NE4b_z-3", "refctr_NE5b_z-3" ],
+ [ "refctr_NE1c_z-3", "refctr_NE2c_z-3", "refctr_NE3c_z-3", "refctr_NE4c_z-3", "refctr_NE5c_z-3" ],
+ [ "refctr_NE1d_z-3", "refctr_NE2d_z-3", "refctr_NE3d_z-3", "refctr_NE4d_z-3", "refctr_NE5d_z-3" ],
+ [ "refctr_NE1e_z-3", "refctr_NE2e_z-3", "refctr_NE3e_z-3", "refctr_NE4e_z-3", "refctr_NE5e_z-3" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_NE1a_z-4", "refctr_NE2a_z-4", "refctr_NE3a_z-4", "refctr_NE4a_z-4", "refctr_NE5a_z-4" ],
+ [ "refctr_NE1b_z-4", "refctr_NE2b_z-4", "refctr_NE3b_z-4", "refctr_NE4b_z-4", "refctr_NE5b_z-4" ],
+ [ "refctr_NE1c_z-4", "refctr_NE2c_z-4", "refctr_NE3c_z-4", "refctr_NE4c_z-4", "refctr_NE5c_z-4" ],
+ [ "refctr_NE1d_z-4", "refctr_NE2d_z-4", "refctr_NE3d_z-4", "refctr_NE4d_z-4", "refctr_NE5d_z-4" ],
+ [ "refctr_NE1e_z-4", "refctr_NE2e_z-4", "refctr_NE3e_z-4", "refctr_NE4e_z-4", "refctr_NE5e_z-4" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ }
+]
diff --git a/data/json/mapgen/refugee_center/rc_grounds_nw.json b/data/json/mapgen/refugee_center/rc_grounds_nw.json
new file mode 100644
index 0000000000000..f2f1cd4c1003d
--- /dev/null
+++ b/data/json/mapgen/refugee_center/rc_grounds_nw.json
@@ -0,0 +1,260 @@
+[
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_NW1a", "refctr_NW2a", "refctr_NW3a", "refctr_NW4a", "refctr_NW5a" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "........................................................................................................................",
+ ".|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_NW1b", "refctr_NW2b", "refctr_NW3b", "refctr_NW4b", "refctr_NW5b" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_NW1c", "refctr_NW2c", "refctr_NW3c", "refctr_NW4c", "refctr_NW5c" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_NW1d", "refctr_NW2d", "refctr_NW3d", "refctr_NW4d", "refctr_NW5d" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_NW1e", "refctr_NW2e", "refctr_NW3e", "refctr_NW4e", "refctr_NW5e" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_NW1a_z2", "refctr_NW2a_z2", "refctr_NW3a_z2", "refctr_NW4a_z2", "refctr_NW5a_z2" ],
+ [ "refctr_NW1b_z2", "refctr_NW2b_z2", "refctr_NW3b_z2", "refctr_NW4b_z2", "refctr_NW5b_z2" ],
+ [ "refctr_NW1c_z2", "refctr_NW2c_z2", "refctr_NW3c_z2", "refctr_NW4c_z2", "refctr_NW5c_z2" ],
+ [ "refctr_NW1d_z2", "refctr_NW2d_z2", "refctr_NW3d_z2", "refctr_NW4d_z2", "refctr_NW5d_z2" ],
+ [ "refctr_NW1e_z2", "refctr_NW2e_z2", "refctr_NW3e_z2", "refctr_NW4e_z2", "refctr_NW5e_z2" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_open_air" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_NW1a_z1", "refctr_NW2a_z1", "refctr_NW3a_z1", "refctr_NW4a_z1", "refctr_NW5a_z1" ],
+ [ "refctr_NW1b_z1", "refctr_NW2b_z1", "refctr_NW3b_z1", "refctr_NW4b_z1", "refctr_NW5b_z1" ],
+ [ "refctr_NW1c_z1", "refctr_NW2c_z1", "refctr_NW3c_z1", "refctr_NW4c_z1", "refctr_NW5c_z1" ],
+ [ "refctr_NW1d_z1", "refctr_NW2d_z1", "refctr_NW3d_z1", "refctr_NW4d_z1", "refctr_NW5d_z1" ],
+ [ "refctr_NW1e_z1", "refctr_NW2e_z1", "refctr_NW3e_z1", "refctr_NW4e_z1", "refctr_NW5e_z1" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_open_air" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_NW1a_z-1", "refctr_NW2a_z-1", "refctr_NW3a_z-1", "refctr_NW4a_z-1", "refctr_NW5a_z-1" ],
+ [ "refctr_NW1b_z-1", "refctr_NW2b_z-1", "refctr_NW3b_z-1", "refctr_NW4b_z-1", "refctr_NW5b_z-1" ],
+ [ "refctr_NW1c_z-1", "refctr_NW2c_z-1", "refctr_NW3c_z-1", "refctr_NW4c_z-1", "refctr_NW5c_z-1" ],
+ [ "refctr_NW1d_z-1", "refctr_NW2d_z-1", "refctr_NW3d_z-1", "refctr_NW4d_z-1", "refctr_NW5d_z-1" ],
+ [ "refctr_NW1e_z-1", "refctr_NW2e_z-1", "refctr_NW3e_z-1", "refctr_NW4e_z-1", "refctr_NW5e_z-1" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_NW1a_z-2", "refctr_NW2a_z-2", "refctr_NW3a_z-2", "refctr_NW4a_z-2", "refctr_NW5a_z-2" ],
+ [ "refctr_NW1b_z-2", "refctr_NW2b_z-2", "refctr_NW3b_z-2", "refctr_NW4b_z-2", "refctr_NW5b_z-2" ],
+ [ "refctr_NW1c_z-2", "refctr_NW2c_z-2", "refctr_NW3c_z-2", "refctr_NW4c_z-2", "refctr_NW5c_z-2" ],
+ [ "refctr_NW1d_z-2", "refctr_NW2d_z-2", "refctr_NW3d_z-2", "refctr_NW4d_z-2", "refctr_NW5d_z-2" ],
+ [ "refctr_NW1e_z-2", "refctr_NW2e_z-2", "refctr_NW3e_z-2", "refctr_NW4e_z-2", "refctr_NW5e_z-2" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_NW1a_z-3", "refctr_NW2a_z-3", "refctr_NW3a_z-3", "refctr_NW4a_z-3", "refctr_NW5a_z-3" ],
+ [ "refctr_NW1b_z-3", "refctr_NW2b_z-3", "refctr_NW3b_z-3", "refctr_NW4b_z-3", "refctr_NW5b_z-3" ],
+ [ "refctr_NW1c_z-3", "refctr_NW2c_z-3", "refctr_NW3c_z-3", "refctr_NW4c_z-3", "refctr_NW5c_z-3" ],
+ [ "refctr_NW1d_z-3", "refctr_NW2d_z-3", "refctr_NW3d_z-3", "refctr_NW4d_z-3", "refctr_NW5d_z-3" ],
+ [ "refctr_NW1e_z-3", "refctr_NW2e_z-3", "refctr_NW3e_z-3", "refctr_NW4e_z-3", "refctr_NW5e_z-3" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_NW1a_z-4", "refctr_NW2a_z-4", "refctr_NW3a_z-4", "refctr_NW4a_z-4", "refctr_NW5a_z-4" ],
+ [ "refctr_NW1b_z-4", "refctr_NW2b_z-4", "refctr_NW3b_z-4", "refctr_NW4b_z-4", "refctr_NW5b_z-4" ],
+ [ "refctr_NW1c_z-4", "refctr_NW2c_z-4", "refctr_NW3c_z-4", "refctr_NW4c_z-4", "refctr_NW5c_z-4" ],
+ [ "refctr_NW1d_z-4", "refctr_NW2d_z-4", "refctr_NW3d_z-4", "refctr_NW4d_z-4", "refctr_NW5d_z-4" ],
+ [ "refctr_NW1e_z-4", "refctr_NW2e_z-4", "refctr_NW3e_z-4", "refctr_NW4e_z-4", "refctr_NW5e_z-4" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ }
+]
diff --git a/data/json/mapgen/refugee_center/rc_grounds_s.json b/data/json/mapgen/refugee_center/rc_grounds_s.json
new file mode 100644
index 0000000000000..3383fd936d8f3
--- /dev/null
+++ b/data/json/mapgen/refugee_center/rc_grounds_s.json
@@ -0,0 +1,260 @@
+[
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_S1a", "refctr_S2a", "refctr_S3a", "refctr_S4a", "refctr_S5a" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_S1b", "refctr_S2b", "refctr_S3b", "refctr_S4b", "refctr_S5b" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_S1c", "refctr_S2c", "refctr_S3c", "refctr_S4c", "refctr_S5c" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_S1d", "refctr_S2d", "refctr_S3d", "refctr_S4d", "refctr_S5d" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_S1e", "refctr_S2e", "refctr_S3e", "refctr_S4e", "refctr_S5e" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "||||||||||||||||||||||||||||||||||||............''''_______,,_______''''............||||||||||||||||||||||||||||||||||||",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''________________''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................",
+ "................................................''''_______,,_______''''................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_S1a_z2", "refctr_S2a_z2", "refctr_S3a_z2", "refctr_S4a_z2", "refctr_S5a_z2" ],
+ [ "refctr_S1b_z2", "refctr_S2b_z2", "refctr_S3b_z2", "refctr_S4b_z2", "refctr_S5b_z2" ],
+ [ "refctr_S1c_z2", "refctr_S2c_z2", "refctr_S3c_z2", "refctr_S4c_z2", "refctr_S5c_z2" ],
+ [ "refctr_S1d_z2", "refctr_S2d_z2", "refctr_S3d_z2", "refctr_S4d_z2", "refctr_S5d_z2" ],
+ [ "refctr_S1e_z2", "refctr_S2e_z2", "refctr_S3e_z2", "refctr_S4e_z2", "refctr_S5e_z2" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_open_air" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_S1a_z1", "refctr_S2a_z1", "refctr_S3a_z1", "refctr_S4a_z1", "refctr_S5a_z1" ],
+ [ "refctr_S1b_z1", "refctr_S2b_z1", "refctr_S3b_z1", "refctr_S4b_z1", "refctr_S5b_z1" ],
+ [ "refctr_S1c_z1", "refctr_S2c_z1", "refctr_S3c_z1", "refctr_S4c_z1", "refctr_S5c_z1" ],
+ [ "refctr_S1d_z1", "refctr_S2d_z1", "refctr_S3d_z1", "refctr_S4d_z1", "refctr_S5d_z1" ],
+ [ "refctr_S1e_z1", "refctr_S2e_z1", "refctr_S3e_z1", "refctr_S4e_z1", "refctr_S5e_z1" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_open_air" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_S1a_z-1", "refctr_S2a_z-1", "refctr_S3a_z-1", "refctr_S4a_z-1", "refctr_S5a_z-1" ],
+ [ "refctr_S1b_z-1", "refctr_S2b_z-1", "refctr_S3b_z-1", "refctr_S4b_z-1", "refctr_S5b_z-1" ],
+ [ "refctr_S1c_z-1", "refctr_S2c_z-1", "refctr_S3c_z-1", "refctr_S4c_z-1", "refctr_S5c_z-1" ],
+ [ "refctr_S1d_z-1", "refctr_S2d_z-1", "refctr_S3d_z-1", "refctr_S4d_z-1", "refctr_S5d_z-1" ],
+ [ "refctr_S1e_z-1", "refctr_S2e_z-1", "refctr_S3e_z-1", "refctr_S4e_z-1", "refctr_S5e_z-1" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_S1a_z-2", "refctr_S2a_z-2", "refctr_S3a_z-2", "refctr_S4a_z-2", "refctr_S5a_z-2" ],
+ [ "refctr_S1b_z-2", "refctr_S2b_z-2", "refctr_S3b_z-2", "refctr_S4b_z-2", "refctr_S5b_z-2" ],
+ [ "refctr_S1c_z-2", "refctr_S2c_z-2", "refctr_S3c_z-2", "refctr_S4c_z-2", "refctr_S5c_z-2" ],
+ [ "refctr_S1d_z-2", "refctr_S2d_z-2", "refctr_S3d_z-2", "refctr_S4d_z-2", "refctr_S5d_z-2" ],
+ [ "refctr_S1e_z-2", "refctr_S2e_z-2", "refctr_S3e_z-2", "refctr_S4e_z-2", "refctr_S5e_z-2" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_S1a_z-3", "refctr_S2a_z-3", "refctr_S3a_z-3", "refctr_S4a_z-3", "refctr_S5a_z-3" ],
+ [ "refctr_S1b_z-3", "refctr_S2b_z-3", "refctr_S3b_z-3", "refctr_S4b_z-3", "refctr_S5b_z-3" ],
+ [ "refctr_S1c_z-3", "refctr_S2c_z-3", "refctr_S3c_z-3", "refctr_S4c_z-3", "refctr_S5c_z-3" ],
+ [ "refctr_S1d_z-3", "refctr_S2d_z-3", "refctr_S3d_z-3", "refctr_S4d_z-3", "refctr_S5d_z-3" ],
+ [ "refctr_S1e_z-3", "refctr_S2e_z-3", "refctr_S3e_z-3", "refctr_S4e_z-3", "refctr_S5e_z-3" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_S1a_z-4", "refctr_S2a_z-4", "refctr_S3a_z-4", "refctr_S4a_z-4", "refctr_S5a_z-4" ],
+ [ "refctr_S1b_z-4", "refctr_S2b_z-4", "refctr_S3b_z-4", "refctr_S4b_z-4", "refctr_S5b_z-4" ],
+ [ "refctr_S1c_z-4", "refctr_S2c_z-4", "refctr_S3c_z-4", "refctr_S4c_z-4", "refctr_S5c_z-4" ],
+ [ "refctr_S1d_z-4", "refctr_S2d_z-4", "refctr_S3d_z-4", "refctr_S4d_z-4", "refctr_S5d_z-4" ],
+ [ "refctr_S1e_z-4", "refctr_S2e_z-4", "refctr_S3e_z-4", "refctr_S4e_z-4", "refctr_S5e_z-4" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ }
+]
diff --git a/data/json/mapgen/refugee_center/rc_grounds_se.json b/data/json/mapgen/refugee_center/rc_grounds_se.json
new file mode 100644
index 0000000000000..b95f136ff8c22
--- /dev/null
+++ b/data/json/mapgen/refugee_center/rc_grounds_se.json
@@ -0,0 +1,260 @@
+[
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_SE1a", "refctr_SE2a", "refctr_SE3a", "refctr_SE4a", "refctr_SE5a" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|."
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_SE1b", "refctr_SE2b", "refctr_SE3b", "refctr_SE4b", "refctr_SE5b" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|."
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_SE1c", "refctr_SE2c", "refctr_SE3c", "refctr_SE4c", "refctr_SE5c" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|."
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_SE1d", "refctr_SE2d", "refctr_SE3d", "refctr_SE4d", "refctr_SE5d" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|."
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_SE1e", "refctr_SE2e", "refctr_SE3e", "refctr_SE4e", "refctr_SE5e" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "......................................................................................................................|.",
+ "|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||.",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_SE1a_z2", "refctr_SE2a_z2", "refctr_SE3a_z2", "refctr_SE4a_z2", "refctr_SE5a_z2" ],
+ [ "refctr_SE1b_z2", "refctr_SE2b_z2", "refctr_SE3b_z2", "refctr_SE4b_z2", "refctr_SE5b_z2" ],
+ [ "refctr_SE1c_z2", "refctr_SE2c_z2", "refctr_SE3c_z2", "refctr_SE4c_z2", "refctr_SE5c_z2" ],
+ [ "refctr_SE1d_z2", "refctr_SE2d_z2", "refctr_SE3d_z2", "refctr_SE4d_z2", "refctr_SE5d_z2" ],
+ [ "refctr_SE1e_z2", "refctr_SE2e_z2", "refctr_SE3e_z2", "refctr_SE4e_z2", "refctr_SE5e_z2" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_open_air" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_SE1a_z1", "refctr_SE2a_z1", "refctr_SE3a_z1", "refctr_SE4a_z1", "refctr_SE5a_z1" ],
+ [ "refctr_SE1b_z1", "refctr_SE2b_z1", "refctr_SE3b_z1", "refctr_SE4b_z1", "refctr_SE5b_z1" ],
+ [ "refctr_SE1c_z1", "refctr_SE2c_z1", "refctr_SE3c_z1", "refctr_SE4c_z1", "refctr_SE5c_z1" ],
+ [ "refctr_SE1d_z1", "refctr_SE2d_z1", "refctr_SE3d_z1", "refctr_SE4d_z1", "refctr_SE5d_z1" ],
+ [ "refctr_SE1e_z1", "refctr_SE2e_z1", "refctr_SE3e_z1", "refctr_SE4e_z1", "refctr_SE5e_z1" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_open_air" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_SE1a_z-1", "refctr_SE2a_z-1", "refctr_SE3a_z-1", "refctr_SE4a_z-1", "refctr_SE5a_z-1" ],
+ [ "refctr_SE1b_z-1", "refctr_SE2b_z-1", "refctr_SE3b_z-1", "refctr_SE4b_z-1", "refctr_SE5b_z-1" ],
+ [ "refctr_SE1c_z-1", "refctr_SE2c_z-1", "refctr_SE3c_z-1", "refctr_SE4c_z-1", "refctr_SE5c_z-1" ],
+ [ "refctr_SE1d_z-1", "refctr_SE2d_z-1", "refctr_SE3d_z-1", "refctr_SE4d_z-1", "refctr_SE5d_z-1" ],
+ [ "refctr_SE1e_z-1", "refctr_SE2e_z-1", "refctr_SE3e_z-1", "refctr_SE4e_z-1", "refctr_SE5e_z-1" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_SE1a_z-2", "refctr_SE2a_z-2", "refctr_SE3a_z-2", "refctr_SE4a_z-2", "refctr_SE5a_z-2" ],
+ [ "refctr_SE1b_z-2", "refctr_SE2b_z-2", "refctr_SE3b_z-2", "refctr_SE4b_z-2", "refctr_SE5b_z-2" ],
+ [ "refctr_SE1c_z-2", "refctr_SE2c_z-2", "refctr_SE3c_z-2", "refctr_SE4c_z-2", "refctr_SE5c_z-2" ],
+ [ "refctr_SE1d_z-2", "refctr_SE2d_z-2", "refctr_SE3d_z-2", "refctr_SE4d_z-2", "refctr_SE5d_z-2" ],
+ [ "refctr_SE1e_z-2", "refctr_SE2e_z-2", "refctr_SE3e_z-2", "refctr_SE4e_z-2", "refctr_SE5e_z-2" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_SE1a_z-3", "refctr_SE2a_z-3", "refctr_SE3a_z-3", "refctr_SE4a_z-3", "refctr_SE5a_z-3" ],
+ [ "refctr_SE1b_z-3", "refctr_SE2b_z-3", "refctr_SE3b_z-3", "refctr_SE4b_z-3", "refctr_SE5b_z-3" ],
+ [ "refctr_SE1c_z-3", "refctr_SE2c_z-3", "refctr_SE3c_z-3", "refctr_SE4c_z-3", "refctr_SE5c_z-3" ],
+ [ "refctr_SE1d_z-3", "refctr_SE2d_z-3", "refctr_SE3d_z-3", "refctr_SE4d_z-3", "refctr_SE5d_z-3" ],
+ [ "refctr_SE1e_z-3", "refctr_SE2e_z-3", "refctr_SE3e_z-3", "refctr_SE4e_z-3", "refctr_SE5e_z-3" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_SE1a_z-4", "refctr_SE2a_z-4", "refctr_SE3a_z-4", "refctr_SE4a_z-4", "refctr_SE5a_z-4" ],
+ [ "refctr_SE1b_z-4", "refctr_SE2b_z-4", "refctr_SE3b_z-4", "refctr_SE4b_z-4", "refctr_SE5b_z-4" ],
+ [ "refctr_SE1c_z-4", "refctr_SE2c_z-4", "refctr_SE3c_z-4", "refctr_SE4c_z-4", "refctr_SE5c_z-4" ],
+ [ "refctr_SE1d_z-4", "refctr_SE2d_z-4", "refctr_SE3d_z-4", "refctr_SE4d_z-4", "refctr_SE5d_z-4" ],
+ [ "refctr_SE1e_z-4", "refctr_SE2e_z-4", "refctr_SE3e_z-4", "refctr_SE4e_z-4", "refctr_SE5e_z-4" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ }
+]
diff --git a/data/json/mapgen/refugee_center/rc_grounds_sw.json b/data/json/mapgen/refugee_center/rc_grounds_sw.json
new file mode 100644
index 0000000000000..6dcadb1fceb22
--- /dev/null
+++ b/data/json/mapgen/refugee_center/rc_grounds_sw.json
@@ -0,0 +1,260 @@
+[
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_SW1a", "refctr_SW2a", "refctr_SW3a", "refctr_SW4a", "refctr_SW5a" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_SW1b", "refctr_SW2b", "refctr_SW3b", "refctr_SW4b", "refctr_SW5b" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_SW1c", "refctr_SW2c", "refctr_SW3c", "refctr_SW4c", "refctr_SW5c" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_SW1d", "refctr_SW2d", "refctr_SW3d", "refctr_SW4d", "refctr_SW5d" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_SW1e", "refctr_SW2e", "refctr_SW3e", "refctr_SW4e", "refctr_SW5e" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................",
+ "........................................................................................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_SW1a_z2", "refctr_SW2a_z2", "refctr_SW3a_z2", "refctr_SW4a_z2", "refctr_SW5a_z2" ],
+ [ "refctr_SW1b_z2", "refctr_SW2b_z2", "refctr_SW3b_z2", "refctr_SW4b_z2", "refctr_SW5b_z2" ],
+ [ "refctr_SW1c_z2", "refctr_SW2c_z2", "refctr_SW3c_z2", "refctr_SW4c_z2", "refctr_SW5c_z2" ],
+ [ "refctr_SW1d_z2", "refctr_SW2d_z2", "refctr_SW3d_z2", "refctr_SW4d_z2", "refctr_SW5d_z2" ],
+ [ "refctr_SW1e_z2", "refctr_SW2e_z2", "refctr_SW3e_z2", "refctr_SW4e_z2", "refctr_SW5e_z2" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_open_air" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_SW1a_z1", "refctr_SW2a_z1", "refctr_SW3a_z1", "refctr_SW4a_z1", "refctr_SW5a_z1" ],
+ [ "refctr_SW1b_z1", "refctr_SW2b_z1", "refctr_SW3b_z1", "refctr_SW4b_z1", "refctr_SW5b_z1" ],
+ [ "refctr_SW1c_z1", "refctr_SW2c_z1", "refctr_SW3c_z1", "refctr_SW4c_z1", "refctr_SW5c_z1" ],
+ [ "refctr_SW1d_z1", "refctr_SW2d_z1", "refctr_SW3d_z1", "refctr_SW4d_z1", "refctr_SW5d_z1" ],
+ [ "refctr_SW1e_z1", "refctr_SW2e_z1", "refctr_SW3e_z1", "refctr_SW4e_z1", "refctr_SW5e_z1" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_open_air" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_SW1a_z-1", "refctr_SW2a_z-1", "refctr_SW3a_z-1", "refctr_SW4a_z-1", "refctr_SW5a_z-1" ],
+ [ "refctr_SW1b_z-1", "refctr_SW2b_z-1", "refctr_SW3b_z-1", "refctr_SW4b_z-1", "refctr_SW5b_z-1" ],
+ [ "refctr_SW1c_z-1", "refctr_SW2c_z-1", "refctr_SW3c_z-1", "refctr_SW4c_z-1", "refctr_SW5c_z-1" ],
+ [ "refctr_SW1d_z-1", "refctr_SW2d_z-1", "refctr_SW3d_z-1", "refctr_SW4d_z-1", "refctr_SW5d_z-1" ],
+ [ "refctr_SW1e_z-1", "refctr_SW2e_z-1", "refctr_SW3e_z-1", "refctr_SW4e_z-1", "refctr_SW5e_z-1" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_SW1a_z-2", "refctr_SW2a_z-2", "refctr_SW3a_z-2", "refctr_SW4a_z-2", "refctr_SW5a_z-2" ],
+ [ "refctr_SW1b_z-2", "refctr_SW2b_z-2", "refctr_SW3b_z-2", "refctr_SW4b_z-2", "refctr_SW5b_z-2" ],
+ [ "refctr_SW1c_z-2", "refctr_SW2c_z-2", "refctr_SW3c_z-2", "refctr_SW4c_z-2", "refctr_SW5c_z-2" ],
+ [ "refctr_SW1d_z-2", "refctr_SW2d_z-2", "refctr_SW3d_z-2", "refctr_SW4d_z-2", "refctr_SW5d_z-2" ],
+ [ "refctr_SW1e_z-2", "refctr_SW2e_z-2", "refctr_SW3e_z-2", "refctr_SW4e_z-2", "refctr_SW5e_z-2" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_SW1a_z-3", "refctr_SW2a_z-3", "refctr_SW3a_z-3", "refctr_SW4a_z-3", "refctr_SW5a_z-3" ],
+ [ "refctr_SW1b_z-3", "refctr_SW2b_z-3", "refctr_SW3b_z-3", "refctr_SW4b_z-3", "refctr_SW5b_z-3" ],
+ [ "refctr_SW1c_z-3", "refctr_SW2c_z-3", "refctr_SW3c_z-3", "refctr_SW4c_z-3", "refctr_SW5c_z-3" ],
+ [ "refctr_SW1d_z-3", "refctr_SW2d_z-3", "refctr_SW3d_z-3", "refctr_SW4d_z-3", "refctr_SW5d_z-3" ],
+ [ "refctr_SW1e_z-3", "refctr_SW2e_z-3", "refctr_SW3e_z-3", "refctr_SW4e_z-3", "refctr_SW5e_z-3" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_SW1a_z-4", "refctr_SW2a_z-4", "refctr_SW3a_z-4", "refctr_SW4a_z-4", "refctr_SW5a_z-4" ],
+ [ "refctr_SW1b_z-4", "refctr_SW2b_z-4", "refctr_SW3b_z-4", "refctr_SW4b_z-4", "refctr_SW5b_z-4" ],
+ [ "refctr_SW1c_z-4", "refctr_SW2c_z-4", "refctr_SW3c_z-4", "refctr_SW4c_z-4", "refctr_SW5c_z-4" ],
+ [ "refctr_SW1d_z-4", "refctr_SW2d_z-4", "refctr_SW3d_z-4", "refctr_SW4d_z-4", "refctr_SW5d_z-4" ],
+ [ "refctr_SW1e_z-4", "refctr_SW2e_z-4", "refctr_SW3e_z-4", "refctr_SW4e_z-4", "refctr_SW5e_z-4" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ }
+]
diff --git a/data/json/mapgen/refugee_center/rc_grounds_w.json b/data/json/mapgen/refugee_center/rc_grounds_w.json
new file mode 100644
index 0000000000000..c51c9c9b1ae40
--- /dev/null
+++ b/data/json/mapgen/refugee_center/rc_grounds_w.json
@@ -0,0 +1,260 @@
+[
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_W1a", "refctr_W2a", "refctr_W3a", "refctr_W4a", "refctr_W5a" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_W1b", "refctr_W2b", "refctr_W3b", "refctr_W4b", "refctr_W5b" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_W1c", "refctr_W2c", "refctr_W3c", "refctr_W4c", "refctr_W5c" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_W1d", "refctr_W2d", "refctr_W3d", "refctr_W4d", "refctr_W5d" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ [ "refctr_W1e", "refctr_W2e", "refctr_W3e", "refctr_W4e", "refctr_W5e" ] ],
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_grass",
+ "rows": [
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................",
+ ".|......................................................................................................................"
+ ],
+ "palettes": [ "rc_grounds" ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_W1a_z2", "refctr_W2a_z2", "refctr_W3a_z2", "refctr_W4a_z2", "refctr_W5a_z2" ],
+ [ "refctr_W1b_z2", "refctr_W2b_z2", "refctr_W3b_z2", "refctr_W4b_z2", "refctr_W5b_z2" ],
+ [ "refctr_W1c_z2", "refctr_W2c_z2", "refctr_W3c_z2", "refctr_W4c_z2", "refctr_W5c_z2" ],
+ [ "refctr_W1d_z2", "refctr_W2d_z2", "refctr_W3d_z2", "refctr_W4d_z2", "refctr_W5d_z2" ],
+ [ "refctr_W1e_z2", "refctr_W2e_z2", "refctr_W3e_z2", "refctr_W4e_z2", "refctr_W5e_z2" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_open_air" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_W1a_z1", "refctr_W2a_z1", "refctr_W3a_z1", "refctr_W4a_z1", "refctr_W5a_z1" ],
+ [ "refctr_W1b_z1", "refctr_W2b_z1", "refctr_W3b_z1", "refctr_W4b_z1", "refctr_W5b_z1" ],
+ [ "refctr_W1c_z1", "refctr_W2c_z1", "refctr_W3c_z1", "refctr_W4c_z1", "refctr_W5c_z1" ],
+ [ "refctr_W1d_z1", "refctr_W2d_z1", "refctr_W3d_z1", "refctr_W4d_z1", "refctr_W5d_z1" ],
+ [ "refctr_W1e_z1", "refctr_W2e_z1", "refctr_W3e_z1", "refctr_W4e_z1", "refctr_W5e_z1" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_open_air" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_W1a_z-1", "refctr_W2a_z-1", "refctr_W3a_z-1", "refctr_W4a_z-1", "refctr_W5a_z-1" ],
+ [ "refctr_W1b_z-1", "refctr_W2b_z-1", "refctr_W3b_z-1", "refctr_W4b_z-1", "refctr_W5b_z-1" ],
+ [ "refctr_W1c_z-1", "refctr_W2c_z-1", "refctr_W3c_z-1", "refctr_W4c_z-1", "refctr_W5c_z-1" ],
+ [ "refctr_W1d_z-1", "refctr_W2d_z-1", "refctr_W3d_z-1", "refctr_W4d_z-1", "refctr_W5d_z-1" ],
+ [ "refctr_W1e_z-1", "refctr_W2e_z-1", "refctr_W3e_z-1", "refctr_W4e_z-1", "refctr_W5e_z-1" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_W1a_z-2", "refctr_W2a_z-2", "refctr_W3a_z-2", "refctr_W4a_z-2", "refctr_W5a_z-2" ],
+ [ "refctr_W1b_z-2", "refctr_W2b_z-2", "refctr_W3b_z-2", "refctr_W4b_z-2", "refctr_W5b_z-2" ],
+ [ "refctr_W1c_z-2", "refctr_W2c_z-2", "refctr_W3c_z-2", "refctr_W4c_z-2", "refctr_W5c_z-2" ],
+ [ "refctr_W1d_z-2", "refctr_W2d_z-2", "refctr_W3d_z-2", "refctr_W4d_z-2", "refctr_W5d_z-2" ],
+ [ "refctr_W1e_z-2", "refctr_W2e_z-2", "refctr_W3e_z-2", "refctr_W4e_z-2", "refctr_W5e_z-2" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_W1a_z-3", "refctr_W2a_z-3", "refctr_W3a_z-3", "refctr_W4a_z-3", "refctr_W5a_z-3" ],
+ [ "refctr_W1b_z-3", "refctr_W2b_z-3", "refctr_W3b_z-3", "refctr_W4b_z-3", "refctr_W5b_z-3" ],
+ [ "refctr_W1c_z-3", "refctr_W2c_z-3", "refctr_W3c_z-3", "refctr_W4c_z-3", "refctr_W5c_z-3" ],
+ [ "refctr_W1d_z-3", "refctr_W2d_z-3", "refctr_W3d_z-3", "refctr_W4d_z-3", "refctr_W5d_z-3" ],
+ [ "refctr_W1e_z-3", "refctr_W2e_z-3", "refctr_W3e_z-3", "refctr_W4e_z-3", "refctr_W5e_z-3" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "refctr_W1a_z-4", "refctr_W2a_z-4", "refctr_W3a_z-4", "refctr_W4a_z-4", "refctr_W5a_z-4" ],
+ [ "refctr_W1b_z-4", "refctr_W2b_z-4", "refctr_W3b_z-4", "refctr_W4b_z-4", "refctr_W5b_z-4" ],
+ [ "refctr_W1c_z-4", "refctr_W2c_z-4", "refctr_W3c_z-4", "refctr_W4c_z-4", "refctr_W5c_z-4" ],
+ [ "refctr_W1d_z-4", "refctr_W2d_z-4", "refctr_W3d_z-4", "refctr_W4d_z-4", "refctr_W5d_z-4" ],
+ [ "refctr_W1e_z-4", "refctr_W2e_z-4", "refctr_W3e_z-4", "refctr_W4e_z-4", "refctr_W5e_z-4" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ }
+]
diff --git a/data/json/mapgen/refugee_center.json b/data/json/mapgen/refugee_center/refugee_center.json
similarity index 100%
rename from data/json/mapgen/refugee_center.json
rename to data/json/mapgen/refugee_center/refugee_center.json
diff --git a/data/json/mapgen/refugee_center/z-1_refugee_center.json b/data/json/mapgen/refugee_center/z-1_refugee_center.json
new file mode 100644
index 0000000000000..4f579205def81
--- /dev/null
+++ b/data/json/mapgen/refugee_center/z-1_refugee_center.json
@@ -0,0 +1,15 @@
+[
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "evac_center_1_z-1", "evac_center_2_z-1", "evac_center_3_z-1", "evac_center_4_z-1", "evac_center_5_z-1" ],
+ [ "evac_center_6_z-1", "evac_center_7_z-1", "evac_center_8_z-1", "evac_center_9_z-1", "evac_center_10_z-1" ],
+ [ "evac_center_11_z-1", "evac_center_12_z-1", "evac_center_13_z-1", "evac_center_14_z-1", "evac_center_15_z-1" ],
+ [ "evac_center_16_z-1", "evac_center_17_z-1", "evac_center_18_z-1", "evac_center_19_z-1", "evac_center_20_z-1" ],
+ [ "evac_center_21_z-1", "evac_center_22_z-1", "evac_center_23_z-1", "evac_center_24_z-1", "evac_center_25_z-1" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ }
+]
diff --git a/data/json/mapgen/refugee_center/z-2_refugee_center.json b/data/json/mapgen/refugee_center/z-2_refugee_center.json
new file mode 100644
index 0000000000000..cf9084bc160ad
--- /dev/null
+++ b/data/json/mapgen/refugee_center/z-2_refugee_center.json
@@ -0,0 +1,15 @@
+[
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "evac_center_1_z-2", "evac_center_2_z-2", "evac_center_3_z-2", "evac_center_4_z-2", "evac_center_5_z-2" ],
+ [ "evac_center_6_z-2", "evac_center_7_z-2", "evac_center_8_z-2", "evac_center_9_z-2", "evac_center_10_z-2" ],
+ [ "evac_center_11_z-2", "evac_center_12_z-2", "evac_center_13_z-2", "evac_center_14_z-2", "evac_center_15_z-2" ],
+ [ "evac_center_16_z-2", "evac_center_17_z-2", "evac_center_18_z-2", "evac_center_19_z-2", "evac_center_20_z-2" ],
+ [ "evac_center_21_z-2", "evac_center_22_z-2", "evac_center_23_z-2", "evac_center_24_z-2", "evac_center_25_z-2" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ }
+]
diff --git a/data/json/mapgen/refugee_center/z-3_refugee_center.json b/data/json/mapgen/refugee_center/z-3_refugee_center.json
new file mode 100644
index 0000000000000..1eb182e37eda5
--- /dev/null
+++ b/data/json/mapgen/refugee_center/z-3_refugee_center.json
@@ -0,0 +1,15 @@
+[
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "evac_center_1_z-3", "evac_center_2_z-3", "evac_center_3_z-3", "evac_center_4_z-3", "evac_center_5_z-3" ],
+ [ "evac_center_6_z-3", "evac_center_7_z-3", "evac_center_8_z-3", "evac_center_9_z-3", "evac_center_10_z-3" ],
+ [ "evac_center_11_z-3", "evac_center_12_z-3", "evac_center_13_z-3", "evac_center_14_z-3", "evac_center_15_z-3" ],
+ [ "evac_center_16_z-3", "evac_center_17_z-3", "evac_center_18_z-3", "evac_center_19_z-3", "evac_center_20_z-3" ],
+ [ "evac_center_21_z-3", "evac_center_22_z-3", "evac_center_23_z-3", "evac_center_24_z-3", "evac_center_25_z-3" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ }
+]
diff --git a/data/json/mapgen/refugee_center/z-4_refugee_center.json b/data/json/mapgen/refugee_center/z-4_refugee_center.json
new file mode 100644
index 0000000000000..e8b0f95cdf451
--- /dev/null
+++ b/data/json/mapgen/refugee_center/z-4_refugee_center.json
@@ -0,0 +1,15 @@
+[
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "evac_center_1_z-4", "evac_center_2_z-4", "evac_center_3_z-4", "evac_center_4_z-4", "evac_center_5_z-4" ],
+ [ "evac_center_6_z-4", "evac_center_7_z-4", "evac_center_8_z-4", "evac_center_9_z-4", "evac_center_10_z-4" ],
+ [ "evac_center_11_z-4", "evac_center_12_z-4", "evac_center_13_z-4", "evac_center_14_z-4", "evac_center_15_z-4" ],
+ [ "evac_center_16_z-4", "evac_center_17_z-4", "evac_center_18_z-4", "evac_center_19_z-4", "evac_center_20_z-4" ],
+ [ "evac_center_21_z-4", "evac_center_22_z-4", "evac_center_23_z-4", "evac_center_24_z-4", "evac_center_25_z-4" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_rock" }
+ }
+]
diff --git a/data/json/mapgen/refugee_center/z1_refugee_center.json b/data/json/mapgen/refugee_center/z1_refugee_center.json
new file mode 100644
index 0000000000000..04fba503372fa
--- /dev/null
+++ b/data/json/mapgen/refugee_center/z1_refugee_center.json
@@ -0,0 +1,15 @@
+[
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "evac_center_1_z1", "evac_center_2_z1", "evac_center_3_z1", "evac_center_4_z1", "evac_center_5_z1" ],
+ [ "evac_center_6_z1", "evac_center_7_z1", "evac_center_8_z1", "evac_center_9_z1", "evac_center_10_z1" ],
+ [ "evac_center_11_z1", "evac_center_12_z1", "evac_center_13_z1", "evac_center_14_z1", "evac_center_15_z1" ],
+ [ "evac_center_16_z1", "evac_center_17_z1", "evac_center_18_z1", "evac_center_19_z1", "evac_center_20_z1" ],
+ [ "evac_center_21_z1", "evac_center_22_z1", "evac_center_23_z1", "evac_center_24_z1", "evac_center_25_z1" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_open_air" }
+ }
+]
diff --git a/data/json/mapgen/refugee_center/z2_refugee_center.json b/data/json/mapgen/refugee_center/z2_refugee_center.json
new file mode 100644
index 0000000000000..97ccf0393566b
--- /dev/null
+++ b/data/json/mapgen/refugee_center/z2_refugee_center.json
@@ -0,0 +1,15 @@
+[
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [
+ [ "evac_center_1_z2", "evac_center_2_z2", "evac_center_3_z2", "evac_center_4_z2", "evac_center_5_z2" ],
+ [ "evac_center_6_z2", "evac_center_7_z2", "evac_center_8_z2", "evac_center_9_z2", "evac_center_10_z2" ],
+ [ "evac_center_11_z2", "evac_center_12_z2", "evac_center_13_z2", "evac_center_14_z2", "evac_center_15_z2" ],
+ [ "evac_center_16_z2", "evac_center_17_z2", "evac_center_18_z2", "evac_center_19_z2", "evac_center_20_z2" ],
+ [ "evac_center_21_z2", "evac_center_22_z2", "evac_center_23_z2", "evac_center_24_z2", "evac_center_25_z2" ]
+ ],
+ "weight": 100,
+ "object": { "fill_ter": "t_open_air" }
+ }
+]
diff --git a/data/json/mapgen/restaurant.json b/data/json/mapgen/restaurant.json
index 57994d13314ef..5ebbcdd2eb62e 100644
--- a/data/json/mapgen/restaurant.json
+++ b/data/json/mapgen/restaurant.json
@@ -37,7 +37,7 @@
"&": "t_linoleum_gray",
"+": "t_door_c",
",": "t_pavement_y",
- "-": "t_wall",
+ "-": "t_wall_r",
"C": "t_curtains",
"D": "t_door_locked",
"F": "t_linoleum_gray",
@@ -54,7 +54,7 @@
"{": "t_linoleum_gray",
"4": "t_gutter_downspout",
"<": "t_ladder_up",
- "|": "t_wall"
+ "|": "t_wall_r"
},
"furniture": {
"#": "f_counter",
@@ -201,7 +201,7 @@
"'": "t_window",
"+": "t_door_c",
",": "t_pavement_y",
- "-": "t_wall",
+ "-": "t_wall_y",
".": "t_carpet_green",
"@": "t_console_broken",
"C": "t_curtains",
@@ -225,7 +225,7 @@
"4": "t_gutter_downspout",
"6": "t_tree_willow",
" ": "t_grass_long",
- "|": "t_wall"
+ "|": "t_wall_y"
},
"furniture": {
"#": "f_counter",
@@ -369,7 +369,7 @@
"#": "t_linoleum_gray",
"+": "t_door_c",
",": "t_pavement_y",
- "-": "t_wall",
+ "-": "t_wall_w",
".": [ "t_grass", "t_grass", "t_grass", "t_grass", "t_dirt" ],
"=": "t_sidewalk",
"G": "t_linoleum_white",
@@ -389,7 +389,7 @@
"<": "t_stairs_up",
"L": "t_linoleum_white",
"r": "t_linoleum_white",
- "|": "t_wall"
+ "|": "t_wall_w"
},
"furniture": {
"#": "f_counter",
@@ -498,5 +498,284 @@
}
]
}
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ "s_restaurant_foodplace" ],
+ "weight": 1000,
+ "object": {
+ "fill_ter": "t_floor",
+ "rows": [
+ "____,____,____,____,____",
+ "____,____,____,____,____",
+ "____,____,____,____,____",
+ "____,____,____,____,____",
+ "|-GGGGGG---++---GGGGGG-|",
+ "|......................|",
+ "C..BB...BB....BB...BB..C",
+ "W..TT...TT....TT...TT..W",
+ "W..TT...TT....TT...TT..W",
+ "C..BB...BB....BB...BB..C",
+ "|^....................^|",
+ "C..BB...BB....BB...BB..C",
+ "W..TT...TT....TT...TT..W",
+ "W..TT...TT....TT...TT..W",
+ "C..BB...BB....BB...BB..C",
+ "|---...................|",
+ "|Sg|...................|",
+ "|Pg+..|-------------|..|",
+ "|--|..|FF#SS##OO##{{|..|",
+ "|Pg+..|wgwgwgwgwgwgw|..|",
+ "|Sg|..|&##RR###gwg+..|",
+ "|-----------------C-|6M|",
+ "______4dd___________|.<|",
+ "____________________|--|"
+ ],
+ "terrain": {
+ "#": "t_linoleum_white",
+ "&": "t_linoleum_gray",
+ "+": "t_door_c",
+ ",": "t_pavement_y",
+ "-": "t_wall_p",
+ "C": "t_curtains",
+ "D": "t_door_locked",
+ "F": "t_linoleum_gray",
+ "G": "t_wall_glass",
+ "M": "t_door_metal_locked",
+ "O": "t_linoleum_white",
+ "P": "t_linoleum_white",
+ "R": "t_linoleum_white",
+ "S": "t_linoleum_white",
+ "W": "t_window",
+ "_": "t_pavement",
+ "d": "t_pavement",
+ "g": "t_linoleum_gray",
+ "w": "t_linoleum_white",
+ "{": "t_linoleum_gray",
+ "4": "t_gutter_downspout",
+ "6": "t_card_fp",
+ "<": "t_stairs_up",
+ "|": "t_wall_p"
+ },
+ "furniture": {
+ "#": "f_counter",
+ "&": "f_trashcan",
+ "B": "f_bench",
+ "F": "f_fridge",
+ "O": "f_oven",
+ "R": "f_woodstove",
+ "S": "f_sink",
+ "T": "f_table",
+ "^": "f_indoor_plant",
+ "d": "f_dumpster",
+ "{": "f_rack"
+ },
+ "toilets": { "P": { } },
+ "place_items": [
+ { "item": "restaur_table", "x": [ 3, 4 ], "y": [ 7, 8 ], "chance": 25, "repeat": [ 1, 2 ] },
+ { "item": "restaur_table", "x": [ 8, 9 ], "y": [ 7, 8 ], "chance": 25, "repeat": [ 1, 2 ] },
+ { "item": "restaur_table", "x": [ 14, 15 ], "y": [ 7, 8 ], "chance": 25, "repeat": [ 1, 2 ] },
+ { "item": "restaur_table", "x": [ 19, 20 ], "y": [ 7, 8 ], "chance": 25, "repeat": [ 1, 2 ] },
+ { "item": "restaur_table", "x": [ 3, 4 ], "y": [ 12, 13 ], "chance": 25, "repeat": [ 1, 2 ] },
+ { "item": "restaur_table", "x": [ 8, 9 ], "y": [ 12, 13 ], "chance": 25, "repeat": [ 1, 2 ] },
+ { "item": "restaur_table", "x": [ 14, 15 ], "y": [ 12, 13 ], "chance": 25, "repeat": [ 1, 2 ] },
+ { "item": "restaur_table", "x": [ 19, 20 ], "y": [ 12, 13 ], "chance": 25, "repeat": [ 1, 2 ] },
+ { "item": "restaur_bath", "x": 2, "y": [ 17, 18 ], "chance": 25 },
+ { "item": "restaur_bath", "x": 2, "y": [ 20, 21 ], "chance": 25 },
+ { "item": "restaur_fridge", "x": [ 7, 8 ], "y": 18, "chance": 70, "repeat": [ 2, 3 ] },
+ { "item": "restaur_sink", "x": [ 10, 11 ], "y": 18, "chance": 75, "repeat": [ 2, 3 ] },
+ { "item": "restaur_kitchen", "x": 9, "y": 18, "chance": 25, "repeat": [ 1, 2 ] },
+ { "item": "restaur_kitchen", "x": [ 12, 13 ], "y": 18, "chance": 25, "repeat": [ 1, 2 ] },
+ { "item": "restaur_kitchen", "x": [ 16, 17 ], "y": 18, "chance": 25, "repeat": [ 1, 2 ] },
+ { "item": "restaur_rack", "x": [ 18, 19 ], "y": 18, "chance": 75, "repeat": [ 1, 2 ] },
+ { "item": "restaur_trash", "x": [ 7, 8 ], "y": 20, "chance": 75, "repeat": [ 1, 3 ] },
+ { "item": "restaur_kitchen", "x": [ 9, 11 ], "y": 20, "chance": 25, "repeat": [ 1, 2 ] },
+ { "item": "restaur_kitchen", "x": [ 14, 16 ], "y": 20, "chance": 25, "repeat": [ 1, 2 ] },
+ { "item": "restaur_trash", "x": [ 7, 8 ], "y": 22, "chance": 50, "repeat": [ 1, 2 ] },
+ { "item": "trash", "x": [ 7, 8 ], "y": 22, "chance": 50, "repeat": [ 1, 2 ] },
+ { "item": "trash", "x": [ 0, 17 ], "y": [ 22, 23 ], "chance": 20, "repeat": [ 1, 2 ] }
+ ],
+ "place_nested": [ { "chunks": [ [ "chef_s_restaurant", 5 ], [ "null", 95 ] ], "x": 7, "y": 18 } ],
+ "place_monsters": [
+ { "monster": "GROUP_GROCERY", "x": [ 7, 19 ], "y": 19, "chance": 5 },
+ { "monster": "GROUP_ROACH", "x": [ 7, 19 ], "y": 19, "chance": 20 }
+ ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ "s_restaurant_foodplace_roof" ],
+ "weight": 300,
+ "object": {
+ "fill_ter": "t_floor",
+ "rows": [
+ " ",
+ " ",
+ " ",
+ " ",
+ "|......................3",
+ "|......................3",
+ "|......................3",
+ "|......................3",
+ "|......................3",
+ "|......................3",
+ "|............WWWWWWWWWWW",
+ "|............Wh,,sWh,,sW",
+ "|............WT,,,WT,,,W",
+ "|............WWWDWWWWDWW",
+ "|............Wl,,bWl,,bW",
+ "|...........[Wl,,bWl,,bW",
+ "WwWWWWwWWWWWWWWWDWWWWDWW",
+ "Wpccccvfuosrrq;,,,M@,,,W",
+ "W,,,,,,,,,,,,,,,,,,,,,aW",
+ "w,,,,,,,,#tt#,,,,,,,,,,w",
+ "Wpttttp,,#tt#,,VBBp,H,,W",
+ "WWWwWWWWWWWwWWWWWWWWW,,W",
+ " Wl>W",
+ " WWWW"
+ ],
+ "terrain": {
+ ".": "t_flat_roof",
+ " ": "t_open_air",
+ "W": "t_wall_p",
+ "D": "t_door_c",
+ "[": "t_ladder_up",
+ "w": "t_window_domestic",
+ "|": "t_gutter_west",
+ ",": "t_floor",
+ "-": "t_gutter_south",
+ "3": "t_gutter_east",
+ ">": "t_stairs_down",
+ "5": "t_gutter_drop"
+ },
+ "toilets": { "T": { } },
+ "furniture": {
+ "&": "f_roof_turbine_vent",
+ "l": "f_locker",
+ "b": "f_bench",
+ "h": "f_shower",
+ "V": "f_vending_c",
+ "s": "f_sink",
+ "v": "f_trashcan",
+ ";": "f_pinball_machine",
+ "c": "f_sofa",
+ "t": "f_table",
+ "M": "f_bigmirror",
+ "@": "f_mannequin",
+ "a": "f_armchair",
+ "r": "f_counter",
+ "u": "f_cupboard",
+ "f": "f_fridge",
+ "o": "f_oven",
+ "q": "f_dishwasher",
+ "#": "f_stool",
+ "B": "f_bookcase",
+ "p": "f_indoor_plant",
+ "H": "f_rack_coat"
+ },
+ "place_items": [
+ { "item": "kitchen", "x": [ 11, 12 ], "y": [ 17 ], "chance": 100, "repeat": [ 5, 10 ] },
+ { "item": "cleaning", "x": [ 10 ], "y": [ 17 ], "chance": 100, "repeat": [ 1, 3 ] },
+ { "item": "knifeblock", "x": [ 11, 12 ], "y": [ 17 ], "chance": 100, "repeat": [ 1, 2 ] },
+ { "item": "trash", "x": [ 6 ], "y": [ 17 ], "chance": 100, "repeat": [ 2, 4 ] },
+ { "item": "fridge", "x": [ 7 ], "y": [ 17 ], "chance": 100, "repeat": [ 5, 15 ] },
+ { "item": "oven", "x": [ 9 ], "y": [ 17 ], "chance": 100, "repeat": [ 1, 2 ] },
+ { "item": "bed", "x": [ 2, 5 ], "y": [ 17 ], "chance": 100, "repeat": [ 1, 2 ] },
+ { "item": "dining", "x": [ 10, 11 ], "y": [ 19, 20 ], "chance": 40, "repeat": [ 1, 2 ] },
+ { "item": "vending_drink_items", "x": [ 15 ], "y": [ 20 ], "chance": 100, "repeat": [ 5, 20 ] },
+ { "item": "snacks_fancy", "x": [ 2 ], "y": [ 20 ], "chance": 30, "repeat": [ 1, 2 ] },
+ { "item": "snacks_fancy", "x": [ 2 ], "y": [ 17 ], "chance": 30, "repeat": [ 1, 2 ] },
+ { "item": "snacks_fancy", "x": [ 22 ], "y": [ 18 ], "chance": 30, "repeat": [ 1, 2 ] },
+ { "item": "fast_food", "x": [ 10, 11 ], "y": [ 19, 20 ], "chance": 30, "repeat": [ 1, 2 ] },
+ { "item": "magazines", "x": [ 2 ], "y": [ 17 ], "chance": 30, "repeat": [ 1, 2 ] },
+ { "item": "magazines", "x": [ 16, 17 ], "y": [ 20 ], "chance": 100, "repeat": [ 3, 5 ] },
+ { "item": "coat_rack", "x": [ 20 ], "y": [ 20 ], "chance": 100, "repeat": [ 1, 4 ] },
+ { "item": "stash_drugs", "x": [ 1 ], "y": [ 20 ], "chance": 30, "repeat": [ 1, 2 ] },
+ { "item": "livingroom", "x": [ 2, 5 ], "y": [ 20 ], "chance": 50, "repeat": [ 1, 2 ] },
+ { "item": "allclothes", "x": [ 13 ], "y": [ 14, 15 ], "chance": 100, "repeat": [ 3, 4 ] },
+ { "item": "allclothes", "x": [ 19 ], "y": [ 14, 15 ], "chance": 100, "repeat": [ 3, 4 ] },
+ { "item": "softdrugs", "x": [ 17 ], "y": [ 11 ], "chance": 70, "repeat": [ 2, 3 ] },
+ { "item": "softdrugs", "x": [ 22 ], "y": [ 11 ], "chance": 100, "repeat": [ 2, 3 ] }
+ ],
+ "place_loot": [
+ { "item": "television", "x": [ 3, 4 ], "y": 20, "repeat": 1, "chance": 100 },
+ { "item": "foodperson_mask", "x": 19, "y": 17, "repeat": 1, "chance": 100 },
+ { "item": "cape_fp", "x": 19, "y": 17, "repeat": 1, "chance": 100 },
+ { "item": "chestguard_hard", "x": 19, "y": 17, "repeat": 1, "chance": 100 },
+ { "item": "legguard_hard", "x": 19, "y": 17, "repeat": 1, "chance": 100 },
+ { "item": "armguard_hard", "x": 19, "y": 17, "repeat": 1, "chance": 100 },
+ { "item": "gloves_rubber", "x": 19, "y": 17, "repeat": 1, "chance": 100 },
+ { "item": "boots_rubber", "x": 19, "y": 17, "repeat": 1, "chance": 100 },
+ { "item": "medium_disposable_cell", "x": 21, "y": 22, "repeat": 5, "chance": 100 }
+ ],
+ "place_nested": [ { "chunks": [ [ "foodperson_break_room", 5 ], [ "null", 95 ] ], "x": 15, "y": 10 } ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ "s_restaurant_foodplace_upper_roof" ],
+ "weight": 300,
+ "object": {
+ "fill_ter": "t_flat_roof",
+ "rows": [
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " |---------3",
+ " |....:....3",
+ " |.........3",
+ " |.........3",
+ " |.........3",
+ " [..........3",
+ "|-----------...........3",
+ "|......................3",
+ "|......................3",
+ "|......................3",
+ "|...X..................3",
+ "|------5------------|..3",
+ " |..3",
+ " |--3"
+ ],
+ "terrain": {
+ ".": "t_flat_roof",
+ " ": "t_open_air",
+ "[": "t_ladder_down",
+ "|": "t_gutter_west",
+ ",": "t_floor",
+ "-": "t_gutter_south",
+ "3": "t_gutter_east",
+ "5": "t_gutter_drop"
+ },
+ "furniture": { "&": "f_roof_turbine_vent", ":": "f_cellphone_booster", "X": "f_small_satelitte_dish" },
+ "place_items": [ { "item": "roof_trash", "x": [ 3, 16 ], "y": [ 17, 19 ], "chance": 50, "repeat": [ 1, 3 ] } ],
+ "place_nested": [
+ {
+ "chunks": [
+ [ "roof_2x2_utilities_b", 20 ],
+ [ "roof_2x2_utilities_c", 20 ],
+ [ "roof_2x2_utilities_d", 20 ],
+ [ "roof_2x2_utilities", 20 ],
+ [ "null", 40 ]
+ ],
+ "x": [ 10, 11 ],
+ "y": [ 17, 18 ]
+ },
+ {
+ "chunks": [ [ "roof_4x4_utility_1", 50 ], [ "roof_4x4_holdout", 5 ], [ "null", 80 ], [ "roof_5x5_coop", 5 ] ],
+ "x": 17,
+ "y": 16
+ }
+ ]
+ }
}
]
diff --git a/data/json/mapgen/robofachq_static.json b/data/json/mapgen/robofachq_static.json
index 5f50166819f4a..0c2c655f7b192 100644
--- a/data/json/mapgen/robofachq_static.json
+++ b/data/json/mapgen/robofachq_static.json
@@ -42,7 +42,7 @@
],
"method": "json",
"object": {
- "fill_ter": "t_concrete",
+ "fill_ter": "t_thconc_floor",
"rows": [
",,,,,,,,,,,,,,__________,ss,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,___________,,,,,,,,,,,,,,,,,,,,,,,,,,,,",
",,,,,,,,,,,,,,__________|ss|((|,,,,,,,,,,,,,,,,,,,,,,,,,,___________,,,,,,,,,,,,,,,,,,,,,,,,,,,,",
@@ -118,7 +118,7 @@
],
"method": "json",
"object": {
- "fill_ter": "t_concrete",
+ "fill_ter": "t_thconc_floor",
"rows": [
"################################################################################################",
"#################################################################||||||||||||||||||||||||||||||#",
@@ -203,7 +203,7 @@
],
"method": "json",
"object": {
- "fill_ter": "t_concrete",
+ "fill_ter": "t_thconc_floor",
"rows": [
"################################################################################################",
"################################################################################################",
@@ -275,7 +275,7 @@
],
"method": "json",
"object": {
- "fill_ter": "t_concrete",
+ "fill_ter": "t_thconc_floor",
"rows": [
"################################################################################################",
"################################################################################################",
diff --git a/data/json/mapgen/s_electronics.json b/data/json/mapgen/s_electronics.json
index 6228374f047b1..03a6064ced013 100644
--- a/data/json/mapgen/s_electronics.json
+++ b/data/json/mapgen/s_electronics.json
@@ -2,26 +2,36 @@
{
"id": "elecsto_cameras",
"type": "item_group",
+ "ammo": 75,
+ "magazine": 100,
"items": [ [ "camera", 75 ], [ "camera_pro", 25 ] ]
},
{
"id": "elecsto_lights",
"type": "item_group",
+ "ammo": 75,
+ "magazine": 100,
"items": [ [ "flashlight", 95 ], [ "wearable_light", 65 ], [ "floodlight", 10 ], [ "atomic_light", 1 ] ]
},
{
"id": "elecsto_pcs",
"type": "item_group",
+ "ammo": 75,
+ "magazine": 100,
"items": [ [ "eink_tablet_pc", 60 ], [ "laptop", 75 ] ]
},
{
"id": "elecsto_entapl",
"type": "item_group",
+ "ammo": 75,
+ "magazine": 100,
"items": [ [ "television", 50 ], [ "radio", 20 ], [ "stereo", 40 ] ]
},
{
"id": "elecsto_persele",
"type": "item_group",
+ "ammo": 75,
+ "magazine": 100,
"items": [
[ "portable_game", 65 ],
[ "cell_phone", 30 ],
@@ -34,6 +44,8 @@
{
"id": "elecsto_homapl",
"type": "item_group",
+ "ammo": 75,
+ "magazine": 100,
"items": [
[ "microwave", 65 ],
[ "toaster", 65 ],
@@ -74,6 +86,8 @@
{
"id": "elecsto_displ",
"type": "item_group",
+ "ammo": 75,
+ "magazine": 100,
"items": [ [ "television", 50 ], [ "eink_tablet_pc", 50 ], [ "stereo", 30 ], [ "microwave", 40 ] ]
},
{
diff --git a/data/json/mapgen/s_gun.json b/data/json/mapgen/s_gun.json
index 3f5a002363c86..6cee2130a774e 100644
--- a/data/json/mapgen/s_gun.json
+++ b/data/json/mapgen/s_gun.json
@@ -3,8 +3,9 @@
"type": "mapgen",
"method": "json",
"om_terrain": [ "s_gun" ],
- "weight": 1000,
+ "weight": 300,
"object": {
+ "fill_ter": "t_floor",
"rows": [
" ____________________ ",
" *___*___*______*___* ",
@@ -13,45 +14,57 @@
" *___*___*______*___* ",
" *___*___*______*___* ",
" ---:::--------:::--- ",
- " |{.S..#...........{| ",
" |{....#...........{| ",
+ " |{..S.?...........{| ",
" |{....#...{{..{...{| ",
" |{....#...{{..{...{| ",
- " |{....#...{{..{...{| ",
- " |{....#...........{| ",
- " |{............{{{{{| ",
- " |-:::::::::::------| ",
- " |l.................| ",
- " |--#--#--#--#--#--+| ",
- " |..................| ",
- " |..................| ",
- " |..................| ",
- " |..................| ",
- " |..................| ",
+ " |---..#...{{..{...{| ",
+ " |&N|..............{| ",
+ " |..D..........{{{{{| ",
+ " |---:::::::::------| ",
+ " 4|l~~~~~~~~~~~~~~D~<| ",
+ " |--H--H--H--H--H-+-| ",
+ " |~~~~~~~~~~~~~~~~~~| ",
+ " |~~~~~~~~~~~~~~~~~~| ",
+ " |~~~~~~~~~~~~~~~~~~| ",
+ " |~~~~~~~~~~~~~~~~~~| ",
+ " |~~~~~~~~~~~~~~~~~~| ",
" |ssssssssssssssssss| ",
" ==================== "
],
"place_terrain": [
{ "ter": "t_door_metal_pickable", "x": [ 11, 14 ], "y": 6 },
- { "ter": "t_door_metal_pickable", "x": [ 5, 14 ], "y": 14 }
+ { "ter": "t_door_metal_pickable", "x": [ 7, 14 ], "y": 14 }
],
"terrain": {
" ": [ "t_grass", "t_grass", "t_grass", "t_dirt" ],
- "#": "t_floor",
"*": "t_pavement_y",
"+": "t_door_metal_pickable",
- "-": "t_wall",
+ "-": "t_wall_w",
".": "t_floor",
":": "t_window_bars_alarm",
"=": "t_strconc_wall",
"_": "t_pavement",
- "S": "t_floor",
- "l": "t_floor",
- "s": "t_floor",
- "{": "t_floor",
- "|": "t_wall"
+ "~": "t_concrete",
+ "H": "t_concrete",
+ "s": "t_concrete",
+ "l": "t_concrete",
+ "|": "t_wall_w",
+ "D": "t_door_c",
+ "?": "t_console_broken",
+ "<": "t_ladder_up",
+ "4": "t_gutter_downspout"
+ },
+ "toilets": { "&": { } },
+ "furniture": {
+ "#": "f_counter",
+ "H": "f_counter",
+ "S": "f_stool",
+ "l": "f_locker",
+ "s": "f_sandbag_wall",
+ "{": "f_rack",
+ "N": "f_sink"
},
- "furniture": { "#": "f_counter", "S": "f_stool", "l": "f_locker", "s": "f_sandbag_wall", "{": "f_rack" },
"place_loot": [
{ "group": "guns_pistol_common", "x": 12, "y": 9, "chance": 75, "magazine": 100 },
{ "group": "guns_pistol_common", "x": 13, "y": 9, "chance": 75, "magazine": 100 },
@@ -69,10 +82,10 @@
{ "group": "guns_rifle_common", "x": 20, "y": 12, "chance": 50, "magazine": 100 },
{ "group": "guns_smg_common", "x": 17, "y": 13, "chance": 85, "magazine": 100 },
{ "group": "guns_smg_rare", "x": 18, "y": 13, "chance": 15, "magazine": 100 },
- { "group": "ammo_common", "x": 3, "y": [ 11, 13 ], "chance": 100, "repeat": 2 },
- { "group": "ammo_pistol_common", "x": 3, "y": 11, "chance": 100, "repeat": [ 1, 3 ] },
- { "group": "ammo_shotgun_common", "x": 3, "y": 12, "chance": 75, "repeat": [ 1, 2 ] },
- { "group": "ammo_rifle_common", "x": 3, "y": 13, "chance": 75, "repeat": [ 1, 2 ] },
+ { "group": "ammo_common", "x": 3, "y": [ 7, 10 ], "chance": 100, "repeat": 2 },
+ { "group": "ammo_pistol_common", "x": 3, "y": 7, "chance": 100, "repeat": [ 1, 3 ] },
+ { "group": "ammo_shotgun_common", "x": 3, "y": 8, "chance": 75, "repeat": [ 1, 2 ] },
+ { "group": "ammo_rifle_common", "x": 3, "y": 9, "chance": 75, "repeat": [ 1, 2 ] },
{ "group": "mags_common", "x": 3, "y": 10, "chance": 100 },
{ "group": "mags_pistol_common", "x": 3, "y": 9, "chance": 100 },
{ "group": "mags_rifle_common", "x": 3, "y": 8, "chance": 75 },
@@ -96,17 +109,82 @@
{
"type": "mapgen",
"method": "json",
- "om_terrain": [ "s_gun" ],
+ "om_terrain": "s_gun_roof",
+ "object": {
+ "fill_ter": "t_flat_roof",
+ "rows": [
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " |2222222222222222223 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..X...............3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " 5.................>3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |------------------3 "
+ ],
+ "palettes": [ "roof_palette" ],
+ "terrain": { ">": "t_ladder_down" },
+ "place_nested": [
+ {
+ "chunks": [
+ [ "null", 20 ],
+ [ "roof_2x2_utilities_b", 15 ],
+ [ "roof_2x2_utilities_c", 5 ],
+ [ "roof_2x2_utilities_d", 30 ],
+ [ "roof_2x2_utilities", 30 ],
+ [ "roof_2x2_golf", 10 ],
+ [ "roof_3x3_wine", 10 ]
+ ],
+ "x": [ 4, 15 ],
+ "y": [ 8, 9 ]
+ },
+ {
+ "chunks": [
+ [ "null", 20 ],
+ [ "roof_4x4_party", 5 ],
+ [ "roof_4x4_holdout", 15 ],
+ [ "roof_4x4_utility", 40 ],
+ [ "roof_4x4_utility_1", 10 ],
+ [ "roof_6x6_survivor", 20 ],
+ [ "roof_6x6_utility", 20 ]
+ ],
+ "x": [ 4, 13 ],
+ "y": [ 11, 16 ]
+ }
+ ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ "s_gun_1" ],
"//": "Home defense gun store",
"weight": 300,
"object": {
+ "fill_ter": "t_floor",
"rows": [
"_ssssssssssssssssssssss_",
"_s@@@@@@@_ssss_@@@@@@@s_",
"_s||555||_ssss_||555||s_",
"_s|#####5_ssss_5#####|s_",
- "_s|.....5_ssss_5.....|s_",
- "_s|.....5_ssss_5.....|s_",
+ "_s|..a..5_ssss_5..a..|s_",
+ "_s|.#?#.5_ssss_5.#?#.|s_",
"_s|.....|55++55|.....|s_",
"_s|..................|s_",
"_s|..................|s_",
@@ -117,17 +195,16 @@
"_A|....rrr....rrr....|s_",
"_||..................|s_",
"_s|..................|s_",
- "_s||D|||&&&&&&&&||L|||s_",
- "_s|....|..####..|..cE|s_",
- "_s|....|........D...E|s_",
- "_s|S..;|lll##lll|l...|s_",
- "_s|||||||||||||||||L||s_",
+ "_s||D|*|&&&&&&&&||+|||s_",
+ "_s|;.|.|..####..|..cE|s_",
+ "_s|..|.|........*...E|s_",
+ "_s|S.|<|lll##lll|l...|4_",
+ "_s|||||||||||||||||+||s_",
"_ssssssssssssssssssssss_",
"________________________",
"________________________"
],
"terrain": {
- "#": "t_floor",
"&": "t_bars",
"*": "t_door_locked_alarm",
"+": "t_door_metal_pickable",
@@ -137,20 +214,17 @@
"@": "t_shrub",
"A": "t_atm",
"D": "t_door_c",
- "E": "t_floor",
"L": "t_door_metal_locked",
- "S": "t_floor",
- "^": "t_floor",
"_": "t_pavement",
- "c": "t_floor",
- "l": "t_floor",
- "r": "t_floor",
"s": "t_sidewalk",
- "u": "t_floor",
- "|": "t_wall"
+ "|": "t_wall_w",
+ "?": "t_console_broken",
+ "<": "t_ladder_up",
+ "4": "t_gutter_downspout"
},
"furniture": {
"#": "f_counter",
+ "a": "f_stool",
"E": "f_desk",
"S": "f_sink",
"^": "f_indoor_plant",
@@ -181,10 +255,73 @@
{
"type": "mapgen",
"method": "json",
- "om_terrain": [ "s_gun" ],
- "//": "Public holdout based on Home Defense Gunstore.",
- "weight": 30,
+ "om_terrain": "s_gun_roof_1",
"object": {
+ "fill_ter": "t_flat_roof",
+ "rows": [
+ " ",
+ " ",
+ " |222223 |222223 ",
+ " |.....3 |.....3 ",
+ " |.....3 |.....3 ",
+ " |.....3 |.....3 ",
+ " |.....3222222|.....3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |..................3 ",
+ " |...>..............5 ",
+ " |------------------3 ",
+ " ",
+ " ",
+ " "
+ ],
+ "palettes": [ "roof_palette" ],
+ "terrain": { ">": "t_ladder_down" },
+ "place_nested": [
+ {
+ "chunks": [
+ [ "null", 20 ],
+ [ "roof_2x2_utilities_b", 15 ],
+ [ "roof_2x2_utilities_c", 5 ],
+ [ "roof_2x2_utilities_d", 30 ],
+ [ "roof_2x2_utilities", 30 ]
+ ],
+ "x": [ 4, 15 ],
+ "y": [ 7, 8 ]
+ },
+ {
+ "chunks": [
+ [ "null", 20 ],
+ [ "roof_4x4_party", 5 ],
+ [ "roof_4x4_holdout", 15 ],
+ [ "roof_4x4_utility", 40 ],
+ [ "roof_4x4_utility_1", 10 ],
+ [ "roof_6x6_survivor", 20 ],
+ [ "roof_6x6_utility", 20 ]
+ ],
+ "x": [ 4, 13 ],
+ "y": 12
+ }
+ ]
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": [ "s_gun_2" ],
+ "//": "Public holdout based on Home Defense Gunstore. Uses same roof as s_gunstore_1.",
+ "weight": 100,
+ "object": {
+ "fill_ter": "t_floor",
"rows": [
"_ssssssssssssssssssssss_",
"_s@@xx@@@_ssss_@@@@@@@s_",
@@ -202,42 +339,33 @@
"_A|......rr..rr....7.|s_",
"_||.....rr...........|s_",
"_s|....rr..B.B.rrr.r.|s_",
- "_s||D|||&&&&&&&&||p|||s_",
- "_s|....|B.......|..c.|s_",
- "_s|....|........C.#..|s_",
- "_s|S..;|B...B...|.EE#|s_",
+ "_s||D|D|&&&&&&&&||p|||s_",
+ "_s|;.|.|B.......|..c.|s_",
+ "_s|..|.|........C.#..|s_",
+ "_s|S.|<|B...B...|.EE#|4_",
"_s|||||||||||||||||L||s_",
"_ssssssssssssssssssssss_",
"________________________",
"________________________"
],
"terrain": {
- "#": "t_floor",
"&": "t_bars",
"*": "t_door_locked_alarm",
"+": "t_door_metal_pickable",
".": "t_floor",
"5": "t_window_bars_alarm",
- "7": "t_floor",
- ";": "t_floor",
"@": "t_shrub",
"A": "t_atm",
- "B": "t_floor",
"C": "t_door_frame",
"D": "t_door_o",
- "E": "t_floor",
"L": "t_door_metal_locked",
- "S": "t_floor",
- "^": "t_floor",
"_": "t_pavement",
- "c": "t_floor",
- "l": "t_floor",
"p": "t_door_metal_o",
- "r": "t_floor",
"s": "t_sidewalk",
- "u": "t_floor",
- "|": "t_wall",
- "x": "t_dirt"
+ "|": "t_wall_w",
+ "x": "t_dirt",
+ "<": "t_ladder_up",
+ "4": "t_gutter_downspout"
},
"furniture": {
"#": "f_counter",
@@ -285,56 +413,11 @@
},
{
"method": "json",
+ "om_terrain": "s_gun_3",
+ "type": "mapgen",
+ "weight": 200,
"object": {
- "place_item": [ { "item": "corpse", "repeat": 1, "x": 19, "y": 12 } ],
- "furniture": {
- "#": "f_sandbag_wall",
- "&": "f_trashcan",
- "+": "f_null",
- "-": "f_null",
- ".": "f_null",
- "C": "f_chair",
- "D": "f_displaycase",
- "H": "f_armchair",
- "S": "f_sandbag_half",
- "T": "f_table",
- "W": "f_null",
- "^": "f_indoor_plant_y",
- "_": "f_null",
- "a": "f_null",
- "b": "f_sandbag_half",
- "c": "f_counter",
- "d": "f_null",
- "e": "f_null",
- "f": "f_null",
- "g": "f_null",
- "i": "f_indoor_plant",
- "r": "f_rack",
- "s": "f_null",
- "t": "f_table",
- "u": "f_null",
- "w": "f_null",
- "{": "f_locker",
- "|": "f_null"
- },
- "place_items": [
- { "chance": 99, "item": "corpse_male", "x": 19, "y": 12 },
- { "chance": 35, "item": "ammo_casings", "x": [ 14, 15 ], "y": 14 },
- { "chance": 35, "item": "guns_pistol_common", "x": 19, "y": 8 },
- { "chance": 75, "item": "guns_common", "x": 3, "y": 10 },
- { "chance": 40, "item": "gunmod_rare", "x": 3, "y": 12 },
- { "chance": 55, "item": "book_gunmags", "x": 9, "y": 8 },
- { "chance": 5, "item": "guns_pistol_rare", "x": 3, "y": 11 },
- { "chance": 35, "item": "ammo_rifle_common", "x": 18, "y": 14 },
- { "chance": 35, "item": "ammo_rifle_common", "x": 6, "y": 7 },
- { "chance": 30, "item": "gunmod_common", "x": [ 12, 14 ], "y": 9 },
- { "chance": 45, "item": "ammo_common", "x": 6, "y": [ 5, 6 ] },
- { "chance": 35, "item": "guns_rifle_common", "x": [ 17, 18 ], "y": 5 },
- { "chance": 35, "item": "guns_common", "x": 9, "y": [ 6, 7 ] },
- { "chance": 35, "item": "guns_common", "x": 19, "y": [ 5, 7 ] },
- { "chance": 45, "item": "trash", "x": 13, "y": 12 },
- { "chance": 45, "item": "trash", "x": 10, "y": 12 }
- ],
+ "fill_ter": "t_floor",
"rows": [
"....d...d....dss..dd.d..",
".......d......ss........",
@@ -344,11 +427,11 @@
"d....W{_Cc__^____DDDWu..",
"d....ar__D_________Dw...",
".d...|r__D_________D|u.d",
- "...uu|__cc_________D|u..",
+ "...u4|__cc_________D|u..",
"d.||||______DDD__||||...",
- ".u|{_|||||_______|tC|u.d",
- ".u|{_+______________|...",
- "d.|{_|___|&_|&___|iH|...",
+ ".u|{_|||||_______+_C|u.d",
+ ".u|{_+______||+|||_t|...",
+ "d.|{_|___|&_|;_N|i_H|...",
"..|||||e|||g|||||||||...",
".u-___________tt_tt_-u..",
"du-_________________-u..",
@@ -363,37 +446,111 @@
],
"terrain": {
"#": "t_dirt",
- "&": "t_floor",
"+": "t_door_metal_pickable",
"-": "t_brick_wall",
".": "t_grass",
- "C": "t_floor",
- "D": "t_floor",
- "H": "t_floor",
"S": "t_grass",
"T": "t_dirt",
"W": "t_wall_w",
- "^": "t_floor",
"_": "t_floor",
"a": "t_wall_r",
"b": "t_dirt",
- "c": "t_floor",
"d": "t_dirt",
"e": "t_window_boarded",
"f": "t_door_boarded",
"g": "t_door_c",
- "i": "t_floor",
- "r": "t_floor",
"s": "t_sidewalk",
- "t": "t_floor",
"u": "t_underbrush",
"w": "t_wall_b",
- "{": "t_floor",
- "|": "t_wall"
- }
- },
- "om_terrain": "s_gun",
+ "|": "t_wall_w",
+ "4": "t_gutter_downspout"
+ },
+ "toilets": { ";": { } },
+ "place_item": [ { "item": "corpse", "repeat": 1, "x": 19, "y": 12 } ],
+ "furniture": {
+ "#": "f_sandbag_wall",
+ "&": "f_trashcan",
+ "C": "f_chair",
+ "D": "f_displaycase",
+ "H": "f_armchair",
+ "S": "f_sandbag_half",
+ "T": "f_table",
+ "^": "f_indoor_plant_y",
+ "b": "f_sandbag_half",
+ "c": "f_counter",
+ "i": "f_indoor_plant",
+ "r": "f_rack",
+ "t": "f_table",
+ "N": "f_sink",
+ "{": "f_locker"
+ },
+ "place_items": [
+ { "chance": 99, "item": "corpse_male", "x": 19, "y": 12 },
+ { "chance": 35, "item": "ammo_casings", "x": [ 14, 15 ], "y": 14 },
+ { "chance": 35, "item": "guns_pistol_common", "x": 19, "y": 8 },
+ { "chance": 75, "item": "guns_common", "x": 3, "y": 10 },
+ { "chance": 40, "item": "gunmod_rare", "x": 3, "y": 12 },
+ { "chance": 55, "item": "book_gunmags", "x": 9, "y": 8 },
+ { "chance": 5, "item": "guns_pistol_rare", "x": 3, "y": 11 },
+ { "chance": 35, "item": "ammo_rifle_common", "x": 18, "y": 14 },
+ { "chance": 35, "item": "ammo_rifle_common", "x": 6, "y": 7 },
+ { "chance": 30, "item": "gunmod_common", "x": [ 12, 14 ], "y": 9 },
+ { "chance": 45, "item": "ammo_common", "x": 6, "y": [ 5, 6 ] },
+ { "chance": 35, "item": "guns_rifle_common", "x": [ 17, 18 ], "y": 5 },
+ { "chance": 35, "item": "guns_common", "x": 9, "y": [ 6, 7 ] },
+ { "chance": 35, "item": "guns_common", "x": 19, "y": [ 5, 7 ] },
+ { "chance": 45, "item": "trash", "x": 13, "y": 12 },
+ { "chance": 45, "item": "trash", "x": 10, "y": 12 }
+ ]
+ }
+ },
+ {
"type": "mapgen",
- "weight": 100
+ "method": "json",
+ "om_terrain": "s_gun_roof_3",
+ "object": {
+ "fill_ter": "t_flat_roof",
+ "rows": [
+ " ",
+ " ",
+ " ",
+ " ",
+ " |222222222222223 ",
+ " |..............3 ",
+ " |..............3 ",
+ " |..............3 ",
+ " |..............3 ",
+ " |225..............3 ",
+ " |.................3 ",
+ " |.................3 ",
+ " |.................3 ",
+ " |-----------------3 ",
+ " NNNNNNNNNNNNNNNNNNN ",
+ " NNNNNNNNNNNNNNNNNNN ",
+ " N N N N ",
+ " N N ",
+ " N N ",
+ " N N ",
+ " N N ",
+ " N N ",
+ " N N ",
+ " NNNNNNNNNNNNNNNNNNN "
+ ],
+ "palettes": [ "roof_palette" ],
+ "terrain": { "N": "t_open_air_rooved" },
+ "place_nested": [
+ {
+ "chunks": [
+ [ "null", 20 ],
+ [ "roof_2x2_utilities_b", 15 ],
+ [ "roof_2x2_utilities_c", 5 ],
+ [ "roof_2x2_utilities_d", 40 ],
+ [ "roof_2x2_utilities", 50 ]
+ ],
+ "x": [ 7, 17 ],
+ "y": [ 6, 10 ]
+ }
+ ]
+ }
}
]
diff --git a/data/json/mapgen/shelter.json b/data/json/mapgen/shelter.json
index a014a41e57ac2..3accf9376f1cd 100644
--- a/data/json/mapgen/shelter.json
+++ b/data/json/mapgen/shelter.json
@@ -12,10 +12,14 @@
"om_terrain": [ "shelter" ],
"object": {
"rows": [
- " ",
- " ",
- " ",
- " ",
+ " !!!!!!!!!!!!!!!! ",
+ " `!!!!`!!!!`!!!!` ",
+ " `!!!!`!!!!`!!!!` ",
+ " `!!!!`!!!!`!!!!` ",
+ " `!!!!`!!!!`!!!!` ",
+ " `!!!!`!!!!`!!!!` ",
+ " `!!!!`!!!!`!!!!` ",
+ " &&&&&&&&&&&&&&&& ",
" |----:-++-:----| ",
" |llll......c..6| ",
" |.b.b.b....c...| ",
@@ -23,19 +27,15 @@
" |.b.b.b....c...| ",
" :.b.b.b........: ",
" |..............| ",
- " +......>>......+ ",
- " +......>>......+ ",
+ " |......>>......| ",
+ " |......>>......| ",
" |..............| ",
" :.b.b.b........: ",
" |.b.b.b....c...| ",
" |.b.b.b....c...| ",
" |||.b.b....c...| ",
" |*=........c..x| ",
- " |----:-++-:----| ",
- " ",
- " ",
- " ",
- " "
+ " |----:--+-:----| "
],
"palettes": [ "shelter" ],
"items": { "l": { "item": "shelter_supplies", "chance": 20, "repeat": [ 0, 1 ] } },
@@ -59,6 +59,10 @@
"object": {
"fill_ter": "t_flat_roof",
"rows": [
+ " ",
+ " ",
+ " ",
+ " ",
" ",
" ",
" ",
@@ -78,11 +82,7 @@
" |.:............3 ",
" |...........&..3 ",
" |>.............3 ",
- " |--------------3 ",
- " ",
- " ",
- " ",
- " "
+ " |--------------3 "
],
"terrain": {
",": "t_flat_roof",
@@ -94,7 +94,7 @@
">": "t_ladder_down"
},
"furniture": { ":": "f_standing_tank", "#": "f_solar_unit", "&": "f_roof_turbine_vent" },
- "place_items": [ { "item": "roof_trash", "x": [ 5, 17 ], "y": [ 5, 18 ], "chance": 50, "repeat": [ 1, 3 ] } ]
+ "place_items": [ { "item": "roof_trash", "x": [ 5, 17 ], "y": [ 9, 22 ], "chance": 50, "repeat": [ 1, 3 ] } ]
}
},
{
@@ -104,10 +104,14 @@
"om_terrain": [ "shelter_1" ],
"object": {
"rows": [
- " ",
- " ",
- " ",
- " ",
+ " !!!!!!!!!!!!!!!! ",
+ " `!!!!`!!!!`!!!!` ",
+ " `!!!!`!!!!`!!!!` ",
+ " `!!!!`!!!!`!!!!` ",
+ " `!!!!`!!!!`!!!!` ",
+ " `!!!!`!!!!`!!!!` ",
+ " `!!!!`!!!!`!!!!` ",
+ " &&&&&&&&&&&&&&&& ",
" |---++---| ",
" |-:|........| ",
" |...........|:-| ",
@@ -115,19 +119,15 @@
" |...........c..| ",
" :.bbbbb.....c..: ",
" |...........cc.| ",
- " +.bbbbb........+ ",
- " +........|||...+ ",
+ " |.bbbbb........| ",
+ " |........|||...| ",
" |.-----..|*=...| ",
" :........|||...: ",
" |.b.b.b...c|-+-| ",
" |.b.b.b...c|..l| ",
" |.b.b.b...c|>.l| ",
" |..........|>.l| ",
- " |----:-++-:----| ",
- " ",
- " ",
- " ",
- " "
+ " |----:--+-:----| "
],
"palettes": [ "shelter" ],
"items": { "l": { "item": "shelter_supplies", "chance": 20, "repeat": [ 0, 1 ] } },
@@ -151,6 +151,10 @@
"object": {
"fill_ter": "t_flat_roof",
"rows": [
+ " ",
+ " ",
+ " ",
+ " ",
" ",
" ",
" ",
@@ -170,11 +174,7 @@
" |..............3 ",
" |..............3 ",
" |............#.3 ",
- " |--------------3 ",
- " ",
- " ",
- " ",
- " "
+ " |--------------3 "
],
"terrain": {
",": "t_flat_roof",
@@ -186,7 +186,7 @@
">": "t_ladder_down"
},
"furniture": { ":": "f_standing_tank", "#": "f_solar_unit", "&": "f_roof_turbine_vent" },
- "place_items": [ { "item": "roof_trash", "x": [ 5, 17 ], "y": [ 5, 18 ], "chance": 50, "repeat": [ 1, 3 ] } ]
+ "place_items": [ { "item": "roof_trash", "x": [ 5, 17 ], "y": [ 11, 22 ], "chance": 50, "repeat": [ 1, 3 ] } ]
}
},
{
@@ -196,9 +196,12 @@
"om_terrain": [ "shelter_2" ],
"object": {
"rows": [
- " ",
- " ",
- " ",
+ " `!!!!`!!!!`!!!!` ",
+ " `!!!!`!!!!`!!!!` ",
+ " `!!!!`!!!!`!!!!` ",
+ " `!!!!`!!!!`!!!!` ",
+ " `!!!!`!!!!`!!!!` ",
+ " &&&&&&&&&&&&&&&& ",
" |-:-++-:-| ",
" |--|........|--| ",
" |*|c........ccc| ",
@@ -216,10 +219,7 @@
" |..c..b..b..c..| ",
" |6....b..b....x| ",
" |--|........|--| ",
- " |-:-++-:-| ",
- " ",
- " ",
- " "
+ " |-:--+-:-| "
],
"palettes": [ "shelter" ],
"items": { "l": { "item": "shelter_supplies", "chance": 20, "repeat": [ 0, 1 ] } },
@@ -243,6 +243,9 @@
"object": {
"fill_ter": "t_flat_roof",
"rows": [
+ " ",
+ " ",
+ " ",
" ",
" ",
" ",
@@ -263,10 +266,7 @@
" |..............3 ",
" |..............3 ",
" |--|........|--3 ",
- " |--------| ",
- " ",
- " ",
- " "
+ " |--------| "
],
"terrain": {
".": "t_flat_roof",
@@ -278,7 +278,7 @@
">": "t_ladder_down"
},
"furniture": { ":": "f_standing_tank", "#": "f_solar_unit", "&": "f_roof_turbine_vent" },
- "place_items": [ { "item": "roof_trash", "x": [ 5, 17 ], "y": [ 5, 18 ], "chance": 50, "repeat": [ 1, 3 ] } ]
+ "place_items": [ { "item": "roof_trash", "x": [ 8, 15 ], "y": [ 7, 22 ], "chance": 50, "repeat": [ 1, 3 ] } ]
}
},
{
diff --git a/data/json/mapgen_palettes/apartment.json b/data/json/mapgen_palettes/apartment.json
index 7664a73da4bf0..cb7dcd1696717 100644
--- a/data/json/mapgen_palettes/apartment.json
+++ b/data/json/mapgen_palettes/apartment.json
@@ -4,7 +4,7 @@
"id": "apartment_palette",
"terrain": {
" ": [ [ "t_dirt", 5 ], [ "t_grass", 16 ], [ "t_grass_long", 5 ], [ "t_underbrush", 1 ] ],
- "+": [ "t_door_c", "t_door_c", "t_door_o" ],
+ "+": [ [ "t_door_c", 2 ], "t_door_o" ],
"-": "t_wall",
"%": "t_rock",
"=": "t_door_metal_c",
@@ -14,7 +14,7 @@
"R": "t_railing_v",
"W": "t_window",
"s": "t_sidewalk",
- "w": [ "t_window_domestic", "t_window_domestic", "t_window_domestic", "t_curtains" ],
+ "w": [ [ "t_window_domestic", 3 ], "t_curtains" ],
"x": "t_console_broken",
"|": "t_wall",
"z": "t_flat_roof",
@@ -45,44 +45,125 @@
"M": "t_machinery_heavy"
},
"furniture": {
- "A": [ "f_armchair", "f_armchair", "f_null" ],
+ "a": "f_small_satelitte_dish",
+ "A": [ [ "f_armchair", 2 ], "f_null" ],
+ "b": "f_bathtub",
"B": "f_bed",
+ "c": "f_counter",
+ "C": "f_counter",
+ "d": "f_dresser",
+ "e": "f_fridge",
"F": "f_sofa",
+ "h": [ [ "f_chair", 2 ], "f_null" ],
+ "I": "f_floor_lamp",
+ "j": "f_trashcan",
+ "l": [ [ "f_stool", 2 ], "f_null" ],
+ "n": "f_table",
+ "o": "f_bookcase",
"O": "f_oven",
"p": "f_mailbox",
- "l": [ "f_stool", "f_stool", "f_null" ],
- "Y": "f_rack_coat",
+ "Q": "f_air_conditioner",
+ "r": "f_rack",
"S": "f_sink",
+ "t": "f_table",
+ "u": "f_cupboard",
+ "X": [ [ "f_wardrobe", 2 ], "f_dresser" ],
+ "Y": "f_rack_coat",
+ "1": "f_cupboard",
+ "2": "f_cupboard",
+ "3": "f_sink",
"^": [ "f_indoor_plant", "f_indoor_plant_y" ],
+ "(": "f_solar_unit",
+ "&": "f_chimney",
+ "@": "f_TV_antenna"
+ },
+ "toilets": { "T": { } },
+ "items": {
+ "B": { "item": "bed", "chance": 60 },
+ "d": { "item": "dresser", "chance": 70, "repeat": [ 1, 3 ] },
+ "e": { "item": "fridge", "chance": 70, "repeat": [ 1, 10 ] },
+ "j": { "item": "trash", "chance": 65, "repeat": [ 1, 3 ] },
+ "o": [
+ { "item": "magazines", "chance": 30 },
+ { "item": "novels", "chance": 40 },
+ { "item": "alcohol", "chance": 30 },
+ { "item": "manuals", "chance": 20 }
+ ],
+ "O": { "item": "oven", "chance": 70 },
+ "p": { "item": "mail", "chance": 30, "repeat": [ 2, 5 ] },
+ "r": [ { "item": "dresser", "chance": 30 }, { "item": "jackets", "chance": 60 } ],
+ "S": [ { "item": "softdrugs", "chance": 70 }, { "item": "cleaning", "chance": 50 } ],
+ "T": [ { "item": "magazines", "chance": 50 }, { "item": "novels", "chance": 50 } ],
+ "u": [
+ { "item": "cleaning", "chance": 50 },
+ { "item": "home_hw", "chance": 30 },
+ { "item": "cannedfood", "chance": 50, "repeat": [ 1, 10 ] },
+ { "item": "pasta", "chance": 50, "repeat": [ 1, 5 ] }
+ ],
+ "X": [ { "item": "bed", "chance": 60, "repeat": [ 1, 3 ] }, { "item": "dresser", "chance": 70, "repeat": [ 1, 9 ] } ],
+ "Y": { "item": "coat_rack", "chance": 35, "repeat": [ 1, 4 ] },
+ "1": [ { "item": "SUS_dishes" }, { "item": "SUS_silverware" }, { "item": "SUS_knife_drawer" } ],
+ "2": [ { "item": "SUS_cookware" }, { "item": "SUS_utensils" } ],
+ "3": [ { "item": "SUS_junk_drawer" }, { "item": "SUS_kitchen_sink" } ]
+ },
+ "item": { "n": { "item": "television", "chance": 70 } }
+ },
+ {
+ "type": "palette",
+ "id": "apartment_con_old",
+ "terrain": {
+ " ": [ [ "t_grass", 3 ], "t_dirt" ],
+ "#": "t_rock",
+ "%": "t_shrub",
+ "+": "t_door_c",
+ "-": "t_wall",
+ "|": "t_wall",
+ "<": "t_stairs_up",
+ "=": "t_door_metal_c",
+ ">": "t_stairs_down",
+ "D": "t_door_locked_interior",
+ "E": "t_elevator",
+ "G": "t_door_glass_c",
+ "R": "t_railing_v",
+ "p": "t_grass",
+ "s": "t_sidewalk",
+ "w": "t_window",
+ "X": "t_door_locked",
+ "x": "t_console_broken"
+ },
+ "furniture": {
+ "A": "f_armchair",
+ "B": "f_bed",
"b": "f_bathtub",
"c": "f_counter",
- "C": "f_counter",
"d": "f_dresser",
"e": "f_fridge",
- "h": [ "f_chair", "f_chair", "f_null" ],
+ "F": "f_sofa",
+ "h": "f_chair",
+ "l": "f_locker",
"o": "f_bookcase",
+ "O": "f_oven",
+ "p": "f_mailbox",
+ "Q": "f_stool",
"r": "f_rack",
+ "S": "f_sink",
"t": "f_table",
+ "T": "f_toilet",
"u": "f_cupboard",
- "X": [ "f_wardrobe", "f_wardrobe", "f_null" ],
- "Q": "f_air_conditioner",
- "(": "f_solar_unit",
- "&": "f_chimney",
- "a": "f_small_satelitte_dish",
- "@": "f_TV_antenna",
- "I": "f_floor_lamp",
- "j": "f_trashcan",
- "n": "f_table"
+ "Y": "f_rack_coat",
+ "1": "f_cupboard",
+ "2": "f_cupboard",
+ "3": "f_sink",
+ "^": "f_indoor_plant"
},
"toilets": { "T": { } },
"items": {
- "j": { "item": "trash", "chance": 65, "repeat": [ 1, 3 ] },
"B": { "item": "bed", "chance": 60 },
"O": { "item": "oven", "chance": 70 },
"S": [ { "item": "softdrugs", "chance": 70 }, { "item": "cleaning", "chance": 50 } ],
- "T": [ { "item": "magazines", "chance": 50 }, { "item": "novels", "chance": 50 } ],
"d": { "item": "dresser", "chance": 70 },
"e": { "item": "fridge", "chance": 70 },
+ "f": [ { "item": "magazines", "chance": 70 }, { "item": "novels", "chance": 50 } ],
"o": [
{ "item": "magazines", "chance": 30 },
{ "item": "novels", "chance": 40 },
@@ -97,8 +178,10 @@
{ "item": "pasta", "chance": 50 }
],
"Y": { "item": "coat_rack", "chance": 35, "repeat": [ 1, 4 ] },
- "p": { "item": "mail", "chance": 30, "repeat": [ 2, 5 ] }
- },
- "item": { "n": { "item": "television", "chance": 70 } }
+ "p": { "item": "mail", "chance": 30, "repeat": [ 2, 5 ] },
+ "1": [ { "item": "SUS_dishes" }, { "item": "SUS_silverware" }, { "item": "SUS_knife_drawer" } ],
+ "2": [ { "item": "SUS_cookware" }, { "item": "SUS_utensils" } ],
+ "3": [ { "item": "SUS_junk_drawer" }, { "item": "SUS_kitchen_sink" } ]
+ }
}
]
diff --git a/data/json/mapgen_palettes/apartment_con_old.json b/data/json/mapgen_palettes/apartment_con_old.json
deleted file mode 100644
index e8e5915c4ab31..0000000000000
--- a/data/json/mapgen_palettes/apartment_con_old.json
+++ /dev/null
@@ -1,48 +0,0 @@
-[
- {
- "type": "palette",
- "id": "apartment_con_old",
- "furniture": {
- "A": "f_armchair",
- "B": "f_bed",
- "F": "f_sofa",
- "O": "f_oven",
- "S": "f_sink",
- "T": "f_toilet",
- "Q": "f_stool",
- "^": "f_indoor_plant",
- "b": "f_bathtub",
- "c": "f_counter",
- "Y": "f_rack_coat",
- "d": "f_dresser",
- "e": "f_fridge",
- "h": "f_chair",
- "l": "f_locker",
- "o": "f_bookcase",
- "r": "f_rack",
- "t": "f_table",
- "u": "f_cupboard",
- "p": "f_mailbox"
- },
- "terrain": {
- " ": [ "t_grass", "t_grass", "t_grass", "t_dirt" ],
- "#": "t_rock",
- "%": "t_shrub",
- "+": "t_door_c",
- "-": "t_wall",
- "<": "t_stairs_up",
- "=": "t_door_metal_c",
- ">": "t_stairs_down",
- "D": "t_door_locked_interior",
- "E": "t_elevator",
- "G": "t_door_glass_c",
- "R": "t_railing_v",
- "X": "t_door_locked",
- "s": "t_sidewalk",
- "w": "t_window",
- "x": "t_console_broken",
- "|": "t_wall",
- "p": "t_grass"
- }
- }
-]
diff --git a/data/json/mapgen_palettes/farm.json b/data/json/mapgen_palettes/farm.json
index 364fa8eb51512..4d65b2794ccf2 100644
--- a/data/json/mapgen_palettes/farm.json
+++ b/data/json/mapgen_palettes/farm.json
@@ -2,74 +2,94 @@
{
"type": "palette",
"id": "farm",
- "furniture": {
- "B": "f_bed",
- "H": "f_armchair",
- "P": "f_mailbox",
- "S": "f_sink",
- "T": "f_toilet",
- "Y": "f_rack_coat",
- "b": "f_bathtub",
- "d": "f_dresser",
- "e": "f_fridge",
- "h": "f_chair",
- "k": "f_desk",
- "l": "f_locker",
- "o": "f_oven",
- "u": "f_cupboard",
- "y": "f_hay",
- "m": "f_makeshift_bed",
- "r": "f_rack",
- "s": "f_rack"
- },
"terrain": {
- " ": [ "t_grass", "t_grass", "t_grass", "t_dirt" ],
- "Q": "t_dirtfloor",
- "#": "t_wall_glass",
+ " ": [ [ "t_grass", 3 ], "t_dirt" ],
+ "#": "t_wall_wood",
"$": "t_shrub",
"&": "t_water_pump",
- "+": "t_door_glass_c",
+ "+": "t_door_c",
+ "~": "t_door_glass_c",
",": "t_dirt",
"-": "t_wall",
".": "t_floor",
- "1": "t_column",
- "2": "t_fence_h",
- "3": "t_fence_v",
- "5": "t_barndoor",
- "B": "t_floor",
+ "_": "t_dirtfloor",
+ "|": "t_wall",
+ ";": "t_fence_wire",
+ "A": "t_bars",
+ "c": "t_door_makeshift_c",
"D": "t_dirtmound",
"E": "t_dirtmoundfloor",
"F": "t_fence_barbed",
- "H": "t_fence_h",
+ "g": "t_fencegate_c",
+ "G": "t_wall_glass",
+ "l": "t_dirtfloor",
"M": "t_door_metal_locked",
"O": "t_barndoor",
"P": "t_grass",
- "S": "t_floor",
- "T": "t_floor",
+ "Q": [ [ "t_grass", 3 ], "t_dirt" ],
+ "r": "t_dirtfloor",
+ "R": "t_dirtfloor",
+ "s": "t_dirtfloor",
"W": "t_window_boarded",
- "Y": "t_floor",
- "_": "t_dirtfloor",
- "b": "t_floor",
- "d": "t_floor",
- "e": "t_floor",
- "g": "t_chaingate_c",
- "h": "t_floor",
- "k": "t_floor",
- "l": "t_floor",
- "o": "t_floor",
- "u": "t_floor",
"w": "t_window_domestic",
"y": "t_dirtfloor",
- "|": "t_wall",
- "m": "t_floor",
- "=": "t_door_metal_locked",
- "A": "t_bars",
- "r": "t_dirtfloor",
- "s": "t_dirtfloor",
- ";": "t_fence_wire",
+ "1": "t_column",
+ "2": "t_fence_h",
+ "3": "t_fence_v",
"7": "t_dirtfloor",
- "8": "t_dirtfloor",
- "c": "t_door_makeshift_c"
+ "8": "t_dirtfloor"
+ },
+ "furniture": {
+ "B": "f_bed",
+ "b": "f_bathtub",
+ "d": "f_dresser",
+ "e": "f_fridge",
+ "H": "f_armchair",
+ "h": "f_chair",
+ "k": "f_desk",
+ "l": "f_locker",
+ "m": "f_makeshift_bed",
+ "o": "f_oven",
+ "P": "f_mailbox",
+ "r": "f_rack",
+ "s": "f_rack",
+ "S": "f_sink",
+ "T": "f_toilet",
+ "u": "f_cupboard",
+ "Y": "f_rack_coat",
+ "y": "f_hay",
+ "4": "f_cupboard",
+ "5": "f_sink",
+ "6": "f_cupboard"
+ },
+ "toilets": { "T": { } },
+ "items": {
+ "B": { "item": "bed", "chance": 60 },
+ "b": { "item": "shower", "chance": 70 },
+ "D": { "item": "hydro", "chance": 5 },
+ "d": [ { "item": "dresser", "chance": 80, "repeat": [ 1, 6 ] }, { "item": "homeguns", "chance": 20 } ],
+ "e": { "item": "fridge", "chance": 65, "repeat": [ 1, 15 ] },
+ "h": { "item": "bedroom", "chance": 65 },
+ "H": { "item": "livingroom", "chance": 65 },
+ "k": { "item": "bedroom", "chance": 65 },
+ "l": [
+ { "item": "tools_earthworking", "chance": 65 },
+ { "item": "mechanics", "chance": 40 },
+ { "item": "home_hw", "chance": 50 },
+ { "item": "tools_common", "chance": 50 }
+ ],
+ "P": { "item": "mail", "chance": 30, "repeat": [ 2, 5 ] },
+ "Q": { "item": "farming_tools", "chance": 15 },
+ "S": { "item": "softdrugs", "chance": 70 },
+ "u": [
+ { "item": "kitchen", "chance": 70, "repeat": [ 1, 4 ] },
+ { "item": "cannedfood", "chance": 65, "repeat": [ 1, 10 ] },
+ { "item": "moonshine_brew", "chance": 65 }
+ ],
+ "Y": { "item": "coat_rack", "chance": 35, "repeat": [ 1, 4 ] },
+ "4": [ { "item": "SUS_dishes" }, { "item": "SUS_silverware" }, { "item": "SUS_knife_drawer" } ],
+ "5": [ { "item": "SUS_junk_drawer" }, { "item": "SUS_kitchen_sink" } ],
+ "6": [ { "item": "SUS_cookware" }, { "item": "SUS_utensils" } ]
}
}
]
diff --git a/data/json/mapgen_palettes/lmoe.json b/data/json/mapgen_palettes/lmoe.json
new file mode 100644
index 0000000000000..d23231243d0e0
--- /dev/null
+++ b/data/json/mapgen_palettes/lmoe.json
@@ -0,0 +1,128 @@
+[
+ {
+ "type": "palette",
+ "id": "bunker",
+ "terrain": {
+ "#": "t_rock",
+ "*": "t_chaingate_c",
+ "+": "t_door_metal_c",
+ "-": "t_scrap_wall",
+ "_": "t_metal_floor",
+ ",": "t_carpet_metal",
+ "1": "t_column",
+ "<": "t_stairs_up",
+ "=": "t_chainfence",
+ "|": "t_wall_metal",
+ ":": "t_secretdoor_metal_c",
+ ";": "t_secretdoor_metal_o",
+ "~": "t_water_pump",
+ "G": "t_generator_broken",
+ "t": "t_metal_floor"
+ },
+ "furniture": {
+ "A": "f_air_filter",
+ "a": "f_standing_tank",
+ "b": "f_bookcase",
+ "B": "f_bed",
+ "c": "f_counter",
+ "C": "f_cupboard",
+ "d": "f_dresser",
+ "D": "f_desk",
+ "e": "f_ergometer",
+ "E": "f_exercise",
+ "F": "f_fridge",
+ "f": "f_sofa",
+ "h": "f_chair",
+ "H": "f_water_heater",
+ "K": "f_sink",
+ "l": "f_utility_shelf",
+ "L": "f_table",
+ "O": "f_oven",
+ "P": "f_punching_bag",
+ "r": "f_rack",
+ "R": "f_rack",
+ "s": "f_shower",
+ "S": "f_woodstove",
+ "T": "f_table",
+ "U": "f_utility_shelf",
+ "u": "f_utility_shelf",
+ "v": "f_utility_shelf",
+ "V": "f_utility_shelf",
+ "w": "f_wardrobe",
+ "W": "f_water_purifier",
+ "Y": "f_rack_coat",
+ "^": "f_rubble",
+ "&": "f_trashcan",
+ "{": "f_rack",
+ "}": "f_bookcase"
+ },
+ "toilets": { "t": { } }
+ },
+ {
+ "type": "palette",
+ "id": "empty_bunker_items",
+ "items": {
+ "b": [ { "item": "manuals", "chance": 60 }, { "item": "textbooks", "chance": 40 } ],
+ "B": { "item": "bed", "chance": 70, "repeat": [ 1, 2 ] },
+ "c": { "item": "hardware", "chance": 50 },
+ "C": [ { "item": "dining", "chance": 30, "repeat": [ 1, 3 ] }, { "item": "oven", "chance": 20 } ],
+ "d": { "item": "allclothes", "chance": 80, "repeat": [ 2, 4 ] },
+ "D": { "item": "office", "chance": 70 },
+ "l": { "item": "hardware", "chance": 50, "repeat": [ 1, 2 ] },
+ "L": { "item": "dining", "chance": 30 },
+ "r": { "item": "stash_wood", "chance": 85 },
+ "R": { "item": "hardware", "chance": 80 },
+ "S": { "item": "oven", "chance": 80 },
+ "T": { "item": "tools_common", "chance": 60, "repeat": [ 1, 2 ] },
+ "U": { "item": "gear_survival", "chance": 20, "repeat": [ 3, 5 ] },
+ "u": [ { "item": "cannedfood", "chance": 20, "repeat": [ 1, 5 ] }, { "item": "pasta", "chance": 10, "repeat": [ 1, 3 ] } ],
+ "v": { "item": "softdrugs", "chance": 50 },
+ "V": { "item": "bags", "chance": 30 },
+ "w": { "item": "allclothes", "chance": 80, "repeat": [ 2, 4 ] },
+ "Y": [ { "item": "jackets", "chance": 15 }, { "item": "hats", "chance": 15 }, { "item": "winter", "chance": 10 } ],
+ "^": { "item": "shelter", "chance": 30 },
+ "{": [ { "item": "lmoe_guns", "chance": 80 }, { "item": "ammo", "y": 3, "chance": 5, "repeat": [ 3, 7 ] } ],
+ "}": { "item": "novels", "chance": 90, "repeat": [ 3, 8 ] }
+ }
+ },
+ {
+ "type": "palette",
+ "id": "bunker_ext",
+ "terrain": {
+ " ": [ [ "t_grass", 10 ], [ "t_grass_long", 2 ], [ "t_shrub", 1 ], [ "t_dirt", 5 ] ],
+ "_": "t_dirt",
+ "#": "t_rock",
+ "$": [
+ "t_tree",
+ "t_tree_apple",
+ "t_tree_peach",
+ "t_tree_pear",
+ "t_tree_hickory",
+ "t_tree_beech",
+ "t_tree_coffee",
+ [ "t_tree_young", 14 ],
+ [ "t_shrub", 20 ]
+ ],
+ "S": [
+ [ "t_grass", 15 ],
+ [ "t_tree_young", 2 ],
+ [ "t_shrub", 2 ],
+ "t_tree",
+ "t_tree_apple",
+ "t_tree_peach",
+ "t_tree_pear",
+ "t_tree_hickory",
+ "t_tree_beech",
+ "t_tree_coffee"
+ ],
+ "v": "t_open_air",
+ "+": "t_door_metal_c",
+ ".": "t_rock_floor",
+ ">": "t_stairs_down",
+ ")": "t_slope_up",
+ "(": "t_slope_down",
+ "T": [ "t_tree", "t_tree_apple", "t_tree_peach", "t_tree_pear", "t_tree_hickory", "t_tree_beech", "t_tree_coffee" ]
+ },
+ "items": { " ": [ { "item": "forest", "chance": 1 }, { "item": "field", "chance": 2 } ] }
+ }
+]
diff --git a/data/json/mapgen_palettes/mil_surplus.json b/data/json/mapgen_palettes/mil_surplus.json
index 84cc57cc9b85e..2124529ff2514 100644
--- a/data/json/mapgen_palettes/mil_surplus.json
+++ b/data/json/mapgen_palettes/mil_surplus.json
@@ -18,25 +18,38 @@
"R": "t_floor",
"S": "t_floor",
"~": "t_sidewalk",
- "-": "t_wall",
- "|": "t_wall",
+ "-": "t_wall_w",
+ "|": "t_wall_w",
"'": "t_window",
"`": "t_window_alarm",
"+": "t_door_c",
- "/": "t_door_curtain_c"
+ "/": "t_door_curtain_c",
+ "Y": "t_concrete",
+ "U": "t_concrete",
+ "4": "t_gutter_downspout",
+ "<": "t_ladder_up"
},
"furniture": {
"#": "f_counter",
+ "U": [ "f_dumpster", "f_recycle_bin" ],
"h": "f_chair",
"%": "f_sink",
"@": "f_mannequin",
+ "L": "f_locker",
"^": [ "f_bigmirror", "f_bigmirror", "f_bigmirror", "f_bigmirror_b" ],
"R": "f_rack",
"S": "f_stool",
"A": "f_rack",
"B": "f_rack",
"C": "f_rack",
- "D": [ "f_displaycase", "f_displaycase", "f_displaycase", "f_displaycase", "f_displaycase_b" ]
+ "D": [ "f_displaycase", "f_displaycase", "f_displaycase", "f_displaycase", "f_displaycase_b" ],
+ "*": "f_canvas_wall",
+ "8": "f_groundsheet",
+ "]": "f_canvas_door",
+ "Q": "f_camp_chair",
+ "b": "f_brazier",
+ "r": "f_tourist_table",
+ "d": "f_mannequin"
},
"toilets": { "&": { } }
}
diff --git a/data/json/mapgen_palettes/refugee_center.json b/data/json/mapgen_palettes/refugee_center.json
index 4a4c413062c7c..d69d6ede278e6 100644
--- a/data/json/mapgen_palettes/refugee_center.json
+++ b/data/json/mapgen_palettes/refugee_center.json
@@ -57,5 +57,26 @@
"~": "f_shower"
},
"toilets": { "t": { } }
+ },
+ {
+ "type": "palette",
+ "id": "rc_grounds",
+ "terrain": {
+ "'": [ [ "t_grass", 30 ], [ "t_dirt", 10 ], [ "t_grass_dead", 3 ] ],
+ ",": [ [ "t_pavement_y", 300 ], [ "t_dirt", 2 ], "t_grass_dead" ],
+ ".": [
+ [ "t_grass", 600 ],
+ [ "t_dirt", 200 ],
+ [ "t_grass_dead", 60 ],
+ [ "t_shrub", 15 ],
+ [ "t_tree_young", 10 ],
+ [ "t_tree", 3 ],
+ [ "t_tree_dead", 2 ],
+ "t_water_sh",
+ "t_tree_pine"
+ ],
+ "|": [ [ "t_chainfence", 30 ], [ "t_chainfence_posts", 4 ], [ "t_grass", 2 ], "t_shrub" ],
+ "_": [ [ "t_pavement", 300 ], [ "t_dirt", 2 ], "t_grass_dead" ]
+ }
}
]
diff --git a/data/json/mapgen_palettes/shelter.json b/data/json/mapgen_palettes/shelter.json
index 919ef554ff4ca..7456276e1d17d 100644
--- a/data/json/mapgen_palettes/shelter.json
+++ b/data/json/mapgen_palettes/shelter.json
@@ -4,6 +4,9 @@
"id": "shelter",
"terrain": {
" ": [ "t_grass", "t_grass", "t_grass", "t_dirt" ],
+ "!": "t_pavement",
+ "`": "t_pavement_y",
+ "&": "t_sidewalk",
"#": "t_rock",
"+": "t_door_c",
"-": "t_wall_w",
diff --git a/data/json/martialarts.json b/data/json/martialarts.json
index b71b85556d3b0..e86f8b2766b8f 100644
--- a/data/json/martialarts.json
+++ b/data/json/martialarts.json
@@ -1009,5 +1009,65 @@
"tec_wingchun_disarm"
],
"weapons": [ "butterfly_swords", "long_pole" ]
+ },
+ {
+ "type": "martial_art",
+ "id": "style_swordsmanship",
+ "name": "Medieval Swordsmanship",
+ "description": "The art of the longsword and sword & shield, preceding the later development of fencing. Designed for combat both unarmored and in armor, it includes grappling as well as defensive and offensive sword techniques. This treatise compares the Italian and German traditions of medieval combat with detailed step-by-step pictures.",
+ "initiate": [ "You stand tall and become vigilant against attacks.", "%s stands tall and becomes vigilant." ],
+ "arm_block": 99,
+ "leg_block": 99,
+ "onattack_buffs": [
+ {
+ "id": "swordsmanship_attack_buff",
+ "name": "Perfect Defense",
+ "description": "Bonus dodges after an attack.",
+ "buff_duration": 3,
+ "melee_allowed": true,
+ "bonus_dodges": 2
+ }
+ ],
+ "ondodge_buffs": [
+ {
+ "id": "swordsmanship_counter",
+ "name": "Displacement",
+ "description": "The enemy has presented an opening in their defense.",
+ "min_melee": 2,
+ "melee_allowed": true,
+ "max_stacks": 1,
+ "buff_duration": 2
+ }
+ ],
+ "techniques": [
+ "tec_swordsmanship_counter",
+ "tec_swordsmanship_grab",
+ "tec_swordsmanship_break",
+ "tec_swordsmanship_zornhau",
+ "tec_swordsmanship_unterhau",
+ "tec_swordsmanship_mordhau"
+ ],
+ "weapons": [
+ "sword_wood",
+ "sword_nail",
+ "sword_crude",
+ "zweihander",
+ "zweihander_inferior",
+ "zweihander_fake",
+ "zweifire_off",
+ "zweifire_on",
+ "arming_sword",
+ "arming_sword_inferior",
+ "arming_sword_fake",
+ "longsword",
+ "longsword_inferior",
+ "longsword_fake",
+ "estoc",
+ "estoc_inferior",
+ "estoc_fake",
+ "jian",
+ "jian_inferior",
+ "jian_fake"
+ ]
}
]
diff --git a/data/json/materials.json b/data/json/materials.json
index 2663ef3a02f6b..77a6eebd733fd 100644
--- a/data/json/materials.json
+++ b/data/json/materials.json
@@ -1249,7 +1249,7 @@
{
"type": "material",
"ident": "dried_vegetable",
- "name": "Dried vegetable",
+ "name": "Dried Vegetable",
"density": 4,
"specific_heat_liquid": 2.5,
"specific_heat_solid": 3.5,
@@ -1301,7 +1301,7 @@
{
"type": "material",
"ident": "processed_food",
- "name": "Processed fod",
+ "name": "Processed Food",
"density": 4,
"specific_heat_liquid": 3,
"specific_heat_solid": 2,
@@ -1348,7 +1348,7 @@
{
"type": "material",
"ident": "ice_cream",
- "name": "Ice cream",
+ "name": "Ice Cream",
"density": 1,
"specific_heat_liquid": 3.15,
"specific_heat_solid": 2.74,
diff --git a/data/json/monster_drops.json b/data/json/monsterdrops/monster_drops.json
similarity index 100%
rename from data/json/monster_drops.json
rename to data/json/monsterdrops/monster_drops.json
diff --git a/data/json/monstergroups.json b/data/json/monstergroups/monstergroups.json
similarity index 100%
rename from data/json/monstergroups.json
rename to data/json/monstergroups/monstergroups.json
diff --git a/data/json/monstergroups_egg.json b/data/json/monstergroups/monstergroups_egg.json
similarity index 100%
rename from data/json/monstergroups_egg.json
rename to data/json/monstergroups/monstergroups_egg.json
diff --git a/data/json/monsters/mammal.json b/data/json/monsters/mammal.json
index 11dbb40c9bb1e..97d4861ca5dec 100644
--- a/data/json/monsters/mammal.json
+++ b/data/json/monsters/mammal.json
@@ -1805,7 +1805,7 @@
"type": "MONSTER",
"name": "lamb",
"name_plural": "lambs",
- "description": "A timid, hooved grazing mammal, and one of the first animals ever domesticated. Its body is covered in a thick layer of wool, and the males have long, spiraling horns.",
+ "description": "A timid, hooved grazing mammal, and one of the first animals ever domesticated. Its body is covered in a thick layer of wool, and the males have long, spiraling horns.",
"default_faction": "herbivore",
"bodytype": "dog",
"categories": [ "WILDLIFE" ],
@@ -1837,7 +1837,7 @@
"type": "MONSTER",
"name": "sheep",
"name_plural": "sheep",
- "description": "A timid, hooved grazing mammal, and one of the first animals ever domesticated. Its body is covered in a thick layer of wool, and the males have long, spiralling horns.",
+ "description": "A timid, hooved grazing mammal, and one of the first animals ever domesticated. Its body is covered in a thick layer of wool, and the males have long, spiralling horns.",
"default_faction": "herbivore",
"bodytype": "dog",
"categories": [ "WILDLIFE" ],
diff --git a/data/json/monsters.json b/data/json/monsters/monsters.json
similarity index 100%
rename from data/json/monsters.json
rename to data/json/monsters/monsters.json
diff --git a/data/json/monsters/zed_lab.json b/data/json/monsters/zed_lab.json
index b659598ce9fb7..d0dbeea1ca885 100644
--- a/data/json/monsters/zed_lab.json
+++ b/data/json/monsters/zed_lab.json
@@ -54,7 +54,7 @@
"id": "mon_zombie_labsecurity",
"type": "MONSTER",
"name": "zombie security guard",
- "description": "A shambling human corpse wearing a grey uniform and bulletproof vest with \"SECURITY\" emblazoned across the front. It looks like the guard was quite physically fit before its death; it moves quickly and powerfully, albeit clumsily.",
+ "description": "A shambling human corpse wearing a gray uniform and bulletproof vest with \"SECURITY\" emblazoned across the front. It looks like the guard was quite physically fit before its death; it moves quickly and powerfully, albeit clumsily.",
"default_faction": "science",
"//": "guards are recognised as friendly by the lab's defense system",
"categories": [ "CLASSIC" ],
diff --git a/data/json/morale_types.json b/data/json/morale_types.json
index 53124d5931786..9809242c5e788 100644
--- a/data/json/morale_types.json
+++ b/data/json/morale_types.json
@@ -249,6 +249,16 @@
"type": "morale_type",
"text": "Masochism"
},
+ {
+ "id": "morale_perm_noface",
+ "type": "morale_type",
+ "text": "You have no face!"
+ },
+ {
+ "id": "morale_perm_fpmode_on",
+ "type": "morale_type",
+ "text": "You feel pumped!"
+ },
{
"id": "morale_perm_hoarder",
"type": "morale_type",
diff --git a/data/json/mutation_appearance.json b/data/json/mutations/mutation_appearance.json
similarity index 100%
rename from data/json/mutation_appearance.json
rename to data/json/mutations/mutation_appearance.json
diff --git a/data/json/mutation_category.json b/data/json/mutations/mutation_category.json
similarity index 100%
rename from data/json/mutation_category.json
rename to data/json/mutations/mutation_category.json
diff --git a/data/json/mutation_ordering.json b/data/json/mutations/mutation_ordering.json
similarity index 100%
rename from data/json/mutation_ordering.json
rename to data/json/mutations/mutation_ordering.json
diff --git a/data/json/mutation_type.json b/data/json/mutations/mutation_type.json
similarity index 100%
rename from data/json/mutation_type.json
rename to data/json/mutations/mutation_type.json
diff --git a/data/json/mutations.json b/data/json/mutations/mutations.json
similarity index 99%
rename from data/json/mutations.json
rename to data/json/mutations/mutations.json
index c6c9710a337a5..275a34dac7bfd 100644
--- a/data/json/mutations.json
+++ b/data/json/mutations/mutations.json
@@ -418,7 +418,7 @@
"id": "ANIMALEMPATH2",
"name": "Animal Kinship",
"points": 2,
- "description": "Something about your presence is calming to animals, and they will treat you with innate trust. This only applies to natural animals such as woodland creatures.",
+ "description": "Something about your presence is calming to animals, and they will treat you with innate trust. This only applies to natural animals such as woodland creatures.",
"category": [ "ELFA" ],
"prereqs": [ "ANIMALEMPATH" ],
"cancels": [ "ANIMALDISCORD" ]
@@ -630,9 +630,9 @@
"id": "MARTIAL_ARTS5",
"name": "Melee Weapon Training",
"points": 3,
- "description": "You have practiced fighting with weapons. You start with your choice of Eskrima, Fencing, Pentjak Silat, Niten Ichi-Ryu, or Sōjutsu.",
+ "description": "You have practiced fighting with weapons. You start with your choice of Eskrima, Fencing, Pentjak Silat, Medieval Swordsmanship, Niten Ichi-Ryu, or Sōjutsu.",
"starting_trait": true,
- "initial_ma_styles": [ "style_eskrima", "style_fencing", "style_silat", "style_niten", "style_sojutsu" ],
+ "initial_ma_styles": [ "style_eskrima", "style_fencing", "style_silat", "style_niten", "style_sojutsu", "style_swordsmanship" ],
"valid": false
},
{
@@ -660,7 +660,7 @@
"id": "SAVINGS",
"name": "Savings",
"points": 1,
- "description": "You had some money stashed at the bank for a rainy day. Now that the storm is raging, it's a last call to use it maybe?",
+ "description": "You had some money stashed at the bank for a rainy day. Now that the storm is raging, it's a last call to use it maybe?",
"starting_trait": true,
"purifiable": false,
"valid": false,
@@ -671,7 +671,7 @@
"id": "DEBT",
"name": "Debt",
"points": -1,
- "description": "You needed money and had a big loan in a bank. Good thing nobody will come to collect it now, right? Right?",
+ "description": "You needed money and had a big loan in a bank. Good thing nobody will come to collect it now, right? Right?",
"starting_trait": true,
"purifiable": false,
"valid": false,
@@ -2237,7 +2237,7 @@
"points": 6,
"visibility": 10,
"ugliness": 5,
- "description": "Your leaves have grown in size and prominence, with additional leaves sprouting along your arms. While your arms and head are uncovered, you will photosynthesize additional nutrients while in sunlight. Reduces wet effects.",
+ "description": "Your leaves have grown in size and prominence, with additional leaves sprouting along your arms. While your arms and head are uncovered, you will photosynthesize additional nutrients while in sunlight. Reduces wet effects.",
"prereqs": [ "LEAVES" ],
"prereqs2": [ "TRANSPIRATION" ],
"threshreq": [ "THRESH_PLANT" ],
@@ -2253,7 +2253,7 @@
"points": 9,
"visibility": 12,
"ugliness": 6,
- "description": "You leaves are vibrant, large, and green, and have become a major source of nutrition for your body. Whenever your arms and head are uncovered you will gain a large amount of nutrition by standing in the sunlight. Reduces wet effects.",
+ "description": "You leaves are vibrant, large, and green, and have become a major source of nutrition for your body. Whenever your arms and head are uncovered you will gain a large amount of nutrition by standing in the sunlight. Reduces wet effects.",
"prereqs": [ "LEAVES2" ],
"prereqs2": [ "TRANSPIRATION" ],
"threshreq": [ "THRESH_PLANT" ],
@@ -2268,7 +2268,7 @@
"points": -5,
"visibility": 0,
"ugliness": 0,
- "description": "You body has begun moving nutrients via the evaporation of water. This increases your thrist when it's hot, but reduces it when it's cold.",
+ "description": "You body has begun moving nutrients via the evaporation of water. This increases your thirst when it's hot, but reduces it when it's cold.",
"prereqs": [ "PLANTSKIN", "BARK" ],
"prereqs2": [ "LEAVES" ],
"threshreq": [ "THRESH_PLANT" ],
@@ -5239,7 +5239,7 @@
"id": "TREE_COMMUNION",
"name": "Mycorrhizal Communion",
"points": 2,
- "description": "You have gained the ability to commune with trees and comprehend their ancient wisdom. Activate next to a tree to gradually gain overmap vision through connected forests.",
+ "description": "You have gained the ability to commune with trees and comprehend their ancient wisdom. Activate next to a tree to gradually gain overmap vision through connected forests.",
"prereqs": [ "HAIRROOTS", "ROOTS2", "ROOTS3" ],
"threshreq": [ "THRESH_PLANT", "THRESH_ELFA" ],
"category": [ "PLANT", "ELFA" ],
@@ -5256,6 +5256,7 @@
"changes_to": [ "COLDBLOOD2" ],
"types": [ "METABOLISM" ],
"category": [ "FISH", "CEPHALOPOD", "SPIDER" ],
+ "temperature_speed_modifier": 1,
"metabolism_modifier": -0.333
},
{
@@ -5269,6 +5270,7 @@
"changes_to": [ "COLDBLOOD3" ],
"types": [ "METABOLISM" ],
"category": [ "RAPTOR", "PLANT" ],
+ "temperature_speed_modifier": 0.333,
"metabolism_modifier": -0.5
},
{
@@ -5282,6 +5284,7 @@
"changes_to": [ "COLDBLOOD4" ],
"types": [ "METABOLISM" ],
"category": [ "INSECT", "LIZARD" ],
+ "temperature_speed_modifier": 0.5,
"metabolism_modifier": -0.5
},
{
@@ -5296,6 +5299,7 @@
"purifiable": false,
"types": [ "METABOLISM" ],
"category": [ "LIZARD", "PLANT" ],
+ "temperature_speed_modifier": 0.5,
"metabolism_modifier": -0.5
},
{
@@ -6041,6 +6045,16 @@
"purifiable": false,
"profession": true
},
+ {
+ "type": "mutation",
+ "id": "PROF_FOODP",
+ "name": "True Foodperson",
+ "points": 0,
+ "description": "You are the true Foodperson, some might think Foodperson is just a mascot, but you know better. You are Foodperson, the mask has become your face, you are real and the only thing standing between this world and oblivion is you.",
+ "valid": false,
+ "purifiable": false,
+ "profession": true
+ },
{
"type": "mutation",
"id": "PROF_MED",
diff --git a/data/json/npcs/NC_CITY_COP.json b/data/json/npcs/NC_CITY_COP.json
index 917500e4ea9a1..457d9aed84bce 100644
--- a/data/json/npcs/NC_CITY_COP.json
+++ b/data/json/npcs/NC_CITY_COP.json
@@ -42,6 +42,8 @@
{
"id": "NC_CITY_COP_misc",
"type": "item_group",
+ "ammo": 75,
+ "magazine": 100,
"items": [
[ "ring", 30 ],
[ "gold_ear", 30 ],
diff --git a/data/json/npcs/NC_JUNK_SHOPKEEP.json b/data/json/npcs/NC_JUNK_SHOPKEEP.json
index de09e022ad3ba..b523682f550c9 100644
--- a/data/json/npcs/NC_JUNK_SHOPKEEP.json
+++ b/data/json/npcs/NC_JUNK_SHOPKEEP.json
@@ -12,6 +12,8 @@
{
"type": "item_group",
"id": "NC_JUNK_SHOPKEEP_misc",
+ "ammo": 75,
+ "magazine": 100,
"items": [
[ "vest", 40 ],
[ "kevlar", 15 ],
diff --git a/data/json/npcs/NC_TRUE_FOODPERSON.json b/data/json/npcs/NC_TRUE_FOODPERSON.json
new file mode 100644
index 0000000000000..2e4e0f0c0533e
--- /dev/null
+++ b/data/json/npcs/NC_TRUE_FOODPERSON.json
@@ -0,0 +1,35 @@
+[
+ {
+ "type": "item_group",
+ "id": "NC_TRUE_FOODPERSON_worn",
+ "subtype": "collection",
+ "entries": [
+ { "item": "foodperson_mask" },
+ { "item": "briefs" },
+ { "item": "socks" },
+ { "item": "pants_cargo" },
+ { "item": "dress_shirt" },
+ { "item": "chestguard_hard" },
+ { "item": "cape_fp" },
+ { "item": "armguard_hard" },
+ { "item": "legguard_hard" },
+ { "item": "gloves_rubber" },
+ { "item": "boots_rubber" }
+ ]
+ },
+ {
+ "id": "NC_TRUE_FOODPERSON_melee",
+ "type": "item_group",
+ "items": [ [ "bat", 50 ], [ "null", 50 ] ]
+ },
+ {
+ "type": "item_group",
+ "id": "NC_TRUE_FOODPERSON_misc",
+ "subtype": "collection",
+ "entries": [
+ { "item": "medium_disposable_cell", "prob": 90 },
+ { "group": "snacks_fancy", "prob": 30, "charges": 2 },
+ { "group": "snacks", "prob": 20, "charges": 2 }
+ ]
+ }
+]
diff --git a/data/json/npcs/TALK_COMMON_ALLY.json b/data/json/npcs/TALK_COMMON_ALLY.json
index 7a3f2af0705db..f5df41118c237 100644
--- a/data/json/npcs/TALK_COMMON_ALLY.json
+++ b/data/json/npcs/TALK_COMMON_ALLY.json
@@ -741,10 +741,16 @@
"effect": "sort_loot"
},
{
- "text": "Please work on any construction taks that you know how to finish.",
+ "text": "Please work on any unfinished construction task that you know how to finish.",
"topic": "TALK_DONE",
"condition": { "not": "npc_has_activity" },
"effect": "do_construction"
+ },
+ {
+ "text": "Please work on any contruction blueprint zones nearby.",
+ "topic": "TALK_DONE",
+ "condition": { "not": "npc_has_activity" },
+ "effect": "do_blueprint_construction"
}
]
},
diff --git a/data/json/npcs/TALK_TEST.json b/data/json/npcs/TALK_TEST.json
index b7080abc314ad..46dfaf5c2ab7c 100644
--- a/data/json/npcs/TALK_TEST.json
+++ b/data/json/npcs/TALK_TEST.json
@@ -648,7 +648,7 @@
{
"type": "talk_topic",
"id": "TALK_TEST_SPEAKER_EFFECT_SENTINEL_CONDITIONAL",
- "speaker_effect": { "sentinel": "spend500", "condition": { "u_has_cash": 750 }, "effect": { "u_spend_cash": 500 } },
+ "speaker_effect": { "sentinel": "spend500", "condition": { "u_are_owed": 750 }, "effect": { "u_spend_cash": 500 } },
"dynamic_line": "This is a test conversation that shouldn't appear in the game.",
"responses": [ { "text": "This is a basic test response.", "topic": "TALK_DONE" } ]
},
@@ -663,8 +663,8 @@
"type": "talk_topic",
"id": "TALK_TEST_SPEAKER_EFFECT_COMPOUND_CONDITIONAL",
"speaker_effect": [
- { "condition": { "u_has_cash": 1500 }, "effect": { "u_spend_cash": 1000 } },
- { "condition": { "u_has_cash": 750 }, "effect": { "u_spend_cash": 500 } }
+ { "condition": { "u_are_owed": 1500 }, "effect": { "u_spend_cash": 1000 } },
+ { "condition": { "u_are_owed": 750 }, "effect": { "u_spend_cash": 500 } }
],
"dynamic_line": "This is a test conversation that shouldn't appear in the game.",
"responses": [ { "text": "This is a basic test response.", "topic": "TALK_DONE" } ]
@@ -680,8 +680,8 @@
"type": "talk_topic",
"id": "TALK_TEST_SPEAKER_EFFECT_COMPOUND_SENTINEL_CONDITIONAL",
"speaker_effect": [
- { "sentinel": "spend250", "condition": { "u_has_cash": 750 }, "effect": { "u_spend_cash": 250 } },
- { "sentinel": "spend500", "condition": { "u_has_cash": 750 }, "effect": { "u_spend_cash": 500 } }
+ { "sentinel": "spend250", "condition": { "u_are_owed": 750 }, "effect": { "u_spend_cash": 250 } },
+ { "sentinel": "spend500", "condition": { "u_are_owed": 750 }, "effect": { "u_spend_cash": 500 } }
],
"dynamic_line": "This is a test conversation that shouldn't appear in the game.",
"responses": [ { "text": "This is a basic test response.", "topic": "TALK_DONE" } ]
diff --git a/data/json/npcs/TALK_TRUE_FOODPERSON.json b/data/json/npcs/TALK_TRUE_FOODPERSON.json
new file mode 100644
index 0000000000000..f7f74ec7514b2
--- /dev/null
+++ b/data/json/npcs/TALK_TRUE_FOODPERSON.json
@@ -0,0 +1,550 @@
+[
+ {
+ "id": "TALK_TRUE_FOODPERSON",
+ "type": "talk_topic",
+ "dynamic_line": {
+ "u_is_wearing": "foodperson_mask",
+ "yes": {
+ "npc_has_var": "foodperson_has_talked",
+ "type": "dialogue",
+ "context": "foodperson",
+ "value": "yes",
+ "no": "What sorcery is this?",
+ "yes": {
+ "npc_has_var": "foodperson_meeting_solved",
+ "type": "dialogue",
+ "context": "foodperson",
+ "value": "yes",
+ "no": "So you're back... Explain yourself!",
+ "yes": "Greetings friend, it's nice to see you."
+ }
+ },
+ "no": {
+ "u_is_wearing": "foodkid_badge",
+ "yes": "Welcome home Foodkid!",
+ "no": {
+ "npc_has_var": "npc_foodperson_impressed",
+ "type": "dialogue",
+ "context": "foodperson",
+ "value": "yes",
+ "yes": "Greetings friend, it's nice to see you.",
+ "no": {
+ "npc_has_var": "foodperson_has_talked",
+ "type": "dialogue",
+ "context": "foodperson",
+ "value": "yes",
+ "no": "Greeting citizen, what brings you to the FoodLair?",
+ "yes": "Still here? Take your time, it's rough out there."
+ }
+ }
+ }
+ },
+ "speaker_effect": { "effect": { "npc_add_var": "foodperson_has_talked", "type": "dialogue", "context": "foodperson", "value": "yes" } },
+ "responses": [
+ {
+ "condition": {
+ "or": [
+ {
+ "and": [
+ { "npc_has_var": "foodperson_has_talked", "type": "dialogue", "context": "foodperson", "value": "yes" },
+ {
+ "not": { "or": [ { "u_is_wearing": "foodperson_mask" }, { "u_is_wearing": "foodperson_mask_on" } ] }
+ }
+ ]
+ },
+ {
+ "and": [
+ { "npc_has_var": "foodperson_meeting_solved", "type": "dialogue", "context": "foodperson", "value": "yes" },
+ {
+ "or": [
+ { "u_has_trait": "PROF_FOODP" },
+ { "or": [ { "u_is_wearing": "foodperson_mask" }, { "u_is_wearing": "foodperson_mask_on" } ] }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "text": "Hey. Let's chat for a second.",
+ "topic": "TALK_FOODPERSON_MAIN"
+ },
+ {
+ "condition": {
+ "and": [
+ { "not": { "npc_has_var": "foodperson_has_talked", "type": "dialogue", "context": "foodperson", "value": "yes" } },
+ {
+ "and": [
+ { "not": { "or": [ { "u_is_wearing": "foodperson_mask" }, { "u_is_wearing": "foodperson_mask_on" } ] } },
+ { "not": { "u_is_wearing": "foodkid_badge" } }
+ ]
+ }
+ ]
+ },
+ "text": "Greetings... Foodperson?",
+ "topic": "TALK_FOODPERSON_INTRODUCTION"
+ },
+ {
+ "condition": {
+ "and": [
+ { "not": { "npc_has_var": "foodperson_meeting_solved", "type": "dialogue", "context": "foodperson", "value": "yes" } },
+ { "not": { "u_has_trait": "PROF_FOODP" } },
+ { "or": [ { "u_is_wearing": "foodperson_mask" }, { "u_is_wearing": "foodperson_mask_on" } ] }
+ ]
+ },
+ "text": "I am you but from an alternate reality.",
+ "trial": { "type": "LIE", "difficulty": 10, "opinion": { "trust": 1, "value": 1 } },
+ "success": { "topic": "TALK_FOODPERSON_MULTIVERSE", "opinion": { "trust": 2, "value": 2 } },
+ "failure": { "topic": "TALK_FOODPERSON_ONLYONE", "opinion": { "trust": -5, "value": -5 } }
+ },
+ {
+ "condition": {
+ "and": [
+ { "not": { "npc_has_var": "foodperson_meeting_solved", "type": "dialogue", "context": "foodperson", "value": "yes" } },
+ { "or": [ { "u_is_wearing": "foodperson_mask" }, { "u_is_wearing": "foodperson_mask_on" } ] },
+ { "u_has_trait": "PROF_FOODP" }
+ ]
+ },
+ "text": "I am Foodperson, who are YOU?",
+ "topic": "TALK_FOODPERSON_TWO"
+ },
+ {
+ "condition": {
+ "and": [
+ { "not": { "npc_has_var": "foodperson_meeting_solved", "type": "dialogue", "context": "foodperson", "value": "yes" } },
+ { "or": [ { "u_is_wearing": "foodperson_mask" }, { "u_is_wearing": "foodperson_mask_on" } ] },
+ { "u_has_trait": "PROF_FOODP" }
+ ]
+ },
+ "text": "There is only one real Foodperson!",
+ "topic": "TALK_FOODPERSON_ONLYONE"
+ },
+ {
+ "condition": {
+ "and": [
+ { "not": { "npc_has_var": "foodperson_meeting_solved", "type": "dialogue", "context": "foodperson", "value": "yes" } },
+ { "or": [ { "u_is_wearing": "foodperson_mask" }, { "u_is_wearing": "foodperson_mask_on" } ] },
+ { "not": { "u_has_trait": "PROF_FOODP" } }
+ ]
+ },
+ "text": "I am the REAL Foodperson!",
+ "topic": "TALK_FOODPERSON_ONLYONE"
+ },
+ { "text": "Nevermind me, I'm just going to leave.", "topic": "TALK_DONE" }
+ ]
+ },
+ {
+ "id": "TALK_FOODPERSON_INTRODUCTION",
+ "type": "talk_topic",
+ "dynamic_line": "Indeed it is I! The one and only FOODPERSON!",
+ "responses": [
+ {
+ "text": "Wow! Such an honor to meet you in person!",
+ "topic": "TALK_FOODPERSON_MAIN",
+ "opinion": { "trust": 1, "value": 1 }
+ },
+ {
+ "text": "Are you joking? Foodpeson is not real, it's a restaurant mascot!",
+ "opinion": { "trust": -1, "value": -1 },
+ "topic": "TALK_FOODPERSON_DOUBTED"
+ },
+ {
+ "text": "The great Foodperson in the flesh! Such an honor to finaly meet you in person!",
+ "trial": { "type": "LIE", "difficulty": 60, "mod": [ [ "TRUST", 2 ], [ "VALUE", 2 ] ] },
+ "success": { "topic": "TALK_FOODPERSON_MAIN", "opinion": { "trust": 2, "value": 2 } },
+ "failure": { "topic": "TALK_FOODPERSON_VEXED", "opinion": { "trust": -5, "value": -5 } }
+ },
+ { "text": "Ah... Well, nice to meet you Foodperson.", "topic": "TALK_FOODPERSON_MAIN" }
+ ]
+ },
+ {
+ "id": "TALK_FOODPERSON_VEXED",
+ "type": "talk_topic",
+ "dynamic_line": "Do not mock me, for my strength is quite real! Get out of here now!",
+ "responses": [
+ { "text": "Sheesh, ok, calm down, I'm leaving!", "topic": "TALK_DONE" },
+ { "text": "Forgive me, I didn't mean to disrespect you.", "topic": "TALK_FOODPERSON_MAIN" },
+ { "text": "Oh yeah? Show me what you can do!", "topic": "TALK_DONE", "effect": "hostile" }
+ ]
+ },
+ {
+ "id": "TALK_FOODPERSON_DOUBTED",
+ "type": "talk_topic",
+ "dynamic_line": "A common mistake, but I can assure you that I'm very real!",
+ "responses": [
+ { "text": "Sure, whatever.", "topic": "TALK_DONE" },
+ { "text": "Ok... I believe you.", "topic": "TALK_FOODPERSON_MAIN" }
+ ]
+ },
+ {
+ "id": "TALK_FOODPERSON_MAIN",
+ "type": "talk_topic",
+ "dynamic_line": "Anyway, do you need something?",
+ "responses": [
+ {
+ "text": "Are you interested in some trading?",
+ "condition": {
+ "and": [
+ { "not": { "npc_has_var": "npc_failed_trade", "type": "dialogue", "context": "foodperson", "value": "yes" } },
+ {
+ "not": { "npc_has_var": "npc_succes_trade", "type": "dialogue", "context": "foodperson", "value": "yes" }
+ },
+ {
+ "not": {
+ "and": [
+ { "npc_has_var": "npc_foodpersons_sharing", "type": "dialogue", "context": "foodperson", "value": "yes" },
+ {
+ "or": [
+ { "u_has_trait": "PROF_FOODP" },
+ { "or": [ { "u_is_wearing": "foodperson_mask" }, { "u_is_wearing": "foodperson_mask_on" } ] }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "trial": { "type": "PERSUADE", "difficulty": 50, "mod": [ [ "TRUST", 2 ], [ "VALUE", 2 ] ] },
+ "success": { "topic": "TALK_FOODPERSON_TRADE" },
+ "failure": { "topic": "TALK_FOODPERSON_NOTRADE" }
+ },
+ {
+ "text": "Let's trade?",
+ "condition": {
+ "and": [
+ { "not": { "npc_has_var": "npc_failed_trade", "type": "dialogue", "context": "foodperson", "value": "yes" } },
+ {
+ "or": [
+ { "npc_has_var": "npc_succes_trade", "type": "dialogue", "context": "foodperson", "value": "yes" },
+ {
+ "npc_has_var": "npc_foodperson_impressed",
+ "type": "dialogue",
+ "context": "foodperson",
+ "value": "yes"
+ },
+ {
+ "and": [
+ { "npc_has_var": "npc_foodpersons_sharing", "type": "dialogue", "context": "foodperson", "value": "yes" },
+ {
+ "or": [
+ { "u_has_trait": "PROF_FOODP" },
+ { "or": [ { "u_is_wearing": "foodperson_mask" }, { "u_is_wearing": "foodperson_mask_on" } ] }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "effect": "start_trade",
+ "topic": "TALK_DONE"
+ },
+ {
+ "text": "I'm looking for a place to stay.",
+ "condition": {
+ "and": [
+ { "not": { "npc_has_var": "npc_failed_shelter", "type": "dialogue", "context": "foodperson", "value": "yes" } },
+ {
+ "not": { "npc_has_var": "npc_succes_shelter", "type": "dialogue", "context": "foodperson", "value": "yes" }
+ },
+ {
+ "not": {
+ "and": [
+ { "npc_has_var": "npc_foodpersons_sharing", "type": "dialogue", "context": "foodperson", "value": "yes" },
+ {
+ "or": [
+ { "u_has_trait": "PROF_FOODP" },
+ { "or": [ { "u_is_wearing": "foodperson_mask" }, { "u_is_wearing": "foodperson_mask_on" } ] }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "trial": { "type": "PERSUADE", "difficulty": 20, "mod": [ [ "TRUST", 2 ], [ "VALUE", 2 ] ] },
+ "success": { "topic": "TALK_FOODPERSON_SHELTER" },
+ "failure": { "topic": "TALK_FOODPERSON_NOSHELTER" }
+ },
+ {
+ "text": "I want to get stronger. Please teach me.",
+ "condition": {
+ "and": [
+ { "not": { "npc_has_var": "npc_failed_training", "type": "dialogue", "context": "foodperson", "value": "yes" } },
+ {
+ "not": { "npc_has_var": "npc_succes_training", "type": "dialogue", "context": "foodperson", "value": "yes" }
+ },
+ {
+ "not": {
+ "and": [
+ { "npc_has_var": "npc_foodpersons_sharing", "type": "dialogue", "context": "foodperson", "value": "yes" },
+ {
+ "or": [
+ { "u_has_trait": "PROF_FOODP" },
+ { "or": [ { "u_is_wearing": "foodperson_mask" }, { "u_is_wearing": "foodperson_mask_on" } ] }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "trial": { "type": "PERSUADE", "difficulty": 20, "mod": [ [ "TRUST", 2 ], [ "VALUE", 2 ] ] },
+ "success": { "topic": "TALK_FOODPERSON_TRAINING" },
+ "failure": { "topic": "TALK_FOODPERSON_NOTRAINING" }
+ },
+ {
+ "text": "Please share your knowledge.",
+ "condition": {
+ "and": [
+ { "not": { "npc_has_var": "npc_failed_training", "type": "dialogue", "context": "foodperson", "value": "yes" } },
+ {
+ "or": [
+ { "npc_has_var": "npc_succes_training", "type": "dialogue", "context": "foodperson", "value": "yes" },
+ {
+ "npc_has_var": "npc_foodperson_impressed",
+ "type": "dialogue",
+ "context": "foodperson",
+ "value": "yes"
+ },
+ {
+ "and": [
+ { "npc_has_var": "npc_foodpersons_sharing", "type": "dialogue", "context": "foodperson", "value": "yes" },
+ {
+ "or": [
+ { "u_has_trait": "PROF_FOODP" },
+ { "or": [ { "u_is_wearing": "foodperson_mask" }, { "u_is_wearing": "foodperson_mask_on" } ] }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "topic": "TALK_TRAIN"
+ },
+ {
+ "text": "I'm building up a team, people with special abilities.",
+ "condition": {
+ "and": [
+ { "not": { "npc_has_var": "npc_failed_team", "type": "dialogue", "context": "foodperson", "value": "yes" } },
+ {
+ "not": { "npc_has_var": "npc_succes_team", "type": "dialogue", "context": "foodperson", "value": "yes" }
+ },
+ {
+ "not": { "npc_has_var": "npc_foodperson_impressed", "type": "dialogue", "context": "foodperson", "value": "yes" }
+ },
+ {
+ "not": {
+ "and": [
+ { "npc_has_var": "npc_foodpersons_sharing", "type": "dialogue", "context": "foodperson", "value": "yes" },
+ {
+ "or": [
+ { "u_has_trait": "PROF_FOODP" },
+ { "or": [ { "u_is_wearing": "foodperson_mask" }, { "u_is_wearing": "foodperson_mask_on" } ] }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "trial": { "type": "PERSUADE", "difficulty": 0, "mod": [ [ "TRUST", 2 ], [ "VALUE", 2 ] ] },
+ "success": {
+ "topic": "TALK_FOODPERSON_SIDEKICK",
+ "effect": { "npc_add_var": "npc_succes_team_team", "type": "dialogue", "context": "foodperson", "value": "yes" }
+ },
+ "failure": { "topic": "TALK_FOODPERSON_SOLO" }
+ },
+ {
+ "text": "Can you tell me again about this sidekick offer?",
+ "condition": {
+ "and": [
+ { "npc_has_var": "npc_sidekick_offer", "type": "dialogue", "context": "foodperson", "value": "yes" },
+ { "not": "has_assigned_mission" }
+ ]
+ },
+ "topic": "TALK_FOODPERSON_SIDEKICK"
+ },
+ {
+ "text": "Alright, I thought about this, what do you say about we team up?",
+ "condition": {
+ "and": [
+ { "npc_has_var": "npc_foodpersons_sharing", "type": "dialogue", "context": "foodperson", "value": "yes" },
+ {
+ "or": [
+ { "u_has_trait": "PROF_FOODP" },
+ { "or": [ { "u_is_wearing": "foodperson_mask" }, { "u_is_wearing": "foodperson_mask_on" } ] }
+ ]
+ }
+ ]
+ },
+ "topic": "TALK_FOODPERSON_TEAMUP"
+ },
+ { "text": "I'm good, bye.", "topic": "TALK_DONE" }
+ ]
+ },
+ {
+ "id": "TALK_FOODPERSON_NOTRADE",
+ "type": "talk_topic",
+ "dynamic_line": "I already have everything I need here in the FoodLair!",
+ "speaker_effect": { "effect": { "npc_add_var": "npc_failed_trade", "type": "dialogue", "context": "foodperson", "value": "yes" } },
+ "responses": [ { "text": "Fair enough.", "topic": "TALK_NONE" } ]
+ },
+ {
+ "id": "TALK_FOODPERSON_TRADE",
+ "type": "talk_topic",
+ "dynamic_line": "Alright let's see what you've got.",
+ "speaker_effect": { "effect": { "npc_add_var": "npc_succes_trade", "type": "dialogue", "context": "foodperson", "value": "yes" } },
+ "responses": [ { "text": "...", "topic": "TALK_DONE", "effect": "start_trade" } ]
+ },
+ {
+ "id": "TALK_FOODPERSON_NOTRAINING",
+ "type": "talk_topic",
+ "dynamic_line": "You're not ready for this.",
+ "speaker_effect": { "effect": { "npc_add_var": "npc_failed_training", "type": "dialogue", "context": "foodperson", "value": "yes" } },
+ "responses": [ { "text": "But I am worthy!", "topic": "TALK_NONE" } ]
+ },
+ {
+ "id": "TALK_FOODPERSON_TRAINING",
+ "type": "talk_topic",
+ "dynamic_line": "I can teach you a few tricks.",
+ "speaker_effect": { "effect": { "npc_add_var": "npc_succes_training", "type": "dialogue", "context": "foodperson", "value": "yes" } },
+ "responses": [ { "text": "...", "topic": "TALK_TRAIN" }, { "text": "Nevermind.", "topic": "TALK_DONE" } ]
+ },
+ {
+ "id": "TALK_FOODPERSON_NOSHELTER",
+ "type": "talk_topic",
+ "dynamic_line": "This is no place for a civilian. You should go to the refugee center.",
+ "speaker_effect": { "effect": { "npc_add_var": "npc_failed_shelter", "type": "dialogue", "context": "foodperson", "value": "yes" } },
+ "responses": [ { "text": "Damn!", "topic": "TALK_NONE" } ]
+ },
+ {
+ "id": "TALK_FOODPERSON_SHELTER",
+ "type": "talk_topic",
+ "dynamic_line": "Well... You seem like a decent sort, I might have an offer for you.",
+ "speaker_effect": { "effect": { "npc_add_var": "npc_succes_shelter", "type": "dialogue", "context": "foodperson", "value": "yes" } },
+ "responses": [ { "text": "I'm listening.", "topic": "TALK_FOODPERSON_SIDEKICK" } ]
+ },
+ {
+ "id": "TALK_FOODPERSON_SOLO",
+ "type": "talk_topic",
+ "dynamic_line": "Sorry but I work alone.",
+ "speaker_effect": { "effect": { "npc_add_var": "npc_failed_team", "type": "dialogue", "context": "foodperson", "value": "yes" } },
+ "responses": [ { "text": "We could really use your help!", "topic": "TALK_NONE" } ]
+ },
+ {
+ "id": "TALK_FOODPERSON_SIDEKICK",
+ "type": "talk_topic",
+ "dynamic_line": "What about: you prove your worth and join me as my sidekick?",
+ "speaker_effect": { "effect": { "npc_add_var": "npc_sidekick_offer", "type": "dialogue", "context": "foodperson", "value": "yes" } },
+ "responses": [
+ { "condition": { "not": "has_assigned_mission" }, "text": "That sounds great!", "topic": "TALK_MISSION_LIST" },
+ { "condition": { "not": "has_assigned_mission" }, "text": "Ok...", "topic": "TALK_MISSION_LIST" },
+ {
+ "condition": { "not": "has_assigned_mission" },
+ "text": "I need to think about it.",
+ "topic": "TALK_FOODPERSON_MAIN"
+ },
+ { "condition": { "not": "has_assigned_mission" }, "text": "Huh... No thanks.", "topic": "TALK_DONE" },
+ {
+ "condition": "has_assigned_mission",
+ "text": "There's other things I'd like to discuss.",
+ "topic": "TALK_FOODPERSON_MAIN"
+ },
+ { "condition": "has_assigned_mission", "text": "Alright bye.", "topic": "TALK_DONE" }
+ ]
+ },
+ {
+ "id": "TALK_FOODPERSON_TWO",
+ "type": "talk_topic",
+ "dynamic_line": "The way you talk, the way you move... You're... You're me? But how?",
+ "responses": [
+ {
+ "text": "I... I don't know. It probably has something to do with ! What do you say we team up to find out?",
+ "effect": { "npc_add_var": "foodperson_meeting_solved", "type": "dialogue", "context": "foodperson", "value": "yes" },
+ "topic": "TALK_FOODPERSON_TEAMUP"
+ },
+ {
+ "text": "It might have something to do with , mind if I stay here while we try to figure this out?",
+ "effect": { "npc_add_var": "foodperson_meeting_solved", "type": "dialogue", "context": "foodperson", "value": "yes" },
+ "topic": "TALK_FOODPERSON_SHARING"
+ },
+ { "text": "This can't be true, you're trying to trick me!", "topic": "TALK_FOODPERSON_ONLYONE" },
+ { "text": "I need time to think.", "topic": "TALK_DONE" }
+ ]
+ },
+ {
+ "id": "TALK_FOODPERSON_MULTIVERSE",
+ "type": "talk_topic",
+ "dynamic_line": "Wha... But. But... How?",
+ "responses": [
+ {
+ "text": "No time to explain, the world is at an end and we must join forces to save it!",
+ "effect": { "npc_add_var": "foodperson_meeting_solved", "type": "dialogue", "context": "foodperson", "value": "yes" },
+ "topic": "TALK_FOODPERSON_TEAMUP"
+ },
+ {
+ "text": "The cataclysm weakened the space-time continuum, I accidentally fell through a tear in reality and ended up here. I will need access to your resources to keep fighting.",
+ "effect": { "npc_add_var": "foodperson_meeting_solved", "type": "dialogue", "context": "foodperson", "value": "yes" },
+ "topic": "TALK_FOODPERSON_SHARING"
+ },
+ {
+ "text": "I am the ultimate Foodperson, I travel the multiverse consuming powers from all the Foodpersons. And now I've come for you!",
+ "topic": "TALK_FOODPERSON_ONLYONE"
+ },
+ { "text": "Can't tell you now. In due time all will be revealed.", "topic": "TALK_DONE" }
+ ]
+ },
+ {
+ "id": "TALK_FOODPERSON_SHARING",
+ "type": "talk_topic",
+ "dynamic_line": "Of course, whatever you need... Foodperson.",
+ "speaker_effect": { "effect": { "npc_add_var": "npc_foodpersons_sharing", "type": "dialogue", "context": "foodperson", "value": "yes" } },
+ "responses": [
+ {
+ "text": "Thank you Foodperson! It's good to know I have a friend here.",
+ "topic": "TALK_FOODPERSON_MAIN",
+ "opinion": { "trust": 10, "value": 10 }
+ }
+ ]
+ },
+ {
+ "id": "TALK_FOODPERSON_TEAMUP",
+ "type": "talk_topic",
+ "dynamic_line": "It's crazy out there, it's going to be a tough journey but I'm with you!",
+ "responses": [
+ {
+ "text": "Let's go, we have a world to save!",
+ "topic": "TALK_DONE",
+ "effect": "follow",
+ "opinion": { "trust": 20, "value": 20 }
+ }
+ ]
+ },
+ {
+ "id": "TALK_FOODPERSON_ONLYONE",
+ "type": "talk_topic",
+ "dynamic_line": "There can be only one!",
+ "responses": [
+ { "text": "I AM THE ONE!", "topic": "TALK_DONE", "effect": "hostile", "opinion": { "trust": -20, "value": -20 } },
+ {
+ "condition": { "not": { "u_has_trait": "PROF_FOODP" } },
+ "text": "Wow calm down, it's just a prank bro.",
+ "topic": "TALK_DONE",
+ "opinion": { "trust": -20, "value": -20 }
+ },
+ {
+ "condition": { "u_has_trait": "PROF_FOODP" },
+ "text": "WAIT! There might be another way!",
+ "topic": "TALK_NONE"
+ },
+ {
+ "condition": { "u_has_trait": "PROF_FOODP" },
+ "text": "I don't want to fight you. I'm leaving.",
+ "topic": "TALK_DONE"
+ }
+ ]
+ }
+]
diff --git a/data/json/npcs/classes.json b/data/json/npcs/classes.json
index 7d95f06f1f0cb..065ec05cad5a4 100644
--- a/data/json/npcs/classes.json
+++ b/data/json/npcs/classes.json
@@ -357,6 +357,23 @@
{ "skill": "cooking", "bonus": { "rng": [ 3, 6 ] } }
]
},
+ {
+ "type": "npc_class",
+ "id": "NC_TRUE_FOODPERSON",
+ "name": "Foodperson",
+ "job_description": "I AM FOODPERSON. AND I BRING SUSTENANCE!",
+ "traits": [ { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" }, [ "PROF_FOODP", 100 ] ],
+ "common": false,
+ "worn_override": "NC_TRUE_FOODPERSON_worn",
+ "weapon_override": "NC_TRUE_FOODPERSON_melee",
+ "bonus_str": { "rng": [ 0, 2 ] },
+ "skills": [
+ { "skill": "ALL", "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 4, 2 ] }, { "rng": [ -4, -1 ] } ] } ] } },
+ { "skill": "bashing", "bonus": { "rng": [ 1, 3 ] } },
+ { "skill": "speech", "bonus": { "rng": [ 1, 3 ] } },
+ { "skill": "dodge", "bonus": { "rng": [ 3, 6 ] } }
+ ]
+ },
{
"type": "npc_class",
"id": "NC_CYBORG",
diff --git a/data/json/npcs/factions.json b/data/json/npcs/factions.json
index 0cdcb5b16a372..b9e80a6c0900e 100644
--- a/data/json/npcs/factions.json
+++ b/data/json/npcs/factions.json
@@ -208,6 +208,7 @@
"power": 100,
"food_supply": 115200,
"wealth": 10000000,
+ "currency": "FMCNote",
"relations": {
"free_merchants": {
"kill on sight": false,
@@ -231,7 +232,7 @@
"size": 100,
"power": 100,
"food_supply": 172800,
- "wealth": 250000,
+ "wealth": 25000,
"relations": {
"marloss": {
"kill on sight": false,
@@ -255,7 +256,7 @@
"size": 100,
"power": 100,
"food_supply": 172800,
- "wealth": 25000000,
+ "wealth": 2500000,
"relations": {
"lobby_beggars": { "knows your voice": true },
"free_merchants": { "knows your voice": true },
diff --git a/data/json/npcs/items_generic.json b/data/json/npcs/items_generic.json
index 4185a06b32030..3d3fe1a3e1450 100644
--- a/data/json/npcs/items_generic.json
+++ b/data/json/npcs/items_generic.json
@@ -315,6 +315,8 @@
{
"type": "item_group",
"id": "npc_misc",
+ "ammo": 75,
+ "magazine": 50,
"items": [
[ "101_carpentry", 1 ],
[ "1st_aid", 20 ],
@@ -543,7 +545,7 @@
[ "football", 1 ],
[ "fork", 1 ],
[ "fries", 1 ],
- [ "frozen_burrito", 3 ],
+ [ "junk_burrito", 3 ],
[ "frozen_dinner", 3 ],
[ "fruit_leather", 3 ],
[ "fruit_wine", 5 ],
diff --git a/data/json/npcs/missiondef.json b/data/json/npcs/missiondef.json
index c3d1fb91caade..4cbf7aa09641e 100644
--- a/data/json/npcs/missiondef.json
+++ b/data/json/npcs/missiondef.json
@@ -563,7 +563,7 @@
"start": { "effect": "follow" },
"end": { "effect": "leave" },
"origins": [ "ORIGIN_SECONDARY" ],
- "destination": "farm",
+ "destination": "farm_2",
"dialogue": {
"describe": "I just need a place to start over...",
"offer": "I've accepted that everyone I used to know is dead... one way or another. I really wish I could have done something to save my brother but he was one of the first to go. I'd like to start over, just rebuild at one of the farms in the countryside. Can you help me secure one?",
@@ -742,5 +742,33 @@
"value": 0,
"origins": [ "ORIGIN_GAME_START" ],
"item": "antibiotics"
+ },
+ {
+ "id": "MISSION_PROVE_YOUR_WORTH",
+ "type": "mission_definition",
+ "name": "Prove your worth to Foodperson",
+ "goal": "MGOAL_FIND_ITEM",
+ "item": "fp_loyalty_card",
+ "count": 10,
+ "difficulty": 1,
+ "value": 0,
+ "end": {
+ "effect": [
+ { "npc_add_var": "npc_foodperson_impressed", "type": "dialogue", "context": "foodperson", "value": "yes" },
+ { "u_buy_item": "badge_foodkid" }
+ ]
+ },
+ "origins": [ "ORIGIN_SECONDARY" ],
+ "dialogue": {
+ "describe": "Prove your dedication to Foodplace.",
+ "offer": "Show me the proof of your loyalty to the great Foodplace, and I'll consider you worthy of my friendship. Ten loyalty cards should be enough, I'm sure you already have much more than that waiting for you at home, right?",
+ "accepted": "That's the spirit! Good luck kid.",
+ "rejected": "That's alright not everyone is cutout for this.",
+ "advice": "Those are very precious, people would probably keep them on their person or in bank vaults. And definitely not throw them in the trash!",
+ "inquire": "How is it going? Do you have them?",
+ "success": "YES! I knew you could do it! You proved your worth and I'm proud to call you a friend.",
+ "success_lie": "Well... where are they?",
+ "failure": "I'm so disappointed in you kid..."
+ }
}
]
diff --git a/data/json/npcs/npc.json b/data/json/npcs/npc.json
index 2f0ddb95d0101..219d3dc195796 100644
--- a/data/json/npcs/npc.json
+++ b/data/json/npcs/npc.json
@@ -66,10 +66,22 @@
"chat": "TALK_NC_SURVIVOR_CHEF",
"faction": "wasteland_scavengers"
},
+ {
+ "type": "npc",
+ "id": "true_foodperson",
+ "//": "Foodperson mascot, except if you ask them Foodperson is a real hero and it's them!",
+ "name_unique": "Foodperson",
+ "class": "NC_TRUE_FOODPERSON",
+ "attitude": 7,
+ "mission": 7,
+ "chat": "TALK_TRUE_FOODPERSON",
+ "mission_offered": "MISSION_PROVE_YOUR_WORTH",
+ "faction": "wasteland_scavengers"
+ },
{
"type": "npc",
"id": "cyborg_rescued",
- "//": "A broken cyborg you saved.",
+ "//": "A prototype cyborg you saved.",
"name_suffix": "Cyborg",
"class": "NC_CYBORG",
"attitude": 1,
diff --git a/data/json/npcs/refugee_center/missiondef_free_merchants.json b/data/json/npcs/refugee_center/missiondef_free_merchants.json
index 48fec04b358f2..209c11921db8c 100644
--- a/data/json/npcs/refugee_center/missiondef_free_merchants.json
+++ b/data/json/npcs/refugee_center/missiondef_free_merchants.json
@@ -8,6 +8,6 @@
"value": 0,
"start": "reveal_refugee_center",
"origins": [ "ORIGIN_COMPUTER" ],
- "destination": "evac_center"
+ "destination": "refctr_S3e"
}
]
diff --git a/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_broker.json b/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_broker.json
index e8d1f972bfde3..9bb8158fcde05 100644
--- a/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_broker.json
+++ b/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_broker.json
@@ -99,7 +99,7 @@
},
{
"type": "talk_topic",
- "id": "TALK_FREE_MERCHANT_STOCKS_JAR",
+ "id": "TALK_FREE_MERCHANT_STOCKS_JARS",
"dynamic_line": "Yes, I can buy 500 mL or 3 L glass jars at the moment.",
"repeat_responses": {
"for_item": [ "jar_glass", "jar_3l_glass" ],
diff --git a/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_shopkeep.json b/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_shopkeep.json
index 50908c863fa37..f16d0b53d05e7 100644
--- a/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_shopkeep.json
+++ b/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_shopkeep.json
@@ -16,8 +16,7 @@
"id": "NC_EVAC_SHOPKEEP",
"name": "Merchant",
"job_description": "I'm a local shopkeeper.",
- "traits": [ { "trait": "DEBUG_STORAGE" }, { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" } ],
- "//": "giving a shopkeeper debug storage is a stopgap until better shop inventory systems are coded",
+ "traits": [ { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" } ],
"common": false,
"bonus_int": { "one_in": 4 },
"bonus_per": { "one_in": 4 },
@@ -49,7 +48,8 @@
"id": "NC_EVAC_SHOPKEEP_misc",
"subtype": "collection",
"items": [
- { "item": "FMCNote", "count-min": 50, "count-max": 300, "prob": 100 },
+ { "item": "RobofacCoin", "count-min": 5, "count-max": 30, "prob": 30 },
+ { "item": "FlatCoin", "count-min": 50, "count-max": 300, "prob": 30 },
{ "group": "tools_general", "prob": 80, "repeat": [ 1, 3 ] },
{ "group": "tools_home", "prob": 80, "repeat": [ 1, 3 ] },
{ "group": "tools_construction", "prob": 30, "repeat": [ 1, 3 ] },
@@ -253,6 +253,7 @@
"effect": { "companion_mission": "REFUGEE_MERCHANT" },
"condition": { "u_has_any_trait": [ "NPC_MISSION_LEV_1" ] }
},
+ { "text": "What's your story?", "topic": "TALK_EVAC_MERCHANT_BACKGROUND" },
{ "text": "What was it you were saying before?", "topic": "TALK_NONE" },
{ "text": "Well, I'd better be going. Bye.", "topic": "TALK_DONE" }
]
@@ -477,7 +478,7 @@
"terrain": { "g": "t_grass", ".": "t_dirt", "a": "t_dirt", "b": "t_dirt", "R": "t_dirt", "F": "t_dirt" },
"furniture": { "a": "f_ash" },
"traps": { "F": "tr_fur_rollmat", "R": "tr_rollmat" },
- "fields": { "b": { "field": "fd_blood", "density": 1 } },
+ "fields": { "b": { "field": "fd_blood", "intensity": 1 } },
"place_loot": [
{ "group": "cannedfood", "x": [ 6, 18 ], "y": [ 3, 15 ], "chance": 100 },
{ "group": "alcohol_bottled_canned", "x": [ 6, 18 ], "y": [ 3, 15 ], "repeat": 2, "chance": 75 },
diff --git a/data/json/npcs/refugee_center/surface_visitors/NPC_scavenger_mercenary.json b/data/json/npcs/refugee_center/surface_visitors/NPC_scavenger_mercenary.json
index edaf28d857fe2..29962e56992db 100644
--- a/data/json/npcs/refugee_center/surface_visitors/NPC_scavenger_mercenary.json
+++ b/data/json/npcs/refugee_center/surface_visitors/NPC_scavenger_mercenary.json
@@ -101,17 +101,28 @@
{
"id": "TALK_SCAVENGER_MERC_HIRE",
"type": "talk_topic",
- "dynamic_line": "I'm currently waiting for a customer to return... I'll make you a deal though, $8,000 will cover my expenses if I get a small cut of the loot. I can't accept cash cards, so you'll have to find an ATM to deposit money into your bank account.",
+ "dynamic_line": "I'm currently waiting for a customer to return... I'll make you a deal though, 2500 Merch will cover my expenses if I get a small cut of the loot.",
"responses": [
+ { "text": "What the heck is a Merch?", "topic": "TALK_SCAVENGER_MERC_MERCH" },
{ "text": "I might be back.", "topic": "TALK_SCAVENGER_MERC" },
{
- "text": "[$8000] You have a deal.",
+ "text": "[FMC2500] You have a deal.",
"topic": "TALK_SCAVENGER_MERC_HIRE_SUCCESS",
- "condition": { "u_has_cash": 800000 },
- "effect": { "u_spend_cash": 800000 }
+ "condition": { "u_has_items": { "item": "FMCNote", "count": 2500 } },
+ "effect": { "u_consume_item": "FMCNote", "count": 2500 }
}
]
},
+ {
+ "id": "TALK_SCAVENGER_MERC_MERCH",
+ "type": "talk_topic",
+ "dynamic_line": "Merchs are what they call dollar bills around here. Free Merchant Credit Notes or something. If you want to buy stuff around here and you don't want to barter away your guns, you need Merch.",
+ "responses": [
+ { "text": "I see. Let's try this again from the start.", "topic": "TALK_SCAVENGER_MERC" },
+ { "text": "Okay, how much Merch do I need?", "topic": "TALK_SCAVENGER_MERC_HIRE" },
+ { "text": "Well, thanks for the info. Bye!", "topic": "TALK_DONE" }
+ ]
+ },
{
"id": "TALK_SCAVENGER_MERC_HIRE_SUCCESS",
"type": "talk_topic",
diff --git a/data/json/npcs/robofac/NPC_ROBOFAC_INTERCOM.json b/data/json/npcs/robofac/NPC_ROBOFAC_INTERCOM.json
index 5bdd965db0861..43b050594b4bc 100644
--- a/data/json/npcs/robofac/NPC_ROBOFAC_INTERCOM.json
+++ b/data/json/npcs/robofac/NPC_ROBOFAC_INTERCOM.json
@@ -76,7 +76,7 @@
" "
],
"terrain": { "@": "t_grass", "b": "t_dirt", "M": "t_dirt" },
- "fields": { "b": { "field": "fd_blood", "density": 1 } },
+ "fields": { "b": { "field": "fd_blood", "intensity": 1 } },
"items": { "@": { "item": "NC_ROBOFAC_FIELD_RESEARCHER_worn", "chance": 100 } },
"item": { "@": [ { "item": "EMPbomb", "amount": 2 }, { "item": "corpse" } ] },
"monster": { "M": { "monster": "mon_robofac_prototype" } }
diff --git a/data/json/npcs/robofac/NPC_Ulysses_Rourke.json b/data/json/npcs/robofac/NPC_Ulysses_Rourke.json
index 4539c75a1193f..d5a1e6632fb3c 100644
--- a/data/json/npcs/robofac/NPC_Ulysses_Rourke.json
+++ b/data/json/npcs/robofac/NPC_Ulysses_Rourke.json
@@ -16,8 +16,9 @@
{
"type": "npc_class",
"id": "NC_ROBOFAC_SECURITY_HEAD",
- "name": "intercom",
+ "name": "Head of security",
"job_description": "I'm part of the Hub security team.",
+ "common": false,
"//": "Needs his own unique background.",
"traits": [
{ "group": "BG_survival_story_POLICE" },
diff --git a/data/json/npcs/robofac/NPC_robofac_generic_security.json b/data/json/npcs/robofac/NPC_robofac_generic_security.json
index e2378b7db15e8..ea2eccde9383d 100644
--- a/data/json/npcs/robofac/NPC_robofac_generic_security.json
+++ b/data/json/npcs/robofac/NPC_robofac_generic_security.json
@@ -13,8 +13,9 @@
{
"type": "npc_class",
"id": "NC_ROBOFAC_SECURITY",
- "name": "intercom",
+ "name": "Hub Security",
"job_description": "I'm part of the Hub security team.",
+ "common": false,
"traits": [ { "group": "BG_survival_story_POLICE" }, { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" } ],
"bonus_str": { "rng": [ 1, 3 ] },
"bonus_int": { "rng": [ 1, 2 ] },
@@ -59,7 +60,7 @@
]
},
{
- "id": "TALK_GUARD",
+ "id": "TALK_HUB_SECURITY",
"type": "talk_topic",
"dynamic_line": [ "Keep it civil, merc.", "Just on watch, move along.", { "u_male": [ "Sir." ], "no": [ "Ma'am" ] } ],
"responses": [ { "text": "...", "topic": "TALK_DONE" } ]
diff --git a/data/json/npcs/robofac/ROBOFAC_SURFACE_FREEMERCHANT.json b/data/json/npcs/robofac/ROBOFAC_SURFACE_FREEMERCHANT.json
index a9866a2b28a94..e1f2f05b31d3d 100644
--- a/data/json/npcs/robofac/ROBOFAC_SURFACE_FREEMERCHANT.json
+++ b/data/json/npcs/robofac/ROBOFAC_SURFACE_FREEMERCHANT.json
@@ -48,7 +48,7 @@
"sub-type": "collection",
"id": "NC_ROBOFAC_FREE_MERCHANT_misc",
"items": [
- { "item": "FMCNote", "count-min": 50, "count-max": 300, "prob": 100 },
+ { "item": "RobofacCoin", "count-min": 5, "count-max": 30, "prob": 90 },
{ "item": "jerky", "count-min": 10, "count-max": 25, "prob": 100 },
{ "item": "tallow", "count-min": 10, "count-max": 25, "prob": 100 },
{ "item": "pemmican", "count-min": 10, "count-max": 25, "prob": 100 },
diff --git a/data/json/npcs/tacoma_ranch/NPC_ranch_bartender.json b/data/json/npcs/tacoma_ranch/NPC_ranch_bartender.json
index ca2293acbf01f..3727b5f5cd60c 100644
--- a/data/json/npcs/tacoma_ranch/NPC_ranch_bartender.json
+++ b/data/json/npcs/tacoma_ranch/NPC_ranch_bartender.json
@@ -48,26 +48,22 @@
{
"text": "[$8] I'll take a beer",
"topic": "TALK_DONE",
- "condition": { "u_has_cash": 800 },
"effect": { "u_buy_item": "beer", "container": "bottle_glass", "count": 2, "cost": 800 }
},
{
"text": "[$10] I'll take a shot of brandy",
"topic": "TALK_DONE",
- "condition": { "u_has_cash": 1000 },
- "effect": { "u_buy_item": "beer", "container": "bottle_glass", "cost": 1000 }
+ "effect": { "u_buy_item": "brandy", "container": "bottle_glass", "cost": 1000 }
},
{
"text": "[$10] I'll take a shot of rum",
"topic": "TALK_DONE",
- "condition": { "u_has_cash": 1000 },
- "effect": { "u_buy_item": "beer", "container": "bottle_glass", "cost": 1000 }
+ "effect": { "u_buy_item": "rum", "container": "bottle_glass", "cost": 1000 }
},
{
"text": "[$12] I'll take a shot of whiskey",
"topic": "TALK_DONE",
- "condition": { "u_has_cash": 1200 },
- "effect": { "u_buy_item": "beer", "container": "bottle_glass", "cost": 1200 }
+ "effect": { "u_buy_item": "whiskey", "container": "bottle_glass", "cost": 1200 }
},
{ "text": "On second thought, don't bother.", "topic": "TALK_RANCH_BARKEEP" }
]
diff --git a/data/json/obsolete.json b/data/json/obsolete.json
index 22240ab039c27..91b369062b350 100644
--- a/data/json/obsolete.json
+++ b/data/json/obsolete.json
@@ -14,5 +14,10 @@
"description": "Space inside your chest cavity has been surgically converted into a storage area. You may carry an extra 2 liters of volume.",
"occupied_bodyparts": [ [ "TORSO", 32 ] ],
"flags": [ "BIONIC_NPC_USABLE", "BIONIC_SHOCKPROOF" ]
+ },
+ {
+ "type": "recipe",
+ "result": "reloaded_270",
+ "obsolete": true
}
]
diff --git a/data/json/overmap/map_extras.json b/data/json/overmap/map_extras.json
new file mode 100644
index 0000000000000..7932146fee013
--- /dev/null
+++ b/data/json/overmap/map_extras.json
@@ -0,0 +1,319 @@
+[
+ {
+ "id": "mx_null",
+ "type": "map_extra",
+ "name": "Nothing",
+ "description": "Nothing of interest is here.",
+ "function": "mx_null"
+ },
+ {
+ "id": "mx_crater",
+ "type": "map_extra",
+ "name": "Crater",
+ "description": "There is a crater here.",
+ "function": "mx_crater",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_fumarole",
+ "type": "map_extra",
+ "name": "Fumarole",
+ "description": "There is a fumarole here.",
+ "function": "mx_fumarole",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_collegekids",
+ "type": "map_extra",
+ "name": "College Kids",
+ "description": "Several corpses of college kids are here.",
+ "function": "mx_collegekids",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_drugdeal",
+ "type": "map_extra",
+ "name": "Drug Deal",
+ "description": "Several corpses of drug dealers are here.",
+ "function": "mx_drugdeal",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_roadworks",
+ "type": "map_extra",
+ "name": "Roadworks",
+ "description": "Roadworks are here.",
+ "function": "mx_roadworks",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_mayhem",
+ "type": "map_extra",
+ "name": "Road Mayhem",
+ "description": "Road mayhem is here.",
+ "function": "mx_mayhem",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_roadblock",
+ "type": "map_extra",
+ "name": "Roadblock (Military)",
+ "description": "This road is blocked by military.",
+ "function": "mx_roadblock",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_bandits_block",
+ "type": "map_extra",
+ "name": "Roadblock (Bandits)",
+ "description": "This road is blocked by bandits.",
+ "function": "mx_roadblock",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_minefield",
+ "type": "map_extra",
+ "name": "Minefield",
+ "description": "Mines are scattered here.",
+ "function": "mx_minefield",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_supplydrop",
+ "type": "map_extra",
+ "name": "Supply Drop",
+ "description": "Several supply crates were dropped here.",
+ "function": "mx_supplydrop",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_military",
+ "type": "map_extra",
+ "name": "Military",
+ "description": "Several corpses of soldiers are here.",
+ "function": "mx_military",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_helicopter",
+ "type": "map_extra",
+ "name": "Helicopter Crash",
+ "description": "Helicopter crashed here.",
+ "function": "mx_helicopter",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_science",
+ "type": "map_extra",
+ "name": "Scientists",
+ "description": "Several corpses of scientists are here.",
+ "function": "mx_science",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_portal",
+ "type": "map_extra",
+ "name": "Portal",
+ "description": "Portal is here.",
+ "function": "mx_portal",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_portal_in",
+ "type": "map_extra",
+ "name": "Portal In",
+ "description": "Another portal is here.",
+ "function": "mx_portal_in",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_anomaly",
+ "type": "map_extra",
+ "name": "Anomaly",
+ "description": "Some anomaly is here.",
+ "function": "mx_anomaly",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_house_spider",
+ "type": "map_extra",
+ "name": "Spider Nest",
+ "description": "Spider nest is here.",
+ "function": "mx_house_spider",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_house_wasp",
+ "type": "map_extra",
+ "name": "Wasp Nest",
+ "description": "Wasp nest is here.",
+ "function": "mx_house_wasp",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_spider",
+ "type": "map_extra",
+ "name": "Spiders",
+ "description": "This area is covered with webs. Probably spiders are nearby",
+ "function": "mx_spider",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_shia",
+ "type": "map_extra",
+ "name": "Shia LaBeouf",
+ "description": "Cannibal is nearby.",
+ "function": "mx_shia",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_jabberwock",
+ "type": "map_extra",
+ "name": "Jabberwock",
+ "description": "Jabberwock is nearby.",
+ "function": "mx_jabberwock",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_grove",
+ "type": "map_extra",
+ "name": "Grove",
+ "description": "This area is covered with a single type of trees.",
+ "function": "mx_grove",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_shrubbery",
+ "type": "map_extra",
+ "name": "Shrubberry",
+ "description": "This area is covered with a single type of shrubs.",
+ "function": "mx_shrubbery",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_clearcut",
+ "type": "map_extra",
+ "name": "Clearcut",
+ "description": "Most trees in this area were uniformly cut down.",
+ "function": "mx_clearcut",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_pond",
+ "type": "map_extra",
+ "name": "Pond",
+ "description": "Small pond is here.",
+ "function": "mx_pond",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_clay_deposit",
+ "type": "map_extra",
+ "name": "Clay Deposit",
+ "description": "Small clay deposit is here.",
+ "function": "mx_clay_deposit",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_dead_vegetation",
+ "type": "map_extra",
+ "name": "Dead Vegetation",
+ "description": "Dead vegetation is here.",
+ "function": "mx_dead_vegetation",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_point_dead_vegetation",
+ "type": "map_extra",
+ "name": "Dead Vegetation (Point)",
+ "description": "Dead vegetation is here.",
+ "function": "mx_point_dead_vegetation",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_burned_ground",
+ "type": "map_extra",
+ "name": "Burned Ground",
+ "description": "Burned ground is here.",
+ "function": "mx_burned_ground",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_point_burned_ground",
+ "type": "map_extra",
+ "name": "Burned Ground (Point)",
+ "description": "Burned ground is here.",
+ "function": "mx_point_burned_ground",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ },
+ {
+ "id": "mx_marloss_pilgrimage",
+ "type": "map_extra",
+ "name": "Marloss Pilgrimage",
+ "description": "Marloss Pilgrimage is here.",
+ "function": "mx_marloss_pilgrimage",
+ "sym": "x",
+ "color": "yellow",
+ "autonote": true
+ }
+]
diff --git a/data/json/overmap/multitile_buildings_terrain.json b/data/json/overmap/multitile_buildings_terrain.json
deleted file mode 100644
index 4b65648719e0c..0000000000000
--- a/data/json/overmap/multitile_buildings_terrain.json
+++ /dev/null
@@ -1,132 +0,0 @@
-[
- {
- "type": "overmap_terrain",
- "id": "house_2story_base",
- "name": "house",
- "sym": "^",
- "color": "light_green",
- "see_cost": 2,
- "mondensity": 2,
- "flags": [ "SIDEWALK" ]
- },
- {
- "type": "overmap_terrain",
- "id": "house_2story_second",
- "name": "house",
- "sym": "^",
- "color": "light_green",
- "see_cost": 2,
- "mondensity": 2
- },
- {
- "type": "overmap_terrain",
- "id": "town_hall_0_0_0",
- "name": "town hall",
- "sym": "^",
- "color": "i_black",
- "see_cost": 2,
- "mondensity": 2,
- "flags": [ "SIDEWALK" ]
- },
- {
- "type": "overmap_terrain",
- "id": "town_hall_1_0_0",
- "name": "town hall",
- "sym": "^",
- "color": "i_black",
- "see_cost": 2,
- "mondensity": 2,
- "flags": [ "SIDEWALK" ]
- },
- {
- "type": "overmap_terrain",
- "id": "town_hall_0_1_0",
- "name": "town hall",
- "sym": "^",
- "color": "i_black",
- "see_cost": 2,
- "flags": [ "SIDEWALK" ]
- },
- {
- "type": "overmap_terrain",
- "id": "town_hall_1_1_0",
- "name": "town hall",
- "sym": "^",
- "color": "i_black",
- "see_cost": 2,
- "mondensity": 2,
- "flags": [ "SIDEWALK" ]
- },
- {
- "type": "overmap_terrain",
- "id": "town_hall_0_0_1",
- "name": "town hall",
- "sym": "^",
- "color": "i_black",
- "see_cost": 2,
- "mondensity": 2
- },
- {
- "type": "overmap_terrain",
- "id": "town_hall_1_0_1",
- "name": "town hall",
- "sym": "^",
- "color": "i_black",
- "see_cost": 2,
- "mondensity": 2
- },
- {
- "type": "overmap_terrain",
- "id": "town_hall_0_1_1",
- "name": "town hall",
- "sym": "^",
- "color": "i_black",
- "see_cost": 2,
- "mondensity": 2
- },
- {
- "type": "overmap_terrain",
- "id": "town_hall_1_1_1",
- "name": "town hall",
- "sym": "^",
- "color": "i_black",
- "see_cost": 2,
- "mondensity": 2
- },
- {
- "type": "overmap_terrain",
- "id": "town_hall_0_0_roof",
- "name": "town hall",
- "sym": ".",
- "color": "light_blue",
- "see_cost": 2,
- "mondensity": 2
- },
- {
- "type": "overmap_terrain",
- "id": "town_hall_1_0_roof",
- "name": "town hall",
- "sym": ".",
- "color": "light_blue",
- "see_cost": 2,
- "mondensity": 2
- },
- {
- "type": "overmap_terrain",
- "id": "town_hall_0_1_roof",
- "name": "town hall",
- "sym": ".",
- "color": "light_blue",
- "see_cost": 2,
- "mondensity": 2
- },
- {
- "type": "overmap_terrain",
- "id": "town_hall_1_1_roof",
- "name": "town hall",
- "sym": ".",
- "color": "light_blue",
- "see_cost": 2,
- "mondensity": 2
- }
-]
diff --git a/data/json/overmap/multitile_city_buildings.json b/data/json/overmap/multitile_city_buildings.json
index 8da77c115801d..e4df6f2ee4caf 100644
--- a/data/json/overmap/multitile_city_buildings.json
+++ b/data/json/overmap/multitile_city_buildings.json
@@ -15,6 +15,57 @@
{ "point": [ 0, 0, -1 ], "overmap": "basement" }
]
},
+ {
+ "type": "city_building",
+ "id": "mil_surplus",
+ "locations": [ "land" ],
+ "overmaps": [
+ { "point": [ 0, 0, 0 ], "overmap": "mil_surplus_north" },
+ { "point": [ 0, 0, 1 ], "overmap": "mil_surplus_roof_north" }
+ ]
+ },
+ {
+ "type": "city_building",
+ "id": "mil_surplus_1",
+ "locations": [ "land" ],
+ "overmaps": [
+ { "point": [ 0, 0, 0 ], "overmap": "mil_surplus_1_north" },
+ { "point": [ 0, 0, 1 ], "overmap": "mil_surplus_roof_1_north" }
+ ]
+ },
+ {
+ "type": "city_building",
+ "id": "s_library",
+ "locations": [ "land" ],
+ "overmaps": [ { "point": [ 0, 0, 0 ], "overmap": "s_library_north" }, { "point": [ 0, 0, 1 ], "overmap": "s_library_roof_north" } ]
+ },
+ {
+ "type": "city_building",
+ "id": "s_library_1",
+ "locations": [ "land" ],
+ "overmaps": [
+ { "point": [ 0, 0, 0 ], "overmap": "s_library_1_north" },
+ { "point": [ 0, 0, 1 ], "overmap": "s_library_roof_1_north" }
+ ]
+ },
+ {
+ "type": "city_building",
+ "id": "mil_surplus_2",
+ "locations": [ "land" ],
+ "overmaps": [
+ { "point": [ 0, 0, 0 ], "overmap": "mil_surplus_2_north" },
+ { "point": [ 0, 0, 1 ], "overmap": "mil_surplus_roof_2_north" }
+ ]
+ },
+ {
+ "type": "city_building",
+ "id": "s_library_2",
+ "locations": [ "land" ],
+ "overmaps": [
+ { "point": [ 0, 0, 0 ], "overmap": "s_library_2_north" },
+ { "point": [ 0, 0, 1 ], "overmap": "s_library_roof_2_north" }
+ ]
+ },
{
"type": "city_building",
"id": "furniture",
@@ -111,6 +162,40 @@
{ "point": [ 0, 0, 1 ], "overmap": "cs_tire_shop_roof_north" }
]
},
+ {
+ "type": "city_building",
+ "id": "s_gun",
+ "locations": [ "land" ],
+ "overmaps": [ { "point": [ 0, 0, 0 ], "overmap": "s_gun_north" }, { "point": [ 0, 0, 1 ], "overmap": "s_gun_roof_north" } ]
+ },
+ {
+ "type": "city_building",
+ "id": "s_gun_1",
+ "locations": [ "land" ],
+ "overmaps": [ { "point": [ 0, 0, 0 ], "overmap": "s_gun_1_north" }, { "point": [ 0, 0, 1 ], "overmap": "s_gun_roof_1_north" } ]
+ },
+ {
+ "type": "city_building",
+ "id": "s_gun_2",
+ "locations": [ "land" ],
+ "overmaps": [ { "point": [ 0, 0, 0 ], "overmap": "s_gun_2_north" }, { "point": [ 0, 0, 1 ], "overmap": "s_gun_roof_1_north" } ]
+ },
+ {
+ "type": "city_building",
+ "id": "s_gun_3",
+ "locations": [ "land" ],
+ "overmaps": [ { "point": [ 0, 0, 0 ], "overmap": "s_gun_3_north" }, { "point": [ 0, 0, 1 ], "overmap": "s_gun_roof_3_north" } ]
+ },
+ {
+ "type": "city_building",
+ "id": "s_gun_4",
+ "locations": [ "land" ],
+ "overmaps": [
+ { "point": [ 0, 0, 0 ], "overmap": "s_gun_4_north" },
+ { "point": [ 0, 0, 1 ], "overmap": "s_gun_2ndfloor_4_north" },
+ { "point": [ 0, 0, 2 ], "overmap": "s_gun_roof_4_north" }
+ ]
+ },
{
"type": "city_building",
"id": "s_bookstore",
@@ -1008,7 +1093,8 @@
"locations": [ "land" ],
"overmaps": [
{ "point": [ 0, 0, 0 ], "overmap": "landscapingsupplyco_1a_north" },
- { "point": [ 1, 0, 0 ], "overmap": "landscapingsupplyco_1b_north" }
+ { "point": [ 1, 0, 0 ], "overmap": "landscapingsupplyco_1b_north" },
+ { "point": [ 1, 0, 1 ], "overmap": "landscapingsupplyco_1b_roof_north" }
]
},
{
@@ -1249,6 +1335,16 @@
{ "point": [ 0, 0, 1 ], "overmap": "dispensary_roof_2_north" }
]
},
+ {
+ "type": "city_building",
+ "id": "headshop",
+ "locations": [ "land" ],
+ "overmaps": [
+ { "point": [ 0, 0, 0 ], "overmap": "headshop_north" },
+ { "point": [ 0, 0, 1 ], "overmap": "headshop_roof_north" },
+ { "point": [ 0, 0, 2 ], "overmap": "headshop_upper_roof_north" }
+ ]
+ },
{
"type": "city_building",
"id": "abandonedwarehouse",
@@ -1345,6 +1441,16 @@
{ "point": [ 0, 0, 1 ], "overmap": "cs_car_dealership_roof_north" }
]
},
+ {
+ "type": "city_building",
+ "id": "s_restaurant_foodplace",
+ "locations": [ "land" ],
+ "overmaps": [
+ { "point": [ 0, 0, 0 ], "overmap": "s_restaurant_foodplace_north" },
+ { "point": [ 0, 0, 1 ], "overmap": "s_restaurant_foodplace_roof_north" },
+ { "point": [ 0, 0, 2 ], "overmap": "s_restaurant_foodplace_upper_roof_north" }
+ ]
+ },
{
"type": "city_building",
"id": "s_restaurant",
@@ -1443,6 +1549,12 @@
{ "point": [ 0, 0, 2 ], "overmap": "bakery_upper_roof_north" }
]
},
+ {
+ "type": "city_building",
+ "id": "s_jewelry_shop",
+ "locations": [ "land" ],
+ "overmaps": [ { "point": [ 0, 0, 0 ], "overmap": "s_jewelry_north" }, { "point": [ 0, 0, 1 ], "overmap": "s_jewelry_roof_north" } ]
+ },
{
"type": "city_building",
"id": "cs_gardening_allotment",
@@ -1479,6 +1591,21 @@
"locations": [ "land" ],
"overmaps": [ { "point": [ 0, 0, 0 ], "overmap": "bar_1_north" }, { "point": [ 0, 0, 1 ], "overmap": "bar_roof_1_north" } ]
},
+ {
+ "type": "city_building",
+ "id": "lancenter",
+ "locations": [ "land" ],
+ "overmaps": [ { "point": [ 0, 0, 0 ], "overmap": "lancenter_north" }, { "point": [ 0, 0, 1 ], "overmap": "lancenter_roof_north" } ]
+ },
+ {
+ "type": "city_building",
+ "id": "lancenter_1",
+ "locations": [ "land" ],
+ "overmaps": [
+ { "point": [ 0, 0, 0 ], "overmap": "lancenter_1_north" },
+ { "point": [ 0, 0, 1 ], "overmap": "lancenter_roof_1_north" }
+ ]
+ },
{
"type": "city_building",
"id": "office_doctor",
@@ -1639,6 +1766,15 @@
{ "point": [ 0, 0, 1 ], "overmap": "s_bike_shop_roof_1_north" }
]
},
+ {
+ "type": "city_building",
+ "id": "home_improvement",
+ "locations": [ "land" ],
+ "overmaps": [
+ { "point": [ 0, 0, 0 ], "overmap": "home_improvement_north" },
+ { "point": [ 0, 0, 1 ], "overmap": "home_improvement_roof_north" }
+ ]
+ },
{
"type": "city_building",
"id": "cs_car_showroom",
@@ -1773,5 +1909,30 @@
{ "point": [ 1, 0, 3 ], "overmap": "parking_garage_roof_1_north" },
{ "point": [ 0, 0, 4 ], "overmap": "parking_garage_roof_top_north" }
]
+ },
+ {
+ "type": "city_building",
+ "id": "s_music",
+ "locations": [ "land" ],
+ "overmaps": [ { "point": [ 0, 0, 0 ], "overmap": "s_music_north" }, { "point": [ 0, 0, 1 ], "overmap": "s_music_roof_north" } ]
+ },
+ {
+ "type": "city_building",
+ "id": "music_venue",
+ "locations": [ "land" ],
+ "overmaps": [
+ { "point": [ 0, 0, 0 ], "overmap": "music_venue_north" },
+ { "point": [ 0, 0, 1 ], "overmap": "music_venue_roof_north" }
+ ]
+ },
+ {
+ "type": "city_building",
+ "id": "music_venue_1",
+ "locations": [ "land" ],
+ "overmaps": [
+ { "point": [ 0, 0, 0 ], "overmap": "music_venue_1_north" },
+ { "point": [ 0, 0, 1 ], "overmap": "music_venue_1_roof_north" },
+ { "point": [ 0, 0, 2 ], "overmap": "music_venue_1_roof_top_north" }
+ ]
}
]
diff --git a/data/json/overmap_connections.json b/data/json/overmap/overmap_connections.json
similarity index 100%
rename from data/json/overmap_connections.json
rename to data/json/overmap/overmap_connections.json
diff --git a/data/json/overmap/campus.json b/data/json/overmap/overmap_special/campus.json
similarity index 100%
rename from data/json/overmap/campus.json
rename to data/json/overmap/overmap_special/campus.json
diff --git a/data/json/overmap/specials.json b/data/json/overmap/overmap_special/specials.json
similarity index 54%
rename from data/json/overmap/specials.json
rename to data/json/overmap/overmap_special/specials.json
index 5c2594f2265de..8ff2bd738fe90 100644
--- a/data/json/overmap/specials.json
+++ b/data/json/overmap/overmap_special/specials.json
@@ -114,7 +114,11 @@
{
"type": "overmap_special",
"id": "LMOE Shelter",
- "overmaps": [ { "point": [ 0, 0, 0 ], "overmap": "lmoe" }, { "point": [ 0, 0, -1 ], "overmap": "lmoe_under" } ],
+ "overmaps": [
+ { "point": [ 0, 0, 0 ], "overmap": "lmoe" },
+ { "point": [ 0, 0, 1 ], "overmap": "lmoe_roof" },
+ { "point": [ 0, 0, -1 ], "overmap": "lmoe_under_empty" }
+ ],
"locations": [ "land" ],
"city_distance": [ 20, -1 ],
"city_sizes": [ 0, 12 ],
@@ -269,7 +273,9 @@
{ "point": [ 2, 1, 0 ], "overmap": "farm_4_north" },
{ "point": [ 0, 2, 0 ], "overmap": "farm_9_north" },
{ "point": [ 1, 2, 0 ], "overmap": "farm_8_north" },
- { "point": [ 2, 2, 0 ], "overmap": "farm_7_north" }
+ { "point": [ 2, 2, 0 ], "overmap": "farm_7_north" },
+ { "point": [ 0, 0, 1 ], "overmap": "farm_3_roof_north" },
+ { "point": [ 1, 0, 1 ], "overmap": "farm_2_roof_north" }
],
"connections": [ { "point": [ 1, -1, 0 ], "terrain": "road", "existing": true } ],
"locations": [ "wilderness" ],
@@ -851,7 +857,7 @@
{ "point": [ 0, 0, -1 ], "overmap": "shelter_under" },
{ "point": [ 0, 0, 1 ], "overmap": "shelter_roof" }
],
- "connections": [ { "point": [ 0, -1, 0 ], "terrain": "road" } ],
+ "connections": [ { "point": [ 0, -1, 0 ], "terrain": "road", "connection": "local_road", "from": [ 0, 0, 0 ] } ],
"locations": [ "wilderness" ],
"city_distance": [ 5, 10 ],
"city_sizes": [ 4, 12 ],
@@ -867,7 +873,7 @@
{ "point": [ 0, 0, -1 ], "overmap": "shelter_under" },
{ "point": [ 0, 0, 1 ], "overmap": "shelter_roof_1" }
],
- "connections": [ { "point": [ 0, -1, 0 ], "terrain": "road" } ],
+ "connections": [ { "point": [ 0, -1, 0 ], "terrain": "road", "connection": "local_road", "from": [ 0, 0, 0 ] } ],
"locations": [ "wilderness" ],
"city_distance": [ 5, 10 ],
"city_sizes": [ 4, 12 ],
@@ -883,7 +889,7 @@
{ "point": [ 0, 0, -1 ], "overmap": "shelter_under" },
{ "point": [ 0, 0, 1 ], "overmap": "shelter_roof_2" }
],
- "connections": [ { "point": [ 0, -1, 0 ], "terrain": "road" } ],
+ "connections": [ { "point": [ 0, -1, 0 ], "terrain": "road", "connection": "local_road", "from": [ 0, 0, 0 ] } ],
"locations": [ "wilderness" ],
"city_distance": [ 5, 10 ],
"city_sizes": [ 4, 12 ],
@@ -1276,34 +1282,1584 @@
"type": "overmap_special",
"id": "evac_center",
"overmaps": [
- { "point": [ 0, 0, 0 ], "overmap": "evac_center_1_north" },
- { "point": [ 1, 0, 0 ], "overmap": "evac_center_2_north" },
- { "point": [ 2, 0, 0 ], "overmap": "evac_center_3_north" },
- { "point": [ 3, 0, 0 ], "overmap": "evac_center_4_north" },
- { "point": [ 4, 0, 0 ], "overmap": "evac_center_5_north" },
- { "point": [ 0, 1, 0 ], "overmap": "evac_center_6_north" },
- { "point": [ 1, 1, 0 ], "overmap": "evac_center_7_north" },
- { "point": [ 2, 1, 0 ], "overmap": "evac_center_8_north" },
- { "point": [ 3, 1, 0 ], "overmap": "evac_center_9_north" },
- { "point": [ 4, 1, 0 ], "overmap": "evac_center_10_north" },
- { "point": [ 0, 2, 0 ], "overmap": "evac_center_11_north" },
- { "point": [ 1, 2, 0 ], "overmap": "evac_center_12_north" },
- { "point": [ 2, 2, 0 ], "overmap": "evac_center_13_north" },
- { "point": [ 3, 2, 0 ], "overmap": "evac_center_14_north" },
- { "point": [ 4, 2, 0 ], "overmap": "evac_center_15_north" },
- { "point": [ 0, 3, 0 ], "overmap": "evac_center_16_north" },
- { "point": [ 1, 3, 0 ], "overmap": "evac_center_17_north" },
- { "point": [ 2, 3, 0 ], "overmap": "evac_center_18_north" },
- { "point": [ 3, 3, 0 ], "overmap": "evac_center_19_north" },
- { "point": [ 4, 3, 0 ], "overmap": "evac_center_20_north" },
- { "point": [ 0, 4, 0 ], "overmap": "evac_center_21_north" },
- { "point": [ 1, 4, 0 ], "overmap": "evac_center_22_north" },
- { "point": [ 2, 4, 0 ], "overmap": "evac_center_23_north" },
- { "point": [ 3, 4, 0 ], "overmap": "evac_center_24_north" },
- { "point": [ 4, 4, 0 ], "overmap": "evac_center_25_north" },
- { "point": [ 2, 5, 0 ], "overmap": "road_end_south" }
- ],
- "connections": [ { "point": [ 2, 5, 0 ] } ],
+ { "point": [ 0, 0, 0 ], "overmap": "refctr_NW1a_north" },
+ { "point": [ 1, 0, 0 ], "overmap": "refctr_NW2a_north" },
+ { "point": [ 2, 0, 0 ], "overmap": "refctr_NW3a_north" },
+ { "point": [ 3, 0, 0 ], "overmap": "refctr_NW4a_north" },
+ { "point": [ 4, 0, 0 ], "overmap": "refctr_NW5a_north" },
+ { "point": [ 0, 1, 0 ], "overmap": "refctr_NW1b_north" },
+ { "point": [ 1, 1, 0 ], "overmap": "refctr_NW2b_north" },
+ { "point": [ 2, 1, 0 ], "overmap": "refctr_NW3b_north" },
+ { "point": [ 3, 1, 0 ], "overmap": "refctr_NW4b_north" },
+ { "point": [ 4, 1, 0 ], "overmap": "refctr_NW5b_north" },
+ { "point": [ 0, 2, 0 ], "overmap": "refctr_NW1c_north" },
+ { "point": [ 1, 2, 0 ], "overmap": "refctr_NW2c_north" },
+ { "point": [ 2, 2, 0 ], "overmap": "refctr_NW3c_north" },
+ { "point": [ 3, 2, 0 ], "overmap": "refctr_NW4c_north" },
+ { "point": [ 4, 2, 0 ], "overmap": "refctr_NW5c_north" },
+ { "point": [ 0, 3, 0 ], "overmap": "refctr_NW1d_north" },
+ { "point": [ 1, 3, 0 ], "overmap": "refctr_NW2d_north" },
+ { "point": [ 2, 3, 0 ], "overmap": "refctr_NW3d_north" },
+ { "point": [ 3, 3, 0 ], "overmap": "refctr_NW4d_north" },
+ { "point": [ 4, 3, 0 ], "overmap": "refctr_NW5d_north" },
+ { "point": [ 0, 4, 0 ], "overmap": "refctr_NW1e_north" },
+ { "point": [ 1, 4, 0 ], "overmap": "refctr_NW2e_north" },
+ { "point": [ 2, 4, 0 ], "overmap": "refctr_NW3e_north" },
+ { "point": [ 3, 4, 0 ], "overmap": "refctr_NW4e_north" },
+ { "point": [ 4, 4, 0 ], "overmap": "refctr_NW5e_north" },
+ { "point": [ 5, 0, 0 ], "overmap": "refctr_N1a_north" },
+ { "point": [ 6, 0, 0 ], "overmap": "refctr_N2a_north" },
+ { "point": [ 7, 0, 0 ], "overmap": "refctr_N3a_north" },
+ { "point": [ 8, 0, 0 ], "overmap": "refctr_N4a_north" },
+ { "point": [ 9, 0, 0 ], "overmap": "refctr_N5a_north" },
+ { "point": [ 5, 1, 0 ], "overmap": "refctr_N1b_north" },
+ { "point": [ 6, 1, 0 ], "overmap": "refctr_N2b_north" },
+ { "point": [ 7, 1, 0 ], "overmap": "refctr_N3b_north" },
+ { "point": [ 8, 1, 0 ], "overmap": "refctr_N4b_north" },
+ { "point": [ 9, 1, 0 ], "overmap": "refctr_N5b_north" },
+ { "point": [ 5, 2, 0 ], "overmap": "refctr_N1c_north" },
+ { "point": [ 6, 2, 0 ], "overmap": "refctr_N2c_north" },
+ { "point": [ 7, 2, 0 ], "overmap": "refctr_N3c_north" },
+ { "point": [ 8, 2, 0 ], "overmap": "refctr_N4c_north" },
+ { "point": [ 9, 2, 0 ], "overmap": "refctr_N5c_north" },
+ { "point": [ 5, 3, 0 ], "overmap": "refctr_N1d_north" },
+ { "point": [ 6, 3, 0 ], "overmap": "refctr_N2d_north" },
+ { "point": [ 7, 3, 0 ], "overmap": "refctr_N3d_north" },
+ { "point": [ 8, 3, 0 ], "overmap": "refctr_N4d_north" },
+ { "point": [ 9, 3, 0 ], "overmap": "refctr_N5d_north" },
+ { "point": [ 5, 4, 0 ], "overmap": "refctr_N1e_north" },
+ { "point": [ 6, 4, 0 ], "overmap": "refctr_N2e_north" },
+ { "point": [ 7, 4, 0 ], "overmap": "refctr_N3e_north" },
+ { "point": [ 8, 4, 0 ], "overmap": "refctr_N4e_north" },
+ { "point": [ 9, 4, 0 ], "overmap": "refctr_N5e_north" },
+ { "point": [ 10, 0, 0 ], "overmap": "refctr_NE1a_north" },
+ { "point": [ 11, 0, 0 ], "overmap": "refctr_NE2a_north" },
+ { "point": [ 12, 0, 0 ], "overmap": "refctr_NE3a_north" },
+ { "point": [ 13, 0, 0 ], "overmap": "refctr_NE4a_north" },
+ { "point": [ 14, 0, 0 ], "overmap": "refctr_NE5a_north" },
+ { "point": [ 10, 1, 0 ], "overmap": "refctr_NE1b_north" },
+ { "point": [ 11, 1, 0 ], "overmap": "refctr_NE2b_north" },
+ { "point": [ 12, 1, 0 ], "overmap": "refctr_NE3b_north" },
+ { "point": [ 13, 1, 0 ], "overmap": "refctr_NE4b_north" },
+ { "point": [ 14, 1, 0 ], "overmap": "refctr_NE5b_north" },
+ { "point": [ 10, 2, 0 ], "overmap": "refctr_NE1c_north" },
+ { "point": [ 11, 2, 0 ], "overmap": "refctr_NE2c_north" },
+ { "point": [ 12, 2, 0 ], "overmap": "refctr_NE3c_north" },
+ { "point": [ 13, 2, 0 ], "overmap": "refctr_NE4c_north" },
+ { "point": [ 14, 2, 0 ], "overmap": "refctr_NE5c_north" },
+ { "point": [ 10, 3, 0 ], "overmap": "refctr_NE1d_north" },
+ { "point": [ 11, 3, 0 ], "overmap": "refctr_NE2d_north" },
+ { "point": [ 12, 3, 0 ], "overmap": "refctr_NE3d_north" },
+ { "point": [ 13, 3, 0 ], "overmap": "refctr_NE4d_north" },
+ { "point": [ 14, 3, 0 ], "overmap": "refctr_NE5d_north" },
+ { "point": [ 10, 4, 0 ], "overmap": "refctr_NE1e_north" },
+ { "point": [ 11, 4, 0 ], "overmap": "refctr_NE2e_north" },
+ { "point": [ 12, 4, 0 ], "overmap": "refctr_NE3e_north" },
+ { "point": [ 13, 4, 0 ], "overmap": "refctr_NE4e_north" },
+ { "point": [ 14, 4, 0 ], "overmap": "refctr_NE5e_north" },
+ { "point": [ 0, 5, 0 ], "overmap": "refctr_W1a_north" },
+ { "point": [ 1, 5, 0 ], "overmap": "refctr_W2a_north" },
+ { "point": [ 2, 5, 0 ], "overmap": "refctr_W3a_north" },
+ { "point": [ 3, 5, 0 ], "overmap": "refctr_W4a_north" },
+ { "point": [ 4, 5, 0 ], "overmap": "refctr_W5a_north" },
+ { "point": [ 0, 6, 0 ], "overmap": "refctr_W1b_north" },
+ { "point": [ 1, 6, 0 ], "overmap": "refctr_W2b_north" },
+ { "point": [ 2, 6, 0 ], "overmap": "refctr_W3b_north" },
+ { "point": [ 3, 6, 0 ], "overmap": "refctr_W4b_north" },
+ { "point": [ 4, 6, 0 ], "overmap": "refctr_W5b_north" },
+ { "point": [ 0, 7, 0 ], "overmap": "refctr_W1c_north" },
+ { "point": [ 1, 7, 0 ], "overmap": "refctr_W2c_north" },
+ { "point": [ 2, 7, 0 ], "overmap": "refctr_W3c_north" },
+ { "point": [ 3, 7, 0 ], "overmap": "refctr_W4c_north" },
+ { "point": [ 4, 7, 0 ], "overmap": "refctr_W5c_north" },
+ { "point": [ 0, 8, 0 ], "overmap": "refctr_W1d_north" },
+ { "point": [ 1, 8, 0 ], "overmap": "refctr_W2d_north" },
+ { "point": [ 2, 8, 0 ], "overmap": "refctr_W3d_north" },
+ { "point": [ 3, 8, 0 ], "overmap": "refctr_W4d_north" },
+ { "point": [ 4, 8, 0 ], "overmap": "refctr_W5d_north" },
+ { "point": [ 0, 9, 0 ], "overmap": "refctr_W1e_north" },
+ { "point": [ 1, 9, 0 ], "overmap": "refctr_W2e_north" },
+ { "point": [ 2, 9, 0 ], "overmap": "refctr_W3e_north" },
+ { "point": [ 3, 9, 0 ], "overmap": "refctr_W4e_north" },
+ { "point": [ 4, 9, 0 ], "overmap": "refctr_W5e_north" },
+ { "point": [ 5, 5, 0 ], "overmap": "evac_center_1_north" },
+ { "point": [ 6, 5, 0 ], "overmap": "evac_center_2_north" },
+ { "point": [ 7, 5, 0 ], "overmap": "evac_center_3_north" },
+ { "point": [ 8, 5, 0 ], "overmap": "evac_center_4_north" },
+ { "point": [ 9, 5, 0 ], "overmap": "evac_center_5_north" },
+ { "point": [ 5, 6, 0 ], "overmap": "evac_center_6_north" },
+ { "point": [ 6, 6, 0 ], "overmap": "evac_center_7_north" },
+ { "point": [ 7, 6, 0 ], "overmap": "evac_center_8_north" },
+ { "point": [ 8, 6, 0 ], "overmap": "evac_center_9_north" },
+ { "point": [ 9, 6, 0 ], "overmap": "evac_center_10_north" },
+ { "point": [ 5, 7, 0 ], "overmap": "evac_center_11_north" },
+ { "point": [ 6, 7, 0 ], "overmap": "evac_center_12_north" },
+ { "point": [ 7, 7, 0 ], "overmap": "evac_center_13_north" },
+ { "point": [ 8, 7, 0 ], "overmap": "evac_center_14_north" },
+ { "point": [ 9, 7, 0 ], "overmap": "evac_center_15_north" },
+ { "point": [ 5, 8, 0 ], "overmap": "evac_center_16_north" },
+ { "point": [ 6, 8, 0 ], "overmap": "evac_center_17_north" },
+ { "point": [ 7, 8, 0 ], "overmap": "evac_center_18_north" },
+ { "point": [ 8, 8, 0 ], "overmap": "evac_center_19_north" },
+ { "point": [ 9, 8, 0 ], "overmap": "evac_center_20_north" },
+ { "point": [ 5, 9, 0 ], "overmap": "evac_center_21_north" },
+ { "point": [ 6, 9, 0 ], "overmap": "evac_center_22_north" },
+ { "point": [ 7, 9, 0 ], "overmap": "evac_center_23_north" },
+ { "point": [ 8, 9, 0 ], "overmap": "evac_center_24_north" },
+ { "point": [ 9, 9, 0 ], "overmap": "evac_center_25_north" },
+ { "point": [ 10, 5, 0 ], "overmap": "refctr_E1a_north" },
+ { "point": [ 11, 5, 0 ], "overmap": "refctr_E2a_north" },
+ { "point": [ 12, 5, 0 ], "overmap": "refctr_E3a_north" },
+ { "point": [ 13, 5, 0 ], "overmap": "refctr_E4a_north" },
+ { "point": [ 14, 5, 0 ], "overmap": "refctr_E5a_north" },
+ { "point": [ 10, 6, 0 ], "overmap": "refctr_E1b_north" },
+ { "point": [ 11, 6, 0 ], "overmap": "refctr_E2b_north" },
+ { "point": [ 12, 6, 0 ], "overmap": "refctr_E3b_north" },
+ { "point": [ 13, 6, 0 ], "overmap": "refctr_E4b_north" },
+ { "point": [ 14, 6, 0 ], "overmap": "refctr_E5b_north" },
+ { "point": [ 10, 7, 0 ], "overmap": "refctr_E1c_north" },
+ { "point": [ 11, 7, 0 ], "overmap": "refctr_E2c_north" },
+ { "point": [ 12, 7, 0 ], "overmap": "refctr_E3c_north" },
+ { "point": [ 13, 7, 0 ], "overmap": "refctr_E4c_north" },
+ { "point": [ 14, 7, 0 ], "overmap": "refctr_E5c_north" },
+ { "point": [ 10, 8, 0 ], "overmap": "refctr_E1d_north" },
+ { "point": [ 11, 8, 0 ], "overmap": "refctr_E2d_north" },
+ { "point": [ 12, 8, 0 ], "overmap": "refctr_E3d_north" },
+ { "point": [ 13, 8, 0 ], "overmap": "refctr_E4d_north" },
+ { "point": [ 14, 8, 0 ], "overmap": "refctr_E5d_north" },
+ { "point": [ 10, 9, 0 ], "overmap": "refctr_E1e_north" },
+ { "point": [ 11, 9, 0 ], "overmap": "refctr_E2e_north" },
+ { "point": [ 12, 9, 0 ], "overmap": "refctr_E3e_north" },
+ { "point": [ 13, 9, 0 ], "overmap": "refctr_E4e_north" },
+ { "point": [ 14, 9, 0 ], "overmap": "refctr_E5e_north" },
+ { "point": [ 0, 10, 0 ], "overmap": "refctr_SW1a_north" },
+ { "point": [ 1, 10, 0 ], "overmap": "refctr_SW2a_north" },
+ { "point": [ 2, 10, 0 ], "overmap": "refctr_SW3a_north" },
+ { "point": [ 3, 10, 0 ], "overmap": "refctr_SW4a_north" },
+ { "point": [ 4, 10, 0 ], "overmap": "refctr_SW5a_north" },
+ { "point": [ 0, 11, 0 ], "overmap": "refctr_SW1b_north" },
+ { "point": [ 1, 11, 0 ], "overmap": "refctr_SW2b_north" },
+ { "point": [ 2, 11, 0 ], "overmap": "refctr_SW3b_north" },
+ { "point": [ 3, 11, 0 ], "overmap": "refctr_SW4b_north" },
+ { "point": [ 4, 11, 0 ], "overmap": "refctr_SW5b_north" },
+ { "point": [ 0, 12, 0 ], "overmap": "refctr_SW1c_north" },
+ { "point": [ 1, 12, 0 ], "overmap": "refctr_SW2c_north" },
+ { "point": [ 2, 12, 0 ], "overmap": "refctr_SW3c_north" },
+ { "point": [ 3, 12, 0 ], "overmap": "refctr_SW4c_north" },
+ { "point": [ 4, 12, 0 ], "overmap": "refctr_SW5c_north" },
+ { "point": [ 0, 13, 0 ], "overmap": "refctr_SW1d_north" },
+ { "point": [ 1, 13, 0 ], "overmap": "refctr_SW2d_north" },
+ { "point": [ 2, 13, 0 ], "overmap": "refctr_SW3d_north" },
+ { "point": [ 3, 13, 0 ], "overmap": "refctr_SW4d_north" },
+ { "point": [ 4, 13, 0 ], "overmap": "refctr_SW5d_north" },
+ { "point": [ 0, 14, 0 ], "overmap": "refctr_SW1e_north" },
+ { "point": [ 1, 14, 0 ], "overmap": "refctr_SW2e_north" },
+ { "point": [ 2, 14, 0 ], "overmap": "refctr_SW3e_north" },
+ { "point": [ 3, 14, 0 ], "overmap": "refctr_SW4e_north" },
+ { "point": [ 4, 14, 0 ], "overmap": "refctr_SW5e_north" },
+ { "point": [ 5, 10, 0 ], "overmap": "refctr_S1a_north" },
+ { "point": [ 6, 10, 0 ], "overmap": "refctr_S2a_north" },
+ { "point": [ 7, 10, 0 ], "overmap": "refctr_S3a_north" },
+ { "point": [ 8, 10, 0 ], "overmap": "refctr_S4a_north" },
+ { "point": [ 9, 10, 0 ], "overmap": "refctr_S5a_north" },
+ { "point": [ 5, 11, 0 ], "overmap": "refctr_S1b_north" },
+ { "point": [ 6, 11, 0 ], "overmap": "refctr_S2b_north" },
+ { "point": [ 7, 11, 0 ], "overmap": "refctr_S3b_north" },
+ { "point": [ 8, 11, 0 ], "overmap": "refctr_S4b_north" },
+ { "point": [ 9, 11, 0 ], "overmap": "refctr_S5b_north" },
+ { "point": [ 5, 12, 0 ], "overmap": "refctr_S1c_north" },
+ { "point": [ 6, 12, 0 ], "overmap": "refctr_S2c_north" },
+ { "point": [ 7, 12, 0 ], "overmap": "refctr_S3c_north" },
+ { "point": [ 8, 12, 0 ], "overmap": "refctr_S4c_north" },
+ { "point": [ 9, 12, 0 ], "overmap": "refctr_S5c_north" },
+ { "point": [ 5, 13, 0 ], "overmap": "refctr_S1d_north" },
+ { "point": [ 6, 13, 0 ], "overmap": "refctr_S2d_north" },
+ { "point": [ 7, 13, 0 ], "overmap": "refctr_S3d_north" },
+ { "point": [ 8, 13, 0 ], "overmap": "refctr_S4d_north" },
+ { "point": [ 9, 13, 0 ], "overmap": "refctr_S5d_north" },
+ { "point": [ 5, 14, 0 ], "overmap": "refctr_S1e_north" },
+ { "point": [ 6, 14, 0 ], "overmap": "refctr_S2e_north" },
+ { "point": [ 7, 14, 0 ], "overmap": "refctr_S3e_north" },
+ { "point": [ 8, 14, 0 ], "overmap": "refctr_S4e_north" },
+ { "point": [ 9, 14, 0 ], "overmap": "refctr_S5e_north" },
+ { "point": [ 10, 10, 0 ], "overmap": "refctr_SE1a_north" },
+ { "point": [ 11, 10, 0 ], "overmap": "refctr_SE2a_north" },
+ { "point": [ 12, 10, 0 ], "overmap": "refctr_SE3a_north" },
+ { "point": [ 13, 10, 0 ], "overmap": "refctr_SE4a_north" },
+ { "point": [ 14, 10, 0 ], "overmap": "refctr_SE5a_north" },
+ { "point": [ 10, 11, 0 ], "overmap": "refctr_SE1b_north" },
+ { "point": [ 11, 11, 0 ], "overmap": "refctr_SE2b_north" },
+ { "point": [ 12, 11, 0 ], "overmap": "refctr_SE3b_north" },
+ { "point": [ 13, 11, 0 ], "overmap": "refctr_SE4b_north" },
+ { "point": [ 14, 11, 0 ], "overmap": "refctr_SE5b_north" },
+ { "point": [ 10, 12, 0 ], "overmap": "refctr_SE1c_north" },
+ { "point": [ 11, 12, 0 ], "overmap": "refctr_SE2c_north" },
+ { "point": [ 12, 12, 0 ], "overmap": "refctr_SE3c_north" },
+ { "point": [ 13, 12, 0 ], "overmap": "refctr_SE4c_north" },
+ { "point": [ 14, 12, 0 ], "overmap": "refctr_SE5c_north" },
+ { "point": [ 10, 13, 0 ], "overmap": "refctr_SE1d_north" },
+ { "point": [ 11, 13, 0 ], "overmap": "refctr_SE2d_north" },
+ { "point": [ 12, 13, 0 ], "overmap": "refctr_SE3d_north" },
+ { "point": [ 13, 13, 0 ], "overmap": "refctr_SE4d_north" },
+ { "point": [ 14, 13, 0 ], "overmap": "refctr_SE5d_north" },
+ { "point": [ 10, 14, 0 ], "overmap": "refctr_SE1e_north" },
+ { "point": [ 11, 14, 0 ], "overmap": "refctr_SE2e_north" },
+ { "point": [ 12, 14, 0 ], "overmap": "refctr_SE3e_north" },
+ { "point": [ 13, 14, 0 ], "overmap": "refctr_SE4e_north" },
+ { "point": [ 14, 14, 0 ], "overmap": "refctr_SE5e_north" },
+ { "point": [ 0, 0, 1 ], "overmap": "refctr_NW1a_z1_north" },
+ { "point": [ 1, 0, 1 ], "overmap": "refctr_NW2a_z1_north" },
+ { "point": [ 2, 0, 1 ], "overmap": "refctr_NW3a_z1_north" },
+ { "point": [ 3, 0, 1 ], "overmap": "refctr_NW4a_z1_north" },
+ { "point": [ 4, 0, 1 ], "overmap": "refctr_NW5a_z1_north" },
+ { "point": [ 0, 1, 1 ], "overmap": "refctr_NW1b_z1_north" },
+ { "point": [ 1, 1, 1 ], "overmap": "refctr_NW2b_z1_north" },
+ { "point": [ 2, 1, 1 ], "overmap": "refctr_NW3b_z1_north" },
+ { "point": [ 3, 1, 1 ], "overmap": "refctr_NW4b_z1_north" },
+ { "point": [ 4, 1, 1 ], "overmap": "refctr_NW5b_z1_north" },
+ { "point": [ 0, 2, 1 ], "overmap": "refctr_NW1c_z1_north" },
+ { "point": [ 1, 2, 1 ], "overmap": "refctr_NW2c_z1_north" },
+ { "point": [ 2, 2, 1 ], "overmap": "refctr_NW3c_z1_north" },
+ { "point": [ 3, 2, 1 ], "overmap": "refctr_NW4c_z1_north" },
+ { "point": [ 4, 2, 1 ], "overmap": "refctr_NW5c_z1_north" },
+ { "point": [ 0, 3, 1 ], "overmap": "refctr_NW1d_z1_north" },
+ { "point": [ 1, 3, 1 ], "overmap": "refctr_NW2d_z1_north" },
+ { "point": [ 2, 3, 1 ], "overmap": "refctr_NW3d_z1_north" },
+ { "point": [ 3, 3, 1 ], "overmap": "refctr_NW4d_z1_north" },
+ { "point": [ 4, 3, 1 ], "overmap": "refctr_NW5d_z1_north" },
+ { "point": [ 0, 4, 1 ], "overmap": "refctr_NW1e_z1_north" },
+ { "point": [ 1, 4, 1 ], "overmap": "refctr_NW2e_z1_north" },
+ { "point": [ 2, 4, 1 ], "overmap": "refctr_NW3e_z1_north" },
+ { "point": [ 3, 4, 1 ], "overmap": "refctr_NW4e_z1_north" },
+ { "point": [ 4, 4, 1 ], "overmap": "refctr_NW5e_z1_north" },
+ { "point": [ 5, 0, 1 ], "overmap": "refctr_N1a_z1_north" },
+ { "point": [ 6, 0, 1 ], "overmap": "refctr_N2a_z1_north" },
+ { "point": [ 7, 0, 1 ], "overmap": "refctr_N3a_z1_north" },
+ { "point": [ 8, 0, 1 ], "overmap": "refctr_N4a_z1_north" },
+ { "point": [ 9, 0, 1 ], "overmap": "refctr_N5a_z1_north" },
+ { "point": [ 5, 1, 1 ], "overmap": "refctr_N1b_z1_north" },
+ { "point": [ 6, 1, 1 ], "overmap": "refctr_N2b_z1_north" },
+ { "point": [ 7, 1, 1 ], "overmap": "refctr_N3b_z1_north" },
+ { "point": [ 8, 1, 1 ], "overmap": "refctr_N4b_z1_north" },
+ { "point": [ 9, 1, 1 ], "overmap": "refctr_N5b_z1_north" },
+ { "point": [ 5, 2, 1 ], "overmap": "refctr_N1c_z1_north" },
+ { "point": [ 6, 2, 1 ], "overmap": "refctr_N2c_z1_north" },
+ { "point": [ 7, 2, 1 ], "overmap": "refctr_N3c_z1_north" },
+ { "point": [ 8, 2, 1 ], "overmap": "refctr_N4c_z1_north" },
+ { "point": [ 9, 2, 1 ], "overmap": "refctr_N5c_z1_north" },
+ { "point": [ 5, 3, 1 ], "overmap": "refctr_N1d_z1_north" },
+ { "point": [ 6, 3, 1 ], "overmap": "refctr_N2d_z1_north" },
+ { "point": [ 7, 3, 1 ], "overmap": "refctr_N3d_z1_north" },
+ { "point": [ 8, 3, 1 ], "overmap": "refctr_N4d_z1_north" },
+ { "point": [ 9, 3, 1 ], "overmap": "refctr_N5d_z1_north" },
+ { "point": [ 5, 4, 1 ], "overmap": "refctr_N1e_z1_north" },
+ { "point": [ 6, 4, 1 ], "overmap": "refctr_N2e_z1_north" },
+ { "point": [ 7, 4, 1 ], "overmap": "refctr_N3e_z1_north" },
+ { "point": [ 8, 4, 1 ], "overmap": "refctr_N4e_z1_north" },
+ { "point": [ 9, 4, 1 ], "overmap": "refctr_N5e_z1_north" },
+ { "point": [ 10, 0, 1 ], "overmap": "refctr_NE1a_z1_north" },
+ { "point": [ 11, 0, 1 ], "overmap": "refctr_NE2a_z1_north" },
+ { "point": [ 12, 0, 1 ], "overmap": "refctr_NE3a_z1_north" },
+ { "point": [ 13, 0, 1 ], "overmap": "refctr_NE4a_z1_north" },
+ { "point": [ 14, 0, 1 ], "overmap": "refctr_NE5a_z1_north" },
+ { "point": [ 10, 1, 1 ], "overmap": "refctr_NE1b_z1_north" },
+ { "point": [ 11, 1, 1 ], "overmap": "refctr_NE2b_z1_north" },
+ { "point": [ 12, 1, 1 ], "overmap": "refctr_NE3b_z1_north" },
+ { "point": [ 13, 1, 1 ], "overmap": "refctr_NE4b_z1_north" },
+ { "point": [ 14, 1, 1 ], "overmap": "refctr_NE5b_z1_north" },
+ { "point": [ 10, 2, 1 ], "overmap": "refctr_NE1c_z1_north" },
+ { "point": [ 11, 2, 1 ], "overmap": "refctr_NE2c_z1_north" },
+ { "point": [ 12, 2, 1 ], "overmap": "refctr_NE3c_z1_north" },
+ { "point": [ 13, 2, 1 ], "overmap": "refctr_NE4c_z1_north" },
+ { "point": [ 14, 2, 1 ], "overmap": "refctr_NE5c_z1_north" },
+ { "point": [ 10, 3, 1 ], "overmap": "refctr_NE1d_z1_north" },
+ { "point": [ 11, 3, 1 ], "overmap": "refctr_NE2d_z1_north" },
+ { "point": [ 12, 3, 1 ], "overmap": "refctr_NE3d_z1_north" },
+ { "point": [ 13, 3, 1 ], "overmap": "refctr_NE4d_z1_north" },
+ { "point": [ 14, 3, 1 ], "overmap": "refctr_NE5d_z1_north" },
+ { "point": [ 10, 4, 1 ], "overmap": "refctr_NE1e_z1_north" },
+ { "point": [ 11, 4, 1 ], "overmap": "refctr_NE2e_z1_north" },
+ { "point": [ 12, 4, 1 ], "overmap": "refctr_NE3e_z1_north" },
+ { "point": [ 13, 4, 1 ], "overmap": "refctr_NE4e_z1_north" },
+ { "point": [ 14, 4, 1 ], "overmap": "refctr_NE5e_z1_north" },
+ { "point": [ 0, 5, 1 ], "overmap": "refctr_W1a_z1_north" },
+ { "point": [ 1, 5, 1 ], "overmap": "refctr_W2a_z1_north" },
+ { "point": [ 2, 5, 1 ], "overmap": "refctr_W3a_z1_north" },
+ { "point": [ 3, 5, 1 ], "overmap": "refctr_W4a_z1_north" },
+ { "point": [ 4, 5, 1 ], "overmap": "refctr_W5a_z1_north" },
+ { "point": [ 0, 6, 1 ], "overmap": "refctr_W1b_z1_north" },
+ { "point": [ 1, 6, 1 ], "overmap": "refctr_W2b_z1_north" },
+ { "point": [ 2, 6, 1 ], "overmap": "refctr_W3b_z1_north" },
+ { "point": [ 3, 6, 1 ], "overmap": "refctr_W4b_z1_north" },
+ { "point": [ 4, 6, 1 ], "overmap": "refctr_W5b_z1_north" },
+ { "point": [ 0, 7, 1 ], "overmap": "refctr_W1c_z1_north" },
+ { "point": [ 1, 7, 1 ], "overmap": "refctr_W2c_z1_north" },
+ { "point": [ 2, 7, 1 ], "overmap": "refctr_W3c_z1_north" },
+ { "point": [ 3, 7, 1 ], "overmap": "refctr_W4c_z1_north" },
+ { "point": [ 4, 7, 1 ], "overmap": "refctr_W5c_z1_north" },
+ { "point": [ 0, 8, 1 ], "overmap": "refctr_W1d_z1_north" },
+ { "point": [ 1, 8, 1 ], "overmap": "refctr_W2d_z1_north" },
+ { "point": [ 2, 8, 1 ], "overmap": "refctr_W3d_z1_north" },
+ { "point": [ 3, 8, 1 ], "overmap": "refctr_W4d_z1_north" },
+ { "point": [ 4, 8, 1 ], "overmap": "refctr_W5d_z1_north" },
+ { "point": [ 0, 9, 1 ], "overmap": "refctr_W1e_z1_north" },
+ { "point": [ 1, 9, 1 ], "overmap": "refctr_W2e_z1_north" },
+ { "point": [ 2, 9, 1 ], "overmap": "refctr_W3e_z1_north" },
+ { "point": [ 3, 9, 1 ], "overmap": "refctr_W4e_z1_north" },
+ { "point": [ 4, 9, 1 ], "overmap": "refctr_W5e_z1_north" },
+ { "point": [ 5, 5, 1 ], "overmap": "evac_center_1_z1_north" },
+ { "point": [ 6, 5, 1 ], "overmap": "evac_center_2_z1_north" },
+ { "point": [ 7, 5, 1 ], "overmap": "evac_center_3_z1_north" },
+ { "point": [ 8, 5, 1 ], "overmap": "evac_center_4_z1_north" },
+ { "point": [ 9, 5, 1 ], "overmap": "evac_center_5_z1_north" },
+ { "point": [ 5, 6, 1 ], "overmap": "evac_center_6_z1_north" },
+ { "point": [ 6, 6, 1 ], "overmap": "evac_center_7_z1_north" },
+ { "point": [ 7, 6, 1 ], "overmap": "evac_center_8_z1_north" },
+ { "point": [ 8, 6, 1 ], "overmap": "evac_center_9_z1_north" },
+ { "point": [ 9, 6, 1 ], "overmap": "evac_center_10_z1_north" },
+ { "point": [ 5, 7, 1 ], "overmap": "evac_center_11_z1_north" },
+ { "point": [ 6, 7, 1 ], "overmap": "evac_center_12_z1_north" },
+ { "point": [ 7, 7, 1 ], "overmap": "evac_center_13_z1_north" },
+ { "point": [ 8, 7, 1 ], "overmap": "evac_center_14_z1_north" },
+ { "point": [ 9, 7, 1 ], "overmap": "evac_center_15_z1_north" },
+ { "point": [ 5, 8, 1 ], "overmap": "evac_center_16_z1_north" },
+ { "point": [ 6, 8, 1 ], "overmap": "evac_center_17_z1_north" },
+ { "point": [ 7, 8, 1 ], "overmap": "evac_center_18_z1_north" },
+ { "point": [ 8, 8, 1 ], "overmap": "evac_center_19_z1_north" },
+ { "point": [ 9, 8, 1 ], "overmap": "evac_center_20_z1_north" },
+ { "point": [ 5, 9, 1 ], "overmap": "evac_center_21_z1_north" },
+ { "point": [ 6, 9, 1 ], "overmap": "evac_center_22_z1_north" },
+ { "point": [ 7, 9, 1 ], "overmap": "evac_center_23_z1_north" },
+ { "point": [ 8, 9, 1 ], "overmap": "evac_center_24_z1_north" },
+ { "point": [ 9, 9, 1 ], "overmap": "evac_center_25_z1_north" },
+ { "point": [ 10, 5, 1 ], "overmap": "refctr_E1a_z1_north" },
+ { "point": [ 11, 5, 1 ], "overmap": "refctr_E2a_z1_north" },
+ { "point": [ 12, 5, 1 ], "overmap": "refctr_E3a_z1_north" },
+ { "point": [ 13, 5, 1 ], "overmap": "refctr_E4a_z1_north" },
+ { "point": [ 14, 5, 1 ], "overmap": "refctr_E5a_z1_north" },
+ { "point": [ 10, 6, 1 ], "overmap": "refctr_E1b_z1_north" },
+ { "point": [ 11, 6, 1 ], "overmap": "refctr_E2b_z1_north" },
+ { "point": [ 12, 6, 1 ], "overmap": "refctr_E3b_z1_north" },
+ { "point": [ 13, 6, 1 ], "overmap": "refctr_E4b_z1_north" },
+ { "point": [ 14, 6, 1 ], "overmap": "refctr_E5b_z1_north" },
+ { "point": [ 10, 7, 1 ], "overmap": "refctr_E1c_z1_north" },
+ { "point": [ 11, 7, 1 ], "overmap": "refctr_E2c_z1_north" },
+ { "point": [ 12, 7, 1 ], "overmap": "refctr_E3c_z1_north" },
+ { "point": [ 13, 7, 1 ], "overmap": "refctr_E4c_z1_north" },
+ { "point": [ 14, 7, 1 ], "overmap": "refctr_E5c_z1_north" },
+ { "point": [ 10, 8, 1 ], "overmap": "refctr_E1d_z1_north" },
+ { "point": [ 11, 8, 1 ], "overmap": "refctr_E2d_z1_north" },
+ { "point": [ 12, 8, 1 ], "overmap": "refctr_E3d_z1_north" },
+ { "point": [ 13, 8, 1 ], "overmap": "refctr_E4d_z1_north" },
+ { "point": [ 14, 8, 1 ], "overmap": "refctr_E5d_z1_north" },
+ { "point": [ 10, 9, 1 ], "overmap": "refctr_E1e_z1_north" },
+ { "point": [ 11, 9, 1 ], "overmap": "refctr_E2e_z1_north" },
+ { "point": [ 12, 9, 1 ], "overmap": "refctr_E3e_z1_north" },
+ { "point": [ 13, 9, 1 ], "overmap": "refctr_E4e_z1_north" },
+ { "point": [ 14, 9, 1 ], "overmap": "refctr_E5e_z1_north" },
+ { "point": [ 0, 10, 1 ], "overmap": "refctr_SW1a_z1_north" },
+ { "point": [ 1, 10, 1 ], "overmap": "refctr_SW2a_z1_north" },
+ { "point": [ 2, 10, 1 ], "overmap": "refctr_SW3a_z1_north" },
+ { "point": [ 3, 10, 1 ], "overmap": "refctr_SW4a_z1_north" },
+ { "point": [ 4, 10, 1 ], "overmap": "refctr_SW5a_z1_north" },
+ { "point": [ 0, 11, 1 ], "overmap": "refctr_SW1b_z1_north" },
+ { "point": [ 1, 11, 1 ], "overmap": "refctr_SW2b_z1_north" },
+ { "point": [ 2, 11, 1 ], "overmap": "refctr_SW3b_z1_north" },
+ { "point": [ 3, 11, 1 ], "overmap": "refctr_SW4b_z1_north" },
+ { "point": [ 4, 11, 1 ], "overmap": "refctr_SW5b_z1_north" },
+ { "point": [ 0, 12, 1 ], "overmap": "refctr_SW1c_z1_north" },
+ { "point": [ 1, 12, 1 ], "overmap": "refctr_SW2c_z1_north" },
+ { "point": [ 2, 12, 1 ], "overmap": "refctr_SW3c_z1_north" },
+ { "point": [ 3, 12, 1 ], "overmap": "refctr_SW4c_z1_north" },
+ { "point": [ 4, 12, 1 ], "overmap": "refctr_SW5c_z1_north" },
+ { "point": [ 0, 13, 1 ], "overmap": "refctr_SW1d_z1_north" },
+ { "point": [ 1, 13, 1 ], "overmap": "refctr_SW2d_z1_north" },
+ { "point": [ 2, 13, 1 ], "overmap": "refctr_SW3d_z1_north" },
+ { "point": [ 3, 13, 1 ], "overmap": "refctr_SW4d_z1_north" },
+ { "point": [ 4, 13, 1 ], "overmap": "refctr_SW5d_z1_north" },
+ { "point": [ 0, 14, 1 ], "overmap": "refctr_SW1e_z1_north" },
+ { "point": [ 1, 14, 1 ], "overmap": "refctr_SW2e_z1_north" },
+ { "point": [ 2, 14, 1 ], "overmap": "refctr_SW3e_z1_north" },
+ { "point": [ 3, 14, 1 ], "overmap": "refctr_SW4e_z1_north" },
+ { "point": [ 4, 14, 1 ], "overmap": "refctr_SW5e_z1_north" },
+ { "point": [ 5, 10, 1 ], "overmap": "refctr_S1a_z1_north" },
+ { "point": [ 6, 10, 1 ], "overmap": "refctr_S2a_z1_north" },
+ { "point": [ 7, 10, 1 ], "overmap": "refctr_S3a_z1_north" },
+ { "point": [ 8, 10, 1 ], "overmap": "refctr_S4a_z1_north" },
+ { "point": [ 9, 10, 1 ], "overmap": "refctr_S5a_z1_north" },
+ { "point": [ 5, 11, 1 ], "overmap": "refctr_S1b_z1_north" },
+ { "point": [ 6, 11, 1 ], "overmap": "refctr_S2b_z1_north" },
+ { "point": [ 7, 11, 1 ], "overmap": "refctr_S3b_z1_north" },
+ { "point": [ 8, 11, 1 ], "overmap": "refctr_S4b_z1_north" },
+ { "point": [ 9, 11, 1 ], "overmap": "refctr_S5b_z1_north" },
+ { "point": [ 5, 12, 1 ], "overmap": "refctr_S1c_z1_north" },
+ { "point": [ 6, 12, 1 ], "overmap": "refctr_S2c_z1_north" },
+ { "point": [ 7, 12, 1 ], "overmap": "refctr_S3c_z1_north" },
+ { "point": [ 8, 12, 1 ], "overmap": "refctr_S4c_z1_north" },
+ { "point": [ 9, 12, 1 ], "overmap": "refctr_S5c_z1_north" },
+ { "point": [ 5, 13, 1 ], "overmap": "refctr_S1d_z1_north" },
+ { "point": [ 6, 13, 1 ], "overmap": "refctr_S2d_z1_north" },
+ { "point": [ 7, 13, 1 ], "overmap": "refctr_S3d_z1_north" },
+ { "point": [ 8, 13, 1 ], "overmap": "refctr_S4d_z1_north" },
+ { "point": [ 9, 13, 1 ], "overmap": "refctr_S5d_z1_north" },
+ { "point": [ 5, 14, 1 ], "overmap": "refctr_S1e_z1_north" },
+ { "point": [ 6, 14, 1 ], "overmap": "refctr_S2e_z1_north" },
+ { "point": [ 7, 14, 1 ], "overmap": "refctr_S3e_z1_north" },
+ { "point": [ 8, 14, 1 ], "overmap": "refctr_S4e_z1_north" },
+ { "point": [ 9, 14, 1 ], "overmap": "refctr_S5e_z1_north" },
+ { "point": [ 10, 10, 1 ], "overmap": "refctr_SE1a_z1_north" },
+ { "point": [ 11, 10, 1 ], "overmap": "refctr_SE2a_z1_north" },
+ { "point": [ 12, 10, 1 ], "overmap": "refctr_SE3a_z1_north" },
+ { "point": [ 13, 10, 1 ], "overmap": "refctr_SE4a_z1_north" },
+ { "point": [ 14, 10, 1 ], "overmap": "refctr_SE5a_z1_north" },
+ { "point": [ 10, 11, 1 ], "overmap": "refctr_SE1b_z1_north" },
+ { "point": [ 11, 11, 1 ], "overmap": "refctr_SE2b_z1_north" },
+ { "point": [ 12, 11, 1 ], "overmap": "refctr_SE3b_z1_north" },
+ { "point": [ 13, 11, 1 ], "overmap": "refctr_SE4b_z1_north" },
+ { "point": [ 14, 11, 1 ], "overmap": "refctr_SE5b_z1_north" },
+ { "point": [ 10, 12, 1 ], "overmap": "refctr_SE1c_z1_north" },
+ { "point": [ 11, 12, 1 ], "overmap": "refctr_SE2c_z1_north" },
+ { "point": [ 12, 12, 1 ], "overmap": "refctr_SE3c_z1_north" },
+ { "point": [ 13, 12, 1 ], "overmap": "refctr_SE4c_z1_north" },
+ { "point": [ 14, 12, 1 ], "overmap": "refctr_SE5c_z1_north" },
+ { "point": [ 10, 13, 1 ], "overmap": "refctr_SE1d_z1_north" },
+ { "point": [ 11, 13, 1 ], "overmap": "refctr_SE2d_z1_north" },
+ { "point": [ 12, 13, 1 ], "overmap": "refctr_SE3d_z1_north" },
+ { "point": [ 13, 13, 1 ], "overmap": "refctr_SE4d_z1_north" },
+ { "point": [ 14, 13, 1 ], "overmap": "refctr_SE5d_z1_north" },
+ { "point": [ 10, 14, 1 ], "overmap": "refctr_SE1e_z1_north" },
+ { "point": [ 11, 14, 1 ], "overmap": "refctr_SE2e_z1_north" },
+ { "point": [ 12, 14, 1 ], "overmap": "refctr_SE3e_z1_north" },
+ { "point": [ 13, 14, 1 ], "overmap": "refctr_SE4e_z1_north" },
+ { "point": [ 14, 14, 1 ], "overmap": "refctr_SE5e_z1_north" },
+ { "point": [ 0, 0, 2 ], "overmap": "refctr_NW1a_z2_north" },
+ { "point": [ 1, 0, 2 ], "overmap": "refctr_NW2a_z2_north" },
+ { "point": [ 2, 0, 2 ], "overmap": "refctr_NW3a_z2_north" },
+ { "point": [ 3, 0, 2 ], "overmap": "refctr_NW4a_z2_north" },
+ { "point": [ 4, 0, 2 ], "overmap": "refctr_NW5a_z2_north" },
+ { "point": [ 0, 1, 2 ], "overmap": "refctr_NW1b_z2_north" },
+ { "point": [ 1, 1, 2 ], "overmap": "refctr_NW2b_z2_north" },
+ { "point": [ 2, 1, 2 ], "overmap": "refctr_NW3b_z2_north" },
+ { "point": [ 3, 1, 2 ], "overmap": "refctr_NW4b_z2_north" },
+ { "point": [ 4, 1, 2 ], "overmap": "refctr_NW5b_z2_north" },
+ { "point": [ 0, 2, 2 ], "overmap": "refctr_NW1c_z2_north" },
+ { "point": [ 1, 2, 2 ], "overmap": "refctr_NW2c_z2_north" },
+ { "point": [ 2, 2, 2 ], "overmap": "refctr_NW3c_z2_north" },
+ { "point": [ 3, 2, 2 ], "overmap": "refctr_NW4c_z2_north" },
+ { "point": [ 4, 2, 2 ], "overmap": "refctr_NW5c_z2_north" },
+ { "point": [ 0, 3, 2 ], "overmap": "refctr_NW1d_z2_north" },
+ { "point": [ 1, 3, 2 ], "overmap": "refctr_NW2d_z2_north" },
+ { "point": [ 2, 3, 2 ], "overmap": "refctr_NW3d_z2_north" },
+ { "point": [ 3, 3, 2 ], "overmap": "refctr_NW4d_z2_north" },
+ { "point": [ 4, 3, 2 ], "overmap": "refctr_NW5d_z2_north" },
+ { "point": [ 0, 4, 2 ], "overmap": "refctr_NW1e_z2_north" },
+ { "point": [ 1, 4, 2 ], "overmap": "refctr_NW2e_z2_north" },
+ { "point": [ 2, 4, 2 ], "overmap": "refctr_NW3e_z2_north" },
+ { "point": [ 3, 4, 2 ], "overmap": "refctr_NW4e_z2_north" },
+ { "point": [ 4, 4, 2 ], "overmap": "refctr_NW5e_z2_north" },
+ { "point": [ 5, 0, 2 ], "overmap": "refctr_N1a_z2_north" },
+ { "point": [ 6, 0, 2 ], "overmap": "refctr_N2a_z2_north" },
+ { "point": [ 7, 0, 2 ], "overmap": "refctr_N3a_z2_north" },
+ { "point": [ 8, 0, 2 ], "overmap": "refctr_N4a_z2_north" },
+ { "point": [ 9, 0, 2 ], "overmap": "refctr_N5a_z2_north" },
+ { "point": [ 5, 1, 2 ], "overmap": "refctr_N1b_z2_north" },
+ { "point": [ 6, 1, 2 ], "overmap": "refctr_N2b_z2_north" },
+ { "point": [ 7, 1, 2 ], "overmap": "refctr_N3b_z2_north" },
+ { "point": [ 8, 1, 2 ], "overmap": "refctr_N4b_z2_north" },
+ { "point": [ 9, 1, 2 ], "overmap": "refctr_N5b_z2_north" },
+ { "point": [ 5, 2, 2 ], "overmap": "refctr_N1c_z2_north" },
+ { "point": [ 6, 2, 2 ], "overmap": "refctr_N2c_z2_north" },
+ { "point": [ 7, 2, 2 ], "overmap": "refctr_N3c_z2_north" },
+ { "point": [ 8, 2, 2 ], "overmap": "refctr_N4c_z2_north" },
+ { "point": [ 9, 2, 2 ], "overmap": "refctr_N5c_z2_north" },
+ { "point": [ 5, 3, 2 ], "overmap": "refctr_N1d_z2_north" },
+ { "point": [ 6, 3, 2 ], "overmap": "refctr_N2d_z2_north" },
+ { "point": [ 7, 3, 2 ], "overmap": "refctr_N3d_z2_north" },
+ { "point": [ 8, 3, 2 ], "overmap": "refctr_N4d_z2_north" },
+ { "point": [ 9, 3, 2 ], "overmap": "refctr_N5d_z2_north" },
+ { "point": [ 5, 4, 2 ], "overmap": "refctr_N1e_z2_north" },
+ { "point": [ 6, 4, 2 ], "overmap": "refctr_N2e_z2_north" },
+ { "point": [ 7, 4, 2 ], "overmap": "refctr_N3e_z2_north" },
+ { "point": [ 8, 4, 2 ], "overmap": "refctr_N4e_z2_north" },
+ { "point": [ 9, 4, 2 ], "overmap": "refctr_N5e_z2_north" },
+ { "point": [ 10, 0, 2 ], "overmap": "refctr_NE1a_z2_north" },
+ { "point": [ 11, 0, 2 ], "overmap": "refctr_NE2a_z2_north" },
+ { "point": [ 12, 0, 2 ], "overmap": "refctr_NE3a_z2_north" },
+ { "point": [ 13, 0, 2 ], "overmap": "refctr_NE4a_z2_north" },
+ { "point": [ 14, 0, 2 ], "overmap": "refctr_NE5a_z2_north" },
+ { "point": [ 10, 1, 2 ], "overmap": "refctr_NE1b_z2_north" },
+ { "point": [ 11, 1, 2 ], "overmap": "refctr_NE2b_z2_north" },
+ { "point": [ 12, 1, 2 ], "overmap": "refctr_NE3b_z2_north" },
+ { "point": [ 13, 1, 2 ], "overmap": "refctr_NE4b_z2_north" },
+ { "point": [ 14, 1, 2 ], "overmap": "refctr_NE5b_z2_north" },
+ { "point": [ 10, 2, 2 ], "overmap": "refctr_NE1c_z2_north" },
+ { "point": [ 11, 2, 2 ], "overmap": "refctr_NE2c_z2_north" },
+ { "point": [ 12, 2, 2 ], "overmap": "refctr_NE3c_z2_north" },
+ { "point": [ 13, 2, 2 ], "overmap": "refctr_NE4c_z2_north" },
+ { "point": [ 14, 2, 2 ], "overmap": "refctr_NE5c_z2_north" },
+ { "point": [ 10, 3, 2 ], "overmap": "refctr_NE1d_z2_north" },
+ { "point": [ 11, 3, 2 ], "overmap": "refctr_NE2d_z2_north" },
+ { "point": [ 12, 3, 2 ], "overmap": "refctr_NE3d_z2_north" },
+ { "point": [ 13, 3, 2 ], "overmap": "refctr_NE4d_z2_north" },
+ { "point": [ 14, 3, 2 ], "overmap": "refctr_NE5d_z2_north" },
+ { "point": [ 10, 4, 2 ], "overmap": "refctr_NE1e_z2_north" },
+ { "point": [ 11, 4, 2 ], "overmap": "refctr_NE2e_z2_north" },
+ { "point": [ 12, 4, 2 ], "overmap": "refctr_NE3e_z2_north" },
+ { "point": [ 13, 4, 2 ], "overmap": "refctr_NE4e_z2_north" },
+ { "point": [ 14, 4, 2 ], "overmap": "refctr_NE5e_z2_north" },
+ { "point": [ 0, 5, 2 ], "overmap": "refctr_W1a_z2_north" },
+ { "point": [ 1, 5, 2 ], "overmap": "refctr_W2a_z2_north" },
+ { "point": [ 2, 5, 2 ], "overmap": "refctr_W3a_z2_north" },
+ { "point": [ 3, 5, 2 ], "overmap": "refctr_W4a_z2_north" },
+ { "point": [ 4, 5, 2 ], "overmap": "refctr_W5a_z2_north" },
+ { "point": [ 0, 6, 2 ], "overmap": "refctr_W1b_z2_north" },
+ { "point": [ 1, 6, 2 ], "overmap": "refctr_W2b_z2_north" },
+ { "point": [ 2, 6, 2 ], "overmap": "refctr_W3b_z2_north" },
+ { "point": [ 3, 6, 2 ], "overmap": "refctr_W4b_z2_north" },
+ { "point": [ 4, 6, 2 ], "overmap": "refctr_W5b_z2_north" },
+ { "point": [ 0, 7, 2 ], "overmap": "refctr_W1c_z2_north" },
+ { "point": [ 1, 7, 2 ], "overmap": "refctr_W2c_z2_north" },
+ { "point": [ 2, 7, 2 ], "overmap": "refctr_W3c_z2_north" },
+ { "point": [ 3, 7, 2 ], "overmap": "refctr_W4c_z2_north" },
+ { "point": [ 4, 7, 2 ], "overmap": "refctr_W5c_z2_north" },
+ { "point": [ 0, 8, 2 ], "overmap": "refctr_W1d_z2_north" },
+ { "point": [ 1, 8, 2 ], "overmap": "refctr_W2d_z2_north" },
+ { "point": [ 2, 8, 2 ], "overmap": "refctr_W3d_z2_north" },
+ { "point": [ 3, 8, 2 ], "overmap": "refctr_W4d_z2_north" },
+ { "point": [ 4, 8, 2 ], "overmap": "refctr_W5d_z2_north" },
+ { "point": [ 0, 9, 2 ], "overmap": "refctr_W1e_z2_north" },
+ { "point": [ 1, 9, 2 ], "overmap": "refctr_W2e_z2_north" },
+ { "point": [ 2, 9, 2 ], "overmap": "refctr_W3e_z2_north" },
+ { "point": [ 3, 9, 2 ], "overmap": "refctr_W4e_z2_north" },
+ { "point": [ 4, 9, 2 ], "overmap": "refctr_W5e_z2_north" },
+ { "point": [ 5, 5, 2 ], "overmap": "evac_center_1_z2_north" },
+ { "point": [ 6, 5, 2 ], "overmap": "evac_center_2_z2_north" },
+ { "point": [ 7, 5, 2 ], "overmap": "evac_center_3_z2_north" },
+ { "point": [ 8, 5, 2 ], "overmap": "evac_center_4_z2_north" },
+ { "point": [ 9, 5, 2 ], "overmap": "evac_center_5_z2_north" },
+ { "point": [ 5, 6, 2 ], "overmap": "evac_center_6_z2_north" },
+ { "point": [ 6, 6, 2 ], "overmap": "evac_center_7_z2_north" },
+ { "point": [ 7, 6, 2 ], "overmap": "evac_center_8_z2_north" },
+ { "point": [ 8, 6, 2 ], "overmap": "evac_center_9_z2_north" },
+ { "point": [ 9, 6, 2 ], "overmap": "evac_center_10_z2_north" },
+ { "point": [ 5, 7, 2 ], "overmap": "evac_center_11_z2_north" },
+ { "point": [ 6, 7, 2 ], "overmap": "evac_center_12_z2_north" },
+ { "point": [ 7, 7, 2 ], "overmap": "evac_center_13_z2_north" },
+ { "point": [ 8, 7, 2 ], "overmap": "evac_center_14_z2_north" },
+ { "point": [ 9, 7, 2 ], "overmap": "evac_center_15_z2_north" },
+ { "point": [ 5, 8, 2 ], "overmap": "evac_center_16_z2_north" },
+ { "point": [ 6, 8, 2 ], "overmap": "evac_center_17_z2_north" },
+ { "point": [ 7, 8, 2 ], "overmap": "evac_center_18_z2_north" },
+ { "point": [ 8, 8, 2 ], "overmap": "evac_center_19_z2_north" },
+ { "point": [ 9, 8, 2 ], "overmap": "evac_center_20_z2_north" },
+ { "point": [ 5, 9, 2 ], "overmap": "evac_center_21_z2_north" },
+ { "point": [ 6, 9, 2 ], "overmap": "evac_center_22_z2_north" },
+ { "point": [ 7, 9, 2 ], "overmap": "evac_center_23_z2_north" },
+ { "point": [ 8, 9, 2 ], "overmap": "evac_center_24_z2_north" },
+ { "point": [ 9, 9, 2 ], "overmap": "evac_center_25_z2_north" },
+ { "point": [ 10, 5, 2 ], "overmap": "refctr_E1a_z2_north" },
+ { "point": [ 11, 5, 2 ], "overmap": "refctr_E2a_z2_north" },
+ { "point": [ 12, 5, 2 ], "overmap": "refctr_E3a_z2_north" },
+ { "point": [ 13, 5, 2 ], "overmap": "refctr_E4a_z2_north" },
+ { "point": [ 14, 5, 2 ], "overmap": "refctr_E5a_z2_north" },
+ { "point": [ 10, 6, 2 ], "overmap": "refctr_E1b_z2_north" },
+ { "point": [ 11, 6, 2 ], "overmap": "refctr_E2b_z2_north" },
+ { "point": [ 12, 6, 2 ], "overmap": "refctr_E3b_z2_north" },
+ { "point": [ 13, 6, 2 ], "overmap": "refctr_E4b_z2_north" },
+ { "point": [ 14, 6, 2 ], "overmap": "refctr_E5b_z2_north" },
+ { "point": [ 10, 7, 2 ], "overmap": "refctr_E1c_z2_north" },
+ { "point": [ 11, 7, 2 ], "overmap": "refctr_E2c_z2_north" },
+ { "point": [ 12, 7, 2 ], "overmap": "refctr_E3c_z2_north" },
+ { "point": [ 13, 7, 2 ], "overmap": "refctr_E4c_z2_north" },
+ { "point": [ 14, 7, 2 ], "overmap": "refctr_E5c_z2_north" },
+ { "point": [ 10, 8, 2 ], "overmap": "refctr_E1d_z2_north" },
+ { "point": [ 11, 8, 2 ], "overmap": "refctr_E2d_z2_north" },
+ { "point": [ 12, 8, 2 ], "overmap": "refctr_E3d_z2_north" },
+ { "point": [ 13, 8, 2 ], "overmap": "refctr_E4d_z2_north" },
+ { "point": [ 14, 8, 2 ], "overmap": "refctr_E5d_z2_north" },
+ { "point": [ 10, 9, 2 ], "overmap": "refctr_E1e_z2_north" },
+ { "point": [ 11, 9, 2 ], "overmap": "refctr_E2e_z2_north" },
+ { "point": [ 12, 9, 2 ], "overmap": "refctr_E3e_z2_north" },
+ { "point": [ 13, 9, 2 ], "overmap": "refctr_E4e_z2_north" },
+ { "point": [ 14, 9, 2 ], "overmap": "refctr_E5e_z2_north" },
+ { "point": [ 0, 10, 2 ], "overmap": "refctr_SW1a_z2_north" },
+ { "point": [ 1, 10, 2 ], "overmap": "refctr_SW2a_z2_north" },
+ { "point": [ 2, 10, 2 ], "overmap": "refctr_SW3a_z2_north" },
+ { "point": [ 3, 10, 2 ], "overmap": "refctr_SW4a_z2_north" },
+ { "point": [ 4, 10, 2 ], "overmap": "refctr_SW5a_z2_north" },
+ { "point": [ 0, 11, 2 ], "overmap": "refctr_SW1b_z2_north" },
+ { "point": [ 1, 11, 2 ], "overmap": "refctr_SW2b_z2_north" },
+ { "point": [ 2, 11, 2 ], "overmap": "refctr_SW3b_z2_north" },
+ { "point": [ 3, 11, 2 ], "overmap": "refctr_SW4b_z2_north" },
+ { "point": [ 4, 11, 2 ], "overmap": "refctr_SW5b_z2_north" },
+ { "point": [ 0, 12, 2 ], "overmap": "refctr_SW1c_z2_north" },
+ { "point": [ 1, 12, 2 ], "overmap": "refctr_SW2c_z2_north" },
+ { "point": [ 2, 12, 2 ], "overmap": "refctr_SW3c_z2_north" },
+ { "point": [ 3, 12, 2 ], "overmap": "refctr_SW4c_z2_north" },
+ { "point": [ 4, 12, 2 ], "overmap": "refctr_SW5c_z2_north" },
+ { "point": [ 0, 13, 2 ], "overmap": "refctr_SW1d_z2_north" },
+ { "point": [ 1, 13, 2 ], "overmap": "refctr_SW2d_z2_north" },
+ { "point": [ 2, 13, 2 ], "overmap": "refctr_SW3d_z2_north" },
+ { "point": [ 3, 13, 2 ], "overmap": "refctr_SW4d_z2_north" },
+ { "point": [ 4, 13, 2 ], "overmap": "refctr_SW5d_z2_north" },
+ { "point": [ 0, 14, 2 ], "overmap": "refctr_SW1e_z2_north" },
+ { "point": [ 1, 14, 2 ], "overmap": "refctr_SW2e_z2_north" },
+ { "point": [ 2, 14, 2 ], "overmap": "refctr_SW3e_z2_north" },
+ { "point": [ 3, 14, 2 ], "overmap": "refctr_SW4e_z2_north" },
+ { "point": [ 4, 14, 2 ], "overmap": "refctr_SW5e_z2_north" },
+ { "point": [ 5, 10, 2 ], "overmap": "refctr_S1a_z2_north" },
+ { "point": [ 6, 10, 2 ], "overmap": "refctr_S2a_z2_north" },
+ { "point": [ 7, 10, 2 ], "overmap": "refctr_S3a_z2_north" },
+ { "point": [ 8, 10, 2 ], "overmap": "refctr_S4a_z2_north" },
+ { "point": [ 9, 10, 2 ], "overmap": "refctr_S5a_z2_north" },
+ { "point": [ 5, 11, 2 ], "overmap": "refctr_S1b_z2_north" },
+ { "point": [ 6, 11, 2 ], "overmap": "refctr_S2b_z2_north" },
+ { "point": [ 7, 11, 2 ], "overmap": "refctr_S3b_z2_north" },
+ { "point": [ 8, 11, 2 ], "overmap": "refctr_S4b_z2_north" },
+ { "point": [ 9, 11, 2 ], "overmap": "refctr_S5b_z2_north" },
+ { "point": [ 5, 12, 2 ], "overmap": "refctr_S1c_z2_north" },
+ { "point": [ 6, 12, 2 ], "overmap": "refctr_S2c_z2_north" },
+ { "point": [ 7, 12, 2 ], "overmap": "refctr_S3c_z2_north" },
+ { "point": [ 8, 12, 2 ], "overmap": "refctr_S4c_z2_north" },
+ { "point": [ 9, 12, 2 ], "overmap": "refctr_S5c_z2_north" },
+ { "point": [ 5, 13, 2 ], "overmap": "refctr_S1d_z2_north" },
+ { "point": [ 6, 13, 2 ], "overmap": "refctr_S2d_z2_north" },
+ { "point": [ 7, 13, 2 ], "overmap": "refctr_S3d_z2_north" },
+ { "point": [ 8, 13, 2 ], "overmap": "refctr_S4d_z2_north" },
+ { "point": [ 9, 13, 2 ], "overmap": "refctr_S5d_z2_north" },
+ { "point": [ 5, 14, 2 ], "overmap": "refctr_S1e_z2_north" },
+ { "point": [ 6, 14, 2 ], "overmap": "refctr_S2e_z2_north" },
+ { "point": [ 7, 14, 2 ], "overmap": "refctr_S3e_z2_north" },
+ { "point": [ 8, 14, 2 ], "overmap": "refctr_S4e_z2_north" },
+ { "point": [ 9, 14, 2 ], "overmap": "refctr_S5e_z2_north" },
+ { "point": [ 10, 10, 2 ], "overmap": "refctr_SE1a_z2_north" },
+ { "point": [ 11, 10, 2 ], "overmap": "refctr_SE2a_z2_north" },
+ { "point": [ 12, 10, 2 ], "overmap": "refctr_SE3a_z2_north" },
+ { "point": [ 13, 10, 2 ], "overmap": "refctr_SE4a_z2_north" },
+ { "point": [ 14, 10, 2 ], "overmap": "refctr_SE5a_z2_north" },
+ { "point": [ 10, 11, 2 ], "overmap": "refctr_SE1b_z2_north" },
+ { "point": [ 11, 11, 2 ], "overmap": "refctr_SE2b_z2_north" },
+ { "point": [ 12, 11, 2 ], "overmap": "refctr_SE3b_z2_north" },
+ { "point": [ 13, 11, 2 ], "overmap": "refctr_SE4b_z2_north" },
+ { "point": [ 14, 11, 2 ], "overmap": "refctr_SE5b_z2_north" },
+ { "point": [ 10, 12, 2 ], "overmap": "refctr_SE1c_z2_north" },
+ { "point": [ 11, 12, 2 ], "overmap": "refctr_SE2c_z2_north" },
+ { "point": [ 12, 12, 2 ], "overmap": "refctr_SE3c_z2_north" },
+ { "point": [ 13, 12, 2 ], "overmap": "refctr_SE4c_z2_north" },
+ { "point": [ 14, 12, 2 ], "overmap": "refctr_SE5c_z2_north" },
+ { "point": [ 10, 13, 2 ], "overmap": "refctr_SE1d_z2_north" },
+ { "point": [ 11, 13, 2 ], "overmap": "refctr_SE2d_z2_north" },
+ { "point": [ 12, 13, 2 ], "overmap": "refctr_SE3d_z2_north" },
+ { "point": [ 13, 13, 2 ], "overmap": "refctr_SE4d_z2_north" },
+ { "point": [ 14, 13, 2 ], "overmap": "refctr_SE5d_z2_north" },
+ { "point": [ 10, 14, 2 ], "overmap": "refctr_SE1e_z2_north" },
+ { "point": [ 11, 14, 2 ], "overmap": "refctr_SE2e_z2_north" },
+ { "point": [ 12, 14, 2 ], "overmap": "refctr_SE3e_z2_north" },
+ { "point": [ 13, 14, 2 ], "overmap": "refctr_SE4e_z2_north" },
+ { "point": [ 14, 14, 2 ], "overmap": "refctr_SE5e_z2_north" },
+ { "point": [ 0, 0, -1 ], "overmap": "refctr_NW1a_z-1_north" },
+ { "point": [ 1, 0, -1 ], "overmap": "refctr_NW2a_z-1_north" },
+ { "point": [ 2, 0, -1 ], "overmap": "refctr_NW3a_z-1_north" },
+ { "point": [ 3, 0, -1 ], "overmap": "refctr_NW4a_z-1_north" },
+ { "point": [ 4, 0, -1 ], "overmap": "refctr_NW5a_z-1_north" },
+ { "point": [ 0, 1, -1 ], "overmap": "refctr_NW1b_z-1_north" },
+ { "point": [ 1, 1, -1 ], "overmap": "refctr_NW2b_z-1_north" },
+ { "point": [ 2, 1, -1 ], "overmap": "refctr_NW3b_z-1_north" },
+ { "point": [ 3, 1, -1 ], "overmap": "refctr_NW4b_z-1_north" },
+ { "point": [ 4, 1, -1 ], "overmap": "refctr_NW5b_z-1_north" },
+ { "point": [ 0, 2, -1 ], "overmap": "refctr_NW1c_z-1_north" },
+ { "point": [ 1, 2, -1 ], "overmap": "refctr_NW2c_z-1_north" },
+ { "point": [ 2, 2, -1 ], "overmap": "refctr_NW3c_z-1_north" },
+ { "point": [ 3, 2, -1 ], "overmap": "refctr_NW4c_z-1_north" },
+ { "point": [ 4, 2, -1 ], "overmap": "refctr_NW5c_z-1_north" },
+ { "point": [ 0, 3, -1 ], "overmap": "refctr_NW1d_z-1_north" },
+ { "point": [ 1, 3, -1 ], "overmap": "refctr_NW2d_z-1_north" },
+ { "point": [ 2, 3, -1 ], "overmap": "refctr_NW3d_z-1_north" },
+ { "point": [ 3, 3, -1 ], "overmap": "refctr_NW4d_z-1_north" },
+ { "point": [ 4, 3, -1 ], "overmap": "refctr_NW5d_z-1_north" },
+ { "point": [ 0, 4, -1 ], "overmap": "refctr_NW1e_z-1_north" },
+ { "point": [ 1, 4, -1 ], "overmap": "refctr_NW2e_z-1_north" },
+ { "point": [ 2, 4, -1 ], "overmap": "refctr_NW3e_z-1_north" },
+ { "point": [ 3, 4, -1 ], "overmap": "refctr_NW4e_z-1_north" },
+ { "point": [ 4, 4, -1 ], "overmap": "refctr_NW5e_z-1_north" },
+ { "point": [ 5, 0, -1 ], "overmap": "refctr_N1a_z-1_north" },
+ { "point": [ 6, 0, -1 ], "overmap": "refctr_N2a_z-1_north" },
+ { "point": [ 7, 0, -1 ], "overmap": "refctr_N3a_z-1_north" },
+ { "point": [ 8, 0, -1 ], "overmap": "refctr_N4a_z-1_north" },
+ { "point": [ 9, 0, -1 ], "overmap": "refctr_N5a_z-1_north" },
+ { "point": [ 5, 1, -1 ], "overmap": "refctr_N1b_z-1_north" },
+ { "point": [ 6, 1, -1 ], "overmap": "refctr_N2b_z-1_north" },
+ { "point": [ 7, 1, -1 ], "overmap": "refctr_N3b_z-1_north" },
+ { "point": [ 8, 1, -1 ], "overmap": "refctr_N4b_z-1_north" },
+ { "point": [ 9, 1, -1 ], "overmap": "refctr_N5b_z-1_north" },
+ { "point": [ 5, 2, -1 ], "overmap": "refctr_N1c_z-1_north" },
+ { "point": [ 6, 2, -1 ], "overmap": "refctr_N2c_z-1_north" },
+ { "point": [ 7, 2, -1 ], "overmap": "refctr_N3c_z-1_north" },
+ { "point": [ 8, 2, -1 ], "overmap": "refctr_N4c_z-1_north" },
+ { "point": [ 9, 2, -1 ], "overmap": "refctr_N5c_z-1_north" },
+ { "point": [ 5, 3, -1 ], "overmap": "refctr_N1d_z-1_north" },
+ { "point": [ 6, 3, -1 ], "overmap": "refctr_N2d_z-1_north" },
+ { "point": [ 7, 3, -1 ], "overmap": "refctr_N3d_z-1_north" },
+ { "point": [ 8, 3, -1 ], "overmap": "refctr_N4d_z-1_north" },
+ { "point": [ 9, 3, -1 ], "overmap": "refctr_N5d_z-1_north" },
+ { "point": [ 5, 4, -1 ], "overmap": "refctr_N1e_z-1_north" },
+ { "point": [ 6, 4, -1 ], "overmap": "refctr_N2e_z-1_north" },
+ { "point": [ 7, 4, -1 ], "overmap": "refctr_N3e_z-1_north" },
+ { "point": [ 8, 4, -1 ], "overmap": "refctr_N4e_z-1_north" },
+ { "point": [ 9, 4, -1 ], "overmap": "refctr_N5e_z-1_north" },
+ { "point": [ 10, 0, -1 ], "overmap": "refctr_NE1a_z-1_north" },
+ { "point": [ 11, 0, -1 ], "overmap": "refctr_NE2a_z-1_north" },
+ { "point": [ 12, 0, -1 ], "overmap": "refctr_NE3a_z-1_north" },
+ { "point": [ 13, 0, -1 ], "overmap": "refctr_NE4a_z-1_north" },
+ { "point": [ 14, 0, -1 ], "overmap": "refctr_NE5a_z-1_north" },
+ { "point": [ 10, 1, -1 ], "overmap": "refctr_NE1b_z-1_north" },
+ { "point": [ 11, 1, -1 ], "overmap": "refctr_NE2b_z-1_north" },
+ { "point": [ 12, 1, -1 ], "overmap": "refctr_NE3b_z-1_north" },
+ { "point": [ 13, 1, -1 ], "overmap": "refctr_NE4b_z-1_north" },
+ { "point": [ 14, 1, -1 ], "overmap": "refctr_NE5b_z-1_north" },
+ { "point": [ 10, 2, -1 ], "overmap": "refctr_NE1c_z-1_north" },
+ { "point": [ 11, 2, -1 ], "overmap": "refctr_NE2c_z-1_north" },
+ { "point": [ 12, 2, -1 ], "overmap": "refctr_NE3c_z-1_north" },
+ { "point": [ 13, 2, -1 ], "overmap": "refctr_NE4c_z-1_north" },
+ { "point": [ 14, 2, -1 ], "overmap": "refctr_NE5c_z-1_north" },
+ { "point": [ 10, 3, -1 ], "overmap": "refctr_NE1d_z-1_north" },
+ { "point": [ 11, 3, -1 ], "overmap": "refctr_NE2d_z-1_north" },
+ { "point": [ 12, 3, -1 ], "overmap": "refctr_NE3d_z-1_north" },
+ { "point": [ 13, 3, -1 ], "overmap": "refctr_NE4d_z-1_north" },
+ { "point": [ 14, 3, -1 ], "overmap": "refctr_NE5d_z-1_north" },
+ { "point": [ 10, 4, -1 ], "overmap": "refctr_NE1e_z-1_north" },
+ { "point": [ 11, 4, -1 ], "overmap": "refctr_NE2e_z-1_north" },
+ { "point": [ 12, 4, -1 ], "overmap": "refctr_NE3e_z-1_north" },
+ { "point": [ 13, 4, -1 ], "overmap": "refctr_NE4e_z-1_north" },
+ { "point": [ 14, 4, -1 ], "overmap": "refctr_NE5e_z-1_north" },
+ { "point": [ 0, 5, -1 ], "overmap": "refctr_W1a_z-1_north" },
+ { "point": [ 1, 5, -1 ], "overmap": "refctr_W2a_z-1_north" },
+ { "point": [ 2, 5, -1 ], "overmap": "refctr_W3a_z-1_north" },
+ { "point": [ 3, 5, -1 ], "overmap": "refctr_W4a_z-1_north" },
+ { "point": [ 4, 5, -1 ], "overmap": "refctr_W5a_z-1_north" },
+ { "point": [ 0, 6, -1 ], "overmap": "refctr_W1b_z-1_north" },
+ { "point": [ 1, 6, -1 ], "overmap": "refctr_W2b_z-1_north" },
+ { "point": [ 2, 6, -1 ], "overmap": "refctr_W3b_z-1_north" },
+ { "point": [ 3, 6, -1 ], "overmap": "refctr_W4b_z-1_north" },
+ { "point": [ 4, 6, -1 ], "overmap": "refctr_W5b_z-1_north" },
+ { "point": [ 0, 7, -1 ], "overmap": "refctr_W1c_z-1_north" },
+ { "point": [ 1, 7, -1 ], "overmap": "refctr_W2c_z-1_north" },
+ { "point": [ 2, 7, -1 ], "overmap": "refctr_W3c_z-1_north" },
+ { "point": [ 3, 7, -1 ], "overmap": "refctr_W4c_z-1_north" },
+ { "point": [ 4, 7, -1 ], "overmap": "refctr_W5c_z-1_north" },
+ { "point": [ 0, 8, -1 ], "overmap": "refctr_W1d_z-1_north" },
+ { "point": [ 1, 8, -1 ], "overmap": "refctr_W2d_z-1_north" },
+ { "point": [ 2, 8, -1 ], "overmap": "refctr_W3d_z-1_north" },
+ { "point": [ 3, 8, -1 ], "overmap": "refctr_W4d_z-1_north" },
+ { "point": [ 4, 8, -1 ], "overmap": "refctr_W5d_z-1_north" },
+ { "point": [ 0, 9, -1 ], "overmap": "refctr_W1e_z-1_north" },
+ { "point": [ 1, 9, -1 ], "overmap": "refctr_W2e_z-1_north" },
+ { "point": [ 2, 9, -1 ], "overmap": "refctr_W3e_z-1_north" },
+ { "point": [ 3, 9, -1 ], "overmap": "refctr_W4e_z-1_north" },
+ { "point": [ 4, 9, -1 ], "overmap": "refctr_W5e_z-1_north" },
+ { "point": [ 5, 5, -1 ], "overmap": "evac_center_1_z-1_north" },
+ { "point": [ 6, 5, -1 ], "overmap": "evac_center_2_z-1_north" },
+ { "point": [ 7, 5, -1 ], "overmap": "evac_center_3_z-1_north" },
+ { "point": [ 8, 5, -1 ], "overmap": "evac_center_4_z-1_north" },
+ { "point": [ 9, 5, -1 ], "overmap": "evac_center_5_z-1_north" },
+ { "point": [ 5, 6, -1 ], "overmap": "evac_center_6_z-1_north" },
+ { "point": [ 6, 6, -1 ], "overmap": "evac_center_7_z-1_north" },
+ { "point": [ 7, 6, -1 ], "overmap": "evac_center_8_z-1_north" },
+ { "point": [ 8, 6, -1 ], "overmap": "evac_center_9_z-1_north" },
+ { "point": [ 9, 6, -1 ], "overmap": "evac_center_10_z-1_north" },
+ { "point": [ 5, 7, -1 ], "overmap": "evac_center_11_z-1_north" },
+ { "point": [ 6, 7, -1 ], "overmap": "evac_center_12_z-1_north" },
+ { "point": [ 7, 7, -1 ], "overmap": "evac_center_13_z-1_north" },
+ { "point": [ 8, 7, -1 ], "overmap": "evac_center_14_z-1_north" },
+ { "point": [ 9, 7, -1 ], "overmap": "evac_center_15_z-1_north" },
+ { "point": [ 5, 8, -1 ], "overmap": "evac_center_16_z-1_north" },
+ { "point": [ 6, 8, -1 ], "overmap": "evac_center_17_z-1_north" },
+ { "point": [ 7, 8, -1 ], "overmap": "evac_center_18_z-1_north" },
+ { "point": [ 8, 8, -1 ], "overmap": "evac_center_19_z-1_north" },
+ { "point": [ 9, 8, -1 ], "overmap": "evac_center_20_z-1_north" },
+ { "point": [ 5, 9, -1 ], "overmap": "evac_center_21_z-1_north" },
+ { "point": [ 6, 9, -1 ], "overmap": "evac_center_22_z-1_north" },
+ { "point": [ 7, 9, -1 ], "overmap": "evac_center_23_z-1_north" },
+ { "point": [ 8, 9, -1 ], "overmap": "evac_center_24_z-1_north" },
+ { "point": [ 9, 9, -1 ], "overmap": "evac_center_25_z-1_north" },
+ { "point": [ 10, 5, -1 ], "overmap": "refctr_E1a_z-1_north" },
+ { "point": [ 11, 5, -1 ], "overmap": "refctr_E2a_z-1_north" },
+ { "point": [ 12, 5, -1 ], "overmap": "refctr_E3a_z-1_north" },
+ { "point": [ 13, 5, -1 ], "overmap": "refctr_E4a_z-1_north" },
+ { "point": [ 14, 5, -1 ], "overmap": "refctr_E5a_z-1_north" },
+ { "point": [ 10, 6, -1 ], "overmap": "refctr_E1b_z-1_north" },
+ { "point": [ 11, 6, -1 ], "overmap": "refctr_E2b_z-1_north" },
+ { "point": [ 12, 6, -1 ], "overmap": "refctr_E3b_z-1_north" },
+ { "point": [ 13, 6, -1 ], "overmap": "refctr_E4b_z-1_north" },
+ { "point": [ 14, 6, -1 ], "overmap": "refctr_E5b_z-1_north" },
+ { "point": [ 10, 7, -1 ], "overmap": "refctr_E1c_z-1_north" },
+ { "point": [ 11, 7, -1 ], "overmap": "refctr_E2c_z-1_north" },
+ { "point": [ 12, 7, -1 ], "overmap": "refctr_E3c_z-1_north" },
+ { "point": [ 13, 7, -1 ], "overmap": "refctr_E4c_z-1_north" },
+ { "point": [ 14, 7, -1 ], "overmap": "refctr_E5c_z-1_north" },
+ { "point": [ 10, 8, -1 ], "overmap": "refctr_E1d_z-1_north" },
+ { "point": [ 11, 8, -1 ], "overmap": "refctr_E2d_z-1_north" },
+ { "point": [ 12, 8, -1 ], "overmap": "refctr_E3d_z-1_north" },
+ { "point": [ 13, 8, -1 ], "overmap": "refctr_E4d_z-1_north" },
+ { "point": [ 14, 8, -1 ], "overmap": "refctr_E5d_z-1_north" },
+ { "point": [ 10, 9, -1 ], "overmap": "refctr_E1e_z-1_north" },
+ { "point": [ 11, 9, -1 ], "overmap": "refctr_E2e_z-1_north" },
+ { "point": [ 12, 9, -1 ], "overmap": "refctr_E3e_z-1_north" },
+ { "point": [ 13, 9, -1 ], "overmap": "refctr_E4e_z-1_north" },
+ { "point": [ 14, 9, -1 ], "overmap": "refctr_E5e_z-1_north" },
+ { "point": [ 0, 10, -1 ], "overmap": "refctr_SW1a_z-1_north" },
+ { "point": [ 1, 10, -1 ], "overmap": "refctr_SW2a_z-1_north" },
+ { "point": [ 2, 10, -1 ], "overmap": "refctr_SW3a_z-1_north" },
+ { "point": [ 3, 10, -1 ], "overmap": "refctr_SW4a_z-1_north" },
+ { "point": [ 4, 10, -1 ], "overmap": "refctr_SW5a_z-1_north" },
+ { "point": [ 0, 11, -1 ], "overmap": "refctr_SW1b_z-1_north" },
+ { "point": [ 1, 11, -1 ], "overmap": "refctr_SW2b_z-1_north" },
+ { "point": [ 2, 11, -1 ], "overmap": "refctr_SW3b_z-1_north" },
+ { "point": [ 3, 11, -1 ], "overmap": "refctr_SW4b_z-1_north" },
+ { "point": [ 4, 11, -1 ], "overmap": "refctr_SW5b_z-1_north" },
+ { "point": [ 0, 12, -1 ], "overmap": "refctr_SW1c_z-1_north" },
+ { "point": [ 1, 12, -1 ], "overmap": "refctr_SW2c_z-1_north" },
+ { "point": [ 2, 12, -1 ], "overmap": "refctr_SW3c_z-1_north" },
+ { "point": [ 3, 12, -1 ], "overmap": "refctr_SW4c_z-1_north" },
+ { "point": [ 4, 12, -1 ], "overmap": "refctr_SW5c_z-1_north" },
+ { "point": [ 0, 13, -1 ], "overmap": "refctr_SW1d_z-1_north" },
+ { "point": [ 1, 13, -1 ], "overmap": "refctr_SW2d_z-1_north" },
+ { "point": [ 2, 13, -1 ], "overmap": "refctr_SW3d_z-1_north" },
+ { "point": [ 3, 13, -1 ], "overmap": "refctr_SW4d_z-1_north" },
+ { "point": [ 4, 13, -1 ], "overmap": "refctr_SW5d_z-1_north" },
+ { "point": [ 0, 14, -1 ], "overmap": "refctr_SW1e_z-1_north" },
+ { "point": [ 1, 14, -1 ], "overmap": "refctr_SW2e_z-1_north" },
+ { "point": [ 2, 14, -1 ], "overmap": "refctr_SW3e_z-1_north" },
+ { "point": [ 3, 14, -1 ], "overmap": "refctr_SW4e_z-1_north" },
+ { "point": [ 4, 14, -1 ], "overmap": "refctr_SW5e_z-1_north" },
+ { "point": [ 5, 10, -1 ], "overmap": "refctr_S1a_z-1_north" },
+ { "point": [ 6, 10, -1 ], "overmap": "refctr_S2a_z-1_north" },
+ { "point": [ 7, 10, -1 ], "overmap": "refctr_S3a_z-1_north" },
+ { "point": [ 8, 10, -1 ], "overmap": "refctr_S4a_z-1_north" },
+ { "point": [ 9, 10, -1 ], "overmap": "refctr_S5a_z-1_north" },
+ { "point": [ 5, 11, -1 ], "overmap": "refctr_S1b_z-1_north" },
+ { "point": [ 6, 11, -1 ], "overmap": "refctr_S2b_z-1_north" },
+ { "point": [ 7, 11, -1 ], "overmap": "refctr_S3b_z-1_north" },
+ { "point": [ 8, 11, -1 ], "overmap": "refctr_S4b_z-1_north" },
+ { "point": [ 9, 11, -1 ], "overmap": "refctr_S5b_z-1_north" },
+ { "point": [ 5, 12, -1 ], "overmap": "refctr_S1c_z-1_north" },
+ { "point": [ 6, 12, -1 ], "overmap": "refctr_S2c_z-1_north" },
+ { "point": [ 7, 12, -1 ], "overmap": "refctr_S3c_z-1_north" },
+ { "point": [ 8, 12, -1 ], "overmap": "refctr_S4c_z-1_north" },
+ { "point": [ 9, 12, -1 ], "overmap": "refctr_S5c_z-1_north" },
+ { "point": [ 5, 13, -1 ], "overmap": "refctr_S1d_z-1_north" },
+ { "point": [ 6, 13, -1 ], "overmap": "refctr_S2d_z-1_north" },
+ { "point": [ 7, 13, -1 ], "overmap": "refctr_S3d_z-1_north" },
+ { "point": [ 8, 13, -1 ], "overmap": "refctr_S4d_z-1_north" },
+ { "point": [ 9, 13, -1 ], "overmap": "refctr_S5d_z-1_north" },
+ { "point": [ 5, 14, -1 ], "overmap": "refctr_S1e_z-1_north" },
+ { "point": [ 6, 14, -1 ], "overmap": "refctr_S2e_z-1_north" },
+ { "point": [ 7, 14, -1 ], "overmap": "refctr_S3e_z-1_north" },
+ { "point": [ 8, 14, -1 ], "overmap": "refctr_S4e_z-1_north" },
+ { "point": [ 9, 14, -1 ], "overmap": "refctr_S5e_z-1_north" },
+ { "point": [ 10, 10, -1 ], "overmap": "refctr_SE1a_z-1_north" },
+ { "point": [ 11, 10, -1 ], "overmap": "refctr_SE2a_z-1_north" },
+ { "point": [ 12, 10, -1 ], "overmap": "refctr_SE3a_z-1_north" },
+ { "point": [ 13, 10, -1 ], "overmap": "refctr_SE4a_z-1_north" },
+ { "point": [ 14, 10, -1 ], "overmap": "refctr_SE5a_z-1_north" },
+ { "point": [ 10, 11, -1 ], "overmap": "refctr_SE1b_z-1_north" },
+ { "point": [ 11, 11, -1 ], "overmap": "refctr_SE2b_z-1_north" },
+ { "point": [ 12, 11, -1 ], "overmap": "refctr_SE3b_z-1_north" },
+ { "point": [ 13, 11, -1 ], "overmap": "refctr_SE4b_z-1_north" },
+ { "point": [ 14, 11, -1 ], "overmap": "refctr_SE5b_z-1_north" },
+ { "point": [ 10, 12, -1 ], "overmap": "refctr_SE1c_z-1_north" },
+ { "point": [ 11, 12, -1 ], "overmap": "refctr_SE2c_z-1_north" },
+ { "point": [ 12, 12, -1 ], "overmap": "refctr_SE3c_z-1_north" },
+ { "point": [ 13, 12, -1 ], "overmap": "refctr_SE4c_z-1_north" },
+ { "point": [ 14, 12, -1 ], "overmap": "refctr_SE5c_z-1_north" },
+ { "point": [ 10, 13, -1 ], "overmap": "refctr_SE1d_z-1_north" },
+ { "point": [ 11, 13, -1 ], "overmap": "refctr_SE2d_z-1_north" },
+ { "point": [ 12, 13, -1 ], "overmap": "refctr_SE3d_z-1_north" },
+ { "point": [ 13, 13, -1 ], "overmap": "refctr_SE4d_z-1_north" },
+ { "point": [ 14, 13, -1 ], "overmap": "refctr_SE5d_z-1_north" },
+ { "point": [ 10, 14, -1 ], "overmap": "refctr_SE1e_z-1_north" },
+ { "point": [ 11, 14, -1 ], "overmap": "refctr_SE2e_z-1_north" },
+ { "point": [ 12, 14, -1 ], "overmap": "refctr_SE3e_z-1_north" },
+ { "point": [ 13, 14, -1 ], "overmap": "refctr_SE4e_z-1_north" },
+ { "point": [ 14, 14, -1 ], "overmap": "refctr_SE5e_z-1_north" },
+ { "point": [ 0, 0, -2 ], "overmap": "refctr_NW1a_z-2_north" },
+ { "point": [ 1, 0, -2 ], "overmap": "refctr_NW2a_z-2_north" },
+ { "point": [ 2, 0, -2 ], "overmap": "refctr_NW3a_z-2_north" },
+ { "point": [ 3, 0, -2 ], "overmap": "refctr_NW4a_z-2_north" },
+ { "point": [ 4, 0, -2 ], "overmap": "refctr_NW5a_z-2_north" },
+ { "point": [ 0, 1, -2 ], "overmap": "refctr_NW1b_z-2_north" },
+ { "point": [ 1, 1, -2 ], "overmap": "refctr_NW2b_z-2_north" },
+ { "point": [ 2, 1, -2 ], "overmap": "refctr_NW3b_z-2_north" },
+ { "point": [ 3, 1, -2 ], "overmap": "refctr_NW4b_z-2_north" },
+ { "point": [ 4, 1, -2 ], "overmap": "refctr_NW5b_z-2_north" },
+ { "point": [ 0, 2, -2 ], "overmap": "refctr_NW1c_z-2_north" },
+ { "point": [ 1, 2, -2 ], "overmap": "refctr_NW2c_z-2_north" },
+ { "point": [ 2, 2, -2 ], "overmap": "refctr_NW3c_z-2_north" },
+ { "point": [ 3, 2, -2 ], "overmap": "refctr_NW4c_z-2_north" },
+ { "point": [ 4, 2, -2 ], "overmap": "refctr_NW5c_z-2_north" },
+ { "point": [ 0, 3, -2 ], "overmap": "refctr_NW1d_z-2_north" },
+ { "point": [ 1, 3, -2 ], "overmap": "refctr_NW2d_z-2_north" },
+ { "point": [ 2, 3, -2 ], "overmap": "refctr_NW3d_z-2_north" },
+ { "point": [ 3, 3, -2 ], "overmap": "refctr_NW4d_z-2_north" },
+ { "point": [ 4, 3, -2 ], "overmap": "refctr_NW5d_z-2_north" },
+ { "point": [ 0, 4, -2 ], "overmap": "refctr_NW1e_z-2_north" },
+ { "point": [ 1, 4, -2 ], "overmap": "refctr_NW2e_z-2_north" },
+ { "point": [ 2, 4, -2 ], "overmap": "refctr_NW3e_z-2_north" },
+ { "point": [ 3, 4, -2 ], "overmap": "refctr_NW4e_z-2_north" },
+ { "point": [ 4, 4, -2 ], "overmap": "refctr_NW5e_z-2_north" },
+ { "point": [ 5, 0, -2 ], "overmap": "refctr_N1a_z-2_north" },
+ { "point": [ 6, 0, -2 ], "overmap": "refctr_N2a_z-2_north" },
+ { "point": [ 7, 0, -2 ], "overmap": "refctr_N3a_z-2_north" },
+ { "point": [ 8, 0, -2 ], "overmap": "refctr_N4a_z-2_north" },
+ { "point": [ 9, 0, -2 ], "overmap": "refctr_N5a_z-2_north" },
+ { "point": [ 5, 1, -2 ], "overmap": "refctr_N1b_z-2_north" },
+ { "point": [ 6, 1, -2 ], "overmap": "refctr_N2b_z-2_north" },
+ { "point": [ 7, 1, -2 ], "overmap": "refctr_N3b_z-2_north" },
+ { "point": [ 8, 1, -2 ], "overmap": "refctr_N4b_z-2_north" },
+ { "point": [ 9, 1, -2 ], "overmap": "refctr_N5b_z-2_north" },
+ { "point": [ 5, 2, -2 ], "overmap": "refctr_N1c_z-2_north" },
+ { "point": [ 6, 2, -2 ], "overmap": "refctr_N2c_z-2_north" },
+ { "point": [ 7, 2, -2 ], "overmap": "refctr_N3c_z-2_north" },
+ { "point": [ 8, 2, -2 ], "overmap": "refctr_N4c_z-2_north" },
+ { "point": [ 9, 2, -2 ], "overmap": "refctr_N5c_z-2_north" },
+ { "point": [ 5, 3, -2 ], "overmap": "refctr_N1d_z-2_north" },
+ { "point": [ 6, 3, -2 ], "overmap": "refctr_N2d_z-2_north" },
+ { "point": [ 7, 3, -2 ], "overmap": "refctr_N3d_z-2_north" },
+ { "point": [ 8, 3, -2 ], "overmap": "refctr_N4d_z-2_north" },
+ { "point": [ 9, 3, -2 ], "overmap": "refctr_N5d_z-2_north" },
+ { "point": [ 5, 4, -2 ], "overmap": "refctr_N1e_z-2_north" },
+ { "point": [ 6, 4, -2 ], "overmap": "refctr_N2e_z-2_north" },
+ { "point": [ 7, 4, -2 ], "overmap": "refctr_N3e_z-2_north" },
+ { "point": [ 8, 4, -2 ], "overmap": "refctr_N4e_z-2_north" },
+ { "point": [ 9, 4, -2 ], "overmap": "refctr_N5e_z-2_north" },
+ { "point": [ 10, 0, -2 ], "overmap": "refctr_NE1a_z-2_north" },
+ { "point": [ 11, 0, -2 ], "overmap": "refctr_NE2a_z-2_north" },
+ { "point": [ 12, 0, -2 ], "overmap": "refctr_NE3a_z-2_north" },
+ { "point": [ 13, 0, -2 ], "overmap": "refctr_NE4a_z-2_north" },
+ { "point": [ 14, 0, -2 ], "overmap": "refctr_NE5a_z-2_north" },
+ { "point": [ 10, 1, -2 ], "overmap": "refctr_NE1b_z-2_north" },
+ { "point": [ 11, 1, -2 ], "overmap": "refctr_NE2b_z-2_north" },
+ { "point": [ 12, 1, -2 ], "overmap": "refctr_NE3b_z-2_north" },
+ { "point": [ 13, 1, -2 ], "overmap": "refctr_NE4b_z-2_north" },
+ { "point": [ 14, 1, -2 ], "overmap": "refctr_NE5b_z-2_north" },
+ { "point": [ 10, 2, -2 ], "overmap": "refctr_NE1c_z-2_north" },
+ { "point": [ 11, 2, -2 ], "overmap": "refctr_NE2c_z-2_north" },
+ { "point": [ 12, 2, -2 ], "overmap": "refctr_NE3c_z-2_north" },
+ { "point": [ 13, 2, -2 ], "overmap": "refctr_NE4c_z-2_north" },
+ { "point": [ 14, 2, -2 ], "overmap": "refctr_NE5c_z-2_north" },
+ { "point": [ 10, 3, -2 ], "overmap": "refctr_NE1d_z-2_north" },
+ { "point": [ 11, 3, -2 ], "overmap": "refctr_NE2d_z-2_north" },
+ { "point": [ 12, 3, -2 ], "overmap": "refctr_NE3d_z-2_north" },
+ { "point": [ 13, 3, -2 ], "overmap": "refctr_NE4d_z-2_north" },
+ { "point": [ 14, 3, -2 ], "overmap": "refctr_NE5d_z-2_north" },
+ { "point": [ 10, 4, -2 ], "overmap": "refctr_NE1e_z-2_north" },
+ { "point": [ 11, 4, -2 ], "overmap": "refctr_NE2e_z-2_north" },
+ { "point": [ 12, 4, -2 ], "overmap": "refctr_NE3e_z-2_north" },
+ { "point": [ 13, 4, -2 ], "overmap": "refctr_NE4e_z-2_north" },
+ { "point": [ 14, 4, -2 ], "overmap": "refctr_NE5e_z-2_north" },
+ { "point": [ 0, 5, -2 ], "overmap": "refctr_W1a_z-2_north" },
+ { "point": [ 1, 5, -2 ], "overmap": "refctr_W2a_z-2_north" },
+ { "point": [ 2, 5, -2 ], "overmap": "refctr_W3a_z-2_north" },
+ { "point": [ 3, 5, -2 ], "overmap": "refctr_W4a_z-2_north" },
+ { "point": [ 4, 5, -2 ], "overmap": "refctr_W5a_z-2_north" },
+ { "point": [ 0, 6, -2 ], "overmap": "refctr_W1b_z-2_north" },
+ { "point": [ 1, 6, -2 ], "overmap": "refctr_W2b_z-2_north" },
+ { "point": [ 2, 6, -2 ], "overmap": "refctr_W3b_z-2_north" },
+ { "point": [ 3, 6, -2 ], "overmap": "refctr_W4b_z-2_north" },
+ { "point": [ 4, 6, -2 ], "overmap": "refctr_W5b_z-2_north" },
+ { "point": [ 0, 7, -2 ], "overmap": "refctr_W1c_z-2_north" },
+ { "point": [ 1, 7, -2 ], "overmap": "refctr_W2c_z-2_north" },
+ { "point": [ 2, 7, -2 ], "overmap": "refctr_W3c_z-2_north" },
+ { "point": [ 3, 7, -2 ], "overmap": "refctr_W4c_z-2_north" },
+ { "point": [ 4, 7, -2 ], "overmap": "refctr_W5c_z-2_north" },
+ { "point": [ 0, 8, -2 ], "overmap": "refctr_W1d_z-2_north" },
+ { "point": [ 1, 8, -2 ], "overmap": "refctr_W2d_z-2_north" },
+ { "point": [ 2, 8, -2 ], "overmap": "refctr_W3d_z-2_north" },
+ { "point": [ 3, 8, -2 ], "overmap": "refctr_W4d_z-2_north" },
+ { "point": [ 4, 8, -2 ], "overmap": "refctr_W5d_z-2_north" },
+ { "point": [ 0, 9, -2 ], "overmap": "refctr_W1e_z-2_north" },
+ { "point": [ 1, 9, -2 ], "overmap": "refctr_W2e_z-2_north" },
+ { "point": [ 2, 9, -2 ], "overmap": "refctr_W3e_z-2_north" },
+ { "point": [ 3, 9, -2 ], "overmap": "refctr_W4e_z-2_north" },
+ { "point": [ 4, 9, -2 ], "overmap": "refctr_W5e_z-2_north" },
+ { "point": [ 5, 5, -2 ], "overmap": "evac_center_1_z-2_north" },
+ { "point": [ 6, 5, -2 ], "overmap": "evac_center_2_z-2_north" },
+ { "point": [ 7, 5, -2 ], "overmap": "evac_center_3_z-2_north" },
+ { "point": [ 8, 5, -2 ], "overmap": "evac_center_4_z-2_north" },
+ { "point": [ 9, 5, -2 ], "overmap": "evac_center_5_z-2_north" },
+ { "point": [ 5, 6, -2 ], "overmap": "evac_center_6_z-2_north" },
+ { "point": [ 6, 6, -2 ], "overmap": "evac_center_7_z-2_north" },
+ { "point": [ 7, 6, -2 ], "overmap": "evac_center_8_z-2_north" },
+ { "point": [ 8, 6, -2 ], "overmap": "evac_center_9_z-2_north" },
+ { "point": [ 9, 6, -2 ], "overmap": "evac_center_10_z-2_north" },
+ { "point": [ 5, 7, -2 ], "overmap": "evac_center_11_z-2_north" },
+ { "point": [ 6, 7, -2 ], "overmap": "evac_center_12_z-2_north" },
+ { "point": [ 7, 7, -2 ], "overmap": "evac_center_13_z-2_north" },
+ { "point": [ 8, 7, -2 ], "overmap": "evac_center_14_z-2_north" },
+ { "point": [ 9, 7, -2 ], "overmap": "evac_center_15_z-2_north" },
+ { "point": [ 5, 8, -2 ], "overmap": "evac_center_16_z-2_north" },
+ { "point": [ 6, 8, -2 ], "overmap": "evac_center_17_z-2_north" },
+ { "point": [ 7, 8, -2 ], "overmap": "evac_center_18_z-2_north" },
+ { "point": [ 8, 8, -2 ], "overmap": "evac_center_19_z-2_north" },
+ { "point": [ 9, 8, -2 ], "overmap": "evac_center_20_z-2_north" },
+ { "point": [ 5, 9, -2 ], "overmap": "evac_center_21_z-2_north" },
+ { "point": [ 6, 9, -2 ], "overmap": "evac_center_22_z-2_north" },
+ { "point": [ 7, 9, -2 ], "overmap": "evac_center_23_z-2_north" },
+ { "point": [ 8, 9, -2 ], "overmap": "evac_center_24_z-2_north" },
+ { "point": [ 9, 9, -2 ], "overmap": "evac_center_25_z-2_north" },
+ { "point": [ 10, 5, -2 ], "overmap": "refctr_E1a_z-2_north" },
+ { "point": [ 11, 5, -2 ], "overmap": "refctr_E2a_z-2_north" },
+ { "point": [ 12, 5, -2 ], "overmap": "refctr_E3a_z-2_north" },
+ { "point": [ 13, 5, -2 ], "overmap": "refctr_E4a_z-2_north" },
+ { "point": [ 14, 5, -2 ], "overmap": "refctr_E5a_z-2_north" },
+ { "point": [ 10, 6, -2 ], "overmap": "refctr_E1b_z-2_north" },
+ { "point": [ 11, 6, -2 ], "overmap": "refctr_E2b_z-2_north" },
+ { "point": [ 12, 6, -2 ], "overmap": "refctr_E3b_z-2_north" },
+ { "point": [ 13, 6, -2 ], "overmap": "refctr_E4b_z-2_north" },
+ { "point": [ 14, 6, -2 ], "overmap": "refctr_E5b_z-2_north" },
+ { "point": [ 10, 7, -2 ], "overmap": "refctr_E1c_z-2_north" },
+ { "point": [ 11, 7, -2 ], "overmap": "refctr_E2c_z-2_north" },
+ { "point": [ 12, 7, -2 ], "overmap": "refctr_E3c_z-2_north" },
+ { "point": [ 13, 7, -2 ], "overmap": "refctr_E4c_z-2_north" },
+ { "point": [ 14, 7, -2 ], "overmap": "refctr_E5c_z-2_north" },
+ { "point": [ 10, 8, -2 ], "overmap": "refctr_E1d_z-2_north" },
+ { "point": [ 11, 8, -2 ], "overmap": "refctr_E2d_z-2_north" },
+ { "point": [ 12, 8, -2 ], "overmap": "refctr_E3d_z-2_north" },
+ { "point": [ 13, 8, -2 ], "overmap": "refctr_E4d_z-2_north" },
+ { "point": [ 14, 8, -2 ], "overmap": "refctr_E5d_z-2_north" },
+ { "point": [ 10, 9, -2 ], "overmap": "refctr_E1e_z-2_north" },
+ { "point": [ 11, 9, -2 ], "overmap": "refctr_E2e_z-2_north" },
+ { "point": [ 12, 9, -2 ], "overmap": "refctr_E3e_z-2_north" },
+ { "point": [ 13, 9, -2 ], "overmap": "refctr_E4e_z-2_north" },
+ { "point": [ 14, 9, -2 ], "overmap": "refctr_E5e_z-2_north" },
+ { "point": [ 0, 10, -2 ], "overmap": "refctr_SW1a_z-2_north" },
+ { "point": [ 1, 10, -2 ], "overmap": "refctr_SW2a_z-2_north" },
+ { "point": [ 2, 10, -2 ], "overmap": "refctr_SW3a_z-2_north" },
+ { "point": [ 3, 10, -2 ], "overmap": "refctr_SW4a_z-2_north" },
+ { "point": [ 4, 10, -2 ], "overmap": "refctr_SW5a_z-2_north" },
+ { "point": [ 0, 11, -2 ], "overmap": "refctr_SW1b_z-2_north" },
+ { "point": [ 1, 11, -2 ], "overmap": "refctr_SW2b_z-2_north" },
+ { "point": [ 2, 11, -2 ], "overmap": "refctr_SW3b_z-2_north" },
+ { "point": [ 3, 11, -2 ], "overmap": "refctr_SW4b_z-2_north" },
+ { "point": [ 4, 11, -2 ], "overmap": "refctr_SW5b_z-2_north" },
+ { "point": [ 0, 12, -2 ], "overmap": "refctr_SW1c_z-2_north" },
+ { "point": [ 1, 12, -2 ], "overmap": "refctr_SW2c_z-2_north" },
+ { "point": [ 2, 12, -2 ], "overmap": "refctr_SW3c_z-2_north" },
+ { "point": [ 3, 12, -2 ], "overmap": "refctr_SW4c_z-2_north" },
+ { "point": [ 4, 12, -2 ], "overmap": "refctr_SW5c_z-2_north" },
+ { "point": [ 0, 13, -2 ], "overmap": "refctr_SW1d_z-2_north" },
+ { "point": [ 1, 13, -2 ], "overmap": "refctr_SW2d_z-2_north" },
+ { "point": [ 2, 13, -2 ], "overmap": "refctr_SW3d_z-2_north" },
+ { "point": [ 3, 13, -2 ], "overmap": "refctr_SW4d_z-2_north" },
+ { "point": [ 4, 13, -2 ], "overmap": "refctr_SW5d_z-2_north" },
+ { "point": [ 0, 14, -2 ], "overmap": "refctr_SW1e_z-2_north" },
+ { "point": [ 1, 14, -2 ], "overmap": "refctr_SW2e_z-2_north" },
+ { "point": [ 2, 14, -2 ], "overmap": "refctr_SW3e_z-2_north" },
+ { "point": [ 3, 14, -2 ], "overmap": "refctr_SW4e_z-2_north" },
+ { "point": [ 4, 14, -2 ], "overmap": "refctr_SW5e_z-2_north" },
+ { "point": [ 5, 10, -2 ], "overmap": "refctr_S1a_z-2_north" },
+ { "point": [ 6, 10, -2 ], "overmap": "refctr_S2a_z-2_north" },
+ { "point": [ 7, 10, -2 ], "overmap": "refctr_S3a_z-2_north" },
+ { "point": [ 8, 10, -2 ], "overmap": "refctr_S4a_z-2_north" },
+ { "point": [ 9, 10, -2 ], "overmap": "refctr_S5a_z-2_north" },
+ { "point": [ 5, 11, -2 ], "overmap": "refctr_S1b_z-2_north" },
+ { "point": [ 6, 11, -2 ], "overmap": "refctr_S2b_z-2_north" },
+ { "point": [ 7, 11, -2 ], "overmap": "refctr_S3b_z-2_north" },
+ { "point": [ 8, 11, -2 ], "overmap": "refctr_S4b_z-2_north" },
+ { "point": [ 9, 11, -2 ], "overmap": "refctr_S5b_z-2_north" },
+ { "point": [ 5, 12, -2 ], "overmap": "refctr_S1c_z-2_north" },
+ { "point": [ 6, 12, -2 ], "overmap": "refctr_S2c_z-2_north" },
+ { "point": [ 7, 12, -2 ], "overmap": "refctr_S3c_z-2_north" },
+ { "point": [ 8, 12, -2 ], "overmap": "refctr_S4c_z-2_north" },
+ { "point": [ 9, 12, -2 ], "overmap": "refctr_S5c_z-2_north" },
+ { "point": [ 5, 13, -2 ], "overmap": "refctr_S1d_z-2_north" },
+ { "point": [ 6, 13, -2 ], "overmap": "refctr_S2d_z-2_north" },
+ { "point": [ 7, 13, -2 ], "overmap": "refctr_S3d_z-2_north" },
+ { "point": [ 8, 13, -2 ], "overmap": "refctr_S4d_z-2_north" },
+ { "point": [ 9, 13, -2 ], "overmap": "refctr_S5d_z-2_north" },
+ { "point": [ 5, 14, -2 ], "overmap": "refctr_S1e_z-2_north" },
+ { "point": [ 6, 14, -2 ], "overmap": "refctr_S2e_z-2_north" },
+ { "point": [ 7, 14, -2 ], "overmap": "refctr_S3e_z-2_north" },
+ { "point": [ 8, 14, -2 ], "overmap": "refctr_S4e_z-2_north" },
+ { "point": [ 9, 14, -2 ], "overmap": "refctr_S5e_z-2_north" },
+ { "point": [ 10, 10, -2 ], "overmap": "refctr_SE1a_z-2_north" },
+ { "point": [ 11, 10, -2 ], "overmap": "refctr_SE2a_z-2_north" },
+ { "point": [ 12, 10, -2 ], "overmap": "refctr_SE3a_z-2_north" },
+ { "point": [ 13, 10, -2 ], "overmap": "refctr_SE4a_z-2_north" },
+ { "point": [ 14, 10, -2 ], "overmap": "refctr_SE5a_z-2_north" },
+ { "point": [ 10, 11, -2 ], "overmap": "refctr_SE1b_z-2_north" },
+ { "point": [ 11, 11, -2 ], "overmap": "refctr_SE2b_z-2_north" },
+ { "point": [ 12, 11, -2 ], "overmap": "refctr_SE3b_z-2_north" },
+ { "point": [ 13, 11, -2 ], "overmap": "refctr_SE4b_z-2_north" },
+ { "point": [ 14, 11, -2 ], "overmap": "refctr_SE5b_z-2_north" },
+ { "point": [ 10, 12, -2 ], "overmap": "refctr_SE1c_z-2_north" },
+ { "point": [ 11, 12, -2 ], "overmap": "refctr_SE2c_z-2_north" },
+ { "point": [ 12, 12, -2 ], "overmap": "refctr_SE3c_z-2_north" },
+ { "point": [ 13, 12, -2 ], "overmap": "refctr_SE4c_z-2_north" },
+ { "point": [ 14, 12, -2 ], "overmap": "refctr_SE5c_z-2_north" },
+ { "point": [ 10, 13, -2 ], "overmap": "refctr_SE1d_z-2_north" },
+ { "point": [ 11, 13, -2 ], "overmap": "refctr_SE2d_z-2_north" },
+ { "point": [ 12, 13, -2 ], "overmap": "refctr_SE3d_z-2_north" },
+ { "point": [ 13, 13, -2 ], "overmap": "refctr_SE4d_z-2_north" },
+ { "point": [ 14, 13, -2 ], "overmap": "refctr_SE5d_z-2_north" },
+ { "point": [ 10, 14, -2 ], "overmap": "refctr_SE1e_z-2_north" },
+ { "point": [ 11, 14, -2 ], "overmap": "refctr_SE2e_z-2_north" },
+ { "point": [ 12, 14, -2 ], "overmap": "refctr_SE3e_z-2_north" },
+ { "point": [ 13, 14, -2 ], "overmap": "refctr_SE4e_z-2_north" },
+ { "point": [ 14, 14, -2 ], "overmap": "refctr_SE5e_z-2_north" },
+ { "point": [ 0, 0, -3 ], "overmap": "refctr_NW1a_z-3_north" },
+ { "point": [ 1, 0, -3 ], "overmap": "refctr_NW2a_z-3_north" },
+ { "point": [ 2, 0, -3 ], "overmap": "refctr_NW3a_z-3_north" },
+ { "point": [ 3, 0, -3 ], "overmap": "refctr_NW4a_z-3_north" },
+ { "point": [ 4, 0, -3 ], "overmap": "refctr_NW5a_z-3_north" },
+ { "point": [ 0, 1, -3 ], "overmap": "refctr_NW1b_z-3_north" },
+ { "point": [ 1, 1, -3 ], "overmap": "refctr_NW2b_z-3_north" },
+ { "point": [ 2, 1, -3 ], "overmap": "refctr_NW3b_z-3_north" },
+ { "point": [ 3, 1, -3 ], "overmap": "refctr_NW4b_z-3_north" },
+ { "point": [ 4, 1, -3 ], "overmap": "refctr_NW5b_z-3_north" },
+ { "point": [ 0, 2, -3 ], "overmap": "refctr_NW1c_z-3_north" },
+ { "point": [ 1, 2, -3 ], "overmap": "refctr_NW2c_z-3_north" },
+ { "point": [ 2, 2, -3 ], "overmap": "refctr_NW3c_z-3_north" },
+ { "point": [ 3, 2, -3 ], "overmap": "refctr_NW4c_z-3_north" },
+ { "point": [ 4, 2, -3 ], "overmap": "refctr_NW5c_z-3_north" },
+ { "point": [ 0, 3, -3 ], "overmap": "refctr_NW1d_z-3_north" },
+ { "point": [ 1, 3, -3 ], "overmap": "refctr_NW2d_z-3_north" },
+ { "point": [ 2, 3, -3 ], "overmap": "refctr_NW3d_z-3_north" },
+ { "point": [ 3, 3, -3 ], "overmap": "refctr_NW4d_z-3_north" },
+ { "point": [ 4, 3, -3 ], "overmap": "refctr_NW5d_z-3_north" },
+ { "point": [ 0, 4, -3 ], "overmap": "refctr_NW1e_z-3_north" },
+ { "point": [ 1, 4, -3 ], "overmap": "refctr_NW2e_z-3_north" },
+ { "point": [ 2, 4, -3 ], "overmap": "refctr_NW3e_z-3_north" },
+ { "point": [ 3, 4, -3 ], "overmap": "refctr_NW4e_z-3_north" },
+ { "point": [ 4, 4, -3 ], "overmap": "refctr_NW5e_z-3_north" },
+ { "point": [ 5, 0, -3 ], "overmap": "refctr_N1a_z-3_north" },
+ { "point": [ 6, 0, -3 ], "overmap": "refctr_N2a_z-3_north" },
+ { "point": [ 7, 0, -3 ], "overmap": "refctr_N3a_z-3_north" },
+ { "point": [ 8, 0, -3 ], "overmap": "refctr_N4a_z-3_north" },
+ { "point": [ 9, 0, -3 ], "overmap": "refctr_N5a_z-3_north" },
+ { "point": [ 5, 1, -3 ], "overmap": "refctr_N1b_z-3_north" },
+ { "point": [ 6, 1, -3 ], "overmap": "refctr_N2b_z-3_north" },
+ { "point": [ 7, 1, -3 ], "overmap": "refctr_N3b_z-3_north" },
+ { "point": [ 8, 1, -3 ], "overmap": "refctr_N4b_z-3_north" },
+ { "point": [ 9, 1, -3 ], "overmap": "refctr_N5b_z-3_north" },
+ { "point": [ 5, 2, -3 ], "overmap": "refctr_N1c_z-3_north" },
+ { "point": [ 6, 2, -3 ], "overmap": "refctr_N2c_z-3_north" },
+ { "point": [ 7, 2, -3 ], "overmap": "refctr_N3c_z-3_north" },
+ { "point": [ 8, 2, -3 ], "overmap": "refctr_N4c_z-3_north" },
+ { "point": [ 9, 2, -3 ], "overmap": "refctr_N5c_z-3_north" },
+ { "point": [ 5, 3, -3 ], "overmap": "refctr_N1d_z-3_north" },
+ { "point": [ 6, 3, -3 ], "overmap": "refctr_N2d_z-3_north" },
+ { "point": [ 7, 3, -3 ], "overmap": "refctr_N3d_z-3_north" },
+ { "point": [ 8, 3, -3 ], "overmap": "refctr_N4d_z-3_north" },
+ { "point": [ 9, 3, -3 ], "overmap": "refctr_N5d_z-3_north" },
+ { "point": [ 5, 4, -3 ], "overmap": "refctr_N1e_z-3_north" },
+ { "point": [ 6, 4, -3 ], "overmap": "refctr_N2e_z-3_north" },
+ { "point": [ 7, 4, -3 ], "overmap": "refctr_N3e_z-3_north" },
+ { "point": [ 8, 4, -3 ], "overmap": "refctr_N4e_z-3_north" },
+ { "point": [ 9, 4, -3 ], "overmap": "refctr_N5e_z-3_north" },
+ { "point": [ 10, 0, -3 ], "overmap": "refctr_NE1a_z-3_north" },
+ { "point": [ 11, 0, -3 ], "overmap": "refctr_NE2a_z-3_north" },
+ { "point": [ 12, 0, -3 ], "overmap": "refctr_NE3a_z-3_north" },
+ { "point": [ 13, 0, -3 ], "overmap": "refctr_NE4a_z-3_north" },
+ { "point": [ 14, 0, -3 ], "overmap": "refctr_NE5a_z-3_north" },
+ { "point": [ 10, 1, -3 ], "overmap": "refctr_NE1b_z-3_north" },
+ { "point": [ 11, 1, -3 ], "overmap": "refctr_NE2b_z-3_north" },
+ { "point": [ 12, 1, -3 ], "overmap": "refctr_NE3b_z-3_north" },
+ { "point": [ 13, 1, -3 ], "overmap": "refctr_NE4b_z-3_north" },
+ { "point": [ 14, 1, -3 ], "overmap": "refctr_NE5b_z-3_north" },
+ { "point": [ 10, 2, -3 ], "overmap": "refctr_NE1c_z-3_north" },
+ { "point": [ 11, 2, -3 ], "overmap": "refctr_NE2c_z-3_north" },
+ { "point": [ 12, 2, -3 ], "overmap": "refctr_NE3c_z-3_north" },
+ { "point": [ 13, 2, -3 ], "overmap": "refctr_NE4c_z-3_north" },
+ { "point": [ 14, 2, -3 ], "overmap": "refctr_NE5c_z-3_north" },
+ { "point": [ 10, 3, -3 ], "overmap": "refctr_NE1d_z-3_north" },
+ { "point": [ 11, 3, -3 ], "overmap": "refctr_NE2d_z-3_north" },
+ { "point": [ 12, 3, -3 ], "overmap": "refctr_NE3d_z-3_north" },
+ { "point": [ 13, 3, -3 ], "overmap": "refctr_NE4d_z-3_north" },
+ { "point": [ 14, 3, -3 ], "overmap": "refctr_NE5d_z-3_north" },
+ { "point": [ 10, 4, -3 ], "overmap": "refctr_NE1e_z-3_north" },
+ { "point": [ 11, 4, -3 ], "overmap": "refctr_NE2e_z-3_north" },
+ { "point": [ 12, 4, -3 ], "overmap": "refctr_NE3e_z-3_north" },
+ { "point": [ 13, 4, -3 ], "overmap": "refctr_NE4e_z-3_north" },
+ { "point": [ 14, 4, -3 ], "overmap": "refctr_NE5e_z-3_north" },
+ { "point": [ 0, 5, -3 ], "overmap": "refctr_W1a_z-3_north" },
+ { "point": [ 1, 5, -3 ], "overmap": "refctr_W2a_z-3_north" },
+ { "point": [ 2, 5, -3 ], "overmap": "refctr_W3a_z-3_north" },
+ { "point": [ 3, 5, -3 ], "overmap": "refctr_W4a_z-3_north" },
+ { "point": [ 4, 5, -3 ], "overmap": "refctr_W5a_z-3_north" },
+ { "point": [ 0, 6, -3 ], "overmap": "refctr_W1b_z-3_north" },
+ { "point": [ 1, 6, -3 ], "overmap": "refctr_W2b_z-3_north" },
+ { "point": [ 2, 6, -3 ], "overmap": "refctr_W3b_z-3_north" },
+ { "point": [ 3, 6, -3 ], "overmap": "refctr_W4b_z-3_north" },
+ { "point": [ 4, 6, -3 ], "overmap": "refctr_W5b_z-3_north" },
+ { "point": [ 0, 7, -3 ], "overmap": "refctr_W1c_z-3_north" },
+ { "point": [ 1, 7, -3 ], "overmap": "refctr_W2c_z-3_north" },
+ { "point": [ 2, 7, -3 ], "overmap": "refctr_W3c_z-3_north" },
+ { "point": [ 3, 7, -3 ], "overmap": "refctr_W4c_z-3_north" },
+ { "point": [ 4, 7, -3 ], "overmap": "refctr_W5c_z-3_north" },
+ { "point": [ 0, 8, -3 ], "overmap": "refctr_W1d_z-3_north" },
+ { "point": [ 1, 8, -3 ], "overmap": "refctr_W2d_z-3_north" },
+ { "point": [ 2, 8, -3 ], "overmap": "refctr_W3d_z-3_north" },
+ { "point": [ 3, 8, -3 ], "overmap": "refctr_W4d_z-3_north" },
+ { "point": [ 4, 8, -3 ], "overmap": "refctr_W5d_z-3_north" },
+ { "point": [ 0, 9, -3 ], "overmap": "refctr_W1e_z-3_north" },
+ { "point": [ 1, 9, -3 ], "overmap": "refctr_W2e_z-3_north" },
+ { "point": [ 2, 9, -3 ], "overmap": "refctr_W3e_z-3_north" },
+ { "point": [ 3, 9, -3 ], "overmap": "refctr_W4e_z-3_north" },
+ { "point": [ 4, 9, -3 ], "overmap": "refctr_W5e_z-3_north" },
+ { "point": [ 5, 5, -3 ], "overmap": "evac_center_1_z-3_north" },
+ { "point": [ 6, 5, -3 ], "overmap": "evac_center_2_z-3_north" },
+ { "point": [ 7, 5, -3 ], "overmap": "evac_center_3_z-3_north" },
+ { "point": [ 8, 5, -3 ], "overmap": "evac_center_4_z-3_north" },
+ { "point": [ 9, 5, -3 ], "overmap": "evac_center_5_z-3_north" },
+ { "point": [ 5, 6, -3 ], "overmap": "evac_center_6_z-3_north" },
+ { "point": [ 6, 6, -3 ], "overmap": "evac_center_7_z-3_north" },
+ { "point": [ 7, 6, -3 ], "overmap": "evac_center_8_z-3_north" },
+ { "point": [ 8, 6, -3 ], "overmap": "evac_center_9_z-3_north" },
+ { "point": [ 9, 6, -3 ], "overmap": "evac_center_10_z-3_north" },
+ { "point": [ 5, 7, -3 ], "overmap": "evac_center_11_z-3_north" },
+ { "point": [ 6, 7, -3 ], "overmap": "evac_center_12_z-3_north" },
+ { "point": [ 7, 7, -3 ], "overmap": "evac_center_13_z-3_north" },
+ { "point": [ 8, 7, -3 ], "overmap": "evac_center_14_z-3_north" },
+ { "point": [ 9, 7, -3 ], "overmap": "evac_center_15_z-3_north" },
+ { "point": [ 5, 8, -3 ], "overmap": "evac_center_16_z-3_north" },
+ { "point": [ 6, 8, -3 ], "overmap": "evac_center_17_z-3_north" },
+ { "point": [ 7, 8, -3 ], "overmap": "evac_center_18_z-3_north" },
+ { "point": [ 8, 8, -3 ], "overmap": "evac_center_19_z-3_north" },
+ { "point": [ 9, 8, -3 ], "overmap": "evac_center_20_z-3_north" },
+ { "point": [ 5, 9, -3 ], "overmap": "evac_center_21_z-3_north" },
+ { "point": [ 6, 9, -3 ], "overmap": "evac_center_22_z-3_north" },
+ { "point": [ 7, 9, -3 ], "overmap": "evac_center_23_z-3_north" },
+ { "point": [ 8, 9, -3 ], "overmap": "evac_center_24_z-3_north" },
+ { "point": [ 9, 9, -3 ], "overmap": "evac_center_25_z-3_north" },
+ { "point": [ 10, 5, -3 ], "overmap": "refctr_E1a_z-3_north" },
+ { "point": [ 11, 5, -3 ], "overmap": "refctr_E2a_z-3_north" },
+ { "point": [ 12, 5, -3 ], "overmap": "refctr_E3a_z-3_north" },
+ { "point": [ 13, 5, -3 ], "overmap": "refctr_E4a_z-3_north" },
+ { "point": [ 14, 5, -3 ], "overmap": "refctr_E5a_z-3_north" },
+ { "point": [ 10, 6, -3 ], "overmap": "refctr_E1b_z-3_north" },
+ { "point": [ 11, 6, -3 ], "overmap": "refctr_E2b_z-3_north" },
+ { "point": [ 12, 6, -3 ], "overmap": "refctr_E3b_z-3_north" },
+ { "point": [ 13, 6, -3 ], "overmap": "refctr_E4b_z-3_north" },
+ { "point": [ 14, 6, -3 ], "overmap": "refctr_E5b_z-3_north" },
+ { "point": [ 10, 7, -3 ], "overmap": "refctr_E1c_z-3_north" },
+ { "point": [ 11, 7, -3 ], "overmap": "refctr_E2c_z-3_north" },
+ { "point": [ 12, 7, -3 ], "overmap": "refctr_E3c_z-3_north" },
+ { "point": [ 13, 7, -3 ], "overmap": "refctr_E4c_z-3_north" },
+ { "point": [ 14, 7, -3 ], "overmap": "refctr_E5c_z-3_north" },
+ { "point": [ 10, 8, -3 ], "overmap": "refctr_E1d_z-3_north" },
+ { "point": [ 11, 8, -3 ], "overmap": "refctr_E2d_z-3_north" },
+ { "point": [ 12, 8, -3 ], "overmap": "refctr_E3d_z-3_north" },
+ { "point": [ 13, 8, -3 ], "overmap": "refctr_E4d_z-3_north" },
+ { "point": [ 14, 8, -3 ], "overmap": "refctr_E5d_z-3_north" },
+ { "point": [ 10, 9, -3 ], "overmap": "refctr_E1e_z-3_north" },
+ { "point": [ 11, 9, -3 ], "overmap": "refctr_E2e_z-3_north" },
+ { "point": [ 12, 9, -3 ], "overmap": "refctr_E3e_z-3_north" },
+ { "point": [ 13, 9, -3 ], "overmap": "refctr_E4e_z-3_north" },
+ { "point": [ 14, 9, -3 ], "overmap": "refctr_E5e_z-3_north" },
+ { "point": [ 0, 10, -3 ], "overmap": "refctr_SW1a_z-3_north" },
+ { "point": [ 1, 10, -3 ], "overmap": "refctr_SW2a_z-3_north" },
+ { "point": [ 2, 10, -3 ], "overmap": "refctr_SW3a_z-3_north" },
+ { "point": [ 3, 10, -3 ], "overmap": "refctr_SW4a_z-3_north" },
+ { "point": [ 4, 10, -3 ], "overmap": "refctr_SW5a_z-3_north" },
+ { "point": [ 0, 11, -3 ], "overmap": "refctr_SW1b_z-3_north" },
+ { "point": [ 1, 11, -3 ], "overmap": "refctr_SW2b_z-3_north" },
+ { "point": [ 2, 11, -3 ], "overmap": "refctr_SW3b_z-3_north" },
+ { "point": [ 3, 11, -3 ], "overmap": "refctr_SW4b_z-3_north" },
+ { "point": [ 4, 11, -3 ], "overmap": "refctr_SW5b_z-3_north" },
+ { "point": [ 0, 12, -3 ], "overmap": "refctr_SW1c_z-3_north" },
+ { "point": [ 1, 12, -3 ], "overmap": "refctr_SW2c_z-3_north" },
+ { "point": [ 2, 12, -3 ], "overmap": "refctr_SW3c_z-3_north" },
+ { "point": [ 3, 12, -3 ], "overmap": "refctr_SW4c_z-3_north" },
+ { "point": [ 4, 12, -3 ], "overmap": "refctr_SW5c_z-3_north" },
+ { "point": [ 0, 13, -3 ], "overmap": "refctr_SW1d_z-3_north" },
+ { "point": [ 1, 13, -3 ], "overmap": "refctr_SW2d_z-3_north" },
+ { "point": [ 2, 13, -3 ], "overmap": "refctr_SW3d_z-3_north" },
+ { "point": [ 3, 13, -3 ], "overmap": "refctr_SW4d_z-3_north" },
+ { "point": [ 4, 13, -3 ], "overmap": "refctr_SW5d_z-3_north" },
+ { "point": [ 0, 14, -3 ], "overmap": "refctr_SW1e_z-3_north" },
+ { "point": [ 1, 14, -3 ], "overmap": "refctr_SW2e_z-3_north" },
+ { "point": [ 2, 14, -3 ], "overmap": "refctr_SW3e_z-3_north" },
+ { "point": [ 3, 14, -3 ], "overmap": "refctr_SW4e_z-3_north" },
+ { "point": [ 4, 14, -3 ], "overmap": "refctr_SW5e_z-3_north" },
+ { "point": [ 5, 10, -3 ], "overmap": "refctr_S1a_z-3_north" },
+ { "point": [ 6, 10, -3 ], "overmap": "refctr_S2a_z-3_north" },
+ { "point": [ 7, 10, -3 ], "overmap": "refctr_S3a_z-3_north" },
+ { "point": [ 8, 10, -3 ], "overmap": "refctr_S4a_z-3_north" },
+ { "point": [ 9, 10, -3 ], "overmap": "refctr_S5a_z-3_north" },
+ { "point": [ 5, 11, -3 ], "overmap": "refctr_S1b_z-3_north" },
+ { "point": [ 6, 11, -3 ], "overmap": "refctr_S2b_z-3_north" },
+ { "point": [ 7, 11, -3 ], "overmap": "refctr_S3b_z-3_north" },
+ { "point": [ 8, 11, -3 ], "overmap": "refctr_S4b_z-3_north" },
+ { "point": [ 9, 11, -3 ], "overmap": "refctr_S5b_z-3_north" },
+ { "point": [ 5, 12, -3 ], "overmap": "refctr_S1c_z-3_north" },
+ { "point": [ 6, 12, -3 ], "overmap": "refctr_S2c_z-3_north" },
+ { "point": [ 7, 12, -3 ], "overmap": "refctr_S3c_z-3_north" },
+ { "point": [ 8, 12, -3 ], "overmap": "refctr_S4c_z-3_north" },
+ { "point": [ 9, 12, -3 ], "overmap": "refctr_S5c_z-3_north" },
+ { "point": [ 5, 13, -3 ], "overmap": "refctr_S1d_z-3_north" },
+ { "point": [ 6, 13, -3 ], "overmap": "refctr_S2d_z-3_north" },
+ { "point": [ 7, 13, -3 ], "overmap": "refctr_S3d_z-3_north" },
+ { "point": [ 8, 13, -3 ], "overmap": "refctr_S4d_z-3_north" },
+ { "point": [ 9, 13, -3 ], "overmap": "refctr_S5d_z-3_north" },
+ { "point": [ 5, 14, -3 ], "overmap": "refctr_S1e_z-3_north" },
+ { "point": [ 6, 14, -3 ], "overmap": "refctr_S2e_z-3_north" },
+ { "point": [ 7, 14, -3 ], "overmap": "refctr_S3e_z-3_north" },
+ { "point": [ 8, 14, -3 ], "overmap": "refctr_S4e_z-3_north" },
+ { "point": [ 9, 14, -3 ], "overmap": "refctr_S5e_z-3_north" },
+ { "point": [ 10, 10, -3 ], "overmap": "refctr_SE1a_z-3_north" },
+ { "point": [ 11, 10, -3 ], "overmap": "refctr_SE2a_z-3_north" },
+ { "point": [ 12, 10, -3 ], "overmap": "refctr_SE3a_z-3_north" },
+ { "point": [ 13, 10, -3 ], "overmap": "refctr_SE4a_z-3_north" },
+ { "point": [ 14, 10, -3 ], "overmap": "refctr_SE5a_z-3_north" },
+ { "point": [ 10, 11, -3 ], "overmap": "refctr_SE1b_z-3_north" },
+ { "point": [ 11, 11, -3 ], "overmap": "refctr_SE2b_z-3_north" },
+ { "point": [ 12, 11, -3 ], "overmap": "refctr_SE3b_z-3_north" },
+ { "point": [ 13, 11, -3 ], "overmap": "refctr_SE4b_z-3_north" },
+ { "point": [ 14, 11, -3 ], "overmap": "refctr_SE5b_z-3_north" },
+ { "point": [ 10, 12, -3 ], "overmap": "refctr_SE1c_z-3_north" },
+ { "point": [ 11, 12, -3 ], "overmap": "refctr_SE2c_z-3_north" },
+ { "point": [ 12, 12, -3 ], "overmap": "refctr_SE3c_z-3_north" },
+ { "point": [ 13, 12, -3 ], "overmap": "refctr_SE4c_z-3_north" },
+ { "point": [ 14, 12, -3 ], "overmap": "refctr_SE5c_z-3_north" },
+ { "point": [ 10, 13, -3 ], "overmap": "refctr_SE1d_z-3_north" },
+ { "point": [ 11, 13, -3 ], "overmap": "refctr_SE2d_z-3_north" },
+ { "point": [ 12, 13, -3 ], "overmap": "refctr_SE3d_z-3_north" },
+ { "point": [ 13, 13, -3 ], "overmap": "refctr_SE4d_z-3_north" },
+ { "point": [ 14, 13, -3 ], "overmap": "refctr_SE5d_z-3_north" },
+ { "point": [ 10, 14, -3 ], "overmap": "refctr_SE1e_z-3_north" },
+ { "point": [ 11, 14, -3 ], "overmap": "refctr_SE2e_z-3_north" },
+ { "point": [ 12, 14, -3 ], "overmap": "refctr_SE3e_z-3_north" },
+ { "point": [ 13, 14, -3 ], "overmap": "refctr_SE4e_z-3_north" },
+ { "point": [ 14, 14, -3 ], "overmap": "refctr_SE5e_z-3_north" },
+ { "point": [ 0, 0, -4 ], "overmap": "refctr_NW1a_z-4_north" },
+ { "point": [ 1, 0, -4 ], "overmap": "refctr_NW2a_z-4_north" },
+ { "point": [ 2, 0, -4 ], "overmap": "refctr_NW3a_z-4_north" },
+ { "point": [ 3, 0, -4 ], "overmap": "refctr_NW4a_z-4_north" },
+ { "point": [ 4, 0, -4 ], "overmap": "refctr_NW5a_z-4_north" },
+ { "point": [ 0, 1, -4 ], "overmap": "refctr_NW1b_z-4_north" },
+ { "point": [ 1, 1, -4 ], "overmap": "refctr_NW2b_z-4_north" },
+ { "point": [ 2, 1, -4 ], "overmap": "refctr_NW3b_z-4_north" },
+ { "point": [ 3, 1, -4 ], "overmap": "refctr_NW4b_z-4_north" },
+ { "point": [ 4, 1, -4 ], "overmap": "refctr_NW5b_z-4_north" },
+ { "point": [ 0, 2, -4 ], "overmap": "refctr_NW1c_z-4_north" },
+ { "point": [ 1, 2, -4 ], "overmap": "refctr_NW2c_z-4_north" },
+ { "point": [ 2, 2, -4 ], "overmap": "refctr_NW3c_z-4_north" },
+ { "point": [ 3, 2, -4 ], "overmap": "refctr_NW4c_z-4_north" },
+ { "point": [ 4, 2, -4 ], "overmap": "refctr_NW5c_z-4_north" },
+ { "point": [ 0, 3, -4 ], "overmap": "refctr_NW1d_z-4_north" },
+ { "point": [ 1, 3, -4 ], "overmap": "refctr_NW2d_z-4_north" },
+ { "point": [ 2, 3, -4 ], "overmap": "refctr_NW3d_z-4_north" },
+ { "point": [ 3, 3, -4 ], "overmap": "refctr_NW4d_z-4_north" },
+ { "point": [ 4, 3, -4 ], "overmap": "refctr_NW5d_z-4_north" },
+ { "point": [ 0, 4, -4 ], "overmap": "refctr_NW1e_z-4_north" },
+ { "point": [ 1, 4, -4 ], "overmap": "refctr_NW2e_z-4_north" },
+ { "point": [ 2, 4, -4 ], "overmap": "refctr_NW3e_z-4_north" },
+ { "point": [ 3, 4, -4 ], "overmap": "refctr_NW4e_z-4_north" },
+ { "point": [ 4, 4, -4 ], "overmap": "refctr_NW5e_z-4_north" },
+ { "point": [ 5, 0, -4 ], "overmap": "refctr_N1a_z-4_north" },
+ { "point": [ 6, 0, -4 ], "overmap": "refctr_N2a_z-4_north" },
+ { "point": [ 7, 0, -4 ], "overmap": "refctr_N3a_z-4_north" },
+ { "point": [ 8, 0, -4 ], "overmap": "refctr_N4a_z-4_north" },
+ { "point": [ 9, 0, -4 ], "overmap": "refctr_N5a_z-4_north" },
+ { "point": [ 5, 1, -4 ], "overmap": "refctr_N1b_z-4_north" },
+ { "point": [ 6, 1, -4 ], "overmap": "refctr_N2b_z-4_north" },
+ { "point": [ 7, 1, -4 ], "overmap": "refctr_N3b_z-4_north" },
+ { "point": [ 8, 1, -4 ], "overmap": "refctr_N4b_z-4_north" },
+ { "point": [ 9, 1, -4 ], "overmap": "refctr_N5b_z-4_north" },
+ { "point": [ 5, 2, -4 ], "overmap": "refctr_N1c_z-4_north" },
+ { "point": [ 6, 2, -4 ], "overmap": "refctr_N2c_z-4_north" },
+ { "point": [ 7, 2, -4 ], "overmap": "refctr_N3c_z-4_north" },
+ { "point": [ 8, 2, -4 ], "overmap": "refctr_N4c_z-4_north" },
+ { "point": [ 9, 2, -4 ], "overmap": "refctr_N5c_z-4_north" },
+ { "point": [ 5, 3, -4 ], "overmap": "refctr_N1d_z-4_north" },
+ { "point": [ 6, 3, -4 ], "overmap": "refctr_N2d_z-4_north" },
+ { "point": [ 7, 3, -4 ], "overmap": "refctr_N3d_z-4_north" },
+ { "point": [ 8, 3, -4 ], "overmap": "refctr_N4d_z-4_north" },
+ { "point": [ 9, 3, -4 ], "overmap": "refctr_N5d_z-4_north" },
+ { "point": [ 5, 4, -4 ], "overmap": "refctr_N1e_z-4_north" },
+ { "point": [ 6, 4, -4 ], "overmap": "refctr_N2e_z-4_north" },
+ { "point": [ 7, 4, -4 ], "overmap": "refctr_N3e_z-4_north" },
+ { "point": [ 8, 4, -4 ], "overmap": "refctr_N4e_z-4_north" },
+ { "point": [ 9, 4, -4 ], "overmap": "refctr_N5e_z-4_north" },
+ { "point": [ 10, 0, -4 ], "overmap": "refctr_NE1a_z-4_north" },
+ { "point": [ 11, 0, -4 ], "overmap": "refctr_NE2a_z-4_north" },
+ { "point": [ 12, 0, -4 ], "overmap": "refctr_NE3a_z-4_north" },
+ { "point": [ 13, 0, -4 ], "overmap": "refctr_NE4a_z-4_north" },
+ { "point": [ 14, 0, -4 ], "overmap": "refctr_NE5a_z-4_north" },
+ { "point": [ 10, 1, -4 ], "overmap": "refctr_NE1b_z-4_north" },
+ { "point": [ 11, 1, -4 ], "overmap": "refctr_NE2b_z-4_north" },
+ { "point": [ 12, 1, -4 ], "overmap": "refctr_NE3b_z-4_north" },
+ { "point": [ 13, 1, -4 ], "overmap": "refctr_NE4b_z-4_north" },
+ { "point": [ 14, 1, -4 ], "overmap": "refctr_NE5b_z-4_north" },
+ { "point": [ 10, 2, -4 ], "overmap": "refctr_NE1c_z-4_north" },
+ { "point": [ 11, 2, -4 ], "overmap": "refctr_NE2c_z-4_north" },
+ { "point": [ 12, 2, -4 ], "overmap": "refctr_NE3c_z-4_north" },
+ { "point": [ 13, 2, -4 ], "overmap": "refctr_NE4c_z-4_north" },
+ { "point": [ 14, 2, -4 ], "overmap": "refctr_NE5c_z-4_north" },
+ { "point": [ 10, 3, -4 ], "overmap": "refctr_NE1d_z-4_north" },
+ { "point": [ 11, 3, -4 ], "overmap": "refctr_NE2d_z-4_north" },
+ { "point": [ 12, 3, -4 ], "overmap": "refctr_NE3d_z-4_north" },
+ { "point": [ 13, 3, -4 ], "overmap": "refctr_NE4d_z-4_north" },
+ { "point": [ 14, 3, -4 ], "overmap": "refctr_NE5d_z-4_north" },
+ { "point": [ 10, 4, -4 ], "overmap": "refctr_NE1e_z-4_north" },
+ { "point": [ 11, 4, -4 ], "overmap": "refctr_NE2e_z-4_north" },
+ { "point": [ 12, 4, -4 ], "overmap": "refctr_NE3e_z-4_north" },
+ { "point": [ 13, 4, -4 ], "overmap": "refctr_NE4e_z-4_north" },
+ { "point": [ 14, 4, -4 ], "overmap": "refctr_NE5e_z-4_north" },
+ { "point": [ 0, 5, -4 ], "overmap": "refctr_W1a_z-4_north" },
+ { "point": [ 1, 5, -4 ], "overmap": "refctr_W2a_z-4_north" },
+ { "point": [ 2, 5, -4 ], "overmap": "refctr_W3a_z-4_north" },
+ { "point": [ 3, 5, -4 ], "overmap": "refctr_W4a_z-4_north" },
+ { "point": [ 4, 5, -4 ], "overmap": "refctr_W5a_z-4_north" },
+ { "point": [ 0, 6, -4 ], "overmap": "refctr_W1b_z-4_north" },
+ { "point": [ 1, 6, -4 ], "overmap": "refctr_W2b_z-4_north" },
+ { "point": [ 2, 6, -4 ], "overmap": "refctr_W3b_z-4_north" },
+ { "point": [ 3, 6, -4 ], "overmap": "refctr_W4b_z-4_north" },
+ { "point": [ 4, 6, -4 ], "overmap": "refctr_W5b_z-4_north" },
+ { "point": [ 0, 7, -4 ], "overmap": "refctr_W1c_z-4_north" },
+ { "point": [ 1, 7, -4 ], "overmap": "refctr_W2c_z-4_north" },
+ { "point": [ 2, 7, -4 ], "overmap": "refctr_W3c_z-4_north" },
+ { "point": [ 3, 7, -4 ], "overmap": "refctr_W4c_z-4_north" },
+ { "point": [ 4, 7, -4 ], "overmap": "refctr_W5c_z-4_north" },
+ { "point": [ 0, 8, -4 ], "overmap": "refctr_W1d_z-4_north" },
+ { "point": [ 1, 8, -4 ], "overmap": "refctr_W2d_z-4_north" },
+ { "point": [ 2, 8, -4 ], "overmap": "refctr_W3d_z-4_north" },
+ { "point": [ 3, 8, -4 ], "overmap": "refctr_W4d_z-4_north" },
+ { "point": [ 4, 8, -4 ], "overmap": "refctr_W5d_z-4_north" },
+ { "point": [ 0, 9, -4 ], "overmap": "refctr_W1e_z-4_north" },
+ { "point": [ 1, 9, -4 ], "overmap": "refctr_W2e_z-4_north" },
+ { "point": [ 2, 9, -4 ], "overmap": "refctr_W3e_z-4_north" },
+ { "point": [ 3, 9, -4 ], "overmap": "refctr_W4e_z-4_north" },
+ { "point": [ 4, 9, -4 ], "overmap": "refctr_W5e_z-4_north" },
+ { "point": [ 5, 5, -4 ], "overmap": "evac_center_1_z-4_north" },
+ { "point": [ 6, 5, -4 ], "overmap": "evac_center_2_z-4_north" },
+ { "point": [ 7, 5, -4 ], "overmap": "evac_center_3_z-4_north" },
+ { "point": [ 8, 5, -4 ], "overmap": "evac_center_4_z-4_north" },
+ { "point": [ 9, 5, -4 ], "overmap": "evac_center_5_z-4_north" },
+ { "point": [ 5, 6, -4 ], "overmap": "evac_center_6_z-4_north" },
+ { "point": [ 6, 6, -4 ], "overmap": "evac_center_7_z-4_north" },
+ { "point": [ 7, 6, -4 ], "overmap": "evac_center_8_z-4_north" },
+ { "point": [ 8, 6, -4 ], "overmap": "evac_center_9_z-4_north" },
+ { "point": [ 9, 6, -4 ], "overmap": "evac_center_10_z-4_north" },
+ { "point": [ 5, 7, -4 ], "overmap": "evac_center_11_z-4_north" },
+ { "point": [ 6, 7, -4 ], "overmap": "evac_center_12_z-4_north" },
+ { "point": [ 7, 7, -4 ], "overmap": "evac_center_13_z-4_north" },
+ { "point": [ 8, 7, -4 ], "overmap": "evac_center_14_z-4_north" },
+ { "point": [ 9, 7, -4 ], "overmap": "evac_center_15_z-4_north" },
+ { "point": [ 5, 8, -4 ], "overmap": "evac_center_16_z-4_north" },
+ { "point": [ 6, 8, -4 ], "overmap": "evac_center_17_z-4_north" },
+ { "point": [ 7, 8, -4 ], "overmap": "evac_center_18_z-4_north" },
+ { "point": [ 8, 8, -4 ], "overmap": "evac_center_19_z-4_north" },
+ { "point": [ 9, 8, -4 ], "overmap": "evac_center_20_z-4_north" },
+ { "point": [ 5, 9, -4 ], "overmap": "evac_center_21_z-4_north" },
+ { "point": [ 6, 9, -4 ], "overmap": "evac_center_22_z-4_north" },
+ { "point": [ 7, 9, -4 ], "overmap": "evac_center_23_z-4_north" },
+ { "point": [ 8, 9, -4 ], "overmap": "evac_center_24_z-4_north" },
+ { "point": [ 9, 9, -4 ], "overmap": "evac_center_25_z-4_north" },
+ { "point": [ 10, 5, -4 ], "overmap": "refctr_E1a_z-4_north" },
+ { "point": [ 11, 5, -4 ], "overmap": "refctr_E2a_z-4_north" },
+ { "point": [ 12, 5, -4 ], "overmap": "refctr_E3a_z-4_north" },
+ { "point": [ 13, 5, -4 ], "overmap": "refctr_E4a_z-4_north" },
+ { "point": [ 14, 5, -4 ], "overmap": "refctr_E5a_z-4_north" },
+ { "point": [ 10, 6, -4 ], "overmap": "refctr_E1b_z-4_north" },
+ { "point": [ 11, 6, -4 ], "overmap": "refctr_E2b_z-4_north" },
+ { "point": [ 12, 6, -4 ], "overmap": "refctr_E3b_z-4_north" },
+ { "point": [ 13, 6, -4 ], "overmap": "refctr_E4b_z-4_north" },
+ { "point": [ 14, 6, -4 ], "overmap": "refctr_E5b_z-4_north" },
+ { "point": [ 10, 7, -4 ], "overmap": "refctr_E1c_z-4_north" },
+ { "point": [ 11, 7, -4 ], "overmap": "refctr_E2c_z-4_north" },
+ { "point": [ 12, 7, -4 ], "overmap": "refctr_E3c_z-4_north" },
+ { "point": [ 13, 7, -4 ], "overmap": "refctr_E4c_z-4_north" },
+ { "point": [ 14, 7, -4 ], "overmap": "refctr_E5c_z-4_north" },
+ { "point": [ 10, 8, -4 ], "overmap": "refctr_E1d_z-4_north" },
+ { "point": [ 11, 8, -4 ], "overmap": "refctr_E2d_z-4_north" },
+ { "point": [ 12, 8, -4 ], "overmap": "refctr_E3d_z-4_north" },
+ { "point": [ 13, 8, -4 ], "overmap": "refctr_E4d_z-4_north" },
+ { "point": [ 14, 8, -4 ], "overmap": "refctr_E5d_z-4_north" },
+ { "point": [ 10, 9, -4 ], "overmap": "refctr_E1e_z-4_north" },
+ { "point": [ 11, 9, -4 ], "overmap": "refctr_E2e_z-4_north" },
+ { "point": [ 12, 9, -4 ], "overmap": "refctr_E3e_z-4_north" },
+ { "point": [ 13, 9, -4 ], "overmap": "refctr_E4e_z-4_north" },
+ { "point": [ 14, 9, -4 ], "overmap": "refctr_E5e_z-4_north" },
+ { "point": [ 0, 10, -4 ], "overmap": "refctr_SW1a_z-4_north" },
+ { "point": [ 1, 10, -4 ], "overmap": "refctr_SW2a_z-4_north" },
+ { "point": [ 2, 10, -4 ], "overmap": "refctr_SW3a_z-4_north" },
+ { "point": [ 3, 10, -4 ], "overmap": "refctr_SW4a_z-4_north" },
+ { "point": [ 4, 10, -4 ], "overmap": "refctr_SW5a_z-4_north" },
+ { "point": [ 0, 11, -4 ], "overmap": "refctr_SW1b_z-4_north" },
+ { "point": [ 1, 11, -4 ], "overmap": "refctr_SW2b_z-4_north" },
+ { "point": [ 2, 11, -4 ], "overmap": "refctr_SW3b_z-4_north" },
+ { "point": [ 3, 11, -4 ], "overmap": "refctr_SW4b_z-4_north" },
+ { "point": [ 4, 11, -4 ], "overmap": "refctr_SW5b_z-4_north" },
+ { "point": [ 0, 12, -4 ], "overmap": "refctr_SW1c_z-4_north" },
+ { "point": [ 1, 12, -4 ], "overmap": "refctr_SW2c_z-4_north" },
+ { "point": [ 2, 12, -4 ], "overmap": "refctr_SW3c_z-4_north" },
+ { "point": [ 3, 12, -4 ], "overmap": "refctr_SW4c_z-4_north" },
+ { "point": [ 4, 12, -4 ], "overmap": "refctr_SW5c_z-4_north" },
+ { "point": [ 0, 13, -4 ], "overmap": "refctr_SW1d_z-4_north" },
+ { "point": [ 1, 13, -4 ], "overmap": "refctr_SW2d_z-4_north" },
+ { "point": [ 2, 13, -4 ], "overmap": "refctr_SW3d_z-4_north" },
+ { "point": [ 3, 13, -4 ], "overmap": "refctr_SW4d_z-4_north" },
+ { "point": [ 4, 13, -4 ], "overmap": "refctr_SW5d_z-4_north" },
+ { "point": [ 0, 14, -4 ], "overmap": "refctr_SW1e_z-4_north" },
+ { "point": [ 1, 14, -4 ], "overmap": "refctr_SW2e_z-4_north" },
+ { "point": [ 2, 14, -4 ], "overmap": "refctr_SW3e_z-4_north" },
+ { "point": [ 3, 14, -4 ], "overmap": "refctr_SW4e_z-4_north" },
+ { "point": [ 4, 14, -4 ], "overmap": "refctr_SW5e_z-4_north" },
+ { "point": [ 5, 10, -4 ], "overmap": "refctr_S1a_z-4_north" },
+ { "point": [ 6, 10, -4 ], "overmap": "refctr_S2a_z-4_north" },
+ { "point": [ 7, 10, -4 ], "overmap": "refctr_S3a_z-4_north" },
+ { "point": [ 8, 10, -4 ], "overmap": "refctr_S4a_z-4_north" },
+ { "point": [ 9, 10, -4 ], "overmap": "refctr_S5a_z-4_north" },
+ { "point": [ 5, 11, -4 ], "overmap": "refctr_S1b_z-4_north" },
+ { "point": [ 6, 11, -4 ], "overmap": "refctr_S2b_z-4_north" },
+ { "point": [ 7, 11, -4 ], "overmap": "refctr_S3b_z-4_north" },
+ { "point": [ 8, 11, -4 ], "overmap": "refctr_S4b_z-4_north" },
+ { "point": [ 9, 11, -4 ], "overmap": "refctr_S5b_z-4_north" },
+ { "point": [ 5, 12, -4 ], "overmap": "refctr_S1c_z-4_north" },
+ { "point": [ 6, 12, -4 ], "overmap": "refctr_S2c_z-4_north" },
+ { "point": [ 7, 12, -4 ], "overmap": "refctr_S3c_z-4_north" },
+ { "point": [ 8, 12, -4 ], "overmap": "refctr_S4c_z-4_north" },
+ { "point": [ 9, 12, -4 ], "overmap": "refctr_S5c_z-4_north" },
+ { "point": [ 5, 13, -4 ], "overmap": "refctr_S1d_z-4_north" },
+ { "point": [ 6, 13, -4 ], "overmap": "refctr_S2d_z-4_north" },
+ { "point": [ 7, 13, -4 ], "overmap": "refctr_S3d_z-4_north" },
+ { "point": [ 8, 13, -4 ], "overmap": "refctr_S4d_z-4_north" },
+ { "point": [ 9, 13, -4 ], "overmap": "refctr_S5d_z-4_north" },
+ { "point": [ 5, 14, -4 ], "overmap": "refctr_S1e_z-4_north" },
+ { "point": [ 6, 14, -4 ], "overmap": "refctr_S2e_z-4_north" },
+ { "point": [ 7, 14, -4 ], "overmap": "refctr_S3e_z-4_north" },
+ { "point": [ 8, 14, -4 ], "overmap": "refctr_S4e_z-4_north" },
+ { "point": [ 9, 14, -4 ], "overmap": "refctr_S5e_z-4_north" },
+ { "point": [ 10, 10, -4 ], "overmap": "refctr_SE1a_z-4_north" },
+ { "point": [ 11, 10, -4 ], "overmap": "refctr_SE2a_z-4_north" },
+ { "point": [ 12, 10, -4 ], "overmap": "refctr_SE3a_z-4_north" },
+ { "point": [ 13, 10, -4 ], "overmap": "refctr_SE4a_z-4_north" },
+ { "point": [ 14, 10, -4 ], "overmap": "refctr_SE5a_z-4_north" },
+ { "point": [ 10, 11, -4 ], "overmap": "refctr_SE1b_z-4_north" },
+ { "point": [ 11, 11, -4 ], "overmap": "refctr_SE2b_z-4_north" },
+ { "point": [ 12, 11, -4 ], "overmap": "refctr_SE3b_z-4_north" },
+ { "point": [ 13, 11, -4 ], "overmap": "refctr_SE4b_z-4_north" },
+ { "point": [ 14, 11, -4 ], "overmap": "refctr_SE5b_z-4_north" },
+ { "point": [ 10, 12, -4 ], "overmap": "refctr_SE1c_z-4_north" },
+ { "point": [ 11, 12, -4 ], "overmap": "refctr_SE2c_z-4_north" },
+ { "point": [ 12, 12, -4 ], "overmap": "refctr_SE3c_z-4_north" },
+ { "point": [ 13, 12, -4 ], "overmap": "refctr_SE4c_z-4_north" },
+ { "point": [ 14, 12, -4 ], "overmap": "refctr_SE5c_z-4_north" },
+ { "point": [ 10, 13, -4 ], "overmap": "refctr_SE1d_z-4_north" },
+ { "point": [ 11, 13, -4 ], "overmap": "refctr_SE2d_z-4_north" },
+ { "point": [ 12, 13, -4 ], "overmap": "refctr_SE3d_z-4_north" },
+ { "point": [ 13, 13, -4 ], "overmap": "refctr_SE4d_z-4_north" },
+ { "point": [ 14, 13, -4 ], "overmap": "refctr_SE5d_z-4_north" },
+ { "point": [ 10, 14, -4 ], "overmap": "refctr_SE1e_z-4_north" },
+ { "point": [ 11, 14, -4 ], "overmap": "refctr_SE2e_z-4_north" },
+ { "point": [ 12, 14, -4 ], "overmap": "refctr_SE3e_z-4_north" },
+ { "point": [ 13, 14, -4 ], "overmap": "refctr_SE4e_z-4_north" },
+ { "point": [ 14, 14, -4 ], "overmap": "refctr_SE5e_z-4_north" },
+ { "point": [ 7, 15, 0 ], "overmap": "road_end_south" }
+ ],
+ "connections": [ { "point": [ 7, 15, 0 ] } ],
"locations": [ "wilderness" ],
"city_distance": [ 3, -1 ],
"city_sizes": [ 1, 16 ],
@@ -1813,9 +3369,10 @@
],
"connections": [ { "point": [ 1, -1, 0 ], "terrain": "road" } ],
"locations": [ "land" ],
- "city_sizes": [ 4, 12 ],
- "occurrences": [ 1, 4 ],
- "flags": [ "CLASSIC" ]
+ "city_distance": [ 0, 3 ],
+ "city_sizes": [ 8, 16 ],
+ "occurrences": [ 75, 100 ],
+ "flags": [ "UNIQUE" ]
},
{
"type": "overmap_special",
@@ -1851,9 +3408,10 @@
],
"connections": [ { "point": [ 1, -1, 0 ], "terrain": "road" } ],
"locations": [ "land" ],
- "city_sizes": [ 4, 12 ],
- "occurrences": [ 0, 4 ],
- "flags": [ "CLASSIC" ]
+ "city_distance": [ 0, 3 ],
+ "city_sizes": [ 4, 16 ],
+ "occurrences": [ 50, 100 ],
+ "flags": [ "UNIQUE" ]
},
{
"type": "overmap_special",
@@ -1889,8 +3447,8 @@
],
"locations": [ "land" ],
"city_distance": [ 10, -1 ],
- "city_sizes": [ 4, 12 ],
- "occurrences": [ 1, 5 ],
+ "city_sizes": [ 4, 16 ],
+ "occurrences": [ 75, 100 ],
"flags": [ "UNIQUE" ]
},
{
@@ -1927,8 +3485,8 @@
],
"locations": [ "land" ],
"city_distance": [ 10, -1 ],
- "city_sizes": [ 4, 12 ],
- "occurrences": [ 1, 5 ],
+ "city_sizes": [ 4, 16 ],
+ "occurrences": [ 50, 100 ],
"flags": [ "UNIQUE" ]
},
{
diff --git a/data/json/overmap_terrain.json b/data/json/overmap/overmap_terrain/overmap_terrain.json
similarity index 100%
rename from data/json/overmap_terrain.json
rename to data/json/overmap/overmap_terrain/overmap_terrain.json
diff --git a/data/json/overmap_terrain_abstract.json b/data/json/overmap/overmap_terrain/overmap_terrain_abstract.json
similarity index 99%
rename from data/json/overmap_terrain_abstract.json
rename to data/json/overmap/overmap_terrain/overmap_terrain_abstract.json
index 8204e99c57ea2..5af142174dfeb 100644
--- a/data/json/overmap_terrain_abstract.json
+++ b/data/json/overmap/overmap_terrain/overmap_terrain_abstract.json
@@ -164,7 +164,7 @@
"color": "white",
"extras": "field",
"see_cost": 5,
- "monster_density": 2
+ "mondensity": 2
},
{
"type": "overmap_terrain",
diff --git a/data/json/overmap_terrain_agricultural.json b/data/json/overmap/overmap_terrain/overmap_terrain_agricultural.json
similarity index 97%
rename from data/json/overmap_terrain_agricultural.json
rename to data/json/overmap/overmap_terrain/overmap_terrain_agricultural.json
index cc117542d377c..0aabc49dee016 100644
--- a/data/json/overmap_terrain_agricultural.json
+++ b/data/json/overmap/overmap_terrain/overmap_terrain_agricultural.json
@@ -27,10 +27,30 @@
"extras": "build",
"mondensity": 2
},
+ {
+ "type": "overmap_terrain",
+ "id": "farm_2_roof",
+ "name": "farm house roof",
+ "sym": "^",
+ "color": "i_brown",
+ "see_cost": 5,
+ "extras": "build",
+ "mondensity": 2
+ },
{
"type": "overmap_terrain",
"id": "farm_3",
- "name": "farm field",
+ "name": "farm barn",
+ "sym": "#",
+ "color": "i_brown",
+ "see_cost": 5,
+ "extras": "field",
+ "mondensity": 2
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "farm_3_roof",
+ "name": "farm barn roof",
"sym": "#",
"color": "i_brown",
"see_cost": 5,
diff --git a/data/json/overmap_terrain_campus.json b/data/json/overmap/overmap_terrain/overmap_terrain_campus.json
similarity index 100%
rename from data/json/overmap_terrain_campus.json
rename to data/json/overmap/overmap_terrain/overmap_terrain_campus.json
diff --git a/data/json/overmap_terrain_cemetery.json b/data/json/overmap/overmap_terrain/overmap_terrain_cemetery.json
similarity index 100%
rename from data/json/overmap_terrain_cemetery.json
rename to data/json/overmap/overmap_terrain/overmap_terrain_cemetery.json
diff --git a/data/json/overmap_terrain_commercial.json b/data/json/overmap/overmap_terrain/overmap_terrain_commercial.json
similarity index 90%
rename from data/json/overmap_terrain_commercial.json
rename to data/json/overmap/overmap_terrain/overmap_terrain_commercial.json
index a8de2c94acdd0..3fb570c31f5d7 100644
--- a/data/json/overmap_terrain_commercial.json
+++ b/data/json/overmap/overmap_terrain/overmap_terrain_commercial.json
@@ -277,6 +277,69 @@
"copy-from": "generic_city_building",
"color": "red"
},
+ {
+ "type": "overmap_terrain",
+ "id": "s_gun_roof",
+ "name": "gun store roof",
+ "copy-from": "generic_city_building",
+ "color": "red"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "s_gun_1",
+ "name": "gun store",
+ "copy-from": "generic_city_building",
+ "color": "red"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "s_gun_roof_1",
+ "name": "gun store roof",
+ "copy-from": "generic_city_building",
+ "color": "red"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "s_gun_2",
+ "name": "gun store",
+ "copy-from": "generic_city_building",
+ "color": "red"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "s_gun_3",
+ "name": "gun store",
+ "copy-from": "generic_city_building",
+ "color": "red"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "s_gun_roof_3",
+ "name": "gun store roof",
+ "copy-from": "generic_city_building",
+ "color": "red"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "s_gun_4",
+ "name": "gun store",
+ "copy-from": "generic_city_building",
+ "color": "red"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "s_gun_2ndfloor_4",
+ "name": "gun store 2nd floor",
+ "copy-from": "generic_city_building",
+ "color": "red"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "s_gun_roof_4",
+ "name": "gun store roof",
+ "copy-from": "generic_city_building",
+ "color": "red"
+ },
{
"type": "overmap_terrain",
"id": "s_clothes",
@@ -438,6 +501,27 @@
"copy-from": "generic_city_building",
"color": "i_brown"
},
+ {
+ "type": "overmap_terrain",
+ "id": "s_restaurant_foodplace",
+ "name": "restaurant",
+ "copy-from": "generic_city_building",
+ "color": "pink"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "s_restaurant_foodplace_roof",
+ "name": "restaurant roof",
+ "copy-from": "generic_city_building",
+ "color": "pink"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "s_restaurant_foodplace_upper_roof",
+ "name": "restaurant roof",
+ "copy-from": "generic_city_building",
+ "color": "pink"
+ },
{
"type": "overmap_terrain",
"id": "s_restaurant",
@@ -792,6 +876,46 @@
"copy-from": "generic_city_building",
"color": "i_light_gray"
},
+ {
+ "type": "overmap_terrain",
+ "id": "mil_surplus_roof",
+ "name": "mil. surplus roof",
+ "sym": "M",
+ "copy-from": "generic_city_building",
+ "color": "i_light_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "mil_surplus_1",
+ "name": "mil. surplus",
+ "sym": "M",
+ "copy-from": "generic_city_building",
+ "color": "i_light_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "mil_surplus_roof_1",
+ "name": "mil. surplus roof",
+ "sym": "M",
+ "copy-from": "generic_city_building",
+ "color": "i_light_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "mil_surplus_2",
+ "name": "mil. surplus",
+ "sym": "M",
+ "copy-from": "generic_city_building",
+ "color": "i_light_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "mil_surplus_roof_2",
+ "name": "mil. surplus roof",
+ "sym": "M",
+ "copy-from": "generic_city_building",
+ "color": "i_light_gray"
+ },
{
"type": "overmap_terrain",
"id": "furniture",
@@ -821,6 +945,14 @@
"sym": "m",
"color": "brown"
},
+ {
+ "type": "overmap_terrain",
+ "id": "s_music_roof",
+ "copy-from": "generic_city_building",
+ "name": "music store roof",
+ "sym": "m",
+ "color": "brown"
+ },
{
"type": "overmap_terrain",
"id": "megastore_entrance",
@@ -1416,6 +1548,30 @@
"sym": "L",
"color": "light_gray"
},
+ {
+ "type": "overmap_terrain",
+ "id": "lancenter_roof",
+ "name": "LAN center roof",
+ "copy-from": "generic_city_building",
+ "sym": "L",
+ "color": "light_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "lancenter_1",
+ "name": "LAN center",
+ "copy-from": "generic_city_building",
+ "sym": "L",
+ "color": "light_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "lancenter_roof_1",
+ "name": "LAN center roof",
+ "copy-from": "generic_city_building",
+ "sym": "L",
+ "color": "light_gray"
+ },
{
"type": "overmap_terrain",
"id": "landscapingsupplyco_1a",
@@ -1432,6 +1588,14 @@
"sym": "L",
"color": "i_green"
},
+ {
+ "type": "overmap_terrain",
+ "id": "landscapingsupplyco_1b_roof",
+ "copy-from": "generic_city_building",
+ "name": "landscaping supply co roof",
+ "sym": "L",
+ "color": "i_green"
+ },
{
"type": "overmap_terrain",
"id": "s_vfw",
@@ -1577,6 +1741,27 @@
"copy-from": "generic_city_building",
"color": "white_white"
},
+ {
+ "type": "overmap_terrain",
+ "id": "s_laundromat_roof",
+ "name": "laundromat roof",
+ "copy-from": "generic_city_building",
+ "color": "white_white"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "s_laundromat_1",
+ "name": "laundromat",
+ "copy-from": "generic_city_building",
+ "color": "white_white"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "s_laundromat_roof_1",
+ "name": "laundromat roof",
+ "copy-from": "generic_city_building",
+ "color": "white_white"
+ },
{
"type": "overmap_terrain",
"id": "s_jewelry",
@@ -1585,6 +1770,14 @@
"sym": "J",
"color": "white"
},
+ {
+ "type": "overmap_terrain",
+ "id": "s_jewelry_roof",
+ "name": "jewelry store roof",
+ "copy-from": "generic_city_building",
+ "sym": "J",
+ "color": "white"
+ },
{
"type": "overmap_terrain",
"abstract": "generic_motel",
@@ -1663,6 +1856,13 @@
"copy-from": "generic_city_building",
"color": "c_yellow_green"
},
+ {
+ "type": "overmap_terrain",
+ "id": "home_improvement_roof",
+ "name": "home improvement store roof",
+ "copy-from": "generic_city_building",
+ "color": "c_yellow_green"
+ },
{
"type": "overmap_terrain",
"id": "loffice_tower_1",
@@ -2005,6 +2205,30 @@
"sym": "0",
"color": "i_white"
},
+ {
+ "type": "overmap_terrain",
+ "id": "headshop",
+ "copy-from": "generic_city_building",
+ "name": "Head Shop",
+ "sym": "0",
+ "color": "i_white"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "headshop_roof",
+ "copy-from": "generic_city_building",
+ "name": "head shop roof",
+ "sym": "0",
+ "color": "i_white"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "headshop_upper_roof",
+ "copy-from": "generic_city_building",
+ "name": "head shop roof",
+ "sym": "0",
+ "color": "i_white"
+ },
{
"type": "overmap_terrain",
"id": "abstorefront",
diff --git a/data/json/overmap/overmap_terrain/overmap_terrain_evac_center.json b/data/json/overmap/overmap_terrain/overmap_terrain_evac_center.json
new file mode 100644
index 0000000000000..73e8d545dda74
--- /dev/null
+++ b/data/json/overmap/overmap_terrain/overmap_terrain_evac_center.json
@@ -0,0 +1,7996 @@
+[
+ {
+ "type": "overmap_terrain",
+ "abstract": "generic_evac_center",
+ "see_cost": 5
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_1",
+ "copy-from": "generic_evac_center",
+ "name": "road",
+ "sym": "┌",
+ "color": "dark_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_2",
+ "copy-from": "generic_evac_center",
+ "name": "road",
+ "sym": "─",
+ "color": "dark_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_3",
+ "copy-from": "generic_evac_center",
+ "name": "road",
+ "sym": "─",
+ "color": "dark_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_4",
+ "copy-from": "generic_evac_center",
+ "name": "road",
+ "sym": "─",
+ "color": "dark_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_5",
+ "copy-from": "generic_evac_center",
+ "name": "road",
+ "sym": "┐",
+ "color": "dark_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_6",
+ "copy-from": "generic_evac_center",
+ "name": "road",
+ "sym": "│",
+ "color": "dark_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_7",
+ "copy-from": "generic_evac_center",
+ "name": "refugee center",
+ "sym": "┼",
+ "color": "white"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_8",
+ "copy-from": "generic_evac_center",
+ "name": "refugee center",
+ "sym": "┼",
+ "color": "white"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_9",
+ "copy-from": "generic_evac_center",
+ "name": "refugee center",
+ "sym": "┼",
+ "color": "white"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_10",
+ "copy-from": "generic_evac_center",
+ "name": "road",
+ "sym": "│",
+ "color": "dark_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_11",
+ "copy-from": "generic_evac_center",
+ "name": "road",
+ "sym": "│",
+ "color": "dark_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_12",
+ "copy-from": "generic_evac_center",
+ "name": "refugee center",
+ "sym": "┼",
+ "color": "white"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_13",
+ "copy-from": "generic_evac_center",
+ "name": "refugee center",
+ "sym": "┼",
+ "color": "white"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_14",
+ "copy-from": "generic_evac_center",
+ "name": "refugee center",
+ "sym": "┼",
+ "color": "white"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_15",
+ "copy-from": "generic_evac_center",
+ "name": "road",
+ "sym": "│",
+ "color": "dark_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_16",
+ "copy-from": "generic_evac_center",
+ "name": "road",
+ "sym": "│",
+ "color": "dark_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_17",
+ "copy-from": "generic_evac_center",
+ "name": "refugee center",
+ "sym": "┼",
+ "color": "white"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_18",
+ "copy-from": "generic_evac_center",
+ "name": "refugee center",
+ "sym": "┼",
+ "color": "white"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_19",
+ "copy-from": "generic_evac_center",
+ "name": "refugee center",
+ "sym": "┼",
+ "color": "white"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_20",
+ "copy-from": "generic_evac_center",
+ "name": "road",
+ "sym": "│",
+ "color": "dark_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_21",
+ "copy-from": "generic_evac_center",
+ "name": "road",
+ "sym": "└",
+ "color": "dark_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_22",
+ "copy-from": "generic_evac_center",
+ "name": "road",
+ "sym": "─",
+ "color": "dark_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_23",
+ "copy-from": "generic_evac_center",
+ "name": "road",
+ "sym": "┬",
+ "color": "dark_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_24",
+ "copy-from": "generic_evac_center",
+ "name": "road",
+ "sym": "─",
+ "color": "dark_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_25",
+ "copy-from": "generic_evac_center",
+ "name": "road",
+ "sym": "┘",
+ "color": "dark_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "abstract": "generic_refctr",
+ "see_cost": 2,
+ "name": "field",
+ "sym": ".",
+ "color": "brown"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3a",
+ "copy-from": "generic_evac_center",
+ "name": "road",
+ "sym": "│",
+ "color": "dark_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3b",
+ "copy-from": "generic_evac_center",
+ "name": "road",
+ "sym": "│",
+ "color": "dark_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3c",
+ "copy-from": "generic_evac_center",
+ "name": "road",
+ "sym": "│",
+ "color": "dark_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3d",
+ "copy-from": "generic_evac_center",
+ "name": "road",
+ "sym": "│",
+ "color": "dark_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3e",
+ "copy-from": "generic_evac_center",
+ "name": "road",
+ "sym": "│",
+ "color": "dark_gray"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5a",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5b",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5c",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5d",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5e",
+ "copy-from": "generic_refctr"
+ },
+ {
+ "type": "overmap_terrain",
+ "abstract": "generic_rc_air",
+ "name": "open air",
+ "sym": ".",
+ "color": "blue",
+ "see_cost": 1
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_1_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_2_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_3_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_4_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_5_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_6_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_7_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_8_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_9_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_10_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_11_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_12_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_13_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_14_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_15_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_16_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_17_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_18_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_19_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_20_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_21_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_22_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_23_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_24_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_25_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5a_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5b_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5c_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5d_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5e_z1",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_1_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_2_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_3_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_4_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_5_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_6_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_7_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_8_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_9_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_10_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_11_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_12_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_13_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_14_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_15_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_16_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_17_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_18_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_19_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_20_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_21_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_22_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_23_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_24_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_25_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5a_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5b_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5c_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5d_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5e_z2",
+ "copy-from": "generic_rc_air"
+ },
+ {
+ "type": "overmap_terrain",
+ "abstract": "generic_rc_underground",
+ "name": "solid rock",
+ "sym": "%",
+ "color": "dark_gray",
+ "see_cost": 5
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_1_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_2_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_3_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_4_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_5_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_6_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_7_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_8_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_9_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_10_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_11_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_12_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_13_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_14_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_15_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_16_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_17_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_18_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_19_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_20_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_21_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_22_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_23_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_24_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_25_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5a_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5b_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5c_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5d_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5e_z-1",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_1_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_2_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_3_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_4_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_5_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_6_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_7_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_8_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_9_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_10_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_11_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_12_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_13_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_14_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_15_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_16_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_17_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_18_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_19_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_20_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_21_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_22_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_23_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_24_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_25_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5a_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5b_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5c_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5d_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5e_z-2",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_1_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_2_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_3_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_4_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_5_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_6_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_7_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_8_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_9_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_10_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_11_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_12_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_13_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_14_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_15_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_16_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_17_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_18_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_19_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_20_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_21_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_22_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_23_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_24_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_25_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5a_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5b_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5c_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5d_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5e_z-3",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW1e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW2e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW3e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW4e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NW5e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N1e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N2e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N3e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N4e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_N5e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE1e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE2e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE3e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE4e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_NE5e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W1e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W2e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W3e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W4e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_W5e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_1_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_2_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_3_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_4_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_5_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_6_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_7_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_8_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_9_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_10_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_11_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_12_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_13_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_14_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_15_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_16_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_17_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_18_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_19_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_20_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_21_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_22_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_23_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_24_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "evac_center_25_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E1e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E2e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E3e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E4e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_E5e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW1e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW2e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW3e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW4e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SW5e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S1e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S2e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S3e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S4e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_S5e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5a_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5b_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5c_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5d_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE1e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE2e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE3e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE4e_z-4",
+ "copy-from": "generic_rc_underground"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "refctr_SE5e_z-4",
+ "copy-from": "generic_rc_underground"
+ }
+]
diff --git a/data/json/overmap_terrain_faction_base.json b/data/json/overmap/overmap_terrain/overmap_terrain_faction_base.json
similarity index 100%
rename from data/json/overmap_terrain_faction_base.json
rename to data/json/overmap/overmap_terrain/overmap_terrain_faction_base.json
diff --git a/data/json/overmap_terrain_hardcoded.json b/data/json/overmap/overmap_terrain/overmap_terrain_hardcoded.json
similarity index 100%
rename from data/json/overmap_terrain_hardcoded.json
rename to data/json/overmap/overmap_terrain/overmap_terrain_hardcoded.json
diff --git a/data/json/overmap_terrain_industrial.json b/data/json/overmap/overmap_terrain/overmap_terrain_industrial.json
similarity index 100%
rename from data/json/overmap_terrain_industrial.json
rename to data/json/overmap/overmap_terrain/overmap_terrain_industrial.json
diff --git a/data/json/overmap_terrain_lab.json b/data/json/overmap/overmap_terrain/overmap_terrain_lab.json
similarity index 100%
rename from data/json/overmap_terrain_lab.json
rename to data/json/overmap/overmap_terrain/overmap_terrain_lab.json
diff --git a/data/json/overmap_terrain_mall.json b/data/json/overmap/overmap_terrain/overmap_terrain_mall.json
similarity index 100%
rename from data/json/overmap_terrain_mall.json
rename to data/json/overmap/overmap_terrain/overmap_terrain_mall.json
diff --git a/data/json/overmap_terrain_mansion.json b/data/json/overmap/overmap_terrain/overmap_terrain_mansion.json
similarity index 100%
rename from data/json/overmap_terrain_mansion.json
rename to data/json/overmap/overmap_terrain/overmap_terrain_mansion.json
diff --git a/data/json/overmap_terrain_military.json b/data/json/overmap/overmap_terrain/overmap_terrain_military.json
similarity index 92%
rename from data/json/overmap_terrain_military.json
rename to data/json/overmap/overmap_terrain/overmap_terrain_military.json
index 3af35e2c78054..e3432cad20037 100644
--- a/data/json/overmap_terrain_military.json
+++ b/data/json/overmap/overmap_terrain/overmap_terrain_military.json
@@ -91,6 +91,15 @@
"see_cost": 2,
"flags": [ "KNOWN_DOWN", "NO_ROTATE" ]
},
+ {
+ "type": "overmap_terrain",
+ "id": "lmoe_roof",
+ "name": "LMOE shelter",
+ "sym": ".",
+ "color": "brown",
+ "see_cost": 2,
+ "flags": [ "KNOWN_DOWN", "NO_ROTATE" ]
+ },
{
"type": "overmap_terrain",
"id": "lmoe_under",
@@ -100,6 +109,15 @@
"see_cost": 2,
"flags": [ "KNOWN_UP", "NO_ROTATE" ]
},
+ {
+ "type": "overmap_terrain",
+ "id": "lmoe_under_empty",
+ "name": "LMOE shelter",
+ "sym": "+",
+ "color": "red",
+ "see_cost": 2,
+ "flags": [ "KNOWN_UP", "NO_ROTATE" ]
+ },
{
"type": "overmap_terrain",
"id": "bunker",
diff --git a/data/json/overmap_terrain_necropolis.json b/data/json/overmap/overmap_terrain/overmap_terrain_necropolis.json
similarity index 100%
rename from data/json/overmap_terrain_necropolis.json
rename to data/json/overmap/overmap_terrain/overmap_terrain_necropolis.json
diff --git a/data/json/overmap_terrain_public_institutional.json b/data/json/overmap/overmap_terrain/overmap_terrain_public_institutional.json
similarity index 88%
rename from data/json/overmap_terrain_public_institutional.json
rename to data/json/overmap/overmap_terrain/overmap_terrain_public_institutional.json
index 24c589c1b3fb3..76c01fd18718a 100644
--- a/data/json/overmap_terrain_public_institutional.json
+++ b/data/json/overmap/overmap_terrain/overmap_terrain_public_institutional.json
@@ -125,6 +125,41 @@
"copy-from": "generic_city_building",
"color": "i_brown"
},
+ {
+ "type": "overmap_terrain",
+ "id": "s_library_roof",
+ "name": "library roof",
+ "copy-from": "generic_city_building",
+ "color": "i_brown"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "s_library_1",
+ "name": "library",
+ "copy-from": "generic_city_building",
+ "color": "i_brown"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "s_library_roof_1",
+ "name": "library roof",
+ "copy-from": "generic_city_building",
+ "color": "i_brown"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "s_library_2",
+ "name": "library",
+ "copy-from": "generic_city_building",
+ "color": "i_brown"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "s_library_roof_2",
+ "name": "library roof",
+ "copy-from": "generic_city_building",
+ "color": "i_brown"
+ },
{
"type": "overmap_terrain",
"id": "police",
@@ -1106,5 +1141,116 @@
"color": "green",
"see_cost": 2,
"mondensity": 2
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "town_hall_0_0_0",
+ "name": "town hall",
+ "sym": "^",
+ "color": "i_black",
+ "see_cost": 2,
+ "mondensity": 2,
+ "flags": [ "SIDEWALK" ]
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "town_hall_1_0_0",
+ "name": "town hall",
+ "sym": "^",
+ "color": "i_black",
+ "see_cost": 2,
+ "mondensity": 2,
+ "flags": [ "SIDEWALK" ]
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "town_hall_0_1_0",
+ "name": "town hall",
+ "sym": "^",
+ "color": "i_black",
+ "see_cost": 2,
+ "flags": [ "SIDEWALK" ]
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "town_hall_1_1_0",
+ "name": "town hall",
+ "sym": "^",
+ "color": "i_black",
+ "see_cost": 2,
+ "mondensity": 2,
+ "flags": [ "SIDEWALK" ]
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "town_hall_0_0_1",
+ "name": "town hall",
+ "sym": "^",
+ "color": "i_black",
+ "see_cost": 2,
+ "mondensity": 2
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "town_hall_1_0_1",
+ "name": "town hall",
+ "sym": "^",
+ "color": "i_black",
+ "see_cost": 2,
+ "mondensity": 2
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "town_hall_0_1_1",
+ "name": "town hall",
+ "sym": "^",
+ "color": "i_black",
+ "see_cost": 2,
+ "mondensity": 2
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "town_hall_1_1_1",
+ "name": "town hall",
+ "sym": "^",
+ "color": "i_black",
+ "see_cost": 2,
+ "mondensity": 2
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "town_hall_0_0_roof",
+ "name": "town hall",
+ "sym": ".",
+ "color": "light_blue",
+ "see_cost": 2,
+ "mondensity": 2
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "town_hall_1_0_roof",
+ "name": "town hall",
+ "sym": ".",
+ "color": "light_blue",
+ "see_cost": 2,
+ "mondensity": 2
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "town_hall_0_1_roof",
+ "name": "town hall",
+ "sym": ".",
+ "color": "light_blue",
+ "see_cost": 2,
+ "mondensity": 2
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "town_hall_1_1_roof",
+ "name": "town hall",
+ "sym": ".",
+ "color": "light_blue",
+ "see_cost": 2,
+ "mondensity": 2
}
]
diff --git a/data/json/overmap_terrain_ranch_camp.json b/data/json/overmap/overmap_terrain/overmap_terrain_ranch_camp.json
similarity index 100%
rename from data/json/overmap_terrain_ranch_camp.json
rename to data/json/overmap/overmap_terrain/overmap_terrain_ranch_camp.json
diff --git a/data/json/overmap_terrain_recreational.json b/data/json/overmap/overmap_terrain/overmap_terrain_recreational.json
similarity index 97%
rename from data/json/overmap_terrain_recreational.json
rename to data/json/overmap/overmap_terrain/overmap_terrain_recreational.json
index e64a3b5dc076f..1915ae5bd3ddf 100644
--- a/data/json/overmap_terrain_recreational.json
+++ b/data/json/overmap/overmap_terrain/overmap_terrain_recreational.json
@@ -957,6 +957,38 @@
"sym": "M",
"color": "i_light_blue"
},
+ {
+ "type": "overmap_terrain",
+ "id": "music_venue_roof",
+ "copy-from": "generic_city_building",
+ "name": "music venue roof",
+ "sym": "M",
+ "color": "i_light_blue"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "music_venue_1",
+ "copy-from": "generic_city_building",
+ "name": "music venue",
+ "sym": "M",
+ "color": "i_light_blue"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "music_venue_1_roof",
+ "copy-from": "generic_city_building",
+ "name": "music venue roof",
+ "sym": "M",
+ "color": "i_light_blue"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "music_venue_1_roof_top",
+ "copy-from": "generic_city_building",
+ "name": "music venue roof",
+ "sym": "M",
+ "color": "i_light_blue"
+ },
{
"type": "overmap_terrain",
"id": "gambling_hall",
diff --git a/data/json/overmap_terrain_residential.json b/data/json/overmap/overmap_terrain/overmap_terrain_residential.json
similarity index 95%
rename from data/json/overmap_terrain_residential.json
rename to data/json/overmap/overmap_terrain/overmap_terrain_residential.json
index 055d87b896221..36150635cd327 100644
--- a/data/json/overmap_terrain_residential.json
+++ b/data/json/overmap/overmap_terrain/overmap_terrain_residential.json
@@ -342,5 +342,24 @@
"sym": "X",
"color": "i_brown",
"extras": "field"
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "house_2story_base",
+ "name": "house",
+ "sym": "^",
+ "color": "light_green",
+ "see_cost": 2,
+ "mondensity": 2,
+ "flags": [ "SIDEWALK" ]
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "house_2story_second",
+ "name": "house",
+ "sym": "^",
+ "color": "light_green",
+ "see_cost": 2,
+ "mondensity": 2
}
]
diff --git a/data/json/overmap_terrain_river.json b/data/json/overmap/overmap_terrain/overmap_terrain_river.json
similarity index 100%
rename from data/json/overmap_terrain_river.json
rename to data/json/overmap/overmap_terrain/overmap_terrain_river.json
diff --git a/data/json/overmap_terrain_robofachq.json b/data/json/overmap/overmap_terrain/overmap_terrain_robofachq.json
similarity index 100%
rename from data/json/overmap_terrain_robofachq.json
rename to data/json/overmap/overmap_terrain/overmap_terrain_robofachq.json
diff --git a/data/json/overmap_terrain_transportation.json b/data/json/overmap/overmap_terrain/overmap_terrain_transportation.json
similarity index 100%
rename from data/json/overmap_terrain_transportation.json
rename to data/json/overmap/overmap_terrain/overmap_terrain_transportation.json
diff --git a/data/json/overmap_terrain_waste_junk.json b/data/json/overmap/overmap_terrain/overmap_terrain_waste_junk.json
similarity index 100%
rename from data/json/overmap_terrain_waste_junk.json
rename to data/json/overmap/overmap_terrain/overmap_terrain_waste_junk.json
diff --git a/data/json/overmap_terrain_waterbody.json b/data/json/overmap/overmap_terrain/overmap_terrain_waterbody.json
similarity index 100%
rename from data/json/overmap_terrain_waterbody.json
rename to data/json/overmap/overmap_terrain/overmap_terrain_waterbody.json
diff --git a/data/json/overmap_terrain_evac_center.json b/data/json/overmap_terrain_evac_center.json
deleted file mode 100644
index 5921e3c93f7dd..0000000000000
--- a/data/json/overmap_terrain_evac_center.json
+++ /dev/null
@@ -1,208 +0,0 @@
-[
- {
- "type": "overmap_terrain",
- "abstract": "generic_evac_center",
- "see_cost": 5,
- "mondensity": 2
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_1",
- "copy-from": "generic_evac_center",
- "name": "road",
- "sym": "┌",
- "color": "dark_gray"
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_2",
- "copy-from": "generic_evac_center",
- "name": "road",
- "sym": "─",
- "color": "dark_gray"
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_3",
- "copy-from": "generic_evac_center",
- "name": "road",
- "sym": "─",
- "color": "dark_gray"
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_4",
- "copy-from": "generic_evac_center",
- "name": "road",
- "sym": "─",
- "color": "dark_gray"
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_5",
- "copy-from": "generic_evac_center",
- "name": "road",
- "sym": "┐",
- "color": "dark_gray"
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_6",
- "copy-from": "generic_evac_center",
- "name": "road",
- "sym": "│",
- "color": "dark_gray"
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_7",
- "copy-from": "generic_evac_center",
- "name": "refugee center",
- "sym": "┼",
- "color": "white"
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_8",
- "copy-from": "generic_evac_center",
- "name": "refugee center",
- "sym": "┼",
- "color": "white"
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_9",
- "copy-from": "generic_evac_center",
- "name": "refugee center",
- "sym": "┼",
- "color": "white"
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_10",
- "copy-from": "generic_evac_center",
- "name": "road",
- "sym": "│",
- "color": "dark_gray"
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_11",
- "copy-from": "generic_evac_center",
- "name": "road",
- "sym": "│",
- "color": "dark_gray"
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_12",
- "copy-from": "generic_evac_center",
- "name": "refugee center",
- "sym": "┼",
- "color": "white"
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_13",
- "copy-from": "generic_evac_center",
- "name": "refugee center",
- "sym": "┼",
- "color": "white"
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_14",
- "copy-from": "generic_evac_center",
- "name": "refugee center",
- "sym": "┼",
- "color": "white"
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_15",
- "copy-from": "generic_evac_center",
- "name": "road",
- "sym": "│",
- "color": "dark_gray"
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_16",
- "copy-from": "generic_evac_center",
- "name": "road",
- "sym": "│",
- "color": "dark_gray"
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_17",
- "copy-from": "generic_evac_center",
- "name": "refugee center",
- "sym": "┼",
- "color": "white"
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_18",
- "copy-from": "generic_evac_center",
- "name": "refugee center",
- "sym": "┼",
- "color": "white"
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_19",
- "copy-from": "generic_evac_center",
- "name": "refugee center",
- "sym": "┼",
- "color": "white"
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_20",
- "copy-from": "generic_evac_center",
- "name": "road",
- "sym": "│",
- "color": "dark_gray"
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_21",
- "copy-from": "generic_evac_center",
- "name": "road",
- "sym": "└",
- "color": "dark_gray"
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_22",
- "copy-from": "generic_evac_center",
- "name": "road",
- "sym": "─",
- "color": "dark_gray"
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_23",
- "copy-from": "generic_evac_center",
- "name": "road",
- "sym": "┬",
- "color": "dark_gray"
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_24",
- "copy-from": "generic_evac_center",
- "name": "road",
- "sym": "─",
- "color": "dark_gray"
- },
- {
- "type": "overmap_terrain",
- "id": "evac_center_25",
- "copy-from": "generic_evac_center",
- "name": "road",
- "sym": "┘",
- "color": "dark_gray"
- }
-]
diff --git a/data/json/player_activities.json b/data/json/player_activities.json
index b40ee75d09e91..aff0dce69368b 100644
--- a/data/json/player_activities.json
+++ b/data/json/player_activities.json
@@ -25,6 +25,15 @@
"based_on": "neither",
"no_resume": true
},
+ {
+ "id": "ACT_BLUEPRINT_CONSTRUCTION",
+ "type": "activity_type",
+ "activity_level": "ACTIVE_EXERCISE",
+ "verb": "constructing",
+ "suspendable": false,
+ "based_on": "neither",
+ "no_resume": true
+ },
{
"id": "ACT_GAME",
"type": "activity_type",
@@ -609,6 +618,7 @@
"activity_level": "NO_EXERCISE",
"verb": "studying",
"suspendable": false,
+ "refuel_fires": true,
"rooted": true,
"based_on": "time",
"no_resume": true
diff --git a/data/json/professions.json b/data/json/professions.json
index e68bcec4ac4f7..7835b1fd608c5 100644
--- a/data/json/professions.json
+++ b/data/json/professions.json
@@ -22,21 +22,12 @@
{
"type": "item_group",
"subtype": "collection",
- "id": "army_mags_rm51",
+ "id": "army_mags_m2010",
"entries": [
- { "item": "8x40_50_mag", "ammo-item": "8mm_fmj", "charges": 50 },
- { "item": "8x40_50_mag", "ammo-item": "8mm_fmj", "charges": 50 }
- ]
- },
- {
- "type": "item_group",
- "subtype": "collection",
- "id": "army_mags_rm25",
- "entries": [
- { "item": "8x40_25_mag", "ammo-item": "8mm_fmj", "charges": 25 },
- { "item": "8x40_25_mag", "ammo-item": "8mm_fmj", "charges": 25 },
- { "item": "8x40_25_mag", "ammo-item": "8mm_fmj", "charges": 25 },
- { "item": "8x40_25_mag", "ammo-item": "8mm_fmj", "charges": 25 }
+ { "item": "m2010mag", "ammo-item": "300_winmag", "charges": 5 },
+ { "item": "m2010mag", "ammo-item": "300_winmag", "charges": 5 },
+ { "item": "m2010mag", "ammo-item": "300_winmag", "charges": 5 },
+ { "item": "m2010mag", "ammo-item": "300_winmag", "charges": 5 }
]
},
{
@@ -69,10 +60,10 @@
{
"type": "item_group",
"subtype": "collection",
- "id": "army_mags_lw21",
+ "id": "army_mags_glock17",
"entries": [
- { "item": "lw21mag", "ammo-item": "9mmfmj", "charges": 21 },
- { "item": "lw21mag", "ammo-item": "9mmfmj", "charges": 21 }
+ { "item": "glock17_22", "ammo-item": "9mmfmj", "charges": 22 },
+ { "item": "glock17_22", "ammo-item": "9mmfmj", "charges": 22 }
]
},
{
@@ -552,6 +543,33 @@
"female": [ "sports_bra", "panties" ]
}
},
+ {
+ "type": "profession",
+ "ident": "true_foodperson",
+ "name": "True Foodperson",
+ "description": "You are the true Foodperson, some might think Foodperson is just a mascot, but you know better. You are Foodperson, the mask has become your face, you are real and the only thing standing between this world and oblivion is you.",
+ "points": 0,
+ "traits": [ "PROF_FOODP" ],
+ "skills": [ { "level": 2, "name": "speech" } ],
+ "items": {
+ "both": {
+ "items": [
+ "foodperson_mask",
+ "pants_cargo",
+ "briefs",
+ "cape_fp",
+ "dress_shirt",
+ "armguard_hard",
+ "legguard_hard",
+ "gloves_rubber",
+ "socks",
+ "chestguard_hard",
+ "boots_rubber"
+ ],
+ "entries": [ { "item": "medium_disposable_cell" }, { "group": "snacks_fancy" }, { "group": "snacks" }, { "item": "bat" } ]
+ }
+ }
+ },
{
"type": "profession",
"ident": "cyclist",
@@ -1003,8 +1021,8 @@
],
"entries": [
{ "group": "charged_cell_phone" },
- { "item": "l_enforcer_45", "ammo-item": "460_rowland", "charges": 6, "container-item": "sholster" },
- { "item": "460_rowland", "charges": 24 }
+ { "item": "sw_619", "ammo-item": "357mag_fmj", "charges": 6, "container-item": "sholster" },
+ { "item": "357mag_fmj", "charges": 24 }
]
},
"male": [ "briefs" ],
@@ -1262,8 +1280,8 @@
"entries": [
{ "group": "charged_cell_phone" },
{ "item": "ear_plugs", "custom-flags": [ "no_auto_equip" ] },
- { "item": "remington_700", "ammo-item": "270", "charges": 4, "contents-item": "shoulder_strap" },
- { "item": "270", "charges": 16, "container-item": "bandolier_rifle" },
+ { "item": "remington700_270", "ammo-item": "270win_jsp", "charges": 4, "contents-item": "shoulder_strap" },
+ { "item": "270win_jsp", "charges": 16, "container-item": "bandolier_rifle" },
{ "item": "sheath", "contents-item": "knife_hunting" }
]
},
@@ -1665,8 +1683,8 @@
"two_way_radio"
],
"entries": [
- { "item": "l_mp_9mm", "ammo-item": "9mmP", "container-item": "holster" },
- { "item": "chestrig", "container-group": "army_mags_lw21" }
+ { "item": "glock_18c", "ammo-item": "9mmP", "container-item": "holster" },
+ { "item": "chestrig", "container-group": "army_mags_glock17" }
]
},
"male": [ "boxer_shorts" ],
@@ -1761,12 +1779,8 @@
"entries": [
{ "item": "ear_plugs", "custom-flags": [ "no_auto_equip" ] },
{ "item": "sheath", "contents-item": "knife_combat" },
- {
- "item": "rm51_assault_rifle",
- "ammo-item": "8mm_fmj",
- "contents-item": [ "shoulder_strap", "acog_scope" ]
- },
- { "item": "modularvestceramic", "contents-group": "army_mags_rm51" }
+ { "item": "h&k416a5", "ammo-item": "556", "contents-item": [ "shoulder_strap", "acog_scope" ] },
+ { "item": "modularvestceramic", "contents-group": "army_mags_m4" }
]
},
"male": [ "boxer_shorts" ],
@@ -1824,11 +1838,15 @@
"entries": [
{ "item": "ear_plugs", "custom-flags": [ "no_auto_equip" ] },
{ "item": "hat_boonie", "custom-flags": [ "no_auto_equip" ] },
- { "item": "rm11b_sniper_rifle", "ammo-item": "8mm_fmj", "contents-item": [ "shoulder_strap" ] },
+ {
+ "item": "m2010",
+ "ammo-item": "300_winmag",
+ "contents-item": [ "shoulder_strap", "rifle_scope", "bipod" ]
+ },
{ "item": "usp_45", "ammo-item": "45_acp", "charges": 12, "container-item": "holster" },
{ "item": "usp45mag", "ammo-item": "45_acp", "charges": 12 },
{ "item": "usp45mag", "ammo-item": "45_acp", "charges": 12 },
- { "item": "chestrig", "contents-group": [ "army_mags_rm25" ] }
+ { "item": "chestrig", "contents-group": [ "army_mags_m2010" ] }
]
},
"male": [ "boxer_shorts" ],
@@ -3802,5 +3820,58 @@
"male": [ "boxer_shorts" ],
"female": [ "bra", "panties" ]
}
+ },
+ {
+ "type": "profession",
+ "ident": "roadie",
+ "name": "Roadie",
+ "description": "You worked just outside of the limelight, ensuring that the performers got what they needed and that everything ran smoothly. The stakes are higher these days, but the show must go on.",
+ "points": 3,
+ "skills": [
+ { "level": 2, "name": "fabrication" },
+ { "level": 1, "name": "driving" },
+ { "level": 2, "name": "electronics" },
+ { "level": 1, "name": "dodge" },
+ { "level": 1, "name": "mechanics" }
+ ],
+ "items": {
+ "both": {
+ "ammo": 100,
+ "magazine": 100,
+ "items": [
+ "tshirt_tour",
+ "jeans",
+ "socks",
+ "boots_steel",
+ "multitool",
+ "wristwatch",
+ "gloves_work",
+ "mbag",
+ "soldering_iron",
+ "matches"
+ ],
+ "entries": [ { "group": "charged_cell_phone" }, { "item": "jacket_jean", "snippet_category": "patched" } ]
+ },
+ "male": [ "boxer_shorts" ],
+ "female": [ "bra", "boy_shorts" ]
+ }
+ },
+ {
+ "type": "profession",
+ "ident": "musician",
+ "name": "Musician",
+ "description": "You were just about to hit the stage when the Cataclysm struck. You weren't able to grab much during the panic, but at least you have your loaded six string on your back.",
+ "points": -1,
+ "skills": [ { "level": 1, "name": "barter" }, { "level": 2, "name": "speech" } ],
+ "items": {
+ "both": {
+ "ammo": 100,
+ "magazine": 100,
+ "items": [ "tshirt_tour", "shorts_cargo", "socks", "sneakers", "wristwatch", "water_clean", "guitar_electric" ],
+ "entries": [ { "item": "towel", "custom-flags": [ "no_auto_equip" ] }, { "group": "charged_cell_phone" } ]
+ },
+ "male": [ "boxer_shorts" ],
+ "female": [ "bra", "boy_shorts" ]
+ }
}
]
diff --git a/data/json/recipes/ammo/pistol.json b/data/json/recipes/ammo/pistol.json
index 2593b04e325e8..93356ddbcb147 100644
--- a/data/json/recipes/ammo/pistol.json
+++ b/data/json/recipes/ammo/pistol.json
@@ -63,22 +63,6 @@
"qualities": [ { "id": "CUT", "level": 1 } ],
"components": [ [ [ "chem_black_powder", 4 ] ], [ [ "lgpistol_primer", 1 ] ], [ [ "paper", 1 ], [ "aluminum_foil", 1 ] ] ]
},
- {
- "result": "reloaded_10mm",
- "type": "recipe",
- "category": "CC_AMMO",
- "subcategory": "CSC_AMMO_PISTOL",
- "skill_used": "fabrication",
- "difficulty": 5,
- "skills_required": [ "gun", 5 ],
- "time": "2 m",
- "batch_time_factors": [ 60, 5 ],
- "book_learn": [ [ "manual_pistol", 4 ] ],
- "charges": 1,
- "reversible": true,
- "using": [ [ "bullet_forming", 2 ], [ "ammo_bullet", 2 ] ],
- "components": [ [ [ "40_casing", 1 ] ], [ [ "smpistol_primer", 1 ] ], [ [ "gunpowder", 5 ] ] ]
- },
{
"result": "reloaded_32_acp",
"type": "recipe",
@@ -127,6 +111,22 @@
"using": [ [ "bullet_forming", 2 ], [ "ammo_bullet", 2 ] ],
"components": [ [ [ "38_casing", 1 ] ], [ [ "smpistol_primer", 1 ] ], [ [ "gunpowder", 2 ] ] ]
},
+ {
+ "result": "reloaded_38super_fmj",
+ "type": "recipe",
+ "category": "CC_AMMO",
+ "subcategory": "CSC_AMMO_PISTOL",
+ "skill_used": "fabrication",
+ "difficulty": 3,
+ "skills_required": [ "gun", 1 ],
+ "time": "2 m",
+ "batch_time_factors": [ 60, 5 ],
+ "book_learn": [ [ "manual_pistol", 1 ], [ "recipe_bullets", 2 ] ],
+ "charges": 1,
+ "reversible": true,
+ "using": [ [ "bullet_forming", 2 ], [ "ammo_bullet", 2 ], [ "ammo_38super", 1 ] ],
+ "components": [ [ [ "gunpowder", 3 ] ] ]
+ },
{
"result": "reloaded_357mag_fmj",
"type": "recipe",
@@ -223,6 +223,22 @@
"using": [ [ "bullet_forming", 2 ], [ "ammo_bullet", 2 ] ],
"components": [ [ [ "40_casing", 1 ] ], [ [ "smpistol_primer", 1 ] ], [ [ "gunpowder", 4 ] ] ]
},
+ {
+ "result": "reloaded_10mm_fmj",
+ "type": "recipe",
+ "category": "CC_AMMO",
+ "subcategory": "CSC_AMMO_PISTOL",
+ "skill_used": "fabrication",
+ "difficulty": 3,
+ "skills_required": [ "gun", 1 ],
+ "time": "2 m",
+ "batch_time_factors": [ 60, 5 ],
+ "book_learn": [ [ "manual_pistol", 3 ], [ "recipe_bullets", 4 ] ],
+ "charges": 1,
+ "reversible": true,
+ "using": [ [ "bullet_forming", 2 ], [ "ammo_bullet", 2 ], [ "ammo_10mm", 1 ] ],
+ "components": [ [ [ "gunpowder", 5 ] ] ]
+ },
{
"result": "reloaded_44fmj",
"type": "recipe",
@@ -351,6 +367,22 @@
"using": [ [ "bullet_forming", 5 ], [ "ammo_bullet", 4 ] ],
"components": [ [ [ "454_casing", 1 ] ], [ [ "smrifle_primer", 1 ] ], [ [ "chem_black_powder", 6 ] ], [ [ "copper", 2 ] ] ]
},
+ {
+ "result": "reloaded_45colt_jhp",
+ "type": "recipe",
+ "category": "CC_AMMO",
+ "subcategory": "CSC_AMMO_PISTOL",
+ "skill_used": "fabrication",
+ "difficulty": 3,
+ "skills_required": [ "gun", 3 ],
+ "time": "2 m",
+ "batch_time_factors": [ 60, 5 ],
+ "book_learn": [ [ "recipe_bullets", 3 ], [ "manual_pistol", 4 ] ],
+ "charges": 1,
+ "reversible": true,
+ "using": [ [ "bullet_forming", 3 ], [ "ammo_bullet", 4 ], [ "ammo_45colt", 1 ] ],
+ "components": [ [ [ "gunpowder", 4 ] ] ]
+ },
{
"result": "reloaded_46mm",
"type": "recipe",
diff --git a/data/json/recipes/ammo/rifle.json b/data/json/recipes/ammo/rifle.json
index 624bb355b1ebc..ca3ed0cf7bd38 100644
--- a/data/json/recipes/ammo/rifle.json
+++ b/data/json/recipes/ammo/rifle.json
@@ -82,7 +82,7 @@
"components": [ [ [ "223_casing", 1 ] ], [ [ "smrifle_primer", 1 ] ], [ [ "gunpowder", 4 ] ], [ [ "copper", 1 ] ] ]
},
{
- "result": "reloaded_270",
+ "result": "reloaded_270win_jsp",
"type": "recipe",
"category": "CC_AMMO",
"subcategory": "CSC_AMMO_RIFLE",
@@ -94,8 +94,8 @@
"book_learn": [ [ "recipe_bullets", 1 ], [ "mag_rifle", 3 ] ],
"charges": 1,
"reversible": true,
- "using": [ [ "bullet_forming", 8 ], [ "ammo_bullet", 5 ] ],
- "components": [ [ [ "3006_casing", 1 ] ], [ [ "lgrifle_primer", 1 ] ], [ [ "gunpowder", 10 ] ], [ [ "copper", 3 ] ] ]
+ "using": [ [ "bullet_forming", 8 ], [ "ammo_bullet", 5 ], [ "ammo_270win", 1 ] ],
+ "components": [ [ [ "gunpowder", 10 ] ], [ [ "copper", 3 ] ] ]
},
{
"result": "reloaded_300_winmag",
diff --git a/data/json/recipes/ammo/shot.json b/data/json/recipes/ammo/shot.json
index e8e54e6fdcd72..33777145dc478 100644
--- a/data/json/recipes/ammo/shot.json
+++ b/data/json/recipes/ammo/shot.json
@@ -15,6 +15,22 @@
"using": [ [ "bullet_forming", 1 ], [ "ammo_bullet", 10 ], [ "ammo_shot", 1 ] ],
"components": [ [ [ "gunpowder", 6 ] ] ]
},
+ {
+ "result": "reloaded_410shot_000",
+ "type": "recipe",
+ "category": "CC_AMMO",
+ "subcategory": "CSC_AMMO_SHOT",
+ "skill_used": "fabrication",
+ "difficulty": 2,
+ "skills_required": [ "gun", 1 ],
+ "time": "2 m",
+ "batch_time_factors": [ 60, 5 ],
+ "book_learn": [ [ "recipe_bullets", 2 ], [ "manual_shotgun", 2 ] ],
+ "charges": 1,
+ "reversible": true,
+ "using": [ [ "bullet_forming", 1 ], [ "ammo_bullet", 5 ], [ "ammo_410shot", 1 ] ],
+ "components": [ [ [ "gunpowder", 5 ] ] ]
+ },
{
"result": "reloaded_shot_bird",
"type": "recipe",
@@ -31,6 +47,22 @@
"using": [ [ "bullet_forming", 1 ], [ "ammo_bullet", 10 ], [ "ammo_shot", 1 ] ],
"components": [ [ [ "gunpowder", 3 ] ] ]
},
+ {
+ "result": "reloaded_shot_dragon",
+ "type": "recipe",
+ "category": "CC_AMMO",
+ "subcategory": "CSC_AMMO_SHOT",
+ "skill_used": "fabrication",
+ "difficulty": 2,
+ "skills_required": [ "gun", 1 ],
+ "time": "2 m",
+ "batch_time_factors": [ 60, 5 ],
+ "book_learn": [ [ "recipe_bullets", 3 ], [ "manual_shotgun", 3 ] ],
+ "charges": 1,
+ "using": [ [ "ammo_shot", 1 ] ],
+ "tools": [ [ [ "press", -1 ] ] ],
+ "components": [ [ [ "gunpowder", 3 ], [ "chem_black_powder", 3 ] ], [ [ "magnesium", 5 ] ] ]
+ },
{
"result": "reloaded_shot_flechette",
"type": "recipe",
diff --git a/data/json/recipes/armor/arms.json b/data/json/recipes/armor/arms.json
index aa83d96699d54..998cbe037d785 100644
--- a/data/json/recipes/armor/arms.json
+++ b/data/json/recipes/armor/arms.json
@@ -115,6 +115,20 @@
"components": [ [ [ "paper", 60 ] ], [ [ "duct_tape", 10 ] ] ],
"flags": [ "BLIND_HARD" ]
},
+ {
+ "result": "armguard_scrap",
+ "type": "recipe",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_ARMS",
+ "skill_used": "fabrication",
+ "difficulty": 3,
+ "time": "30 m",
+ "autolearn": true,
+ "book_learn": [ [ "recipe_melee", 2 ] ],
+ "using": [ [ "cordage", 1 ] ],
+ "qualities": [ { "id": "CUT", "level": 1 }, { "id": "HAMMER", "level": 1 } ],
+ "components": [ [ [ "scrap", 50 ] ] ]
+ },
{
"result": "armguard_soft",
"type": "recipe",
diff --git a/data/json/recipes/armor/feet.json b/data/json/recipes/armor/feet.json
index 1b287e255daa2..b42522e78023c 100644
--- a/data/json/recipes/armor/feet.json
+++ b/data/json/recipes/armor/feet.json
@@ -171,6 +171,21 @@
[ [ "fur", 16 ], [ "tanned_pelt", 3 ], [ "leather", 16 ], [ "tanned_hide", 3 ] ]
]
},
+ {
+ "result": "boots_scrap",
+ "type": "recipe",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_FEET",
+ "skill_used": "fabrication",
+ "difficulty": 3,
+ "time": "30 m",
+ "reversible": true,
+ "autolearn": true,
+ "book_learn": [ [ "recipe_melee", 2 ] ],
+ "using": [ [ "cordage", 4 ] ],
+ "qualities": [ { "id": "CUT", "level": 1 }, { "id": "HAMMER", "level": 1 } ],
+ "components": [ [ [ "scrap", 50 ] ] ]
+ },
{
"result": "boots_survivor",
"type": "recipe",
@@ -200,7 +215,7 @@
"time": "35 m",
"book_learn": [ [ "textbook_tailor", 4 ], [ "tailor_portfolio", 5 ] ],
"using": [ [ "sewing_standard", 20 ] ],
- "components": [ [ [ "leather", 9 ], [ "tanned_hide", 2 ] ] ]
+ "components": [ [ [ "leather", 12 ], [ "tanned_hide", 2 ] ] ]
},
{
"result": "boots_winter",
diff --git a/data/json/recipes/armor/head.json b/data/json/recipes/armor/head.json
index e59f5c91137f3..785a2d196d9ae 100644
--- a/data/json/recipes/armor/head.json
+++ b/data/json/recipes/armor/head.json
@@ -486,6 +486,20 @@
[ [ "kevlar_plate", 8 ] ]
]
},
+ {
+ "result": "helmet_scrap",
+ "type": "recipe",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_HEAD",
+ "skill_used": "fabrication",
+ "difficulty": 3,
+ "time": "20 m",
+ "autolearn": true,
+ "book_learn": [ [ "recipe_melee", 2 ] ],
+ "using": [ [ "cordage", 1 ] ],
+ "qualities": [ { "id": "CUT", "level": 1 }, { "id": "HAMMER", "level": 1 } ],
+ "components": [ [ [ "scrap", 30 ] ] ]
+ },
{
"result": "helmet_survivor",
"type": "recipe",
@@ -1355,5 +1369,17 @@
"autolearn": true,
"components": [ [ [ "rag", 10 ] ], [ [ "pot_canning", 1 ] ] ],
"flags": [ "BLIND_HARD" ]
+ },
+ {
+ "result": "helmet_corinthian",
+ "type": "recipe",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_HEAD",
+ "skill_used": "fabrication",
+ "difficulty": 6,
+ "time": 70000,
+ "book_learn": [ [ "textbook_armwest", 5 ] ],
+ "using": [ [ "forging_standard", 3 ], [ "bronzesmithing_tools", 1 ] ],
+ "components": [ [ [ "scrap_bronze", 7 ] ], [ [ "fur", 4 ], [ "leather", 4 ] ] ]
}
]
diff --git a/data/json/recipes/armor/legs.json b/data/json/recipes/armor/legs.json
index 702aac23952ca..8fc94a51f93e7 100644
--- a/data/json/recipes/armor/legs.json
+++ b/data/json/recipes/armor/legs.json
@@ -282,6 +282,20 @@
"components": [ [ [ "paper", 60 ] ], [ [ "duct_tape", 10 ] ] ],
"flags": [ "BLIND_HARD" ]
},
+ {
+ "result": "legguard_scrap",
+ "type": "recipe",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_LEGS",
+ "skill_used": "fabrication",
+ "difficulty": 3,
+ "time": "40 m",
+ "autolearn": true,
+ "book_learn": [ [ "recipe_melee", 2 ] ],
+ "using": [ [ "cordage", 1 ] ],
+ "qualities": [ { "id": "CUT", "level": 1 }, { "id": "HAMMER", "level": 1 } ],
+ "components": [ [ [ "scrap", 60 ] ] ]
+ },
{
"result": "loincloth",
"type": "recipe",
@@ -557,5 +571,18 @@
"book_learn": [ [ "textbook_armwest", 6 ], [ "textbook_fabrication", 6 ], [ "recipe_melee", 6 ] ],
"using": [ [ "chainmail_standard", 4 ] ],
"components": [ [ [ "link_sheet", 4 ] ], [ [ "chain_link", 100 ] ], [ [ "wire", 1 ] ], [ [ "rag", 6 ] ] ]
+ },
+ {
+ "result": "legguard_bronze",
+ "type": "recipe",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_LEGS",
+ "skill_used": "fabrication",
+ "difficulty": 5,
+ "time": 120000,
+ "autolearn": true,
+ "book_learn": [ [ "textbook_armwest", 4 ], [ "recipe_melee", 4 ] ],
+ "using": [ [ "forging_standard", 6 ], [ "bronzesmithing_tools", 1 ] ],
+ "components": [ [ [ "fur", 6 ], [ "tanned_pelt", 1 ], [ "leather", 6 ], [ "tanned_hide", 1 ] ], [ [ "scrap_bronze", 12 ] ] ]
}
]
diff --git a/data/json/recipes/armor/pets_horse.json b/data/json/recipes/armor/pets_horse.json
new file mode 100644
index 0000000000000..00c042730a25e
--- /dev/null
+++ b/data/json/recipes/armor/pets_horse.json
@@ -0,0 +1,161 @@
+[
+ {
+ "result": "acidchitin_armor_horse",
+ "type": "recipe",
+ "copy-from": "armor_acidchitin",
+ "category": "CC_ANIMALS",
+ "subcategory": "CSC_ANIMALS_EQUINE ARMOR",
+ "skills_required": [ [ "survival", 4 ], [ "firstaid", 2 ], [ "fabrication", 4 ] ],
+ "time": "600 m",
+ "using": [ [ "cordage", 7 ] ],
+ "components": [ [ [ "acidchitin_piece", 84 ] ] ]
+ },
+ {
+ "result": "chitin_armor_horse",
+ "type": "recipe",
+ "copy-from": "armor_chitin",
+ "category": "CC_ANIMALS",
+ "subcategory": "CSC_ANIMALS_EQUINE ARMOR",
+ "time": "525 m",
+ "book_learn": [ [ "textbook_tailor", 5 ], [ "tailor_portfolio", 5 ] ],
+ "skills_required": [ [ "fabrication", 4 ] ],
+ "using": [ [ "cordage", 7 ] ],
+ "components": [ [ [ "chitin_piece", 84 ] ] ]
+ },
+ {
+ "result": "chainmail_armor_horse",
+ "type": "recipe",
+ "copy-from": "chainmail_vest",
+ "category": "CC_ANIMALS",
+ "subcategory": "CSC_ANIMALS_EQUINE ARMOR",
+ "time": "364 m",
+ "using": [ [ "chainmail_standard", 7 ] ],
+ "components": [
+ [ [ "link_sheet", 35 ] ],
+ [ [ "chain_link", 917 ] ],
+ [ [ "wire", 7 ] ],
+ [ [ "fur", 42 ], [ "tanned_pelt", 7 ], [ "leather", 42 ], [ "tanned_hide", 7 ] ]
+ ]
+ },
+ {
+ "result": "kevlar_armor_horse",
+ "type": "recipe",
+ "category": "CC_ANIMALS",
+ "subcategory": "CSC_ANIMALS_EQUINE ARMOR",
+ "skill_used": "tailor",
+ "difficulty": 6,
+ "time": "210 m",
+ "autolearn": true,
+ "using": [ [ "sewing_standard", 190 ] ],
+ "components": [ [ [ "kevlar_plate", 56 ] ], [ [ "rag", 42 ] ], [ [ "leather", 24 ], [ "tanned_hide", 24 ] ] ]
+ },
+ {
+ "result": "leather_armor_horse",
+ "type": "recipe",
+ "category": "CC_ANIMALS",
+ "subcategory": "CSC_ANIMALS_EQUINE ARMOR",
+ "skill_used": "tailor",
+ "difficulty": 3,
+ "time": "105 m",
+ "byproducts": [ [ "leather", 21 ] ],
+ "using": [ [ "sewing_standard", 30 ] ],
+ "components": [ [ [ "armor_blarmor", 3 ] ], [ [ "rag", 18 ] ] ]
+ },
+ {
+ "result": "leather_armor_horse",
+ "type": "recipe",
+ "copy-from": "armor_blarmor",
+ "id_suffix": "from_scratch",
+ "category": "CC_ANIMALS",
+ "subcategory": "CSC_ANIMALS_EQUINE ARMOR",
+ "skills_required": [ "tailor", 6 ],
+ "time": "420 m",
+ "using": [ [ "sewing_standard", 190 ], [ "surface_heat", 60, "LIST" ] ],
+ "components": [
+ [ [ "water", 30 ], [ "water_clean", 30 ] ],
+ [ [ "wax", 6 ], [ "tallow", 24 ], [ "tallow_tainted", 24 ], [ "vinegar", 30 ], [ "pine_bough", 60 ] ],
+ [ [ "salt", 150 ] ],
+ [ [ "leather", 105 ], [ "tanned_hide", 17 ] ],
+ [ [ "rag", 18 ] ]
+ ]
+ },
+ {
+ "result": "leatherbone_armor_horse",
+ "type": "recipe",
+ "copy-from": "leather_armor_horse",
+ "difficulty": 4,
+ "time": "210 m",
+ "using": [ [ "sewing_standard", 75 ] ],
+ "components": [ [ [ "bone", 39 ], [ "bone_human", 39 ], [ "bone_tainted", 75 ] ], [ [ "armor_blarmor", 3 ] ] ]
+ },
+ {
+ "result": "leatherbone_armor_horse",
+ "type": "recipe",
+ "id_suffix": "from_leatherarmor",
+ "category": "CC_ANIMALS",
+ "subcategory": "CSC_ANIMALS_EQUINE ARMOR",
+ "skill_used": "tailor",
+ "difficulty": 4,
+ "time": "105 m",
+ "autolearn": true,
+ "byproducts": [ [ "rag", 6 ] ],
+ "using": [ [ "sewing_standard", 35 ] ],
+ "components": [ [ [ "bone", 39 ], [ "bone_human", 39 ], [ "bone_tainted", 75 ] ], [ [ "leather_armor_horse", 1 ] ] ]
+ },
+ {
+ "result": "leatherbone_armor_horse",
+ "type": "recipe",
+ "id_suffix": "from_scratch",
+ "category": "CC_ANIMALS",
+ "subcategory": "CSC_ANIMALS_EQUINE ARMOR",
+ "skill_used": "cooking",
+ "difficulty": 3,
+ "skills_required": [ "tailor", 6 ],
+ "time": "525 m",
+ "book_learn": [
+ [ "textbook_tailor", 4 ],
+ [ "tailor_portfolio", 5 ],
+ [ "textbook_survival", 3 ],
+ [ "trappers_companion", 3 ],
+ [ "survival_book", 3 ],
+ [ "textbook_armwest", 6 ],
+ [ "textbook_armschina", 6 ]
+ ],
+ "using": [ [ "sewing_standard", 225 ] ],
+ "tools": [ [ [ "surface_heat", 60, "LIST" ] ] ],
+ "components": [
+ [ [ "water", 30 ], [ "water_clean", 30 ] ],
+ [ [ "wax", 6 ], [ "tallow", 24 ], [ "tallow_tainted", 24 ], [ "vinegar", 30 ], [ "pine_bough", 60 ] ],
+ [ [ "salt", 150 ] ],
+ [ [ "bone", 39 ], [ "bone_human", 39 ], [ "bone_tainted", 75 ] ],
+ [ [ "leather", 105 ], [ "tanned_hide", 17 ] ]
+ ]
+ },
+ {
+ "result": "rubber_armor_horse",
+ "type": "recipe",
+ "category": "CC_ANIMALS",
+ "subcategory": "CSC_ANIMALS_EQUINE ARMOR",
+ "skill_used": "tailor",
+ "difficulty": 4,
+ "skills_required": [ "fabrication", 3 ],
+ "time": "112 m",
+ "autolearn": true,
+ "qualities": [ { "id": "SEW", "level": 1 }, { "id": "CUT", "level": 1 } ],
+ "components": [ [ [ "duct_tape", 175 ] ], [ [ "coat_rain", 7 ] ] ]
+ },
+ {
+ "result": "rubber_armor_horse",
+ "type": "recipe",
+ "id_suffix": "from_scratch",
+ "category": "CC_ANIMALS",
+ "subcategory": "CSC_ANIMALS_EQUINE ARMOR",
+ "skill_used": "tailor",
+ "difficulty": 5,
+ "skills_required": [ "fabrication", 3 ],
+ "time": "210 m",
+ "autolearn": true,
+ "qualities": [ { "id": "SEW", "level": 1 }, { "id": "CUT", "level": 1 } ],
+ "components": [ [ [ "duct_tape", 350 ] ], [ [ "bag_plastic", 70 ] ], [ [ "rag", 70 ] ] ]
+ }
+]
diff --git a/data/json/recipes/armor/suit.json b/data/json/recipes/armor/suit.json
index 167030547d2e8..ed868b89da3b8 100644
--- a/data/json/recipes/armor/suit.json
+++ b/data/json/recipes/armor/suit.json
@@ -258,13 +258,27 @@
"subcategory": "CSC_ARMOR_SUIT",
"skill_used": "fabrication",
"difficulty": 3,
- "time": "100 m",
+ "time": "150 m",
"reversible": true,
"autolearn": true,
"book_learn": [ [ "recipe_melee", 2 ] ],
- "using": [ [ "cordage", 2 ] ],
+ "using": [ [ "cordage", 4 ] ],
"qualities": [ { "id": "CUT", "level": 1 }, { "id": "HAMMER", "level": 1 } ],
- "components": [ [ [ "scrap", 190 ] ] ]
+ "components": [ [ [ "scrap", 170 ] ] ]
+ },
+ {
+ "result": "armor_scrapsuit",
+ "type": "recipe",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_SUIT",
+ "skill_used": "fabrication",
+ "difficulty": 3,
+ "time": "20 m",
+ "reversible": true,
+ "autolearn": true,
+ "book_learn": [ [ "recipe_melee", 2 ] ],
+ "using": [ [ "cordage", 1 ] ],
+ "components": [ [ [ "cuirass_scrap", 1 ] ], [ [ "armguard_scrap", 1 ] ], [ [ "legguard_scrap", 1 ] ] ]
},
{
"result": "chainmail_hauberk",
diff --git a/data/json/recipes/armor/torso.json b/data/json/recipes/armor/torso.json
index 04d04a06d9afe..8c4f0abec1245 100644
--- a/data/json/recipes/armor/torso.json
+++ b/data/json/recipes/armor/torso.json
@@ -217,6 +217,20 @@
[ [ "fur", 6 ], [ "tanned_pelt", 1 ], [ "leather", 6 ], [ "tanned_hide", 1 ] ]
]
},
+ {
+ "result": "cuirass_scrap",
+ "type": "recipe",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_TORSO",
+ "skill_used": "fabrication",
+ "difficulty": 3,
+ "time": "60 m",
+ "autolearn": true,
+ "book_learn": [ [ "recipe_melee", 2 ] ],
+ "using": [ [ "cordage", 1 ] ],
+ "qualities": [ { "id": "CUT", "level": 1 }, { "id": "HAMMER", "level": 1 } ],
+ "components": [ [ [ "scrap", 80 ] ] ]
+ },
{
"result": "duster",
"type": "recipe",
@@ -1144,5 +1158,17 @@
"book_learn": [ [ "textbook_armwest", 6 ], [ "textbook_fabrication", 6 ], [ "recipe_melee", 6 ] ],
"using": [ [ "chainmail_standard", 7 ] ],
"components": [ [ [ "link_sheet", 7 ] ], [ [ "chain_link", 175 ] ], [ [ "wire", 1 ] ], [ [ "rag", 6 ] ] ]
+ },
+ {
+ "result": "armor_cuirass",
+ "type": "recipe",
+ "category": "CC_ARMOR",
+ "subcategory": "CSC_ARMOR_TORSO",
+ "skill_used": "fabrication",
+ "difficulty": 5,
+ "time": 280000,
+ "book_learn": [ [ "textbook_armwest", 8 ] ],
+ "using": [ [ "forging_standard", 14 ], [ "bronzesmithing_tools", 1 ] ],
+ "components": [ [ [ "scrap_bronze", 28 ] ] ]
}
]
diff --git a/data/json/recipes/basecamps/recipe_groups.json b/data/json/recipes/basecamps/recipe_groups.json
index 957cc81ed16d0..4b3cb5c32f209 100644
--- a/data/json/recipes/basecamps/recipe_groups.json
+++ b/data/json/recipes/basecamps/recipe_groups.json
@@ -4,7 +4,7 @@
"name": "all_faction_base_types",
"building_type": "NONE",
"recipes": [
- { "id": "faction_base_modular_field_0", "description": "Field Camp", "om_terrains": [ "field" ] },
+ { "id": "faction_base_modular_hub_field_0", "description": "Field Camp", "om_terrains": [ "field" ] },
{ "id": "faction_base_camp_0", "description": "Old Camp", "om_terrains": [ "field" ] }
]
},
@@ -117,6 +117,11 @@
{ "id": "pot_copper", "description": " Craft: Pot, Copper" },
{ "id": "bolt_metal", "description": " Craft: Crossbow Bolt, Steel" },
{ "id": "armor_scrapsuit", "description": " Craft: Armor, Scrap Suit" },
+ { "id": "helmet_scrap", "description": " Craft: Armor, Scrap Helmet" },
+ { "id": "cuirass_scrap", "description": " Craft: Armor, Scrap Cuirass" },
+ { "id": "armguard_scrap", "description": " Craft: Armor, Scrap Arm Guards" },
+ { "id": "legguard_scrap", "description": " Craft: Armor, Scrap Leg Guards" },
+ { "id": "boots_scrap", "description": " Craft: Armor, Scrap Boots" },
{ "id": "copper_ax", "description": " Craft: Axe, Copper" },
{ "id": "spear_copper", "description": " Craft: Spear, Copper" }
]
diff --git a/data/json/recipes/basecamps/recipe_modular_field_common.json b/data/json/recipes/basecamps/recipe_modular_field_common.json
index 511374176bb60..a6572897b9fc8 100644
--- a/data/json/recipes/basecamps/recipe_modular_field_common.json
+++ b/data/json/recipes/basecamps/recipe_modular_field_common.json
@@ -1,7 +1,7 @@
[
{
"type": "recipe",
- "result": "faction_base_modular_field_0",
+ "result": "faction_base_modular_hub_field_0",
"description": "We should survey the base site and set up a bulletin board.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
@@ -9,10 +9,11 @@
"autolearn": false,
"never_learn": true,
"time": "1 h",
- "construction_blueprint": "fbmf_0",
+ "construction_blueprint": "fbmh_0",
"blueprint_provides": [
{ "id": "gathering" },
{ "id": "primitive_camp_recipes_1" },
+ { "id": "fbmh_0" },
{ "id": "firewood" },
{ "id": "foraging" },
{ "id": "sorting" },
@@ -23,22 +24,46 @@
},
{
"type": "recipe",
- "result": "faction_base_modular_field_fireplace_northeast",
+ "result": "faction_base_modular_hub_mallroof_0",
+ "description": "We should survey the roof top and set up a bulletin board.",
+ "category": "CC_BUILDING",
+ "subcategory": "CSC_BUILDING_BASES",
+ "skill_used": "fabrication",
+ "autolearn": false,
+ "never_learn": true,
+ "time": "1 h",
+ "construction_blueprint": "fbmh_0",
+ "blueprint_provides": [
+ { "id": "gathering" },
+ { "id": "primitive_camp_recipes_1" },
+ { "id": "fbmh_0" },
+ { "id": "firewood" },
+ { "id": "foraging" },
+ { "id": "sorting" },
+ { "id": "logging" },
+ { "id": "fbm_no_dig" }
+ ],
+ "blueprint_requires": [ { "id": "not_an_upgrade" } ],
+ "blueprint_name": "basic survey"
+ },
+ {
+ "type": "recipe",
+ "result": "faction_base_modular_hub_fireplace_northeast",
"description": "Now that we have some cover, we should build a fireplace in the northeast shack.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_fireplace_northeast",
+ "construction_blueprint": "fbmh_fireplace_northeast",
"blueprint_name": "northeast fireplace",
- "blueprint_requires": [ { "id": "fbmf_northeast" } ],
- "blueprint_provides": [ { "id": "fbmf_fire_northeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_fire_northeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast" } ],
+ "blueprint_provides": [ { "id": "fbmh_fire_northeast" } ],
+ "blueprint_excludes": [ { "id": "fbmh_fire_northeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_brazier_northeast",
+ "result": "faction_base_modular_hub_brazier_northeast",
"description": "Now that we have some cover, we should set up a brazier in the northeast shack.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
@@ -46,476 +71,476 @@
"autolearn": false,
"never_learn": true,
"time": "5 m",
- "construction_blueprint": "fbmf_brazier_northeast",
+ "construction_blueprint": "fbmh_brazier_northeast",
"blueprint_name": "northeast brazier",
- "blueprint_requires": [ { "id": "fbmf_northeast" } ],
- "blueprint_provides": [ { "id": "fbmf_fire_northeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_fire_northeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast" } ],
+ "blueprint_provides": [ { "id": "fbmh_fire_northeast" } ],
+ "blueprint_excludes": [ { "id": "fbmh_fire_northeast" } ],
"components": [ [ [ "brazier", 1 ] ] ]
},
{
"type": "recipe",
- "result": "faction_base_modular_field_stove_northeast",
+ "result": "faction_base_modular_hub_stove_northeast",
"description": "Now that we have some cover, we should build a stove in the northeast shack.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"skill_used": "fabrication",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_stove_northeast",
+ "construction_blueprint": "fbmh_stove_northeast",
"blueprint_name": "northeast stove",
- "blueprint_requires": [ { "id": "fbmf_northeast" } ],
- "blueprint_provides": [ { "id": "fbmf_fire_northeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_fire_northeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast" } ],
+ "blueprint_provides": [ { "id": "fbmh_fire_northeast" } ],
+ "blueprint_excludes": [ { "id": "fbmh_fire_northeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_strawbed1_northeast",
+ "result": "faction_base_modular_hub_strawbed1_northeast",
"description": "A straw bed in the northeast shack will make sleeping easier.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_strawbed1_northeast",
+ "construction_blueprint": "fbmh_strawbed1_northeast",
"blueprint_name": "northeast straw bed",
- "blueprint_requires": [ { "id": "fbmf_northeast" } ],
- "blueprint_provides": [ { "id": "bed" }, { "id": "fbmf_bed1_northeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_bed1_northeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast" } ],
+ "blueprint_provides": [ { "id": "bed" }, { "id": "fbmh_bed1_northeast" } ],
+ "blueprint_excludes": [ { "id": "fbmh_bed1_northeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_bed1_northeast",
+ "result": "faction_base_modular_hub_bed1_northeast",
"description": "A proper bed in the northeast shack will give one of us a place to sleep soundly.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_bed1_northeast",
+ "construction_blueprint": "fbmh_bed1_northeast",
"blueprint_name": "northeast bed",
- "blueprint_requires": [ { "id": "fbmf_northeast" } ],
- "blueprint_provides": [ { "id": "bed" }, { "id": "fbmf_bed1_northeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_bed1_northeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast" } ],
+ "blueprint_provides": [ { "id": "bed" }, { "id": "fbmh_bed1_northeast" } ],
+ "blueprint_excludes": [ { "id": "fbmh_bed1_northeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_strawbed2_northeast",
+ "result": "faction_base_modular_hub_strawbed2_northeast",
"description": "Another straw bed in the northeast shack will make sleeping easier.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_strawbed2_northeast",
+ "construction_blueprint": "fbmh_strawbed2_northeast",
"blueprint_name": "northeast straw bed",
- "blueprint_requires": [ { "id": "fbmf_bed1_northeast" }, { "id": "fbmf_northeast", "amount": 2 } ],
- "blueprint_provides": [ { "id": "bed" }, { "id": "fbmf_bed2_northeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_bed2_northeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_bed1_northeast" }, { "id": "fbmh_northeast", "amount": 2 } ],
+ "blueprint_provides": [ { "id": "bed" }, { "id": "fbmh_bed2_northeast" } ],
+ "blueprint_excludes": [ { "id": "fbmh_bed2_northeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_bed2_northeast",
+ "result": "faction_base_modular_hub_bed2_northeast",
"description": "Another proper bed in the northeast shack will give one of us a place to sleep soundly.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_bed2_northeast",
+ "construction_blueprint": "fbmh_bed2_northeast",
"blueprint_name": "northeast bed",
- "blueprint_requires": [ { "id": "fbmf_bed1_northeast" }, { "id": "fbmf_northeast", "amount": 2 } ],
- "blueprint_provides": [ { "id": "bed" }, { "id": "fbmf_bed2_northeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_bed2_northeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_bed1_northeast" }, { "id": "fbmh_northeast", "amount": 2 } ],
+ "blueprint_provides": [ { "id": "bed" }, { "id": "fbmh_bed2_northeast" } ],
+ "blueprint_excludes": [ { "id": "fbmh_bed2_northeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_tent_strawbed3_east",
+ "result": "faction_base_modular_hub_tent_strawbed3_east",
"description": "A pair of straw beds in the east tent will allow us to house two more people and expand the camp.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_tent_strawbed3_east",
+ "construction_blueprint": "fbmh_tent_strawbed3_east",
"blueprint_name": "east straw beds",
- "blueprint_requires": [ { "id": "fbmf_tent_east" } ],
- "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmf_bed1_east" }, { "id": "fbmf_bed2_east" } ],
- "blueprint_excludes": [ { "id": "fbmf_bed1_east" }, { "id": "fbmf_bed2_east" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_east" } ],
+ "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_east" }, { "id": "fbmh_bed2_east" } ],
+ "blueprint_excludes": [ { "id": "fbmh_bed1_east" }, { "id": "fbmh_bed2_east" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_tent_bed3_east",
+ "result": "faction_base_modular_hub_tent_bed3_east",
"description": "A pair of proper beds in the east tent will allow us to house two more people and expand the camp.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_tent_bed3_east",
+ "construction_blueprint": "fbmh_tent_bed3_east",
"blueprint_name": "east beds",
- "blueprint_requires": [ { "id": "fbmf_tent_east" } ],
- "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmf_bed1_east" }, { "id": "fbmf_bed2_east" } ],
- "blueprint_excludes": [ { "id": "fbmf_bed1_east" }, { "id": "fbmf_bed2_east" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_east" } ],
+ "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_east" }, { "id": "fbmh_bed2_east" } ],
+ "blueprint_excludes": [ { "id": "fbmh_bed1_east" }, { "id": "fbmh_bed2_east" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_strawbed3_east",
+ "result": "faction_base_modular_hub_strawbed3_east",
"description": "A pair of straw beds in the east room will allow us to house two more people and expand the camp.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room_strawbed3_east",
+ "construction_blueprint": "fbmh_room_strawbed3_east",
"blueprint_name": "east straw beds",
- "blueprint_requires": [ { "id": "fbmf_east", "amount": 4 } ],
- "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmf_bed1_east" }, { "id": "fbmf_bed2_east" } ],
- "blueprint_excludes": [ { "id": "fbmf_bed1_east" }, { "id": "fbmf_bed2_east" }, { "id": "fbmf_tent_east" } ],
+ "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_east" }, { "id": "fbmh_bed2_east" } ],
+ "blueprint_excludes": [ { "id": "fbmh_bed1_east" }, { "id": "fbmh_bed2_east" }, { "id": "fbmh_tent_east" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room_bed3_east",
+ "result": "faction_base_modular_hub_room_bed3_east",
"description": "A pair of proper beds in the east room will allow us to house two more people and expand the camp.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room_bed3_east",
+ "construction_blueprint": "fbmh_room_bed3_east",
"blueprint_name": "east beds",
- "blueprint_requires": [ { "id": "fbmf_east", "amount": 4 } ],
- "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmf_bed1_east" }, { "id": "fbmf_bed2_east" } ],
- "blueprint_excludes": [ { "id": "fbmf_bed1_east" }, { "id": "fbmf_bed2_east" }, { "id": "fbmf_tent_east" } ],
+ "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_east" }, { "id": "fbmh_bed2_east" } ],
+ "blueprint_excludes": [ { "id": "fbmh_bed1_east" }, { "id": "fbmh_bed2_east" }, { "id": "fbmh_tent_east" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_tent_strawbed3_southeast",
+ "result": "faction_base_modular_hub_tent_strawbed3_southeast",
"description": "A pair of straw beds in the southeast tent will allow us to house two more people and expand the camp.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_tent_strawbed3_southeast",
+ "construction_blueprint": "fbmh_tent_strawbed3_southeast",
"blueprint_name": "southeast straw beds",
- "blueprint_requires": [ { "id": "fbmf_tent_southeast" } ],
- "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmf_bed1_southeast" }, { "id": "fbmf_bed2_southeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_bed1_southeast" }, { "id": "fbmf_bed2_southeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_southeast" } ],
+ "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_southeast" }, { "id": "fbmh_bed2_southeast" } ],
+ "blueprint_excludes": [ { "id": "fbmh_bed1_southeast" }, { "id": "fbmh_bed2_southeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_tent_bed3_southeast",
+ "result": "faction_base_modular_hub_tent_bed3_southeast",
"description": "A pair of proper beds in the southeast tent will allow us to house two more people and expand the camp.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_tent_bed3_southeast",
+ "construction_blueprint": "fbmh_tent_bed3_southeast",
"blueprint_name": "southeast beds",
- "blueprint_requires": [ { "id": "fbmf_tent_southeast" } ],
- "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmf_bed1_southeast" }, { "id": "fbmf_bed2_southeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_bed1_southeast" }, { "id": "fbmf_bed2_southeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_southeast" } ],
+ "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_southeast" }, { "id": "fbmh_bed2_southeast" } ],
+ "blueprint_excludes": [ { "id": "fbmh_bed1_southeast" }, { "id": "fbmh_bed2_southeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room_strawbed3_southeast",
+ "result": "faction_base_modular_hub_room_strawbed3_southeast",
"description": "A pair of straw beds in the southeast room will allow us to house two more people and expand the camp.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room_strawbed3_southeast",
+ "construction_blueprint": "fbmh_room_strawbed3_southeast",
"blueprint_name": "southeast straw beds",
- "blueprint_requires": [ { "id": "fbmf_southeast", "amount": 4 } ],
- "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmf_bed1_southeast" }, { "id": "fbmf_bed2_southeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_bed1_southeast" }, { "id": "fbmf_bed2_southeast" }, { "id": "fbmf_tent_southeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_southeast", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_southeast" }, { "id": "fbmh_bed2_southeast" } ],
+ "blueprint_excludes": [ { "id": "fbmh_bed1_southeast" }, { "id": "fbmh_bed2_southeast" }, { "id": "fbmh_tent_southeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room_bed3_southeast",
+ "result": "faction_base_modular_hub_room_bed3_southeast",
"description": "A pair of proper beds in the southeast room will allow us to house two more people and expand the camp.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room_bed3_southeast",
+ "construction_blueprint": "fbmh_room_bed3_southeast",
"blueprint_name": "southeast beds",
- "blueprint_requires": [ { "id": "fbmf_southeast", "amount": 4 } ],
- "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmf_bed1_southeast" }, { "id": "fbmf_bed2_southeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_bed1_southeast" }, { "id": "fbmf_bed2_southeast" }, { "id": "fbmf_tent_southeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_southeast", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_southeast" }, { "id": "fbmh_bed2_southeast" } ],
+ "blueprint_excludes": [ { "id": "fbmh_bed1_southeast" }, { "id": "fbmh_bed2_southeast" }, { "id": "fbmh_tent_southeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_strawbed3_northwest",
+ "result": "faction_base_modular_hub_strawbed3_northwest",
"description": "A pair of straw beds in the northwest building will allow us to house two more people and expand the camp.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_strawbed3_northwest",
+ "construction_blueprint": "fbmh_strawbed3_northwest",
"blueprint_name": "northwest straw beds",
- "blueprint_requires": [ { "id": "fbmf_northwest", "amount": 4 } ],
- "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmf_bed1_northwest" }, { "id": "fbmf_bed2_northwest" } ],
- "blueprint_excludes": [ { "id": "fbmf_bed1_northwest" }, { "id": "fbmf_bed2_northwest" } ],
+ "blueprint_requires": [ { "id": "fbmh_northwest", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_northwest" }, { "id": "fbmh_bed2_northwest" } ],
+ "blueprint_excludes": [ { "id": "fbmh_bed1_northwest" }, { "id": "fbmh_bed2_northwest" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_bed3_northwest",
+ "result": "faction_base_modular_hub_bed3_northwest",
"description": "A pair of proper beds in the northwest building will allow us to house two more people and expand the camp.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_bed3_northwest",
+ "construction_blueprint": "fbmh_bed3_northwest",
"blueprint_name": "northwest beds",
- "blueprint_requires": [ { "id": "fbmf_northwest", "amount": 4 } ],
- "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmf_bed1_northwest" }, { "id": "fbmf_bed2_northwest" } ],
- "blueprint_excludes": [ { "id": "fbmf_bed1_northwest" }, { "id": "fbmf_bed2_northwest" } ],
+ "blueprint_requires": [ { "id": "fbmh_northwest", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_northwest" }, { "id": "fbmh_bed2_northwest" } ],
+ "blueprint_excludes": [ { "id": "fbmh_bed1_northwest" }, { "id": "fbmh_bed2_northwest" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_tent_strawbed3_west",
+ "result": "faction_base_modular_hub_tent_strawbed3_west",
"description": "A pair of straw beds in the west tent will allow us to house two more people and expand the camp.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_tent_strawbed3_west",
+ "construction_blueprint": "fbmh_tent_strawbed3_west",
"blueprint_name": "west straw beds",
- "blueprint_requires": [ { "id": "fbmf_tent_west" } ],
- "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmf_bed1_west" }, { "id": "fbmf_bed2_west" } ],
- "blueprint_excludes": [ { "id": "fbmf_bed1_west" }, { "id": "fbmf_bed2_west" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_west" } ],
+ "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_west" }, { "id": "fbmh_bed2_west" } ],
+ "blueprint_excludes": [ { "id": "fbmh_bed1_west" }, { "id": "fbmh_bed2_west" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_tent_bed3_west",
+ "result": "faction_base_modular_hub_tent_bed3_west",
"description": "A pair of proper beds in the west tent will allow us to house two more people and expand the camp.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_tent_bed3_west",
+ "construction_blueprint": "fbmh_tent_bed3_west",
"blueprint_name": "west beds",
- "blueprint_requires": [ { "id": "fbmf_tent_west" } ],
- "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmf_bed1_west" }, { "id": "fbmf_bed2_west" } ],
- "blueprint_excludes": [ { "id": "fbmf_bed1_west" }, { "id": "fbmf_bed2_west" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_west" } ],
+ "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_west" }, { "id": "fbmh_bed2_west" } ],
+ "blueprint_excludes": [ { "id": "fbmh_bed1_west" }, { "id": "fbmh_bed2_west" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room_strawbed3_west",
+ "result": "faction_base_modular_hub_room_strawbed3_west",
"description": "A pair of straw beds in the west room will allow us to house two more people and expand the camp.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room_strawbed3_west",
+ "construction_blueprint": "fbmh_room_strawbed3_west",
"blueprint_name": "west straw beds",
- "blueprint_requires": [ { "id": "fbmf_west", "amount": 4 } ],
- "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmf_bed1_west" }, { "id": "fbmf_bed2_west" } ],
- "blueprint_excludes": [ { "id": "fbmf_bed1_west" }, { "id": "fbmf_bed2_west" }, { "id": "fbmf_tent_west" } ],
+ "blueprint_requires": [ { "id": "fbmh_west", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_west" }, { "id": "fbmh_bed2_west" } ],
+ "blueprint_excludes": [ { "id": "fbmh_bed1_west" }, { "id": "fbmh_bed2_west" }, { "id": "fbmh_tent_west" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room_bed3_west",
+ "result": "faction_base_modular_hub_room_bed3_west",
"description": "A pair of proper beds in the west room will allow us to house two more people and expand the camp.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room_bed3_west",
+ "construction_blueprint": "fbmh_room_bed3_west",
"blueprint_name": "west beds",
- "blueprint_requires": [ { "id": "fbmf_west", "amount": 4 } ],
- "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmf_bed1_west" }, { "id": "fbmf_bed2_west" } ],
- "blueprint_excludes": [ { "id": "fbmf_bed1_west" }, { "id": "fbmf_bed2_west" }, { "id": "fbmf_tent_west" } ],
+ "blueprint_requires": [ { "id": "fbmh_west", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_west" }, { "id": "fbmh_bed2_west" } ],
+ "blueprint_excludes": [ { "id": "fbmh_bed1_west" }, { "id": "fbmh_bed2_west" }, { "id": "fbmh_tent_west" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_tent_strawbed3_southwest",
+ "result": "faction_base_modular_hub_tent_strawbed3_southwest",
"description": "A pair of straw beds in the southwest tent will allow us to house two more people and expand the camp.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_tent_strawbed3_southwest",
+ "construction_blueprint": "fbmh_tent_strawbed3_southwest",
"blueprint_name": "southwest straw beds",
- "blueprint_requires": [ { "id": "fbmf_tent_southwest" } ],
- "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmf_bed1_southwest" }, { "id": "fbmf_bed2_southwest" } ],
- "blueprint_excludes": [ { "id": "fbmf_bed1_southwest" }, { "id": "fbmf_bed2_southwest" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_southwest" } ],
+ "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_southwest" }, { "id": "fbmh_bed2_southwest" } ],
+ "blueprint_excludes": [ { "id": "fbmh_bed1_southwest" }, { "id": "fbmh_bed2_southwest" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_tent_bed3_southwest",
+ "result": "faction_base_modular_hub_tent_bed3_southwest",
"description": "A pair of proper beds in the southwest tent will allow us to house two more people and expand the camp.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_tent_bed3_southwest",
+ "construction_blueprint": "fbmh_tent_bed3_southwest",
"blueprint_name": "southwest beds",
- "blueprint_requires": [ { "id": "fbmf_tent_southwest" } ],
- "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmf_bed1_southwest" }, { "id": "fbmf_bed2_southwest" } ],
- "blueprint_excludes": [ { "id": "fbmf_bed1_southwest" }, { "id": "fbmf_bed2_southwest" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_southwest" } ],
+ "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_southwest" }, { "id": "fbmh_bed2_southwest" } ],
+ "blueprint_excludes": [ { "id": "fbmh_bed1_southwest" }, { "id": "fbmh_bed2_southwest" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room_strawbed3_southwest",
+ "result": "faction_base_modular_hub_room_strawbed3_southwest",
"description": "A pair of straw beds in the southwest room will allow us to house two more people and expand the camp.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room_strawbed3_southwest",
+ "construction_blueprint": "fbmh_room_strawbed3_southwest",
"blueprint_name": "southwest straw beds",
- "blueprint_requires": [ { "id": "fbmf_southwest", "amount": 4 } ],
- "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmf_bed1_southwest" }, { "id": "fbmf_bed2_southwest" } ],
- "blueprint_excludes": [ { "id": "fbmf_bed1_southwest" }, { "id": "fbmf_bed2_southwest" }, { "id": "fbmf_tent_southwest" } ],
+ "blueprint_requires": [ { "id": "fbmh_southwest", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_southwest" }, { "id": "fbmh_bed2_southwest" } ],
+ "blueprint_excludes": [ { "id": "fbmh_bed1_southwest" }, { "id": "fbmh_bed2_southwest" }, { "id": "fbmh_tent_southwest" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room_bed3_southwest",
+ "result": "faction_base_modular_hub_room_bed3_southwest",
"description": "A pair of proper beds in the southwest room will allow us to house two more people and expand the camp.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room_bed3_southwest",
+ "construction_blueprint": "fbmh_room_bed3_southwest",
"blueprint_name": "southwest beds",
- "blueprint_requires": [ { "id": "fbmf_southwest", "amount": 4 } ],
- "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmf_bed1_southwest" }, { "id": "fbmf_bed2_southwest" } ],
- "blueprint_excludes": [ { "id": "fbmf_bed1_southwest" }, { "id": "fbmf_bed2_southwest" }, { "id": "fbmf_tent_southwest" } ],
+ "blueprint_requires": [ { "id": "fbmh_southwest", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "bed", "amount": 2 }, { "id": "fbmh_bed1_southwest" }, { "id": "fbmh_bed2_southwest" } ],
+ "blueprint_excludes": [ { "id": "fbmh_bed1_southwest" }, { "id": "fbmh_bed2_southwest" }, { "id": "fbmh_tent_southwest" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_kitchen_fireplace_center",
+ "result": "faction_base_modular_hub_core_kitchen_fireplace_center",
"description": "A fireplace, counter, and some pots and pans in the central building will allow us to cook simple recipes and organize hunting expeditions.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_kitchen_fireplace_center",
+ "construction_blueprint": "fbmh_core_kitchen_fireplace_center",
"blueprint_name": "central fireplace",
- "blueprint_requires": [ { "id": "fbmf_center", "amount": 2 }, { "id": "fbmf_ne_center" } ],
+ "blueprint_requires": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_ne_center" } ],
"blueprint_provides": [ { "id": "trapping" }, { "id": "hunting" }, { "id": "kitchen" }, { "id": "kitchen_recipes_1" } ],
"blueprint_resources": [ "fake_fireplace", "pot" ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_kitchen_butchery_center",
+ "result": "faction_base_modular_hub_core_kitchen_butchery_center",
"description": "We need a butchery rack to maximize the harvest from our hunting and trapping efforts.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_kitchen_butchery_center",
+ "construction_blueprint": "fbmh_core_kitchen_butchery_center",
"blueprint_name": "central butchery rack",
- "blueprint_requires": [ { "id": "fbmf_center", "amount": 2 }, { "id": "fbmf_ne_center" } ],
+ "blueprint_requires": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_ne_center" } ],
"blueprint_provides": [ { "id": "trapping" }, { "id": "hunting" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_kitchen_toolrack_center",
+ "result": "faction_base_modular_hub_core_kitchen_toolrack_center",
"description": "A tool rack in the central building will give us a place to store tools.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_kitchen_toolrack_center",
+ "construction_blueprint": "fbmh_core_kitchen_toolrack_center",
"blueprint_name": "central tool rack",
- "blueprint_requires": [ { "id": "fbmf_center", "amount": 2 }, { "id": "fbmf_nw_center" } ],
+ "blueprint_requires": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_nw_center" } ],
"blueprint_provides": [ { "id": "tool_storage" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_kitchen_table_center",
+ "result": "faction_base_modular_hub_core_kitchen_table_center",
"description": "Setting up some tables and chairs will make the central building into a dining area, and we can also use them as a workspace to organize the camp.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_kitchen_table_center",
+ "construction_blueprint": "fbmh_core_kitchen_table_center",
"blueprint_name": "central dining hall",
- "blueprint_requires": [ { "id": "fbmf_center", "amount": 4 }, { "id": "fbmf_ne_center" }, { "id": "fbmf_nw_center" } ],
+ "blueprint_requires": [ { "id": "fbmh_center", "amount": 4 }, { "id": "fbmh_ne_center" }, { "id": "fbmh_nw_center" } ],
"blueprint_provides": [ { "id": "relaying" }, { "id": "walls" }, { "id": "recruiting" }, { "id": "scouting" }, { "id": "patrolling" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_kitchen_table_south",
+ "result": "faction_base_modular_hub_core_kitchen_table_south",
"description": "Setting up some tables and chairs will make the central building into a dining area, and we can also use them as a workspace to organize the camp.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"skill_used": "fabrication",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_kitchen_table_south",
+ "construction_blueprint": "fbmh_core_kitchen_table_south",
"blueprint_name": "south dining hall",
- "blueprint_requires": [ { "id": "fbmf_south", "amount": 4 }, { "id": "fbmf_se_south" }, { "id": "fbmf_sw_south" } ],
+ "blueprint_requires": [ { "id": "fbmh_south", "amount": 4 }, { "id": "fbmh_se_south" }, { "id": "fbmh_sw_south" } ],
"blueprint_provides": [ { "id": "relaying" }, { "id": "walls" }, { "id": "recruiting" }, { "id": "scouting" }, { "id": "patrolling" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_kitchen_stove_south",
+ "result": "faction_base_modular_hub_core_kitchen_stove_south",
"description": "A wood stove, counter, and some pots and pans in the south half of the central building will allow us to cook simple recipes and organize hunting expeditions. The stove will be more efficient than a fireplace.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_kitchen_stove_south",
+ "construction_blueprint": "fbmh_core_kitchen_stove_south",
"blueprint_name": "south wood stove",
"blueprint_resources": [ "fake_stove" ],
- "blueprint_requires": [ { "id": "fbmf_south", "amount": 2 }, { "id": "fbmf_sw_south" } ],
+ "blueprint_requires": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_sw_south" } ],
"blueprint_provides": [ { "id": "trapping" }, { "id": "hunting" }, { "id": "kitchen" }, { "id": "kitchen_recipes_1" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_well_north",
+ "result": "faction_base_modular_hub_well_north",
"description": "Digging a well will give us easy access to water.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_well_north",
+ "construction_blueprint": "fbmh_well_north",
"blueprint_name": "north water well",
- "blueprint_requires": [ { "id": "fbmf_northeast", "amount": 4 }, { "id": "fbmf_fire_northeast" }, { "id": "fbmf_bed2_northeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_root_cellar_north",
+ "result": "faction_base_modular_hub_root_cellar_north",
"description": "Digging a root cellar will give us a way to preserve food.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_root_cellar_north",
+ "construction_blueprint": "fbmh_root_cellar_north",
"blueprint_name": "north root cellar",
"blueprint_provides": [ { "id": "pantry" } ],
- "blueprint_requires": [ { "id": "fbmf_northeast", "amount": 4 }, { "id": "fbmf_fire_northeast" }, { "id": "fbmf_bed2_northeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_radio_tower_north",
+ "result": "faction_base_modular_hub_radio_tower_north",
"description": "We could build a radio tower to improve the range of our radios.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
@@ -524,10 +549,10 @@
"autolearn": false,
"never_learn": true,
"time": "24 h",
- "construction_blueprint": "fbmf_radio_tower_north",
+ "construction_blueprint": "fbmh_radio_tower_north",
"blueprint_name": "north radio tower",
- "blueprint_provides": [ { "id": "fbmf_radio_tower_north" } ],
- "blueprint_requires": [ { "id": "fbmf_northeast", "amount": 4 }, { "id": "fbmf_fire_northeast" }, { "id": "fbmf_bed2_northeast" } ],
+ "blueprint_provides": [ { "id": "fbmh_radio_tower_north" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ],
"qualities": [
{ "id": "HAMMER", "level": 2 },
{ "id": "SAW_M", "level": 1 },
@@ -551,7 +576,7 @@
},
{
"type": "recipe",
- "result": "faction_base_modular_field_radio_console_north",
+ "result": "faction_base_modular_hub_radio_console_north",
"description": "Adding a console to control the radio tower will help with recruiting more survivors.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
@@ -560,10 +585,10 @@
"autolearn": false,
"never_learn": true,
"time": "24 h",
- "construction_blueprint": "fbmf_radio_console_north",
+ "construction_blueprint": "fbmh_radio_console_north",
"blueprint_name": "north radio console",
- "blueprint_provides": [ { "id": "fbmf_radio_console_north" }, { "id": "radio" } ],
- "blueprint_requires": [ { "id": "fbmf_radio_tower_north" } ],
+ "blueprint_provides": [ { "id": "fbmh_radio_console_north" }, { "id": "radio" } ],
+ "blueprint_requires": [ { "id": "fbmh_radio_tower_north" } ],
"qualities": [ { "id": "SAW_M", "level": 1 }, { "id": "WRENCH", "level": 1 }, { "id": "SCREW", "level": 1 } ],
"components": [
[ [ "processor", 2 ] ],
@@ -588,7 +613,7 @@
"autolearn": false,
"never_learn": true,
"time": "1 m",
- "construction_blueprint": "faction_base_modular_field_0",
+ "construction_blueprint": "faction_base_modular_hub_0",
"blueprint_name": "basic survey",
"blueprint_requires": [ { "id": "not_an_upgrade" } ]
},
@@ -602,7 +627,7 @@
"autolearn": false,
"never_learn": true,
"time": "1 m",
- "construction_blueprint": "faction_base_modular_field_0",
+ "construction_blueprint": "faction_base_modular_hub_0",
"blueprint_name": "basic survey",
"blueprint_requires": [ { "id": "not_an_upgrade" } ]
},
@@ -616,7 +641,7 @@
"autolearn": false,
"never_learn": true,
"time": "1 m",
- "construction_blueprint": "faction_base_modular_field_0",
+ "construction_blueprint": "faction_base_modular_hub_0",
"blueprint_name": "basic survey",
"blueprint_requires": [ { "id": "not_an_upgrade" } ]
},
@@ -630,7 +655,7 @@
"autolearn": false,
"never_learn": true,
"time": "1 m",
- "construction_blueprint": "faction_base_modular_field_0",
+ "construction_blueprint": "faction_base_modular_hub_0",
"blueprint_name": "basic survey",
"blueprint_requires": [ { "id": "not_an_upgrade" } ]
}
diff --git a/data/json/recipes/basecamps/recipe_modular_field_defenses.json b/data/json/recipes/basecamps/recipe_modular_field_defenses.json
index 200aab48d7a08..e474d09f60d96 100644
--- a/data/json/recipes/basecamps/recipe_modular_field_defenses.json
+++ b/data/json/recipes/basecamps/recipe_modular_field_defenses.json
@@ -1,120 +1,122 @@
[
{
"type": "recipe",
- "result": "faction_base_modular_field_trench_north",
+ "result": "faction_base_modular_hub_trench_north",
"description": "Digging a trench along the north edge of the camp would provide some defense and generate building materials.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_trench_north",
+ "construction_blueprint": "fbmh_trench_north",
"blueprint_name": "north trench",
- "blueprint_provides": [ { "id": "fbmf_trench_north" } ],
- "blueprint_requires": [ { "id": "fbmf_northeast", "amount": 4 }, { "id": "fbmf_fire_northeast" }, { "id": "fbmf_bed2_northeast" } ],
+ "blueprint_provides": [ { "id": "fbmh_trench_north" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ],
+ "blueprint_excludes": [ { "id": "fbm_no_dig" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_trench_south",
+ "result": "faction_base_modular_hub_trench_south",
"description": "Digging a trench along the south edge of the camp would provide some defense and generate building materials.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_trench_south",
+ "construction_blueprint": "fbmh_trench_south",
"blueprint_name": "south trench",
- "blueprint_provides": [ { "id": "fbmf_trench_south" } ],
- "blueprint_requires": [ { "id": "fbmf_northeast", "amount": 4 }, { "id": "fbmf_fire_northeast" }, { "id": "fbmf_bed2_northeast" } ],
+ "blueprint_provides": [ { "id": "fbmh_trench_south" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ],
+ "blueprint_excludes": [ { "id": "fbm_no_dig" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_trench_northeast",
+ "result": "faction_base_modular_hub_trench_northeast",
"description": "Digging a trench along the northeast corner of the camp would provide some defense and generate building materials. If we have solid buildings all along the east side of the camp, we would only need to dig the trench long enough to reach the buildings.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"skill_used": "fabrication",
"never_learn": true,
- "construction_blueprint": "fbmf_trench_corner_northeast",
+ "construction_blueprint": "fbmh_trench_corner_northeast",
"blueprint_name": "northeast trench",
- "blueprint_provides": [ { "id": "fbmf_trench_northeast" } ],
- "blueprint_requires": [ { "id": "fbmf_northeast", "amount": 4 }, { "id": "fbmf_fire_northeast" }, { "id": "fbmf_bed2_northeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_trench_northeast" }, { "id": "fbmf_trench_east" } ],
+ "blueprint_provides": [ { "id": "fbmh_trench_northeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ],
+ "blueprint_excludes": [ { "id": "fbm_no_dig" }, { "id": "fbmh_trench_northeast" }, { "id": "fbmh_trench_east" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_trench_northwest",
+ "result": "faction_base_modular_hub_trench_northwest",
"description": "Digging a trench along the northwest corner of the camp would provide some defense and generate building materials. If we have solid buildings all along the west side of the camp, we would only need to dig the trench long enough to reach the buildings.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_trench_corner_northwest",
+ "construction_blueprint": "fbmh_trench_corner_northwest",
"blueprint_name": "northwest trench",
- "blueprint_provides": [ { "id": "fbmf_trench_northwest" } ],
- "blueprint_requires": [ { "id": "fbmf_northeast", "amount": 4 }, { "id": "fbmf_fire_northeast" }, { "id": "fbmf_bed2_northeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_trench_northwest" }, { "id": "fbmf_trench_west" } ],
+ "blueprint_provides": [ { "id": "fbmh_trench_northwest" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ],
+ "blueprint_excludes": [ { "id": "fbm_no_dig" }, { "id": "fbmh_trench_northwest" }, { "id": "fbmh_trench_west" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_trench_southeast",
+ "result": "faction_base_modular_hub_trench_southeast",
"description": "Digging a trench along the southeast corner of the camp would provide some defense and generate building materials. If we have solid buildings all along the east side of the camp, we would only need to dig the trench long enough to reach the buildings.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_trench_corner_southeast",
+ "construction_blueprint": "fbmh_trench_corner_southeast",
"blueprint_name": "southeast trench",
- "blueprint_provides": [ { "id": "fbmf_trench_southeast" } ],
- "blueprint_requires": [ { "id": "fbmf_northeast", "amount": 4 }, { "id": "fbmf_fire_northeast" }, { "id": "fbmf_bed2_northeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_trench_southeast" }, { "id": "fbmf_trench_east" } ],
+ "blueprint_provides": [ { "id": "fbmh_trench_southeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ],
+ "blueprint_excludes": [ { "id": "fbm_no_dig" }, { "id": "fbmh_trench_southeast" }, { "id": "fbmh_trench_east" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_trench_southwest",
+ "result": "faction_base_modular_hub_trench_southwest",
"description": "Digging a trench along the southwest corner of the camp would provide some defense and generate building materials. If we have solid buildings all along the west side of the camp, we would only need to dig the trench long enough to reach the buildings.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_trench_corner_southwest",
+ "construction_blueprint": "fbmh_trench_corner_southwest",
"blueprint_name": "southwest trench",
- "blueprint_provides": [ { "id": "fbmf_trench_southwest" } ],
- "blueprint_requires": [ { "id": "fbmf_northeast", "amount": 4 }, { "id": "fbmf_fire_northeast" }, { "id": "fbmf_bed2_northeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_trench_southwest" }, { "id": "fbmf_trench_west" } ],
+ "blueprint_provides": [ { "id": "fbmh_trench_southwest" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ],
+ "blueprint_excludes": [ { "id": "fbm_no_dig" }, { "id": "fbmh_trench_southwest" }, { "id": "fbmh_trench_west" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_trench_east",
+ "result": "faction_base_modular_hub_trench_east",
"description": "Digging a trench along the east edge of the camp would provide some defense and generate building materials. We'll need to run the trench the length of the camp if we don't have solid buildings all along the east side.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_trench_east",
+ "construction_blueprint": "fbmh_trench_east",
"blueprint_name": "east trench",
- "blueprint_provides": [ { "id": "fbmf_trench_east" } ],
- "blueprint_requires": [ { "id": "fbmf_northeast", "amount": 4 }, { "id": "fbmf_fire_northeast" }, { "id": "fbmf_bed2_northeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_trench_southeast" }, { "id": "fbmf_trench_northeast" } ],
+ "blueprint_provides": [ { "id": "fbmh_trench_east" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ],
+ "blueprint_excludes": [ { "id": "fbm_no_dig" }, { "id": "fbmh_trench_southeast" }, { "id": "fbmh_trench_northeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_trench_west",
+ "result": "faction_base_modular_hub_trench_west",
"description": "Digging a trench along the west edge of the camp would provide some defense and generate building materials. We'll need to run the trench the length of the camp if we don't have solid buildings all along the west side.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_trench_west",
+ "construction_blueprint": "fbmh_trench_west",
"blueprint_name": "west trench",
- "blueprint_provides": [ { "id": "fbmf_trench_west" } ],
- "blueprint_requires": [ { "id": "fbmf_northeast", "amount": 4 }, { "id": "fbmf_fire_northeast" }, { "id": "fbmf_bed2_northeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_trench_southwest" }, { "id": "fbmf_trench_northwest" } ],
+ "blueprint_provides": [ { "id": "fbmh_trench_west" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ],
+ "blueprint_excludes": [ { "id": "fbm_no_dig" }, { "id": "fbmh_trench_southwest" }, { "id": "fbmh_trench_northwest" } ],
"blueprint_autocalc": true
}
]
diff --git a/data/json/recipes/basecamps/recipe_modular_field_metal.json b/data/json/recipes/basecamps/recipe_modular_field_metal.json
index 2828f49324962..29dc1dc66254f 100644
--- a/data/json/recipes/basecamps/recipe_modular_field_metal.json
+++ b/data/json/recipes/basecamps/recipe_modular_field_metal.json
@@ -1,336 +1,336 @@
[
{
"type": "recipe",
- "result": "faction_base_modular_field_room0_metal_northeast",
+ "result": "faction_base_modular_hub_room0_metal_northeast",
"description": "We need some shelter, so build half of a metal shack with a metal roof on the northeast side of the camp",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room0_metal_northeast",
+ "construction_blueprint": "fbmh_room0_metal_northeast",
"blueprint_name": "northeast shack",
- "blueprint_requires": [ { "id": "faction_base_modular_field_0" } ],
- "blueprint_provides": [ { "id": "fbmf_northeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_northeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_0" } ],
+ "blueprint_provides": [ { "id": "fbmh_northeast" } ],
+ "blueprint_excludes": [ { "id": "fbmh_northeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room1_metal_northeast",
+ "result": "faction_base_modular_hub_room1_metal_northeast",
"description": "We should use metal to expand the shelter so we have space for another bed.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room1_metal_northeast",
+ "construction_blueprint": "fbmh_room1_metal_northeast",
"blueprint_name": "expand northeast shack",
- "blueprint_requires": [ { "id": "fbmf_northeast" } ],
- "blueprint_provides": [ { "id": "fbmf_northeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_northeast", "amount": 2 }, { "id": "fbmf_tent_northeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast" } ],
+ "blueprint_provides": [ { "id": "fbmh_northeast" } ],
+ "blueprint_excludes": [ { "id": "fbmh_northeast", "amount": 2 }, { "id": "fbmh_tent_northeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room2_metal_northeast",
+ "result": "faction_base_modular_hub_room2_metal_northeast",
"description": "We should use metal to finish the northeast shack.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room2_metal_northeast",
+ "construction_blueprint": "fbmh_room2_metal_northeast",
"blueprint_name": "finish northeast shack",
- "blueprint_requires": [ { "id": "fbmf_northeast", "amount": 2 } ],
- "blueprint_provides": [ { "id": "fbmf_northeast", "amount": 2 } ],
- "blueprint_excludes": [ { "id": "fbmf_northeast", "amount": 4 }, { "id": "fbmf_tent_northeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 2 } ],
+ "blueprint_provides": [ { "id": "fbmh_northeast", "amount": 2 } ],
+ "blueprint_excludes": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_tent_northeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_shack4_metal_east",
+ "result": "faction_base_modular_hub_shack4_metal_east",
"description": "We should expand our housing by putting up a metal building on the east side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_shack4_metal_east",
+ "construction_blueprint": "fbmh_shack4_metal_east",
"blueprint_name": "east shack",
- "blueprint_requires": [ { "id": "fbmf_tent_northeast" }, { "id": "fbmf_fire_northeast" }, { "id": "fbmf_bed2_northeast" } ],
- "blueprint_provides": [ { "id": "fbmf_east", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_east" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_northeast" }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ],
+ "blueprint_provides": [ { "id": "fbmh_east", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_east" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room4_metal_east",
+ "result": "faction_base_modular_hub_room4_metal_east",
"description": "We should expand our housing by adding a metal room on the east side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room4_metal_east",
+ "construction_blueprint": "fbmh_room4_metal_east",
"blueprint_name": "east room",
- "blueprint_requires": [ { "id": "fbmf_northeast", "amount": 4 }, { "id": "fbmf_fire_northeast" }, { "id": "fbmf_bed2_northeast" } ],
- "blueprint_provides": [ { "id": "fbmf_east", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_east" }, { "id": "fbmf_tent_northeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ],
+ "blueprint_provides": [ { "id": "fbmh_east", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_east" }, { "id": "fbmh_tent_northeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_shack4_metal_southeast",
+ "result": "faction_base_modular_hub_shack4_metal_southeast",
"description": "We should expand our housing by putting up a metal building on the southeast side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_shack4_metal_southeast",
+ "construction_blueprint": "fbmh_shack4_metal_southeast",
"blueprint_name": "southeast shack",
- "blueprint_requires": [ { "id": "fbmf_tent_east" } ],
- "blueprint_provides": [ { "id": "fbmf_southeast", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_southeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_east" } ],
+ "blueprint_provides": [ { "id": "fbmh_southeast", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_southeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room4_metal_southeast",
+ "result": "faction_base_modular_hub_room4_metal_southeast",
"description": "We should expand our housing by adding a metal room on the southeast side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room4_metal_southeast",
+ "construction_blueprint": "fbmh_room4_metal_southeast",
"blueprint_name": "southeast room",
- "blueprint_requires": [ { "id": "fbmf_east", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_southeast", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_southeast" }, { "id": "fbmf_tent_east" } ],
+ "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_southeast", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_southeast" }, { "id": "fbmh_tent_east" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room4_metal_northwest",
+ "result": "faction_base_modular_hub_room4_metal_northwest",
"description": "We should expand our housing by putting up a metal building on the northwest side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room4_metal_northwest",
+ "construction_blueprint": "fbmh_room4_metal_northwest",
"blueprint_name": "northwest shack",
- "blueprint_requires": [ { "id": "fbmf_northeast", "amount": 4 }, { "id": "fbmf_fire_northeast" }, { "id": "fbmf_bed2_northeast" } ],
- "blueprint_provides": [ { "id": "fbmf_northwest", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_northwest" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ],
+ "blueprint_provides": [ { "id": "fbmh_northwest", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_northwest" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_shack4_metal_west",
+ "result": "faction_base_modular_hub_shack4_metal_west",
"description": "We should expand our housing by putting up a metal building on the west side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_shack4_metal_west",
+ "construction_blueprint": "fbmh_shack4_metal_west",
"blueprint_name": "west shack",
- "blueprint_requires": [ { "id": "fbmf_tent_northwest" } ],
- "blueprint_provides": [ { "id": "fbmf_west", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_west" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_northwest" } ],
+ "blueprint_provides": [ { "id": "fbmh_west", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_west" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room4_metal_west",
+ "result": "faction_base_modular_hub_room4_metal_west",
"description": "We should expand our housing by adding a metal room on the west side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room4_metal_west",
+ "construction_blueprint": "fbmh_room4_metal_west",
"blueprint_name": "west room",
- "blueprint_requires": [ { "id": "fbmf_northwest", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_west", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_west" }, { "id": "fbmf_tent_northwest" } ],
+ "blueprint_requires": [ { "id": "fbmh_northwest", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_west", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_west" }, { "id": "fbmh_tent_northwest" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_shack4_metal_soutwest",
+ "result": "faction_base_modular_hub_shack4_metal_soutwest",
"description": "We should expand our housing by putting up a metal building on the southwest side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_shack4_metal_southwest",
+ "construction_blueprint": "fbmh_shack4_metal_southwest",
"blueprint_name": "southwest shack",
- "blueprint_requires": [ { "id": "fbmf_tent_west" } ],
- "blueprint_provides": [ { "id": "fbmf_southwest", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_southwest" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_west" } ],
+ "blueprint_provides": [ { "id": "fbmh_southwest", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_southwest" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room4_metal_southwest",
+ "result": "faction_base_modular_hub_room4_metal_southwest",
"description": "We should expand our housing by adding a metal room on the southwest side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room4_metal_southwest",
+ "construction_blueprint": "fbmh_room4_metal_southwest",
"blueprint_name": "southwest room",
- "blueprint_requires": [ { "id": "fbmf_west", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_southwest", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_southwest" }, { "id": "fbmf_tent_west" } ],
+ "blueprint_requires": [ { "id": "fbmh_west", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_southwest", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_southwest" }, { "id": "fbmh_tent_west" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_shack_ne_metal_center",
+ "result": "faction_base_modular_hub_core_shack_ne_metal_center",
"description": "A central building can act as a kitchen and dining hall. We should build the northeast quarter of one from metal.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_shack_ne_metal_center",
+ "construction_blueprint": "fbmh_core_shack_ne_metal_center",
"blueprint_name": "central building NE corner",
- "blueprint_requires": [ { "id": "fbmf_tent_east" } ],
- "blueprint_provides": [ { "id": "fbmf_center", "amount": 2 }, { "id": "fbmf_ne_center" } ],
- "blueprint_excludes": [ { "id": "fbmf_ne_center" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_east" } ],
+ "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_ne_center" } ],
+ "blueprint_excludes": [ { "id": "fbmh_ne_center" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_ne_metal_center",
+ "result": "faction_base_modular_hub_core_ne_metal_center",
"description": "A central building can act as a core and dining hall. We should build out from the east room with metal.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_ne_metal_center",
+ "construction_blueprint": "fbmh_core_ne_metal_center",
"blueprint_name": "central building NE corner",
- "blueprint_requires": [ { "id": "fbmf_east", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_center", "amount": 2 }, { "id": "fbmf_ne_center" } ],
- "blueprint_excludes": [ { "id": "fbmf_ne_center" }, { "id": "fbmf_tent_east" } ],
+ "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_ne_center" } ],
+ "blueprint_excludes": [ { "id": "fbmh_ne_center" }, { "id": "fbmh_tent_east" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_shack_nw_metal_center",
+ "result": "faction_base_modular_hub_core_shack_nw_metal_center",
"description": "A central building can act as a core and dining hall. We should build the northwest quarter of one from metal.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_shack_nw_metal_center",
+ "construction_blueprint": "fbmh_core_shack_nw_metal_center",
"blueprint_name": "central building NW corner",
- "blueprint_requires": [ { "id": "fbmf_tent_west" } ],
- "blueprint_provides": [ { "id": "fbmf_center", "amount": 2 }, { "id": "fbmf_nw_center" } ],
- "blueprint_excludes": [ { "id": "fbmf_nw_center" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_west" } ],
+ "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_nw_center" } ],
+ "blueprint_excludes": [ { "id": "fbmh_nw_center" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_nw_metal_center",
+ "result": "faction_base_modular_hub_core_nw_metal_center",
"description": "A central building can act as a core and dining hall. We should build out from the west room with metal.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_nw_metal_center",
+ "construction_blueprint": "fbmh_core_nw_metal_center",
"blueprint_name": "central building NW corner",
- "blueprint_requires": [ { "id": "fbmf_west", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_center", "amount": 2 }, { "id": "fbmf_nw_center" } ],
- "blueprint_excludes": [ { "id": "fbmf_nw_center" }, { "id": "fbmf_tent_west" } ],
+ "blueprint_requires": [ { "id": "fbmh_west", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_nw_center" } ],
+ "blueprint_excludes": [ { "id": "fbmh_nw_center" }, { "id": "fbmh_tent_west" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_metal_center",
+ "result": "faction_base_modular_hub_core_metal_center",
"description": "A central building can act as a core and dining hall. We should build between the east and west rooms with metal.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_metal_center",
+ "construction_blueprint": "fbmh_core_metal_center",
"blueprint_name": "central building north half",
- "blueprint_requires": [ { "id": "fbmf_east", "amount": 4 }, { "id": "fbmf_west", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_center", "amount": 4 }, { "id": "fbmf_ne_center" }, { "id": "fbmf_nw_center" } ],
- "blueprint_excludes": [ { "id": "fbmf_ne_center" }, { "id": "fbmf_nw_center" }, { "id": "fbmf_tent_east" }, { "id": "fbmf_tent_west" } ],
+ "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 }, { "id": "fbmh_west", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_center", "amount": 4 }, { "id": "fbmh_ne_center" }, { "id": "fbmh_nw_center" } ],
+ "blueprint_excludes": [ { "id": "fbmh_ne_center" }, { "id": "fbmh_nw_center" }, { "id": "fbmh_tent_east" }, { "id": "fbmh_tent_west" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_shack_se_metal_south",
+ "result": "faction_base_modular_hub_core_shack_se_metal_south",
"description": "A central building can act as a core and dining hall. We should build the southeast quarter of one from metal.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_shack_se_metal_south",
+ "construction_blueprint": "fbmh_core_shack_se_metal_south",
"blueprint_name": "central building SE corner",
- "blueprint_requires": [ { "id": "fbmf_tent_southeast" } ],
- "blueprint_provides": [ { "id": "fbmf_south", "amount": 2 }, { "id": "fbmf_se_south" } ],
- "blueprint_excludes": [ { "id": "fbmf_se_south" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_southeast" } ],
+ "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_se_south" } ],
+ "blueprint_excludes": [ { "id": "fbmh_se_south" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_se_metal_south",
+ "result": "faction_base_modular_hub_core_se_metal_south",
"description": "A central building can act as a core and dining hall. We should build out from the southeast room with metal.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_se_metal_south",
+ "construction_blueprint": "fbmh_core_se_metal_south",
"blueprint_name": "central building SE corner",
- "blueprint_requires": [ { "id": "fbmf_southeast", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_south", "amount": 2 }, { "id": "fbmf_se_south" } ],
- "blueprint_excludes": [ { "id": "fbmf_se_south" }, { "id": "fbmf_tent_southeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_southeast", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_se_south" } ],
+ "blueprint_excludes": [ { "id": "fbmh_se_south" }, { "id": "fbmh_tent_southeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_shack_sw_metal_south",
+ "result": "faction_base_modular_hub_core_shack_sw_metal_south",
"description": "A central building can act as a core and dining hall. We should build the southwest quarter of one from metal.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_shack_sw_metal_south",
+ "construction_blueprint": "fbmh_core_shack_sw_metal_south",
"blueprint_name": "central building SW corner",
- "blueprint_requires": [ { "id": "fbmf_tent_southwest" } ],
- "blueprint_provides": [ { "id": "fbmf_south", "amount": 2 }, { "id": "fbmf_sw_south" } ],
- "blueprint_excludes": [ { "id": "fbmf_sw_south" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_southwest" } ],
+ "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_sw_south" } ],
+ "blueprint_excludes": [ { "id": "fbmh_sw_south" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_sw_metal_south",
+ "result": "faction_base_modular_hub_core_sw_metal_south",
"description": "A central building can act as a core and dining hall. We should build out from the southwest room with metal.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_sw_metal_south",
+ "construction_blueprint": "fbmh_core_sw_metal_south",
"blueprint_name": "central building SW corner",
- "blueprint_requires": [ { "id": "fbmf_southwest", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_south", "amount": 2 }, { "id": "fbmf_sw_south" } ],
- "blueprint_excludes": [ { "id": "fbmf_sw_south" }, { "id": "fbmf_tent_southwest" } ],
+ "blueprint_requires": [ { "id": "fbmh_southwest", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_sw_south" } ],
+ "blueprint_excludes": [ { "id": "fbmh_sw_south" }, { "id": "fbmh_tent_southwest" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_metal_south",
+ "result": "faction_base_modular_hub_core_metal_south",
"description": "A central building can act as a core and dining hall. We should build between the southeast and southwest rooms with metal.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_metal_south",
+ "construction_blueprint": "fbmh_core_metal_south",
"blueprint_name": "central building south half",
- "blueprint_requires": [ { "id": "fbmf_southeast", "amount": 4 }, { "id": "fbmf_southwest", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_south", "amount": 4 }, { "id": "fbmf_se_south" }, { "id": "fbmf_sw_south" } ],
+ "blueprint_requires": [ { "id": "fbmh_southeast", "amount": 4 }, { "id": "fbmh_southwest", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_south", "amount": 4 }, { "id": "fbmh_se_south" }, { "id": "fbmh_sw_south" } ],
"blueprint_excludes": [
- { "id": "fbmf_se_south" },
- { "id": "fbmf_sw_south" },
- { "id": "fbmf_tent_southeast" },
- { "id": "fbmf_tent_southwest" }
+ { "id": "fbmh_se_south" },
+ { "id": "fbmh_sw_south" },
+ { "id": "fbmh_tent_southeast" },
+ { "id": "fbmh_tent_southwest" }
],
"blueprint_autocalc": true
}
diff --git a/data/json/recipes/basecamps/recipe_modular_field_tent.json b/data/json/recipes/basecamps/recipe_modular_field_tent.json
index 708c4b8e8fec2..f81b2124d31f8 100644
--- a/data/json/recipes/basecamps/recipe_modular_field_tent.json
+++ b/data/json/recipes/basecamps/recipe_modular_field_tent.json
@@ -1,7 +1,7 @@
[
{
"type": "recipe",
- "result": "faction_base_modular_field_tent_northeast",
+ "result": "faction_base_modular_hub_tent_northeast",
"description": "We need some shelter, so set up a tent on the northeast side of the camp.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
@@ -9,16 +9,16 @@
"autolearn": false,
"never_learn": true,
"time": "3 h",
- "construction_blueprint": "fbmf_tent_northeast",
+ "construction_blueprint": "fbmh_tent_northeast",
"blueprint_name": "northeast tent",
- "blueprint_requires": [ { "id": "faction_base_modular_field_0" } ],
- "blueprint_provides": [ { "id": "fbmf_northeast", "amount": 4 }, { "id": "fbmf_tent_northeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_northeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_0" } ],
+ "blueprint_provides": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_tent_northeast" } ],
+ "blueprint_excludes": [ { "id": "fbmh_northeast" } ],
"components": [ [ [ "large_tent_kit", 1 ], [ "broketent", 4 ], [ "tent_kit", 3 ], [ "shelter_kit", 4 ] ] ]
},
{
"type": "recipe",
- "result": "faction_base_modular_field_tent_east",
+ "result": "faction_base_modular_hub_tent_east",
"description": "We should expand our housing by putting up a tent on the east side, though doing so will mean we will need more materials to build the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
@@ -26,16 +26,16 @@
"autolearn": false,
"never_learn": true,
"time": "3 h",
- "construction_blueprint": "fbmf_tent_east",
+ "construction_blueprint": "fbmh_tent_east",
"blueprint_name": "east tent",
- "blueprint_requires": [ { "id": "fbmf_northeast", "amount": 4 }, { "id": "fbmf_fire_northeast" }, { "id": "fbmf_bed2_northeast" } ],
- "blueprint_provides": [ { "id": "fbmf_east", "amount": 4 }, { "id": "fbmf_tent_east" } ],
- "blueprint_excludes": [ { "id": "fbmf_east" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ],
+ "blueprint_provides": [ { "id": "fbmh_east", "amount": 4 }, { "id": "fbmh_tent_east" } ],
+ "blueprint_excludes": [ { "id": "fbmh_east" } ],
"components": [ [ [ "large_tent_kit", 1 ], [ "broketent", 4 ], [ "tent_kit", 3 ], [ "shelter_kit", 4 ] ] ]
},
{
"type": "recipe",
- "result": "faction_base_modular_field_tent_southeast",
+ "result": "faction_base_modular_hub_tent_southeast",
"description": "We should expand our housing by putting up a tent on the southeast side, though doing so will mean we will need more materials to build the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
@@ -43,16 +43,16 @@
"autolearn": false,
"never_learn": true,
"time": "3 h",
- "construction_blueprint": "fbmf_tent_southeast",
+ "construction_blueprint": "fbmh_tent_southeast",
"blueprint_name": "southeast tent",
- "blueprint_requires": [ { "id": "fbmf_east", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_southeast", "amount": 4 }, { "id": "fbmf_tent_southeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_southeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_southeast", "amount": 4 }, { "id": "fbmh_tent_southeast" } ],
+ "blueprint_excludes": [ { "id": "fbmh_southeast" } ],
"components": [ [ [ "large_tent_kit", 1 ], [ "broketent", 4 ], [ "tent_kit", 3 ], [ "shelter_kit", 4 ] ] ]
},
{
"type": "recipe",
- "result": "faction_base_modular_field_tent_northwest",
+ "result": "faction_base_modular_hub_tent_northwest",
"description": "We should expand our housing by putting up a tent on the northwest side, though doing so will mean we will need more materials to build the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
@@ -60,16 +60,16 @@
"autolearn": false,
"never_learn": true,
"time": "3 h",
- "construction_blueprint": "fbmf_tent_northwest",
+ "construction_blueprint": "fbmh_tent_northwest",
"blueprint_name": "northwest tent",
- "blueprint_requires": [ { "id": "fbmf_northeast", "amount": 4 }, { "id": "fbmf_fire_northeast" }, { "id": "fbmf_bed2_northeast" } ],
- "blueprint_provides": [ { "id": "fbmf_northwest", "amount": 4 }, { "id": "fbmf_tent_northwest" } ],
- "blueprint_excludes": [ { "id": "fbmf_northwest" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ],
+ "blueprint_provides": [ { "id": "fbmh_northwest", "amount": 4 }, { "id": "fbmh_tent_northwest" } ],
+ "blueprint_excludes": [ { "id": "fbmh_northwest" } ],
"components": [ [ [ "large_tent_kit", 1 ], [ "broketent", 4 ], [ "tent_kit", 3 ], [ "shelter_kit", 4 ] ] ]
},
{
"type": "recipe",
- "result": "faction_base_modular_field_tent_northwest",
+ "result": "faction_base_modular_hub_tent_northwest",
"description": "We should expand our housing by putting up a tent on the west side, though doing so will mean we will need more materials to build the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
@@ -77,16 +77,16 @@
"autolearn": false,
"never_learn": true,
"time": "3 h",
- "construction_blueprint": "fbmf_tent_west",
+ "construction_blueprint": "fbmh_tent_west",
"blueprint_name": "west tent",
- "blueprint_requires": [ { "id": "fbmf_northwest", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_west", "amount": 4 }, { "id": "fbmf_tent_west" } ],
- "blueprint_excludes": [ { "id": "fbmf_west" } ],
+ "blueprint_requires": [ { "id": "fbmh_northwest", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_west", "amount": 4 }, { "id": "fbmh_tent_west" } ],
+ "blueprint_excludes": [ { "id": "fbmh_west" } ],
"components": [ [ [ "large_tent_kit", 1 ], [ "broketent", 4 ], [ "tent_kit", 3 ], [ "shelter_kit", 4 ] ] ]
},
{
"type": "recipe",
- "result": "faction_base_modular_field_tent_northwest",
+ "result": "faction_base_modular_hub_tent_northwest",
"description": "We should expand our housing by putting up a tent on the southwest side, though doing so will mean we will need more materials to build the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
@@ -94,11 +94,11 @@
"autolearn": false,
"never_learn": true,
"time": "3 h",
- "construction_blueprint": "fbmf_tent_southwest",
+ "construction_blueprint": "fbmh_tent_southwest",
"blueprint_name": "southwest tent",
- "blueprint_requires": [ { "id": "fbmf_west", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_southwest", "amount": 4 }, { "id": "fbmf_tent_southwest" } ],
- "blueprint_excludes": [ { "id": "fbmf_southwest" } ],
+ "blueprint_requires": [ { "id": "fbmh_west", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_southwest", "amount": 4 }, { "id": "fbmh_tent_southwest" } ],
+ "blueprint_excludes": [ { "id": "fbmh_southwest" } ],
"components": [ [ [ "large_tent_kit", 1 ], [ "broketent", 4 ], [ "tent_kit", 3 ], [ "shelter_kit", 4 ] ] ]
}
]
diff --git a/data/json/recipes/basecamps/recipe_modular_field_wad.json b/data/json/recipes/basecamps/recipe_modular_field_wad.json
index e5142bd3da24c..bff0bd28da8d3 100644
--- a/data/json/recipes/basecamps/recipe_modular_field_wad.json
+++ b/data/json/recipes/basecamps/recipe_modular_field_wad.json
@@ -1,340 +1,340 @@
[
{
"type": "recipe",
- "result": "faction_base_modular_field_room0_wad_northeast",
+ "result": "faction_base_modular_hub_room0_wad_northeast",
"description": "We need some shelter, so build half of a wattle-and-daub shack with a sod roof on the northeast side of the camp",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room0_wad_northeast",
+ "construction_blueprint": "fbmh_room0_wad_northeast",
"blueprint_name": "northeast shack",
- "blueprint_requires": [ { "id": "faction_base_modular_field_0" } ],
- "blueprint_provides": [ { "id": "fbmf_northeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_northeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_0" } ],
+ "blueprint_provides": [ { "id": "fbmh_northeast" } ],
+ "blueprint_excludes": [ { "id": "fbmh_northeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room1_wad_northeast",
+ "result": "faction_base_modular_hub_room1_wad_northeast",
"description": "We should use wattle-and-daub to expand the shelter so we have space for another bed.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room1_wad_northeast",
+ "construction_blueprint": "fbmh_room1_wad_northeast",
"blueprint_name": "expand northeast shack",
- "blueprint_requires": [ { "id": "fbmf_northeast" } ],
- "blueprint_provides": [ { "id": "fbmf_northeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_northeast", "amount": 2 }, { "id": "fbmf_tent_northeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast" } ],
+ "blueprint_provides": [ { "id": "fbmh_northeast" } ],
+ "blueprint_excludes": [ { "id": "fbmh_northeast", "amount": 2 }, { "id": "fbmh_tent_northeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room2_wad_northeast",
+ "result": "faction_base_modular_hub_room2_wad_northeast",
"description": "We should use wattle-and-daub to finish the northeast shack.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"skill_used": "fabrication",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room2_wad_northeast",
+ "construction_blueprint": "fbmh_room2_wad_northeast",
"blueprint_name": "finish northeast shack",
- "blueprint_requires": [ { "id": "fbmf_northeast", "amount": 2 } ],
- "blueprint_provides": [ { "id": "fbmf_northeast", "amount": 2 } ],
- "blueprint_excludes": [ { "id": "fbmf_northeast", "amount": 4 }, { "id": "fbmf_tent_northeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 2 } ],
+ "blueprint_provides": [ { "id": "fbmh_northeast", "amount": 2 } ],
+ "blueprint_excludes": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_tent_northeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_shack4_wad_east",
+ "result": "faction_base_modular_hub_shack4_wad_east",
"description": "We should expand our housing by putting up a wattle-and-daub building on the east side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_shack4_wad_east",
+ "construction_blueprint": "fbmh_shack4_wad_east",
"blueprint_name": "east shack",
- "blueprint_requires": [ { "id": "fbmf_tent_northeast" }, { "id": "fbmf_fire_northeast" }, { "id": "fbmf_bed2_northeast" } ],
- "blueprint_provides": [ { "id": "fbmf_east", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_east" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_northeast" }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ],
+ "blueprint_provides": [ { "id": "fbmh_east", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_east" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room4_wad_east",
+ "result": "faction_base_modular_hub_room4_wad_east",
"description": "We should expand our housing by adding a wattle-and-daub room on the east side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"skill_used": "fabrication",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room4_wad_east",
+ "construction_blueprint": "fbmh_room4_wad_east",
"blueprint_name": "east room",
- "blueprint_requires": [ { "id": "fbmf_northeast", "amount": 4 }, { "id": "fbmf_fire_northeast" }, { "id": "fbmf_bed2_northeast" } ],
- "blueprint_provides": [ { "id": "fbmf_east", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_east" }, { "id": "fbmf_tent_northeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ],
+ "blueprint_provides": [ { "id": "fbmh_east", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_east" }, { "id": "fbmh_tent_northeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_shack4_wad_southeast",
+ "result": "faction_base_modular_hub_shack4_wad_southeast",
"description": "We should expand our housing by putting up a wattle-and-daub building on the southeast side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_shack4_wad_southeast",
+ "construction_blueprint": "fbmh_shack4_wad_southeast",
"blueprint_name": "southeast shack",
- "blueprint_requires": [ { "id": "fbmf_tent_east" } ],
- "blueprint_provides": [ { "id": "fbmf_southeast", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_southeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_east" } ],
+ "blueprint_provides": [ { "id": "fbmh_southeast", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_southeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room4_wad_southeast",
+ "result": "faction_base_modular_hub_room4_wad_southeast",
"description": "We should expand our housing by adding a wattle-and-daub room on the southeast side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"skills_required": [ [ "survival", 3 ], [ "tailor", 1 ] ],
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room4_wad_southeast",
+ "construction_blueprint": "fbmh_room4_wad_southeast",
"blueprint_name": "southeast room",
- "blueprint_requires": [ { "id": "fbmf_east", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_southeast", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_southeast" }, { "id": "fbmf_tent_east" } ],
+ "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_southeast", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_southeast" }, { "id": "fbmh_tent_east" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room4_wad_northwest",
+ "result": "faction_base_modular_hub_room4_wad_northwest",
"description": "We should expand our housing by putting up a wattle-and-daub building on the northwest side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room4_wad_northwest",
+ "construction_blueprint": "fbmh_room4_wad_northwest",
"blueprint_name": "northwest shack",
- "blueprint_requires": [ { "id": "fbmf_northeast", "amount": 4 }, { "id": "fbmf_fire_northeast" }, { "id": "fbmf_bed2_northeast" } ],
- "blueprint_provides": [ { "id": "fbmf_northwest", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_northwest" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ],
+ "blueprint_provides": [ { "id": "fbmh_northwest", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_northwest" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_shack4_wad_west",
+ "result": "faction_base_modular_hub_shack4_wad_west",
"description": "We should expand our housing by putting up a wattle-and-daub building on the west side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_shack4_wad_west",
+ "construction_blueprint": "fbmh_shack4_wad_west",
"blueprint_name": "west shack",
- "blueprint_requires": [ { "id": "fbmf_tent_northwest" } ],
- "blueprint_provides": [ { "id": "fbmf_west", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_west" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_northwest" } ],
+ "blueprint_provides": [ { "id": "fbmh_west", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_west" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room4_wad_west",
+ "result": "faction_base_modular_hub_room4_wad_west",
"description": "We should expand our housing by adding a wattle-and-daub room on the west side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room4_wad_west",
+ "construction_blueprint": "fbmh_room4_wad_west",
"blueprint_name": "west room",
- "blueprint_requires": [ { "id": "fbmf_northwest", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_west", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_west" }, { "id": "fbmf_tent_northwest" } ],
+ "blueprint_requires": [ { "id": "fbmh_northwest", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_west", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_west" }, { "id": "fbmh_tent_northwest" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_shack4_wad_southwest",
+ "result": "faction_base_modular_hub_shack4_wad_southwest",
"description": "We should expand our housing by putting up a wattle-and-daub building on the southwest side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_shack4_wad_southwest",
+ "construction_blueprint": "fbmh_shack4_wad_southwest",
"blueprint_name": "southwest shack",
- "blueprint_requires": [ { "id": "fbmf_tent_west" } ],
- "blueprint_provides": [ { "id": "fbmf_southwest", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_southwest" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_west" } ],
+ "blueprint_provides": [ { "id": "fbmh_southwest", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_southwest" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room4_wad_southwest",
+ "result": "faction_base_modular_hub_room4_wad_southwest",
"description": "We should expand our housing by adding a wattle-and-daub room on the southwest side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room4_wad_southwest",
+ "construction_blueprint": "fbmh_room4_wad_southwest",
"blueprint_name": "southwest room",
- "blueprint_requires": [ { "id": "fbmf_west", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_southwest", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_southwest" }, { "id": "fbmf_tent_west" } ],
+ "blueprint_requires": [ { "id": "fbmh_west", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_southwest", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_southwest" }, { "id": "fbmh_tent_west" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_shack_ne_wad_center",
+ "result": "faction_base_modular_hub_core_shack_ne_wad_center",
"description": "A central building can act as a kitchen and dining hall. We should build the northeast quarter of one from wattle-and-daub.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_shack_ne_wad_center",
+ "construction_blueprint": "fbmh_core_shack_ne_wad_center",
"blueprint_name": "central building NE corner",
- "blueprint_requires": [ { "id": "fbmf_tent_east" } ],
- "blueprint_provides": [ { "id": "fbmf_center", "amount": 2 }, { "id": "fbmf_ne_center" } ],
- "blueprint_excludes": [ { "id": "fbmf_ne_center" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_east" } ],
+ "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_ne_center" } ],
+ "blueprint_excludes": [ { "id": "fbmh_ne_center" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_ne_wad_center",
+ "result": "faction_base_modular_hub_core_ne_wad_center",
"description": "A central building can act as a core and dining hall. We should build out from the east room with wattle-and-daub.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_ne_wad_center",
+ "construction_blueprint": "fbmh_core_ne_wad_center",
"blueprint_name": "central building NE corner",
- "blueprint_requires": [ { "id": "fbmf_east", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_center", "amount": 2 }, { "id": "fbmf_ne_center" } ],
- "blueprint_excludes": [ { "id": "fbmf_ne_center" }, { "id": "fbmf_tent_east" } ],
+ "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_ne_center" } ],
+ "blueprint_excludes": [ { "id": "fbmh_ne_center" }, { "id": "fbmh_tent_east" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_shack_nw_wad_center",
+ "result": "faction_base_modular_hub_core_shack_nw_wad_center",
"description": "A central building can act as a core and dining hall. We should build the northwest quarter of one from wattle-and-daub.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_shack_nw_wad_center",
+ "construction_blueprint": "fbmh_core_shack_nw_wad_center",
"blueprint_name": "central building NW corner",
- "blueprint_requires": [ { "id": "fbmf_tent_west" } ],
- "blueprint_provides": [ { "id": "fbmf_center", "amount": 2 }, { "id": "fbmf_nw_center" } ],
- "blueprint_excludes": [ { "id": "fbmf_nw_center" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_west" } ],
+ "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_nw_center" } ],
+ "blueprint_excludes": [ { "id": "fbmh_nw_center" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_nw_wad_center",
+ "result": "faction_base_modular_hub_core_nw_wad_center",
"description": "A central building can act as a core and dining hall. We should build out from the west room with wattle-and-daub.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_nw_wad_center",
+ "construction_blueprint": "fbmh_core_nw_wad_center",
"blueprint_name": "central building NW corner",
- "blueprint_requires": [ { "id": "fbmf_west", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_center", "amount": 2 }, { "id": "fbmf_nw_center" } ],
- "blueprint_excludes": [ { "id": "fbmf_nw_center" }, { "id": "fbmf_tent_west" } ],
+ "blueprint_requires": [ { "id": "fbmh_west", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_nw_center" } ],
+ "blueprint_excludes": [ { "id": "fbmh_nw_center" }, { "id": "fbmh_tent_west" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_wad_center",
+ "result": "faction_base_modular_hub_core_wad_center",
"description": "A central building can act as a core and dining hall. We should build between the east and west rooms with wattle-and-daub.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_wad_center",
+ "construction_blueprint": "fbmh_core_wad_center",
"blueprint_name": "central building north half",
- "blueprint_requires": [ { "id": "fbmf_east", "amount": 4 }, { "id": "fbmf_west", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_center", "amount": 4 }, { "id": "fbmf_ne_center" }, { "id": "fbmf_nw_center" } ],
- "blueprint_excludes": [ { "id": "fbmf_ne_center" }, { "id": "fbmf_nw_center" }, { "id": "fbmf_tent_east" }, { "id": "fbmf_tent_west" } ],
+ "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 }, { "id": "fbmh_west", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_center", "amount": 4 }, { "id": "fbmh_ne_center" }, { "id": "fbmh_nw_center" } ],
+ "blueprint_excludes": [ { "id": "fbmh_ne_center" }, { "id": "fbmh_nw_center" }, { "id": "fbmh_tent_east" }, { "id": "fbmh_tent_west" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_shack_se_wad_south",
+ "result": "faction_base_modular_hub_core_shack_se_wad_south",
"description": "A central building can act as a core and dining hall. We should build the southeast quarter of one from wattle-and-daub.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_shack_se_wad_south",
+ "construction_blueprint": "fbmh_core_shack_se_wad_south",
"blueprint_name": "central building SE corner",
- "blueprint_requires": [ { "id": "fbmf_tent_southeast" } ],
- "blueprint_provides": [ { "id": "fbmf_south", "amount": 2 }, { "id": "fbmf_se_south" } ],
- "blueprint_excludes": [ { "id": "fbmf_se_south" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_southeast" } ],
+ "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_se_south" } ],
+ "blueprint_excludes": [ { "id": "fbmh_se_south" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_se_wad_south",
+ "result": "faction_base_modular_hub_core_se_wad_south",
"description": "A central building can act as a core and dining hall. We should build out from the southeast room with wattle-and-daub.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"skill_used": "fabrication",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_se_wad_south",
+ "construction_blueprint": "fbmh_core_se_wad_south",
"blueprint_name": "central building SE corner",
- "blueprint_requires": [ { "id": "fbmf_southeast", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_south", "amount": 2 }, { "id": "fbmf_se_south" } ],
- "blueprint_excludes": [ { "id": "fbmf_se_south" }, { "id": "fbmf_tent_southeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_southeast", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_se_south" } ],
+ "blueprint_excludes": [ { "id": "fbmh_se_south" }, { "id": "fbmh_tent_southeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_shack_sw_wad_south",
+ "result": "faction_base_modular_hub_core_shack_sw_wad_south",
"description": "A central building can act as a core and dining hall. We should build the southwest quarter of one from wattle-and-daub.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_shack_sw_wad_south",
+ "construction_blueprint": "fbmh_core_shack_sw_wad_south",
"blueprint_name": "central building SW corner",
- "blueprint_requires": [ { "id": "fbmf_tent_southwest" } ],
- "blueprint_provides": [ { "id": "fbmf_south", "amount": 2 }, { "id": "fbmf_sw_south" } ],
- "blueprint_excludes": [ { "id": "fbmf_sw_south" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_southwest" } ],
+ "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_sw_south" } ],
+ "blueprint_excludes": [ { "id": "fbmh_sw_south" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_sw_wad_south",
+ "result": "faction_base_modular_hub_core_sw_wad_south",
"description": "A central building can act as a core and dining hall. We should build out from the southwest room with wattle-and-daub.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_sw_wad_south",
+ "construction_blueprint": "fbmh_core_sw_wad_south",
"blueprint_name": "central building SW corner",
- "blueprint_requires": [ { "id": "fbmf_southwest", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_south", "amount": 2 }, { "id": "fbmf_sw_south" } ],
- "blueprint_excludes": [ { "id": "fbmf_sw_south" }, { "id": "fbmf_tent_southwest" } ],
+ "blueprint_requires": [ { "id": "fbmh_southwest", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_sw_south" } ],
+ "blueprint_excludes": [ { "id": "fbmh_sw_south" }, { "id": "fbmh_tent_southwest" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_wad_south",
+ "result": "faction_base_modular_hub_core_wad_south",
"description": "A central building can act as a core and dining hall. We should build between the southeast and southwest rooms with wattle-and-daub.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_wad_south",
+ "construction_blueprint": "fbmh_core_wad_south",
"blueprint_name": "central building south half",
- "blueprint_requires": [ { "id": "fbmf_southeast", "amount": 4 }, { "id": "fbmf_southwest", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_south", "amount": 4 }, { "id": "fbmf_se_south" }, { "id": "fbmf_sw_south" } ],
+ "blueprint_requires": [ { "id": "fbmh_southeast", "amount": 4 }, { "id": "fbmh_southwest", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_south", "amount": 4 }, { "id": "fbmh_se_south" }, { "id": "fbmh_sw_south" } ],
"blueprint_excludes": [
- { "id": "fbmf_se_south" },
- { "id": "fbmf_sw_south" },
- { "id": "fbmf_tent_southeast" },
- { "id": "fbmf_tent_southwest" }
+ { "id": "fbmh_se_south" },
+ { "id": "fbmh_sw_south" },
+ { "id": "fbmh_tent_southeast" },
+ { "id": "fbmh_tent_southwest" }
],
"blueprint_autocalc": true
}
diff --git a/data/json/recipes/basecamps/recipe_modular_field_wood.json b/data/json/recipes/basecamps/recipe_modular_field_wood.json
index 7c10c661bfddb..2b7ab9c43c927 100644
--- a/data/json/recipes/basecamps/recipe_modular_field_wood.json
+++ b/data/json/recipes/basecamps/recipe_modular_field_wood.json
@@ -1,336 +1,336 @@
[
{
"type": "recipe",
- "result": "faction_base_modular_field_room0_wood_northeast",
+ "result": "faction_base_modular_hub_room0_wood_northeast",
"description": "We need some shelter, so build half of a wood panel shack with a wooden roof on the northeast side of the camp",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room0_wood_northeast",
+ "construction_blueprint": "fbmh_room0_wood_northeast",
"blueprint_name": "northeast shack",
- "blueprint_requires": [ { "id": "faction_base_modular_field_0" } ],
- "blueprint_provides": [ { "id": "fbmf_northeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_northeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_0" } ],
+ "blueprint_provides": [ { "id": "fbmh_northeast" } ],
+ "blueprint_excludes": [ { "id": "fbmh_northeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room1_wood_northeast",
+ "result": "faction_base_modular_hub_room1_wood_northeast",
"description": "We should use wood panel to expand the shelter so we have space for another bed.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room1_wood_northeast",
+ "construction_blueprint": "fbmh_room1_wood_northeast",
"blueprint_name": "expand northeast shack",
- "blueprint_requires": [ { "id": "fbmf_northeast" } ],
- "blueprint_provides": [ { "id": "fbmf_northeast" } ],
- "blueprint_excludes": [ { "id": "fbmf_northeast", "amount": 2 }, { "id": "fbmf_tent_northeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast" } ],
+ "blueprint_provides": [ { "id": "fbmh_northeast" } ],
+ "blueprint_excludes": [ { "id": "fbmh_northeast", "amount": 2 }, { "id": "fbmh_tent_northeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room2_wood_northeast",
+ "result": "faction_base_modular_hub_room2_wood_northeast",
"description": "We should use wood panel to finish the northeast shack.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room2_wood_northeast",
+ "construction_blueprint": "fbmh_room2_wood_northeast",
"blueprint_name": "finish northeast shack",
- "blueprint_requires": [ { "id": "fbmf_northeast", "amount": 2 } ],
- "blueprint_provides": [ { "id": "fbmf_northeast", "amount": 2 } ],
- "blueprint_excludes": [ { "id": "fbmf_northeast", "amount": 4 }, { "id": "fbmf_tent_northeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 2 } ],
+ "blueprint_provides": [ { "id": "fbmh_northeast", "amount": 2 } ],
+ "blueprint_excludes": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_tent_northeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_shack4_wood_east",
+ "result": "faction_base_modular_hub_shack4_wood_east",
"description": "We should expand our housing by putting up a wood panel building on the east side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_shack4_wood_east",
+ "construction_blueprint": "fbmh_shack4_wood_east",
"blueprint_name": "east shack",
- "blueprint_requires": [ { "id": "fbmf_tent_northeast" }, { "id": "fbmf_fire_northeast" }, { "id": "fbmf_bed2_northeast" } ],
- "blueprint_provides": [ { "id": "fbmf_east", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_east" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_northeast" }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ],
+ "blueprint_provides": [ { "id": "fbmh_east", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_east" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room4_wood_east",
+ "result": "faction_base_modular_hub_room4_wood_east",
"description": "We should expand our housing by adding a wood panel room on the east side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room4_wood_east",
+ "construction_blueprint": "fbmh_room4_wood_east",
"blueprint_name": "east room",
- "blueprint_requires": [ { "id": "fbmf_northeast", "amount": 4 }, { "id": "fbmf_fire_northeast" }, { "id": "fbmf_bed2_northeast" } ],
- "blueprint_provides": [ { "id": "fbmf_east", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_east" }, { "id": "fbmf_tent_northeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ],
+ "blueprint_provides": [ { "id": "fbmh_east", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_east" }, { "id": "fbmh_tent_northeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_shack4_wood_southeast",
+ "result": "faction_base_modular_hub_shack4_wood_southeast",
"description": "We should expand our housing by putting up a wood panel building on the southeast side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_shack4_wood_southeast",
+ "construction_blueprint": "fbmh_shack4_wood_southeast",
"blueprint_name": "southeast shack",
- "blueprint_requires": [ { "id": "fbmf_tent_east" } ],
- "blueprint_provides": [ { "id": "fbmf_southeast", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_southeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_east" } ],
+ "blueprint_provides": [ { "id": "fbmh_southeast", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_southeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room4_wood_southeast",
+ "result": "faction_base_modular_hub_room4_wood_southeast",
"description": "We should expand our housing by adding a wood panel room on the southeast side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room4_wood_southeast",
+ "construction_blueprint": "fbmh_room4_wood_southeast",
"blueprint_name": "southeast room",
- "blueprint_requires": [ { "id": "fbmf_east", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_southeast", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_southeast" }, { "id": "fbmf_tent_east" } ],
+ "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_southeast", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_southeast" }, { "id": "fbmh_tent_east" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room4_wood_northwest",
+ "result": "faction_base_modular_hub_room4_wood_northwest",
"description": "We should expand our housing by putting up a wood panel building on the northwest side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room4_wood_northwest",
+ "construction_blueprint": "fbmh_room4_wood_northwest",
"blueprint_name": "northwest shack",
- "blueprint_requires": [ { "id": "fbmf_northeast", "amount": 4 }, { "id": "fbmf_fire_northeast" }, { "id": "fbmf_bed2_northeast" } ],
- "blueprint_provides": [ { "id": "fbmf_northwest", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_northwest" } ],
+ "blueprint_requires": [ { "id": "fbmh_northeast", "amount": 4 }, { "id": "fbmh_fire_northeast" }, { "id": "fbmh_bed2_northeast" } ],
+ "blueprint_provides": [ { "id": "fbmh_northwest", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_northwest" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_shack4_wood_west",
+ "result": "faction_base_modular_hub_shack4_wood_west",
"description": "We should expand our housing by putting up a wood panel building on the west side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_shack4_wood_west",
+ "construction_blueprint": "fbmh_shack4_wood_west",
"blueprint_name": "west shack",
- "blueprint_requires": [ { "id": "fbmf_tent_northwest" } ],
- "blueprint_provides": [ { "id": "fbmf_west", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_west" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_northwest" } ],
+ "blueprint_provides": [ { "id": "fbmh_west", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_west" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room4_wood_west",
+ "result": "faction_base_modular_hub_room4_wood_west",
"description": "We should expand our housing by adding a wood panel room on the west side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room4_wood_west",
+ "construction_blueprint": "fbmh_room4_wood_west",
"blueprint_name": "west room",
- "blueprint_requires": [ { "id": "fbmf_northwest", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_west", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_west" }, { "id": "fbmf_tent_northwest" } ],
+ "blueprint_requires": [ { "id": "fbmh_northwest", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_west", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_west" }, { "id": "fbmh_tent_northwest" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_shack4_wood_southwest",
+ "result": "faction_base_modular_hub_shack4_wood_southwest",
"description": "We should expand our housing by putting up a wood panel building on the southwest side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_shack4_wood_southwest",
+ "construction_blueprint": "fbmh_shack4_wood_southwest",
"blueprint_name": "southwest shack",
- "blueprint_requires": [ { "id": "fbmf_tent_west" } ],
- "blueprint_provides": [ { "id": "fbmf_southwest", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_southwest" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_west" } ],
+ "blueprint_provides": [ { "id": "fbmh_southwest", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_southwest" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_room4_wood_southwest",
+ "result": "faction_base_modular_hub_room4_wood_southwest",
"description": "We should expand our housing by adding a wood panel room on the southwest side, which we can also use as part of the central building.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_room4_wood_southwest",
+ "construction_blueprint": "fbmh_room4_wood_southwest",
"blueprint_name": "southwest room",
- "blueprint_requires": [ { "id": "fbmf_west", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_southwest", "amount": 4 } ],
- "blueprint_excludes": [ { "id": "fbmf_southwest" }, { "id": "fbmf_tent_west" } ],
+ "blueprint_requires": [ { "id": "fbmh_west", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_southwest", "amount": 4 } ],
+ "blueprint_excludes": [ { "id": "fbmh_southwest" }, { "id": "fbmh_tent_west" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_shack_ne_wood_center",
+ "result": "faction_base_modular_hub_core_shack_ne_wood_center",
"description": "A central building can act as a kitchen and dining hall. We should build the northeast quarter of one from wood panel.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_shack_ne_wood_center",
+ "construction_blueprint": "fbmh_core_shack_ne_wood_center",
"blueprint_name": "central building NE corner",
- "blueprint_requires": [ { "id": "fbmf_tent_east" } ],
- "blueprint_provides": [ { "id": "fbmf_center", "amount": 2 }, { "id": "fbmf_ne_center" } ],
- "blueprint_excludes": [ { "id": "fbmf_ne_center" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_east" } ],
+ "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_ne_center" } ],
+ "blueprint_excludes": [ { "id": "fbmh_ne_center" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_ne_wood_center",
+ "result": "faction_base_modular_hub_core_ne_wood_center",
"description": "A central building can act as a core and dining hall. We should build out from the east room with wood panel.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_ne_wood_center",
+ "construction_blueprint": "fbmh_core_ne_wood_center",
"blueprint_name": "central building NE corner",
- "blueprint_requires": [ { "id": "fbmf_east", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_center", "amount": 2 }, { "id": "fbmf_ne_center" } ],
- "blueprint_excludes": [ { "id": "fbmf_ne_center" }, { "id": "fbmf_tent_east" } ],
+ "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_ne_center" } ],
+ "blueprint_excludes": [ { "id": "fbmh_ne_center" }, { "id": "fbmh_tent_east" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_nw_wood_center",
+ "result": "faction_base_modular_hub_core_nw_wood_center",
"description": "A central building can act as a core and dining hall. We should build the northwest quarter of one from wood panel.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_shack_nw_wood_center",
+ "construction_blueprint": "fbmh_core_shack_nw_wood_center",
"blueprint_name": "central building NW corner",
- "blueprint_requires": [ { "id": "fbmf_tent_west" } ],
- "blueprint_provides": [ { "id": "fbmf_center", "amount": 2 }, { "id": "fbmf_nw_center" } ],
- "blueprint_excludes": [ { "id": "fbmf_nw_center" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_west" } ],
+ "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_nw_center" } ],
+ "blueprint_excludes": [ { "id": "fbmh_nw_center" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_nw_wood_center",
+ "result": "faction_base_modular_hub_core_nw_wood_center",
"description": "A central building can act as a core and dining hall. We should build out from the west room with wood panel.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_nw_wood_center",
+ "construction_blueprint": "fbmh_core_nw_wood_center",
"blueprint_name": "central building NW corner",
- "blueprint_requires": [ { "id": "fbmf_west", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_center", "amount": 2 }, { "id": "fbmf_nw_center" } ],
- "blueprint_excludes": [ { "id": "fbmf_nw_center" }, { "id": "fbmf_tent_west" } ],
+ "blueprint_requires": [ { "id": "fbmh_west", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_center", "amount": 2 }, { "id": "fbmh_nw_center" } ],
+ "blueprint_excludes": [ { "id": "fbmh_nw_center" }, { "id": "fbmh_tent_west" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_wood_center",
+ "result": "faction_base_modular_hub_core_wood_center",
"description": "A central building can act as a core and dining hall. We should build between the east and west rooms with wood panel.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_wood_center",
+ "construction_blueprint": "fbmh_core_wood_center",
"blueprint_name": "central building north half",
- "blueprint_requires": [ { "id": "fbmf_east", "amount": 4 }, { "id": "fbmf_west", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_center", "amount": 4 }, { "id": "fbmf_ne_center" }, { "id": "fbmf_nw_center" } ],
- "blueprint_excludes": [ { "id": "fbmf_ne_center" }, { "id": "fbmf_nw_center" }, { "id": "fbmf_tent_east" }, { "id": "fbmf_tent_west" } ],
+ "blueprint_requires": [ { "id": "fbmh_east", "amount": 4 }, { "id": "fbmh_west", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_center", "amount": 4 }, { "id": "fbmh_ne_center" }, { "id": "fbmh_nw_center" } ],
+ "blueprint_excludes": [ { "id": "fbmh_ne_center" }, { "id": "fbmh_nw_center" }, { "id": "fbmh_tent_east" }, { "id": "fbmh_tent_west" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_shack_se_wood_south",
+ "result": "faction_base_modular_hub_core_shack_se_wood_south",
"description": "A central building can act as a core and dining hall. We should build the southeast quarter of one from wood panel.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_shack_se_wood_south",
+ "construction_blueprint": "fbmh_core_shack_se_wood_south",
"blueprint_name": "central building SE corner",
- "blueprint_requires": [ { "id": "fbmf_tent_southeast" } ],
- "blueprint_provides": [ { "id": "fbmf_south", "amount": 2 }, { "id": "fbmf_se_south" } ],
- "blueprint_excludes": [ { "id": "fbmf_se_south" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_southeast" } ],
+ "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_se_south" } ],
+ "blueprint_excludes": [ { "id": "fbmh_se_south" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_se_wood_south",
+ "result": "faction_base_modular_hub_core_se_wood_south",
"description": "A central building can act as a core and dining hall. We should build out from the southeast room with wood panel.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_se_wood_south",
+ "construction_blueprint": "fbmh_core_se_wood_south",
"blueprint_name": "central building SE corner",
- "blueprint_requires": [ { "id": "fbmf_southeast", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_south", "amount": 2 }, { "id": "fbmf_se_south" } ],
- "blueprint_excludes": [ { "id": "fbmf_se_south" }, { "id": "fbmf_tent_southeast" } ],
+ "blueprint_requires": [ { "id": "fbmh_southeast", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_se_south" } ],
+ "blueprint_excludes": [ { "id": "fbmh_se_south" }, { "id": "fbmh_tent_southeast" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_shack_sw_wood_south",
+ "result": "faction_base_modular_hub_core_shack_sw_wood_south",
"description": "A central building can act as a core and dining hall. We should build the southwest quarter of one from wood panel.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_shack_sw_wood_south",
+ "construction_blueprint": "fbmh_core_shack_sw_wood_south",
"blueprint_name": "central building SW corner",
- "blueprint_requires": [ { "id": "fbmf_tent_southwest" } ],
- "blueprint_provides": [ { "id": "fbmf_south", "amount": 2 }, { "id": "fbmf_sw_south" } ],
- "blueprint_excludes": [ { "id": "fbmf_sw_south" } ],
+ "blueprint_requires": [ { "id": "fbmh_tent_southwest" } ],
+ "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_sw_south" } ],
+ "blueprint_excludes": [ { "id": "fbmh_sw_south" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_sw_wood_south",
+ "result": "faction_base_modular_hub_core_sw_wood_south",
"description": "A central building can act as a core and dining hall. We should build out from the southwest room with wood panel.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_sw_wood_south",
+ "construction_blueprint": "fbmh_core_sw_wood_south",
"blueprint_name": "central building SW corner",
- "blueprint_requires": [ { "id": "fbmf_southwest", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_south", "amount": 2 }, { "id": "fbmf_sw_south" } ],
- "blueprint_excludes": [ { "id": "fbmf_sw_south" }, { "id": "fbmf_tent_southwest" } ],
+ "blueprint_requires": [ { "id": "fbmh_southwest", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_south", "amount": 2 }, { "id": "fbmh_sw_south" } ],
+ "blueprint_excludes": [ { "id": "fbmh_sw_south" }, { "id": "fbmh_tent_southwest" } ],
"blueprint_autocalc": true
},
{
"type": "recipe",
- "result": "faction_base_modular_field_core_wood_south",
+ "result": "faction_base_modular_hub_core_wood_south",
"description": "A central building can act as a core and dining hall. We should build between the southeast and southwest rooms with wood panel.",
"category": "CC_BUILDING",
"subcategory": "CSC_BUILDING_BASES",
"autolearn": false,
"never_learn": true,
- "construction_blueprint": "fbmf_core_wood_south",
+ "construction_blueprint": "fbmh_core_wood_south",
"blueprint_name": "central building south half",
- "blueprint_requires": [ { "id": "fbmf_southeast", "amount": 4 }, { "id": "fbmf_southwest", "amount": 4 } ],
- "blueprint_provides": [ { "id": "fbmf_south", "amount": 4 }, { "id": "fbmf_se_south" }, { "id": "fbmf_sw_south" } ],
+ "blueprint_requires": [ { "id": "fbmh_southeast", "amount": 4 }, { "id": "fbmh_southwest", "amount": 4 } ],
+ "blueprint_provides": [ { "id": "fbmh_south", "amount": 4 }, { "id": "fbmh_se_south" }, { "id": "fbmh_sw_south" } ],
"blueprint_excludes": [
- { "id": "fbmf_se_south" },
- { "id": "fbmf_sw_south" },
- { "id": "fbmf_tent_southeast" },
- { "id": "fbmf_tent_southwest" }
+ { "id": "fbmh_se_south" },
+ { "id": "fbmh_sw_south" },
+ { "id": "fbmh_tent_southeast" },
+ { "id": "fbmh_tent_southwest" }
],
"blueprint_autocalc": true
}
diff --git a/data/json/recipes/chem/mutagens.json b/data/json/recipes/chem/mutagens.json
index 292ebe7d14cb8..22251e7149695 100644
--- a/data/json/recipes/chem/mutagens.json
+++ b/data/json/recipes/chem/mutagens.json
@@ -30,7 +30,8 @@
],
[ [ "bleach", 2 ], [ "oxy_powder", 200 ] ],
[ [ "ammonia", 1 ], [ "lye_powder", 100 ] ]
- ]
+ ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -59,7 +60,8 @@
"book_learn": [ [ "recipe_serum", 8 ], [ "recipe_labchem", 9 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "FINE_DISTILL", "level": 1 }, { "id": "CONCENTRATE", "level": 1 } ],
"tools": [ [ [ "surface_heat", 37, "LIST" ] ] ],
- "components": [ [ [ "mutagen", 2 ] ] ]
+ "components": [ [ [ "mutagen", 2 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -78,7 +80,8 @@
[ [ "mutagen", 1 ] ],
[ [ "veggy", 3 ], [ "biollante_bud", 1 ], [ "datura_seed", 16 ] ],
[ [ "ammonia", 1 ], [ "lye_powder", 100 ] ]
- ]
+ ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -93,7 +96,8 @@
"book_learn": [ [ "recipe_serum", 8 ], [ "recipe_creepy", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "FINE_DISTILL", "level": 1 }, { "id": "CONCENTRATE", "level": 1 } ],
"tools": [ [ [ "surface_heat", 37, "LIST" ] ] ],
- "components": [ [ [ "mutagen_plant", 2 ] ] ]
+ "components": [ [ [ "mutagen_plant", 2 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -112,7 +116,8 @@
[ [ "mutagen", 1 ] ],
[ [ "honey_bottled", 3 ], [ "honeycomb", 3 ], [ "bee_sting", 3 ], [ "wasp_sting", 3 ] ],
[ [ "ammonia", 1 ], [ "lye_powder", 100 ] ]
- ]
+ ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -127,7 +132,8 @@
"book_learn": [ [ "recipe_serum", 8 ], [ "recipe_maiar", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "FINE_DISTILL", "level": 1 }, { "id": "CONCENTRATE", "level": 1 } ],
"tools": [ [ [ "surface_heat", 37, "LIST" ] ] ],
- "components": [ [ [ "mutagen_insect", 2 ] ] ]
+ "components": [ [ [ "mutagen_insect", 2 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -142,7 +148,8 @@
"book_learn": [ [ "recipe_maiar", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "SEPARATE", "level": 1 }, { "id": "ANALYSIS", "level": 1 } ],
"tools": [ [ [ "surface_heat", 25, "LIST" ] ] ],
- "components": [ [ [ "mutagen", 1 ] ], [ [ "spider_egg", 1 ], [ "chitin_piece", 4 ] ], [ [ "ammonia", 1 ], [ "lye_powder", 100 ] ] ]
+ "components": [ [ [ "mutagen", 1 ] ], [ [ "spider_egg", 1 ], [ "chitin_piece", 4 ] ], [ [ "ammonia", 1 ], [ "lye_powder", 100 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -157,7 +164,8 @@
"book_learn": [ [ "recipe_serum", 8 ], [ "recipe_maiar", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "FINE_DISTILL", "level": 1 }, { "id": "CONCENTRATE", "level": 1 } ],
"tools": [ [ [ "surface_heat", 37, "LIST" ] ] ],
- "components": [ [ [ "mutagen_spider", 2 ] ] ]
+ "components": [ [ [ "mutagen_spider", 2 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -172,7 +180,8 @@
"book_learn": [ [ "recipe_maiar", 8 ], [ "recipe_creepy", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "SEPARATE", "level": 1 }, { "id": "ANALYSIS", "level": 1 } ],
"tools": [ [ [ "surface_heat", 25, "LIST" ] ] ],
- "components": [ [ [ "mutagen", 1 ] ], [ [ "sewage", 3 ], [ "slime_scrap", 3 ] ], [ [ "ammonia", 1 ], [ "lye_powder", 100 ] ] ]
+ "components": [ [ [ "mutagen", 1 ] ], [ [ "sewage", 3 ], [ "slime_scrap", 3 ] ], [ [ "ammonia", 1 ], [ "lye_powder", 100 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -187,7 +196,8 @@
"book_learn": [ [ "recipe_serum", 8 ], [ "recipe_maiar", 8 ], [ "recipe_creepy", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "SEPARATE", "level": 1 }, { "id": "ANALYSIS", "level": 1 } ],
"tools": [ [ [ "surface_heat", 37, "LIST" ] ] ],
- "components": [ [ [ "mutagen_slime", 2 ] ] ]
+ "components": [ [ [ "mutagen_slime", 2 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -206,7 +216,8 @@
[ [ "mutagen", 1 ] ],
[ [ "fish", 2 ], [ "can_sardine", 1 ], [ "can_tuna", 1 ], [ "can_salmon", 1 ], [ "can_herring", 1 ] ],
[ [ "ammonia", 1 ], [ "lye_powder", 100 ] ]
- ]
+ ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -221,7 +232,8 @@
"book_learn": [ [ "recipe_serum", 8 ], [ "recipe_animal", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "FINE_DISTILL", "level": 1 }, { "id": "CONCENTRATE", "level": 1 } ],
"tools": [ [ [ "surface_heat", 37, "LIST" ] ] ],
- "components": [ [ [ "mutagen_fish", 2 ] ] ]
+ "components": [ [ [ "mutagen_fish", 2 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -240,7 +252,8 @@
[ [ "mutagen", 1 ] ],
[ [ "meat_tainted", 3 ], [ "dry_meat_tainted", 3 ] ],
[ [ "ammonia", 1 ], [ "lye_powder", 100 ] ]
- ]
+ ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -255,7 +268,8 @@
"book_learn": [ [ "recipe_serum", 8 ], [ "recipe_creepy", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "FINE_DISTILL", "level": 1 }, { "id": "CONCENTRATE", "level": 1 } ],
"tools": [ [ [ "surface_heat", 37, "LIST" ] ] ],
- "components": [ [ [ "mutagen_rat", 2 ] ] ]
+ "components": [ [ [ "mutagen_rat", 2 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -270,7 +284,8 @@
"book_learn": [ [ "recipe_animal", 7 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "SEPARATE", "level": 1 }, { "id": "ANALYSIS", "level": 1 } ],
"tools": [ [ [ "surface_heat", 25, "LIST" ] ] ],
- "components": [ [ [ "mutagen", 1 ] ], [ [ "meat", 3 ] ], [ [ "ammonia", 1 ], [ "lye_powder", 100 ] ] ]
+ "components": [ [ [ "mutagen", 1 ] ], [ [ "meat", 3 ] ], [ [ "ammonia", 1 ], [ "lye_powder", 100 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -285,7 +300,8 @@
"book_learn": [ [ "recipe_serum", 8 ], [ "recipe_animal", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "FINE_DISTILL", "level": 1 }, { "id": "CONCENTRATE", "level": 1 } ],
"tools": [ [ [ "surface_heat", 37, "LIST" ] ] ],
- "components": [ [ [ "mutagen_beast", 2 ] ] ]
+ "components": [ [ [ "mutagen_beast", 2 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -300,7 +316,8 @@
"book_learn": [ [ "recipe_animal", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "SEPARATE", "level": 1 }, { "id": "ANALYSIS", "level": 1 } ],
"tools": [ [ [ "surface_heat", 25, "LIST" ] ] ],
- "components": [ [ [ "mutagen", 1 ] ], [ [ "meat", 3 ] ], [ [ "ammonia", 1 ], [ "lye_powder", 100 ] ] ]
+ "components": [ [ [ "mutagen", 1 ] ], [ [ "meat", 3 ] ], [ [ "ammonia", 1 ], [ "lye_powder", 100 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -315,7 +332,8 @@
"book_learn": [ [ "recipe_serum", 8 ], [ "recipe_animal", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "FINE_DISTILL", "level": 1 }, { "id": "CONCENTRATE", "level": 1 } ],
"tools": [ [ [ "surface_heat", 37, "LIST" ] ] ],
- "components": [ [ [ "mutagen_ursine", 2 ] ] ]
+ "components": [ [ [ "mutagen_ursine", 2 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -330,7 +348,8 @@
"book_learn": [ [ "recipe_animal", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "SEPARATE", "level": 1 }, { "id": "ANALYSIS", "level": 1 } ],
"tools": [ [ [ "surface_heat", 25, "LIST" ] ] ],
- "components": [ [ [ "mutagen", 1 ] ], [ [ "meat", 1 ] ], [ [ "ammonia", 1 ], [ "lye_powder", 100 ] ] ]
+ "components": [ [ [ "mutagen", 1 ] ], [ [ "meat", 1 ] ], [ [ "ammonia", 1 ], [ "lye_powder", 100 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -345,7 +364,8 @@
"book_learn": [ [ "recipe_serum", 8 ], [ "recipe_animal", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "FINE_DISTILL", "level": 1 }, { "id": "CONCENTRATE", "level": 1 } ],
"tools": [ [ [ "surface_heat", 37, "LIST" ] ] ],
- "components": [ [ [ "mutagen_mouse", 2 ] ] ]
+ "components": [ [ [ "mutagen_mouse", 2 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -360,7 +380,8 @@
"book_learn": [ [ "recipe_animal", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "SEPARATE", "level": 1 }, { "id": "ANALYSIS", "level": 1 } ],
"tools": [ [ [ "surface_heat", 25, "LIST" ] ] ],
- "components": [ [ [ "mutagen", 1 ] ], [ [ "meat", 3 ] ], [ [ "ammonia", 1 ], [ "lye_powder", 100 ] ] ]
+ "components": [ [ [ "mutagen", 1 ] ], [ [ "meat", 3 ] ], [ [ "ammonia", 1 ], [ "lye_powder", 100 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -375,7 +396,8 @@
"book_learn": [ [ "recipe_serum", 8 ], [ "recipe_animal", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "FINE_DISTILL", "level": 1 }, { "id": "CONCENTRATE", "level": 1 } ],
"tools": [ [ [ "surface_heat", 37, "LIST" ] ] ],
- "components": [ [ [ "mutagen_feline", 2 ] ] ]
+ "components": [ [ [ "mutagen_feline", 2 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -390,7 +412,8 @@
"book_learn": [ [ "recipe_animal", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "SEPARATE", "level": 1 }, { "id": "ANALYSIS", "level": 1 } ],
"tools": [ [ [ "surface_heat", 25, "LIST" ] ] ],
- "components": [ [ [ "mutagen", 1 ] ], [ [ "meat", 3 ] ], [ [ "ammonia", 1 ], [ "lye_powder", 100 ] ] ]
+ "components": [ [ [ "mutagen", 1 ] ], [ [ "meat", 3 ] ], [ [ "ammonia", 1 ], [ "lye_powder", 100 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -405,7 +428,8 @@
"book_learn": [ [ "recipe_serum", 8 ], [ "recipe_animal", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "FINE_DISTILL", "level": 1 }, { "id": "CONCENTRATE", "level": 1 } ],
"tools": [ [ [ "surface_heat", 37, "LIST" ] ] ],
- "components": [ [ [ "mutagen_lupine", 2 ] ] ]
+ "components": [ [ [ "mutagen_lupine", 2 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -420,7 +444,8 @@
"book_learn": [ [ "recipe_animal", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "SEPARATE", "level": 1 }, { "id": "ANALYSIS", "level": 1 } ],
"tools": [ [ [ "surface_heat", 25, "LIST" ] ] ],
- "components": [ [ [ "mutagen", 1 ] ], [ [ "meat", 3 ] ], [ [ "ammonia", 1 ], [ "lye_powder", 100 ] ] ]
+ "components": [ [ [ "mutagen", 1 ] ], [ [ "meat", 3 ] ], [ [ "ammonia", 1 ], [ "lye_powder", 100 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -435,7 +460,8 @@
"book_learn": [ [ "recipe_serum", 8 ], [ "recipe_animal", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "FINE_DISTILL", "level": 1 }, { "id": "CONCENTRATE", "level": 1 } ],
"tools": [ [ [ "surface_heat", 37, "LIST" ] ] ],
- "components": [ [ [ "mutagen_cattle", 2 ] ] ]
+ "components": [ [ [ "mutagen_cattle", 2 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -454,7 +480,8 @@
[ [ "mutagen", 1 ] ],
[ [ "meat_tainted", 3 ], [ "dry_meat_tainted", 3 ], [ "can_chowder", 1 ], [ "can_clams", 1 ] ],
[ [ "ammonia", 1 ], [ "lye_powder", 100 ] ]
- ]
+ ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -469,7 +496,8 @@
"book_learn": [ [ "recipe_serum", 8 ], [ "recipe_creepy", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "FINE_DISTILL", "level": 1 }, { "id": "CONCENTRATE", "level": 1 } ],
"tools": [ [ [ "surface_heat", 37, "LIST" ] ] ],
- "components": [ [ [ "mutagen_cephalopod", 2 ] ] ]
+ "components": [ [ [ "mutagen_cephalopod", 2 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -484,7 +512,8 @@
"book_learn": [ [ "recipe_animal", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "SEPARATE", "level": 1 }, { "id": "ANALYSIS", "level": 1 } ],
"tools": [ [ [ "surface_heat", 25, "LIST" ] ] ],
- "components": [ [ [ "mutagen", 1 ] ], [ [ "eggs_bird", 1, "LIST" ] ], [ [ "ammonia", 1 ], [ "lye_powder", 100 ] ] ]
+ "components": [ [ [ "mutagen", 1 ] ], [ [ "eggs_bird", 1, "LIST" ] ], [ [ "ammonia", 1 ], [ "lye_powder", 100 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -499,7 +528,8 @@
"book_learn": [ [ "recipe_serum", 8 ], [ "recipe_animal", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "FINE_DISTILL", "level": 1 }, { "id": "CONCENTRATE", "level": 1 } ],
"tools": [ [ [ "surface_heat", 37, "LIST" ] ] ],
- "components": [ [ [ "mutagen_bird", 2 ] ] ]
+ "components": [ [ [ "mutagen_bird", 2 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -514,7 +544,8 @@
"book_learn": [ [ "recipe_animal", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "SEPARATE", "level": 1 }, { "id": "ANALYSIS", "level": 1 } ],
"tools": [ [ [ "surface_heat", 25, "LIST" ] ] ],
- "components": [ [ [ "mutagen", 1 ] ], [ [ "egg_reptile", 1 ] ], [ [ "ammonia", 1 ], [ "lye_powder", 100 ] ] ]
+ "components": [ [ [ "mutagen", 1 ] ], [ [ "egg_reptile", 1 ] ], [ [ "ammonia", 1 ], [ "lye_powder", 100 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -529,7 +560,8 @@
"book_learn": [ [ "recipe_serum", 8 ], [ "recipe_animal", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "FINE_DISTILL", "level": 1 }, { "id": "CONCENTRATE", "level": 1 } ],
"tools": [ [ [ "surface_heat", 37, "LIST" ] ] ],
- "components": [ [ [ "mutagen_lizard", 2 ] ] ]
+ "components": [ [ [ "mutagen_lizard", 2 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -544,7 +576,8 @@
"book_learn": [ [ "recipe_maiar", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "SEPARATE", "level": 1 }, { "id": "ANALYSIS", "level": 1 } ],
"tools": [ [ [ "surface_heat", 25, "LIST" ] ] ],
- "components": [ [ [ "mutagen", 1 ] ], [ [ "meat", 3 ] ], [ [ "ammonia", 1 ], [ "lye_powder", 100 ] ] ]
+ "components": [ [ [ "mutagen", 1 ] ], [ [ "meat", 3 ] ], [ [ "ammonia", 1 ], [ "lye_powder", 100 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -559,7 +592,8 @@
"book_learn": [ [ "recipe_serum", 8 ], [ "recipe_maiar", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "FINE_DISTILL", "level": 1 }, { "id": "CONCENTRATE", "level": 1 } ],
"tools": [ [ [ "surface_heat", 37, "LIST" ] ] ],
- "components": [ [ [ "mutagen_troglobite", 2 ] ] ]
+ "components": [ [ [ "mutagen_troglobite", 2 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -600,7 +634,8 @@
[ "hflesh_powder", 10 ],
[ "protein_powder", 10 ]
]
- ]
+ ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -615,7 +650,8 @@
"book_learn": [ [ "recipe_medicalmut", 9 ], [ "recipe_serum", 9 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "FINE_DISTILL", "level": 1 }, { "id": "CONCENTRATE", "level": 1 } ],
"tools": [ [ [ "surface_heat", 37, "LIST" ] ] ],
- "components": [ [ [ "mutagen_medical", 2 ] ] ]
+ "components": [ [ [ "mutagen_medical", 2 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -634,7 +670,8 @@
[ [ "royal_jelly", 4 ], [ "mutagen", 2 ] ],
[ [ "bleach", 3 ], [ "oxy_powder", 300 ] ],
[ [ "ammonia", 2 ], [ "lye_powder", 200 ] ]
- ]
+ ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -649,7 +686,8 @@
"book_learn": [ [ "recipe_serum", 9 ], [ "recipe_labchem", 9 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "FINE_DISTILL", "level": 1 }, { "id": "CONCENTRATE", "level": 1 } ],
"tools": [ [ [ "surface_heat", 37, "LIST" ] ] ],
- "components": [ [ [ "purifier", 2 ] ] ]
+ "components": [ [ [ "purifier", 2 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -668,7 +706,8 @@
[ [ "mutagen_plant", 2 ], [ "iv_mutagen_plant", 1 ] ],
[ [ "mutagen_bird", 2 ], [ "iv_mutagen_bird", 1 ] ],
[ [ "purifier", 4 ], [ "iv_purifier", 2 ] ]
- ]
+ ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -683,7 +722,8 @@
"book_learn": [ [ "recipe_alpha", 9 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "FINE_DISTILL", "level": 1 }, { "id": "CONCENTRATE", "level": 1 } ],
"tools": [ [ [ "surface_heat", 37, "LIST" ] ] ],
- "components": [ [ [ "mutagen_alpha", 2 ] ] ]
+ "components": [ [ [ "mutagen_alpha", 2 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -697,7 +737,8 @@
"book_learn": [ [ "recipe_elfa", 10 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "SEPARATE", "level": 1 }, { "id": "ANALYSIS", "level": 1 } ],
"tools": [ [ [ "surface_heat", 31, "LIST" ] ] ],
- "components": [ [ [ "mutagen_slime", 2 ], [ "iv_mutagen_slime", 1 ] ], [ [ "mutagen_plant", 1 ] ], [ [ "mutagen_bird", 1 ] ] ]
+ "components": [ [ [ "mutagen_slime", 2 ], [ "iv_mutagen_slime", 1 ] ], [ [ "mutagen_plant", 1 ] ], [ [ "mutagen_bird", 1 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -712,7 +753,8 @@
"book_learn": [ [ "recipe_elfa", 10 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "FINE_DISTILL", "level": 1 }, { "id": "CONCENTRATE", "level": 1 } ],
"tools": [ [ [ "surface_heat", 37, "LIST" ] ] ],
- "components": [ [ [ "mutagen_elfa", 2 ] ] ]
+ "components": [ [ [ "mutagen_elfa", 2 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -727,7 +769,8 @@
"book_learn": [ [ "recipe_chimera", 9 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "SEPARATE", "level": 1 }, { "id": "ANALYSIS", "level": 1 } ],
"tools": [ [ [ "surface_heat", 37, "LIST" ] ] ],
- "components": [ [ [ "mutagen_lizard", 1 ] ], [ [ "mutagen_bird", 1 ] ], [ [ "mutagen_beast", 1 ] ], [ [ "mutagen_cattle", 1 ] ] ]
+ "components": [ [ [ "mutagen_lizard", 1 ] ], [ [ "mutagen_bird", 1 ] ], [ [ "mutagen_beast", 1 ] ], [ [ "mutagen_cattle", 1 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -742,7 +785,8 @@
"book_learn": [ [ "recipe_chimera", 8 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "FINE_DISTILL", "level": 1 }, { "id": "CONCENTRATE", "level": 1 } ],
"tools": [ [ [ "surface_heat", 37, "LIST" ] ] ],
- "components": [ [ [ "mutagen_chimera", 2 ] ] ]
+ "components": [ [ [ "mutagen_chimera", 2 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -756,7 +800,8 @@
"book_learn": [ [ "recipe_raptor", 9 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "SEPARATE", "level": 1 }, { "id": "ANALYSIS", "level": 1 } ],
"tools": [ [ [ "surface_heat", 31, "LIST" ] ] ],
- "components": [ [ [ "mutagen_lizard", 1 ] ], [ [ "mutagen_bird", 1 ] ], [ [ "purifier", 1 ] ] ]
+ "components": [ [ [ "mutagen_lizard", 1 ] ], [ [ "mutagen_bird", 1 ] ], [ [ "purifier", 1 ] ] ],
+ "flags": [ "SECRET" ]
},
{
"type": "recipe",
@@ -771,6 +816,7 @@
"book_learn": [ [ "recipe_raptor", 9 ] ],
"qualities": [ { "id": "CHEM", "level": 3 }, { "id": "FINE_DISTILL", "level": 1 }, { "id": "CONCENTRATE", "level": 1 } ],
"tools": [ [ [ "surface_heat", 37, "LIST" ] ] ],
- "components": [ [ [ "mutagen_raptor", 2 ] ] ]
+ "components": [ [ [ "mutagen_raptor", 2 ] ] ],
+ "flags": [ "SECRET" ]
}
]
diff --git a/data/json/recipes/other/parts.json b/data/json/recipes/other/parts.json
index 1cf3307d61cf2..841a1ea833a09 100644
--- a/data/json/recipes/other/parts.json
+++ b/data/json/recipes/other/parts.json
@@ -1,4 +1,17 @@
[
+ {
+ "result": "hinge",
+ "type": "recipe",
+ "category": "CC_OTHER",
+ "subcategory": "CSC_OTHER_PARTS",
+ "skill_used": "fabrication",
+ "difficulty": 5,
+ "time": "210 m",
+ "autolearn": true,
+ "using": [ [ "forging_standard", 1 ], [ "steel_tiny", 1 ] ],
+ "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ],
+ "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ]
+ },
{
"result": "sheet_metal",
"type": "recipe",
diff --git a/data/json/recipes/recipe_deconstruction.json b/data/json/recipes/recipe_deconstruction.json
index cbb09b158a692..23d1050697260 100644
--- a/data/json/recipes/recipe_deconstruction.json
+++ b/data/json/recipes/recipe_deconstruction.json
@@ -1830,6 +1830,86 @@
"qualities": [ { "id": "CUT", "level": 1 } ],
"components": [ [ [ "wild_herbs", 10 ] ] ]
},
+ {
+ "result": "hickory_nut",
+ "type": "uncraft",
+ "skill_used": "survival",
+ "difficulty": 1,
+ "time": "6 m",
+ "qualities": [ { "id": "HAMMER", "level": 1 } ],
+ "components": [ [ [ "hickory_nut_unshelled", 1 ] ] ],
+ "flags": [ "BLIND_EASY" ]
+ },
+ {
+ "result": "hazelnut",
+ "type": "uncraft",
+ "skill_used": "survival",
+ "difficulty": 1,
+ "time": "6 m",
+ "qualities": [ { "id": "HAMMER", "level": 1 } ],
+ "components": [ [ [ "hazelnut_unshelled", 1 ] ] ],
+ "flags": [ "BLIND_EASY" ]
+ },
+ {
+ "result": "chestnut",
+ "type": "uncraft",
+ "skill_used": "survival",
+ "difficulty": 1,
+ "time": "6 m",
+ "qualities": [ { "id": "HAMMER", "level": 1 } ],
+ "components": [ [ [ "chestnut_unshelled", 1 ] ] ],
+ "flags": [ "BLIND_EASY" ]
+ },
+ {
+ "result": "almond",
+ "type": "uncraft",
+ "skill_used": "survival",
+ "difficulty": 1,
+ "time": "6 m",
+ "qualities": [ { "id": "HAMMER", "level": 1 } ],
+ "components": [ [ [ "almond_unshelled", 1 ] ] ],
+ "flags": [ "BLIND_EASY" ]
+ },
+ {
+ "result": "pistachio",
+ "type": "uncraft",
+ "skill_used": "survival",
+ "difficulty": 1,
+ "time": "6 m",
+ "qualities": [ { "id": "HAMMER", "level": 1 } ],
+ "components": [ [ [ "pistachio_unshelled", 1 ] ] ],
+ "flags": [ "BLIND_EASY" ]
+ },
+ {
+ "result": "pecan",
+ "type": "uncraft",
+ "skill_used": "survival",
+ "difficulty": 1,
+ "time": "6 m",
+ "qualities": [ { "id": "HAMMER", "level": 1 } ],
+ "components": [ [ [ "pecan_unshelled", 1 ] ] ],
+ "flags": [ "BLIND_EASY" ]
+ },
+ {
+ "result": "walnut",
+ "type": "uncraft",
+ "skill_used": "survival",
+ "difficulty": 1,
+ "time": "6 m",
+ "qualities": [ { "id": "HAMMER", "level": 1 } ],
+ "components": [ [ [ "walnut_unshelled", 1 ] ] ],
+ "flags": [ "BLIND_EASY" ]
+ },
+ {
+ "result": "peanut",
+ "type": "uncraft",
+ "skill_used": "survival",
+ "difficulty": 1,
+ "time": "6 m",
+ "qualities": [ { "id": "HAMMER", "level": 1 } ],
+ "components": [ [ [ "peanut_unshelled", 1 ] ] ],
+ "flags": [ "BLIND_EASY" ]
+ },
{
"result": "tieclip",
"type": "uncraft",
@@ -1867,6 +1947,14 @@
"components": [ [ [ "rag", 5 ] ] ],
"flags": [ "BLIND_HARD" ]
},
+ {
+ "result": "tshirt_tour",
+ "type": "uncraft",
+ "skill_used": "tailor",
+ "time": "0 m",
+ "components": [ [ [ "rag", 5 ] ] ],
+ "flags": [ "BLIND_HARD" ]
+ },
{
"result": "usb_drive",
"type": "uncraft",
@@ -1907,6 +1995,13 @@
"components": [ [ [ "paper", 2 ] ] ],
"flags": [ "BLIND_EASY" ]
},
+ {
+ "result": "hinge",
+ "type": "uncraft",
+ "time": "1 m",
+ "qualities": [ { "id": "HAMMER", "level": 1 } ],
+ "components": [ [ [ "sheet_metal_small", 1 ] ] ]
+ },
{
"result": "wire",
"type": "uncraft",
@@ -1952,6 +2047,20 @@
"qualities": [ { "id": "CUT", "level": 1 } ],
"components": [ [ [ "paper", 35 ] ] ]
},
+ {
+ "result": "box_medium",
+ "type": "uncraft",
+ "time": "4 m",
+ "qualities": [ { "id": "CUT", "level": 1 } ],
+ "components": [ [ [ "paper", 70 ] ] ]
+ },
+ {
+ "result": "box_large",
+ "type": "uncraft",
+ "time": "6 m",
+ "qualities": [ { "id": "CUT", "level": 1 } ],
+ "components": [ [ [ "paper", 105 ] ] ]
+ },
{
"result": "washing_machine",
"type": "uncraft",
@@ -2322,5 +2431,41 @@
"difficulty": 1,
"qualities": [ { "id": "HAMMER", "level": 1 } ],
"components": [ [ [ "adobe_brick", 20 ] ], [ [ "frame_wood_light", 1 ] ] ]
+ },
+ {
+ "result": "guitar_electric",
+ "type": "uncraft",
+ "skill_used": "electronics",
+ "difficulty": 1,
+ "time": "7 m",
+ "qualities": [ { "id": "SCREW", "level": 1 }, { "id": "CUT", "level": 1 } ],
+ "components": [
+ [ [ "shoulder_strap", 1 ] ],
+ [ [ "2x4", 1 ] ],
+ [ [ "amplifier", 1 ] ],
+ [ [ "cable", 10 ] ],
+ [ [ "scrap", 1 ] ],
+ [ [ "e_scrap", 2 ] ]
+ ]
+ },
+ {
+ "result": "amplifier_head",
+ "type": "uncraft",
+ "skill_used": "electronics",
+ "difficulty": 1,
+ "time": "80 m",
+ "qualities": [ { "id": "SCREW", "level": 1 } ],
+ "components": [
+ [ [ "circuit", 1 ] ],
+ [ [ "cable", 4 ] ],
+ [ [ "amplifier", 4 ] ],
+ [ [ "power_supply", 2 ] ],
+ [ [ "plastic_chunk", 4 ] ],
+ [ [ "scrap", 2 ] ],
+ [ [ "splinter", 1 ] ],
+ [ [ "solder_wire", 5 ] ],
+ [ [ "e_scrap", 3 ] ],
+ [ [ "RAM", 1 ] ]
+ ]
}
]
diff --git a/data/json/recipes/recipe_food.json b/data/json/recipes/recipe_food.json
index c34adb9be4c0d..77edc0b9b6851 100644
--- a/data/json/recipes/recipe_food.json
+++ b/data/json/recipes/recipe_food.json
@@ -1045,17 +1045,6 @@
"tools": [ [ [ "surface_heat", 5, "LIST" ] ], [ [ "rock_quern", -1 ], [ "clay_quern", -1 ], [ "food_processor", 20 ] ] ],
"components": [ [ [ "acorns", 1 ] ], [ [ "water", 2 ], [ "water_clean", 2 ] ] ]
},
- {
- "type": "recipe",
- "result": "cooked_burrito",
- "category": "CC_FOOD",
- "subcategory": "CSC_FOOD_SNACK",
- "skill_used": "cooking",
- "time": "2 m",
- "autolearn": true,
- "tools": [ [ [ "surface_heat", 3, "LIST" ] ] ],
- "components": [ [ [ "frozen_burrito", 1 ] ] ]
- },
{
"type": "recipe",
"result": "cooked_dinner",
@@ -3045,34 +3034,6 @@
"tools": [ [ [ "surface_heat", 5, "LIST" ] ] ],
"components": [ [ [ "pinecone", 1 ] ] ]
},
- {
- "type": "recipe",
- "result": "peanut_unshelled",
- "category": "CC_FOOD",
- "subcategory": "CSC_FOOD_VEGGI",
- "skill_used": "survival",
- "difficulty": 1,
- "charges": 1,
- "time": "6 m",
- "autolearn": true,
- "flags": [ "BLIND_EASY" ],
- "qualities": [ { "id": "HAMMER", "level": 1 } ],
- "components": [ [ [ "peanut", 1 ] ] ]
- },
- {
- "type": "recipe",
- "result": "walnut_unshelled",
- "category": "CC_FOOD",
- "subcategory": "CSC_FOOD_VEGGI",
- "skill_used": "survival",
- "difficulty": 1,
- "charges": 1,
- "time": "6 m",
- "autolearn": true,
- "flags": [ "BLIND_EASY" ],
- "qualities": [ { "id": "HAMMER", "level": 1 } ],
- "components": [ [ [ "walnut", 1 ] ] ]
- },
{
"type": "recipe",
"result": "walnut_roasted",
@@ -3118,20 +3079,6 @@
"tools": [ [ [ "surface_heat", 5, "LIST" ] ] ],
"components": [ [ [ "raw_edamame", 1 ] ] ]
},
- {
- "type": "recipe",
- "result": "pecan_unshelled",
- "category": "CC_FOOD",
- "subcategory": "CSC_FOOD_VEGGI",
- "skill_used": "survival",
- "difficulty": 1,
- "charges": 1,
- "time": "6 m",
- "autolearn": true,
- "flags": [ "BLIND_EASY" ],
- "qualities": [ { "id": "HAMMER", "level": 1 } ],
- "components": [ [ [ "pecan", 1 ] ] ]
- },
{
"type": "recipe",
"result": "pecan_roasted",
@@ -3147,20 +3094,6 @@
"tools": [ [ [ "surface_heat", 5, "LIST" ] ] ],
"components": [ [ [ "pecan_unshelled", 1 ] ] ]
},
- {
- "type": "recipe",
- "result": "pistachio_unshelled",
- "category": "CC_FOOD",
- "subcategory": "CSC_FOOD_VEGGI",
- "skill_used": "survival",
- "difficulty": 1,
- "charges": 1,
- "time": "6 m",
- "autolearn": true,
- "flags": [ "BLIND_EASY" ],
- "qualities": [ { "id": "HAMMER", "level": 1 } ],
- "components": [ [ [ "pistachio", 1 ] ] ]
- },
{
"type": "recipe",
"result": "pistachio_roasted",
@@ -3176,20 +3109,6 @@
"tools": [ [ [ "surface_heat", 5, "LIST" ] ] ],
"components": [ [ [ "pistachio_unshelled", 1 ] ] ]
},
- {
- "type": "recipe",
- "result": "almond_unshelled",
- "category": "CC_FOOD",
- "subcategory": "CSC_FOOD_VEGGI",
- "skill_used": "survival",
- "difficulty": 1,
- "charges": 1,
- "time": "6 m",
- "autolearn": true,
- "flags": [ "BLIND_EASY" ],
- "qualities": [ { "id": "HAMMER", "level": 1 } ],
- "components": [ [ [ "almond", 1 ] ] ]
- },
{
"type": "recipe",
"result": "almond_roasted",
@@ -3205,20 +3124,6 @@
"tools": [ [ [ "surface_heat", 5, "LIST" ] ] ],
"components": [ [ [ "almond_unshelled", 1 ] ] ]
},
- {
- "type": "recipe",
- "result": "chestnut_unshelled",
- "category": "CC_FOOD",
- "subcategory": "CSC_FOOD_VEGGI",
- "skill_used": "survival",
- "difficulty": 1,
- "charges": 1,
- "time": "6 m",
- "autolearn": true,
- "flags": [ "BLIND_EASY" ],
- "qualities": [ { "id": "HAMMER", "level": 1 } ],
- "components": [ [ [ "chestnut", 1 ] ] ]
- },
{
"type": "recipe",
"result": "chestnut_roasted",
@@ -3234,20 +3139,6 @@
"tools": [ [ [ "surface_heat", 5, "LIST" ] ] ],
"components": [ [ [ "chestnut_unshelled", 1 ] ] ]
},
- {
- "type": "recipe",
- "result": "hazelnut_unshelled",
- "category": "CC_FOOD",
- "subcategory": "CSC_FOOD_VEGGI",
- "skill_used": "survival",
- "difficulty": 1,
- "charges": 1,
- "time": "6 m",
- "autolearn": true,
- "flags": [ "BLIND_EASY" ],
- "qualities": [ { "id": "HAMMER", "level": 1 } ],
- "components": [ [ [ "hazelnut", 1 ] ] ]
- },
{
"type": "recipe",
"result": "hazelnut_roasted",
@@ -3278,20 +3169,6 @@
"tools": [ [ [ "surface_heat", 5, "LIST" ] ] ],
"components": [ [ [ "acorns", 1 ] ] ]
},
- {
- "type": "recipe",
- "result": "hickory_nut_unshelled",
- "category": "CC_FOOD",
- "subcategory": "CSC_FOOD_VEGGI",
- "skill_used": "survival",
- "difficulty": 1,
- "charges": 1,
- "time": "6 m",
- "autolearn": true,
- "flags": [ "BLIND_EASY" ],
- "qualities": [ { "id": "HAMMER", "level": 1 } ],
- "components": [ [ [ "hickory_nut", 1 ] ] ]
- },
{
"type": "recipe",
"result": "hickory_nut_roasted",
@@ -4711,25 +4588,6 @@
[ [ "salt_water", 1 ], [ "saline", 1 ], [ "salt", 2 ], [ "chem_saltpetre", 1 ] ]
]
},
- {
- "type": "recipe",
- "result": "bag_meat_vac",
- "obsolete": true,
- "category": "CC_FOOD",
- "subcategory": "CSC_FOOD_MEAT",
- "skill_used": "cooking",
- "difficulty": 4,
- "time": "20 m",
- "autolearn": true,
- "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 3 } ],
- "tools": [ [ [ "vac_sealer", 10 ], [ "makeshift_sealer", 20 ] ] ],
- "components": [
- [ [ "water", 1 ], [ "water_clean", 1 ] ],
- [ [ "bag_plastic", 1 ] ],
- [ [ "meat", 1 ] ],
- [ [ "salt_water", 1 ], [ "saline", 1 ], [ "salt", 2 ], [ "chem_saltpetre", 1 ] ]
- ]
- },
{
"type": "recipe",
"result": "salted_fish",
@@ -4751,25 +4609,6 @@
[ [ "salt_water", 1 ], [ "saline", 1 ], [ "salt", 1 ], [ "chem_saltpetre", 1 ] ]
]
},
- {
- "type": "recipe",
- "result": "bag_fish_vac",
- "obsolete": true,
- "category": "CC_FOOD",
- "subcategory": "CSC_FOOD_MEAT",
- "skill_used": "cooking",
- "difficulty": 4,
- "time": "20 m",
- "autolearn": true,
- "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 3 } ],
- "tools": [ [ [ "vac_sealer", 10 ], [ "makeshift_sealer", 20 ] ] ],
- "components": [
- [ [ "water", 1 ], [ "water_clean", 1 ] ],
- [ [ "bag_plastic", 1 ] ],
- [ [ "fish", 1 ] ],
- [ [ "salt_water", 1 ], [ "saline", 1 ], [ "salt", 1 ], [ "chem_saltpetre", 1 ] ]
- ]
- },
{
"type": "recipe",
"result": "hflesh_salted",
@@ -4791,25 +4630,6 @@
[ [ "salt_water", 1 ], [ "saline", 1 ], [ "salt", 2 ], [ "chem_saltpetre", 1 ] ]
]
},
- {
- "type": "recipe",
- "result": "bag_hflesh_vac",
- "obsolete": true,
- "category": "CC_FOOD",
- "subcategory": "CSC_FOOD_MEAT",
- "skill_used": "cooking",
- "difficulty": 4,
- "time": "20 m",
- "book_learn": [ [ "cookbook_human", 4 ] ],
- "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 3 } ],
- "tools": [ [ [ "vac_sealer", 10 ], [ "makeshift_sealer", 20 ] ] ],
- "components": [
- [ [ "water", 1 ], [ "water_clean", 1 ] ],
- [ [ "bag_plastic", 1 ] ],
- [ [ "human_flesh", 1 ] ],
- [ [ "salt_water", 1 ], [ "saline", 1 ], [ "salt", 2 ], [ "chem_saltpetre", 1 ] ]
- ]
- },
{
"type": "recipe",
"result": "veggy_salted",
@@ -4831,25 +4651,6 @@
[ [ "salt_water", 1 ], [ "saline", 1 ], [ "salt", 2 ], [ "chem_saltpetre", 1 ] ]
]
},
- {
- "type": "recipe",
- "result": "bag_veggy_vac",
- "obsolete": true,
- "category": "CC_FOOD",
- "subcategory": "CSC_FOOD_VEGGI",
- "skill_used": "cooking",
- "difficulty": 4,
- "time": "20 m",
- "autolearn": true,
- "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 3 } ],
- "tools": [ [ [ "vac_sealer", 10 ], [ "makeshift_sealer", 20 ] ] ],
- "components": [
- [ [ "water", 1 ], [ "water_clean", 1 ] ],
- [ [ "bag_plastic", 1 ] ],
- [ [ "mushroom", 1 ], [ "veggy_any_uncooked", 1, "LIST" ] ],
- [ [ "salt_water", 1 ], [ "saline", 1 ], [ "salt", 2 ], [ "chem_saltpetre", 1 ] ]
- ]
- },
{
"type": "recipe",
"result": "apple_sugar",
@@ -4870,25 +4671,6 @@
[ [ "sugar", 8 ] ]
]
},
- {
- "type": "recipe",
- "result": "bag_apple_vac",
- "obsolete": true,
- "category": "CC_FOOD",
- "subcategory": "CSC_FOOD_VEGGI",
- "skill_used": "cooking",
- "difficulty": 4,
- "time": "20 m",
- "autolearn": true,
- "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 3 } ],
- "tools": [ [ [ "vac_sealer", 5 ], [ "makeshift_sealer", 10 ] ] ],
- "components": [
- [ [ "water", 1 ], [ "water_clean", 1 ] ],
- [ [ "bag_plastic", 1 ] ],
- [ [ "sweet_fruit", 1, "LIST" ] ],
- [ [ "sugar", 2 ] ]
- ]
- },
{
"type": "recipe",
"result": "kompot",
@@ -8666,5 +8448,41 @@
"qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 1 } ],
"tools": [ [ [ "surface_heat", 8, "LIST" ] ] ],
"components": [ [ [ "cactus_pad", 3 ] ] ]
+ },
+ {
+ "type": "recipe",
+ "result": "homemade_burrito",
+ "category": "CC_FOOD",
+ "subcategory": "CSC_FOOD_MEAT",
+ "skill_used": "cooking",
+ "difficulty": 4,
+ "charges": 3,
+ "time": "30 m",
+ "autolearn": true,
+ "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 2 } ],
+ "tools": [ [ [ "surface_heat", 10, "LIST" ] ] ],
+ "components": [
+ [ [ "meat", 1 ], [ "dry_meat", 1 ], [ "can_chicken", 1 ], [ "meat_smoked", 1 ] ],
+ [ [ "tortilla_corn", 3 ] ],
+ [
+ [ "dry_beans", 1 ],
+ [ "raw_beans", 1 ],
+ [ "dry_lentils", 1 ],
+ [ "raw_lentils", 1 ],
+ [ "dry_rice", 1 ],
+ [ "can_beans", 1 ],
+ [ "beans_cooked", 1 ]
+ ],
+ [
+ [ "lettuce", 2 ],
+ [ "irradiated_lettuce", 2 ],
+ [ "dandelion_cooked", 2 ],
+ [ "veggy_wild_cooked", 2 ],
+ [ "irradiated_cabbage", 2 ],
+ [ "cabbage", 2 ]
+ ],
+ [ [ "tomato", 1 ], [ "irradiated_tomato", 1 ], [ "can_tomato", 1 ], [ "onion", 1 ], [ "irradiated_onion", 1 ] ],
+ [ [ "pepper", 20 ], [ "chilly-p", 20 ], [ "garlic_clove", 6 ], [ "chili_pepper", 2 ] ]
+ ]
}
]
diff --git a/data/json/recipes/recipe_obsolete.json b/data/json/recipes/recipe_obsolete.json
new file mode 100644
index 0000000000000..f0761356ae3d5
--- /dev/null
+++ b/data/json/recipes/recipe_obsolete.json
@@ -0,0 +1,1789 @@
+[
+ {
+ "type": "recipe",
+ "result": "spear_stone",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "cooked_burrito",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bolt_steel_bodkin",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "arrow_metal_bodkin",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "arrow_metal_target",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "arrow_metal",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bolt_steel",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bolt_steel_target",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "lightstrip_inactive",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "lightstrip_dead",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "milk",
+ "id_suffix": "from_powder",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "milk",
+ "id_suffix": "from_condensed",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "offal_cooked",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "30gal_drum",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "55gal_drum",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "anesthesia",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "reloaded_10mm",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "scythe_war",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "laser_sight",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "rail_laser_sight",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "goggles_nv",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "goggles_ir",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "diesel",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "battery_compartment",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "battery_atomic",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "grenade",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "peanut_unshelled",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "walnut_unshelled",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "pecan_unshelled",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "pistachio_unshelled",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "almond_unshelled",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "chestnut_unshelled",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "hazelnut_unshelled",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "hickory_nut_unshelled",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bag_meat_vac",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bag_fish_vac",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bag_hflesh_vac",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bag_veggy_vac",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bag_apple_vac",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "1st_aid",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "20x66_bootleg_flechette",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "20x66_bootleg_shot",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "20x66_bootleg_slug",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "2x4",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "40mm_acidbomb",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "8mm_bootleg",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "8mm_bootleg_jsp",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "acidfrom batteries",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "alarmclockuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "armor_bone",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "arrow_field_point",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "arrow_fire_hardened",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "arrow_heavy_field_point",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "arrow_heavy_fire_hardened",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "arrow_metal_sharpened",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "arrow_small_game",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "arrowhead",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "arrowhead_plastic",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "badge_deputyuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bag_bundle_10",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "barrel_small",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "baseballuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "battery",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "battery_truck",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "battletorch_doneuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bayonet",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "beret_woolknitting",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bindleuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "binocularsuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bio_batteries",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bio_blood_filteruncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bio_digestionuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bio_evap",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bio_face_maskuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bio_flashlight",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bio_ground_sonaruncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bio_laser",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bio_metabolicsuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bio_nanobotsuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bio_power_armor_interface",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bio_power_armor_interface_mkII",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bio_power_storage",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bio_power_storage_mkII",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bio_recycleruncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bio_solar",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bio_water_extractor",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bladefrom steel",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "blazerknitting",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "blowgun",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "blueberries_cooked",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "boobytrapclosed_cans_such_as_drinks",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "boobytrapopen_cans_such_as_food",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "boots_bone",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "boots_winterknitting",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "bowl_pewteruncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "brew_bum_wine",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "brew_fruit_winefrom_berries",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "broken_copbot",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "broken_eyebot",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "broken_manhack",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "broken_molebot",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "broken_riotbot",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "broken_skitterbot",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "broken_tankbot",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "broken_tripod",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "caltropsfrom wire",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "camera_prouncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "camerauncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "candlestickuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "cell_phoneuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "ceramic_bowluncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "ceramic_cupuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "ceramic_plateuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "char_purifieruncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "charcoal",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "clockuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "copper_braceletuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "copper_earuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "cotton_ballby hand",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "cowl_woolknitting",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "creepy_dolluncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "crude_brick",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "cured_hidescraped",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "dart",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "diamond_bayonet",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "diamond_broadsword",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "diamond_dental_grilluncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "diamond_katana",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "diamond_knife",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "diamond_kukri",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "diamond_machete",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "diamond_nodachi",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "diamond_pistol_bayonet",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "diamond_rapier",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "diamond_ringuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "diamond_sword_bayonet",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "diamond_wakizashi",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "diamond_zweihander",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "down_blanketuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "down_pillowuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "dynamite_radio",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "eink_tablet_pcuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "fanuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "felt_patchuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "fileuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "fish_bait_bread",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "fish_bait_fish",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "fish_bait_meat",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "fish_bait_veggy",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "fletching",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "fletchingmakeshift",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "flyeruncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "foonuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "footballuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "forkuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "gasbomb",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "gasoline",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "gauntlets_bone",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "glass_bowluncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "glass_plateuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "glassuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "gloves_fingerlessfrom patches",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "gloves_woolknitting",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "gobag",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "gold_braceletuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "gold_dental_grilluncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "gold_earuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "gold_watchuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "golduncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "gunpowder",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "hat_huntingknitting",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "hat_knitknitting",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "hd_steel_drum",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "heavy_snare_kit",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "helmet_bone",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "helmet_netting",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "honey_bottledfrom_honey_glassed",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "honey_bottledfrom_honeycomb",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "inhaler_sewergas",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "jam_blueberries",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "jam_strawberries",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "jar_V8",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "jar_apple_canned",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "jar_broth",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "jar_broth_bone",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "jar_fish_canned",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "jar_fish_pickled",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "jar_human_canned",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "jar_human_pickled",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "jar_kompot",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "jar_meat_canned",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "jar_meat_pickled",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "jar_soup_fish",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "jar_soup_human",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "jar_soup_meat",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "jar_soup_veggy",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "jar_soup_woods",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "jar_tomato_canned",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "jar_veggy_canned",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "jar_veggy_pickled",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "jug_plasticplastic-mod",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "jumpsuit_xlfrom_jumpsuit",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "kiln_done",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "knife_steakuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "l_HFPackuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "laptop",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "lawnmoweruncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "lead",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "lead_plate",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "light_snare_kit",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "lighteruncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "lightstrip_deaduncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "locketuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "makeshift_crowbaruncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "makeshift_slinguncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "many_years_old_newspaperuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "mask_gas_xlexpand-existing",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "mask_skiknitting",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "material_shrd_limestoneuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "mess_kituncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "metal_tank_small",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "microwave",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "mil_mess_kituncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "militarymapuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "milkfrom powder",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "mininuke",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "mirrorfrom_steel",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "mittensknitting",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "months_old_newspaperuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "mre_beef_boxuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "mre_chicken_boxuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "mre_hotdog_boxuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "mre_ravioli_boxuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "mre_veggy_boxuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "multi_cookeruncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "necklaceuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "newest_newspaperuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "noise_emitterfrom-scratch",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "noise_emitterradio-mod",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "nx17",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "omnicamerafrom-eyebots",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "omnicamerafrom-scratch",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "one_year_old_newspaperuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "pdauncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "peacoatknitting",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "pillowuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "pipe_shotgunsawn",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "pipebomb_radio",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "pipeuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "plastic_chunkfrom_milk",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "plastic_chunkfrom_plastic_bags",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "pocketwatchuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "ponchoknitting",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "power_armor_basic",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "power_armor_helmet_basic",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "processoruncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "radio_car_boxuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "ragknitting",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "raguncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "rebreather_xlmod_existing",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "rechargeable_battery",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "ref_lighteruncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "reloaded_40mm_flechette",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "reloaded_40mm_shot",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "reloaded_shot_beanbag",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "reloaded_shot_he",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "reloaded_signal_flare",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "restaurantmapuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "ringuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "roadmapuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "robot_controls",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "rope_6from_cloth",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "rope_6from_string",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "saiga_sawn",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "saltfrom_salt_water",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "scarf_fur_longmerge_scarves",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "scarf_longknitting",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "scarfknitting",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sf_watchuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "shaft_metal",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "shaft_plastic",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "shaft_wood",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "shaft_wood_heavy",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "shelter_kitrepair",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "shorts_denimfrom fabric",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "shot_scrapbag",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "shot_scrapslug",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "shotgun_sawn",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "silver_braceletuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "silver_earuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "silveruncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sleeping_bag",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sleeping_bag_fur",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sleeveless_duster_furfrom_duster_fur",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sleeveless_duster_furfrom_fur",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sleeveless_duster_leatherfrom_duster_leather",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sleeveless_duster_leatherfrom_leather",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sleeveless_duster_survivorfrom_duster_survivor",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sleeveless_duster_survivorfrom_stuff",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sleeveless_dusterfrom_duster",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sleeveless_dusterfrom_rags",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sleeveless_trenchcoat_furfrom_fur",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sleeveless_trenchcoat_furfrom_trenchcoat_fur",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sleeveless_trenchcoat_leatherfrom_leather",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sleeveless_trenchcoat_leatherfrom_trenchcoat_leather",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sleeveless_trenchcoat_survivorfrom_stuff",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sleeveless_trenchcoat_survivorfrom_trenchcoat_survivor",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sleeveless_trenchcoatfrom_rags",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sleeveless_trenchcoatfrom_trenchcoat",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "small_relicuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "small_storage_battery",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "snare_trigger",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "socks_woolknitting",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "spoonuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sporkuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "stockings_tent_armsfrom_rags",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "stockings_tent_armsfrom_stockings",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "stockings_tent_legsfrom_rags",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "stockings_tent_legsfrom_stockings",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "straw_basketuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "straw_dolluncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "straw_fedorauncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "straw_hatuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "straw_sandalsuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "strawberries_cooked",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sugarfrom_beets",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sugarfrom_sweet_water",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sugarfrom_sweets",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sugarfrom_wood",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "survivormapuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "survnoteuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sweaterknitting",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "sword_forged",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "talking_dolluncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "tank_topuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "tanning_hidemodern",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "tanning_peltmodern",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "television",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "thermal_outfitthermal_outfit_from_bits",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "thermal_outfitthermal_outfit_from_scratch",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "tieclipuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "tin_plateuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "toaster",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "toolboxuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "touristmapuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "tshirtuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "usb_driveuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "v_table",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "vac_sealeruncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "veh_tracker",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "vest_leatherfrom_patches",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "water_acidfrom electrolysis",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "weeks_old_newspaperuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "wool_hoodieknitting",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "wool_suitknitting",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "wristwatchuncraft",
+ "obsolete": true
+ },
+ {
+ "type": "recipe",
+ "result": "years_old_newspaperuncraft",
+ "obsolete": true
+ }
+]
diff --git a/data/json/recipes/recipe_others.json b/data/json/recipes/recipe_others.json
index 7864d9c943ebe..c85846d192f48 100644
--- a/data/json/recipes/recipe_others.json
+++ b/data/json/recipes/recipe_others.json
@@ -4475,5 +4475,33 @@
"autolearn": true,
"qualities": [ { "id": "DIG", "level": 3 } ],
"components": [ [ [ "bag_canvas", 1 ] ], [ [ "material_soil", 3 ] ] ]
+ },
+ {
+ "result": "anvil_bronze",
+ "type": "recipe",
+ "category": "CC_OTHER",
+ "subcategory": "CSC_OTHER_TOOLS",
+ "skill_used": "fabrication",
+ "difficulty": 2,
+ "time": 100000,
+ "autolearn": true,
+ "using": [ [ "forging_standard", 5 ] ],
+ "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "ANVIL", "level": 1 } ],
+ "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ],
+ "components": [ [ [ "scrap_bronze", 10 ] ] ]
+ },
+ {
+ "result": "scrap_bronze",
+ "type": "recipe",
+ "category": "CC_OTHER",
+ "subcategory": "CSC_OTHER_MATERIALS",
+ "skill_used": "fabrication",
+ "difficulty": 2,
+ "time": 10000,
+ "batch_time_factors": [ 90, 4 ],
+ "autolearn": true,
+ "using": [ [ "forging_standard", 1 ] ],
+ "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ],
+ "components": [ [ [ "tin", 12 ] ], [ [ "copper", 50 ] ] ]
}
]
diff --git a/data/json/recipes/recipe_weapon.json b/data/json/recipes/recipe_weapon.json
index 40db372008b33..7159990d8cea4 100644
--- a/data/json/recipes/recipe_weapon.json
+++ b/data/json/recipes/recipe_weapon.json
@@ -2987,6 +2987,36 @@
[ [ "steel_lump", 1 ], [ "steel_chunk", 4 ], [ "scrap", 12 ] ]
]
},
+ {
+ "type": "recipe",
+ "result": "2h_flail_wood",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_BASHING",
+ "skill_used": "fabrication",
+ "skills_required": [ "bashing", 2 ],
+ "difficulty": 3,
+ "time": "32 m",
+ "autolearn": true,
+ "qualities": [ { "id": "CUT", "level": 1 } ],
+ "components": [ [ [ "2x4", 1 ], [ "stick_long", 1 ] ], [ [ "leather", 5 ] ] ]
+ },
+ {
+ "type": "recipe",
+ "result": "2h_flail_steel",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_BASHING",
+ "skill_used": "fabrication",
+ "difficulty": 7,
+ "time": "420 m",
+ "book_learn": [ [ "textbook_weapwest", 6 ] ],
+ "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ],
+ "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 350 ], [ "oxy_torch", 70 ] ] ],
+ "components": [
+ [ [ "steel_lump", 3 ], [ "steel_chunk", 12 ], [ "scrap", 36 ] ],
+ [ [ "stick_long", 1 ] ],
+ [ [ "fur", 2 ], [ "leather", 2 ] ]
+ ]
+ },
{
"type": "recipe",
"result": "butterfly_swords",
diff --git a/data/json/recipes/recipes.json b/data/json/recipes/recipes.json
index 80cbc0271951a..c2b05c4a7bb9f 100644
--- a/data/json/recipes/recipes.json
+++ b/data/json/recipes/recipes.json
@@ -103,7 +103,7 @@
{
"type": "recipe_category",
"id": "CC_ANIMALS",
- "recipe_subcategories": [ "CSC_ALL", "CSC_ANIMALS_CANINE ARMOR" ]
+ "recipe_subcategories": [ "CSC_ALL", "CSC_ANIMALS_CANINE ARMOR", "CSC_ANIMALS_EQUINE ARMOR" ]
},
{
"type": "recipe_category",
diff --git a/data/json/recipes/weapon/cutting.json b/data/json/recipes/weapon/cutting.json
index f08e754a2788d..07b73650607fa 100644
--- a/data/json/recipes/weapon/cutting.json
+++ b/data/json/recipes/weapon/cutting.json
@@ -12,5 +12,74 @@
"qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ],
"tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ] ],
"components": [ [ [ "2x4", 1 ], [ "stick", 2 ] ], [ [ "fur", 2 ], [ "leather", 2 ] ] ]
+ },
+ {
+ "result": "dao",
+ "type": "recipe",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_CUTTING",
+ "skill_used": "fabrication",
+ "difficulty": 7,
+ "time": 55000,
+ "book_learn": [ [ "textbook_armschina", 5 ] ],
+ "using": [ [ "forging_standard", 2 ], [ "bronzesmithing_tools", 1 ] ],
+ "components": [
+ [
+ [ "rag", 1 ],
+ [ "felt_patch", 1 ],
+ [ "leather", 1 ],
+ [ "fur", 1 ],
+ [ "duct_tape", 50 ],
+ [ "cordage_short", 2, "LIST" ],
+ [ "filament", 100, "LIST" ]
+ ],
+ [ [ "scrap_bronze", 5 ] ]
+ ]
+ },
+ {
+ "result": "sword_xiphos",
+ "type": "recipe",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_CUTTING",
+ "skill_used": "fabrication",
+ "difficulty": 6,
+ "time": 45000,
+ "book_learn": [ [ "textbook_weapwest", 4 ] ],
+ "using": [ [ "forging_standard", 2 ], [ "bronzesmithing_tools", 1 ] ],
+ "components": [
+ [
+ [ "rag", 1 ],
+ [ "felt_patch", 1 ],
+ [ "leather", 1 ],
+ [ "fur", 1 ],
+ [ "duct_tape", 50 ],
+ [ "cordage_short", 2, "LIST" ],
+ [ "filament", 100, "LIST" ]
+ ],
+ [ [ "scrap_bronze", 4 ] ]
+ ]
+ },
+ {
+ "result": "khopesh",
+ "type": "recipe",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_CUTTING",
+ "skill_used": "fabrication",
+ "difficulty": 7,
+ "time": 55000,
+ "book_learn": [ [ "textbook_weapwest", 5 ] ],
+ "using": [ [ "forging_standard", 2 ], [ "bronzesmithing_tools", 1 ] ],
+ "components": [
+ [
+ [ "rag", 1 ],
+ [ "felt_patch", 1 ],
+ [ "leather", 1 ],
+ [ "fur", 1 ],
+ [ "duct_tape", 50 ],
+ [ "cordage_short", 2, "LIST" ],
+ [ "filament", 100, "LIST" ]
+ ],
+ [ [ "scrap_bronze", 5 ] ]
+ ]
}
]
diff --git a/data/json/recipes/weapon/mods.json b/data/json/recipes/weapon/mods.json
index 2ccd7e64285ae..06213a8875ba2 100644
--- a/data/json/recipes/weapon/mods.json
+++ b/data/json/recipes/weapon/mods.json
@@ -51,6 +51,188 @@
"tools": [ [ [ "large_repairkit", 10 ], [ "small_repairkit", 30 ] ] ],
"components": [ [ [ "scrap", 1 ] ], [ [ "plastic_chunk", 1 ] ] ]
},
+ {
+ "result": "sights_mount",
+ "type": "recipe",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_MODS",
+ "skill_used": "fabrication",
+ "difficulty": 3,
+ "skills_required": [ [ "gun", 4 ] ],
+ "time": 30000,
+ "book_learn": [
+ [ "mag_guns", 4 ],
+ [ "mag_pistol", 4 ],
+ [ "mag_shotgun", 4 ],
+ [ "mag_smg", 4 ],
+ [ "mag_rifle", 4 ],
+ [ "manual_gun", 4 ],
+ [ "manual_pistol", 4 ],
+ [ "manual_shotgun", 4 ],
+ [ "manual_smg", 4 ],
+ [ "manual_rifle", 4 ]
+ ],
+ "using": [ [ "soldering_standard", 15 ] ],
+ "qualities": [ { "id": "HAMMER_FINE", "level": 1 }, { "id": "SAW_M_FINE", "level": 1 } ],
+ "tools": [ [ [ "large_repairkit", 10 ], [ "small_repairkit", 30 ] ] ],
+ "components": [ [ [ "scrap", 1 ] ], [ [ "plastic_chunk", 1 ] ] ]
+ },
+ {
+ "result": "sights_mount_launcher",
+ "type": "recipe",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_MODS",
+ "skill_used": "fabrication",
+ "difficulty": 3,
+ "skills_required": [ [ "gun", 4 ] ],
+ "time": 30000,
+ "book_learn": [
+ [ "mag_guns", 4 ],
+ [ "mag_pistol", 4 ],
+ [ "mag_shotgun", 4 ],
+ [ "mag_smg", 4 ],
+ [ "mag_rifle", 4 ],
+ [ "manual_gun", 4 ],
+ [ "manual_pistol", 4 ],
+ [ "manual_shotgun", 4 ],
+ [ "manual_smg", 4 ],
+ [ "manual_rifle", 4 ]
+ ],
+ "using": [ [ "soldering_standard", 15 ] ],
+ "qualities": [ { "id": "HAMMER_FINE", "level": 1 }, { "id": "SAW_M_FINE", "level": 1 } ],
+ "tools": [ [ [ "large_repairkit", 10 ], [ "small_repairkit", 30 ] ] ],
+ "components": [ [ [ "scrap", 1 ] ], [ [ "plastic_chunk", 1 ] ] ]
+ },
+ {
+ "result": "sights_mount_pistol",
+ "type": "recipe",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_MODS",
+ "skill_used": "fabrication",
+ "difficulty": 3,
+ "skills_required": [ [ "gun", 4 ] ],
+ "time": 30000,
+ "book_learn": [
+ [ "mag_guns", 4 ],
+ [ "mag_pistol", 4 ],
+ [ "mag_shotgun", 4 ],
+ [ "mag_smg", 4 ],
+ [ "mag_rifle", 4 ],
+ [ "manual_gun", 4 ],
+ [ "manual_pistol", 4 ],
+ [ "manual_shotgun", 4 ],
+ [ "manual_smg", 4 ],
+ [ "manual_rifle", 4 ]
+ ],
+ "using": [ [ "soldering_standard", 15 ] ],
+ "qualities": [ { "id": "HAMMER_FINE", "level": 1 }, { "id": "SAW_M_FINE", "level": 1 } ],
+ "tools": [ [ [ "large_repairkit", 10 ], [ "small_repairkit", 30 ] ] ],
+ "components": [ [ [ "scrap", 1 ] ], [ [ "plastic_chunk", 1 ] ] ]
+ },
+ {
+ "result": "rail_mount",
+ "type": "recipe",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_MODS",
+ "skill_used": "fabrication",
+ "difficulty": 3,
+ "skills_required": [ [ "gun", 4 ] ],
+ "time": 30000,
+ "book_learn": [
+ [ "mag_guns", 4 ],
+ [ "mag_pistol", 4 ],
+ [ "mag_shotgun", 4 ],
+ [ "mag_smg", 4 ],
+ [ "mag_rifle", 4 ],
+ [ "manual_gun", 4 ],
+ [ "manual_pistol", 4 ],
+ [ "manual_shotgun", 4 ],
+ [ "manual_smg", 4 ],
+ [ "manual_rifle", 4 ]
+ ],
+ "using": [ [ "soldering_standard", 15 ] ],
+ "qualities": [ { "id": "HAMMER_FINE", "level": 1 }, { "id": "SAW_M_FINE", "level": 1 } ],
+ "tools": [ [ [ "large_repairkit", 10 ], [ "small_repairkit", 30 ] ] ],
+ "components": [ [ [ "scrap", 1 ] ], [ [ "plastic_chunk", 1 ] ] ]
+ },
+ {
+ "result": "underbarrel_mount",
+ "type": "recipe",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_MODS",
+ "skill_used": "fabrication",
+ "difficulty": 3,
+ "skills_required": [ [ "gun", 4 ] ],
+ "time": 30000,
+ "book_learn": [
+ [ "mag_guns", 4 ],
+ [ "mag_pistol", 4 ],
+ [ "mag_shotgun", 4 ],
+ [ "mag_smg", 4 ],
+ [ "mag_rifle", 4 ],
+ [ "manual_gun", 4 ],
+ [ "manual_pistol", 4 ],
+ [ "manual_shotgun", 4 ],
+ [ "manual_smg", 4 ],
+ [ "manual_rifle", 4 ]
+ ],
+ "using": [ [ "soldering_standard", 15 ] ],
+ "qualities": [ { "id": "HAMMER_FINE", "level": 1 }, { "id": "SAW_M_FINE", "level": 1 } ],
+ "tools": [ [ [ "large_repairkit", 10 ], [ "small_repairkit", 30 ] ] ],
+ "components": [ [ [ "scrap", 1 ] ], [ [ "plastic_chunk", 1 ] ] ]
+ },
+ {
+ "result": "stock_mount",
+ "type": "recipe",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_MODS",
+ "skill_used": "fabrication",
+ "difficulty": 3,
+ "skills_required": [ [ "gun", 5 ] ],
+ "time": 30000,
+ "book_learn": [
+ [ "mag_guns", 4 ],
+ [ "mag_pistol", 4 ],
+ [ "mag_shotgun", 4 ],
+ [ "mag_smg", 4 ],
+ [ "mag_rifle", 4 ],
+ [ "manual_gun", 4 ],
+ [ "manual_pistol", 4 ],
+ [ "manual_shotgun", 4 ],
+ [ "manual_smg", 4 ],
+ [ "manual_rifle", 4 ]
+ ],
+ "using": [ [ "soldering_standard", 15 ] ],
+ "qualities": [ { "id": "HAMMER_FINE", "level": 1 }, { "id": "SAW_M_FINE", "level": 1 } ],
+ "tools": [ [ [ "large_repairkit", 10 ], [ "small_repairkit", 30 ] ] ],
+ "components": [ [ [ "scrap", 3 ] ] ]
+ },
+ {
+ "result": "grip_mount",
+ "type": "recipe",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_MODS",
+ "skill_used": "fabrication",
+ "difficulty": 3,
+ "skills_required": [ [ "gun", 5 ] ],
+ "time": 30000,
+ "book_learn": [
+ [ "mag_guns", 4 ],
+ [ "mag_pistol", 4 ],
+ [ "mag_shotgun", 4 ],
+ [ "mag_smg", 4 ],
+ [ "mag_rifle", 4 ],
+ [ "manual_gun", 4 ],
+ [ "manual_pistol", 4 ],
+ [ "manual_shotgun", 4 ],
+ [ "manual_smg", 4 ],
+ [ "manual_rifle", 4 ]
+ ],
+ "using": [ [ "soldering_standard", 15 ] ],
+ "qualities": [ { "id": "HAMMER_FINE", "level": 1 }, { "id": "SAW_M_FINE", "level": 1 } ],
+ "tools": [ [ [ "large_repairkit", 10 ], [ "small_repairkit", 30 ] ] ],
+ "components": [ [ [ "scrap", 1 ] ], [ [ "plastic_chunk", 3 ] ] ]
+ },
{
"type": "recipe",
"result": "tele_sight",
diff --git a/data/json/recipes/weapon/piercing.json b/data/json/recipes/weapon/piercing.json
index 86522ae1cdd6a..abf165f1b68f0 100644
--- a/data/json/recipes/weapon/piercing.json
+++ b/data/json/recipes/weapon/piercing.json
@@ -30,5 +30,52 @@
"using": [ [ "welding_standard", 2 ], [ "steel_tiny", 1 ] ],
"qualities": [ { "id": "HAMMER", "level": 3 }, { "id": "SAW_M", "level": 1 } ],
"components": [ [ [ "pipe", 1 ] ] ]
+ },
+ {
+ "result": "grip_hook",
+ "type": "recipe",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_PIERCING",
+ "skill_used": "fabrication",
+ "difficulty": 2,
+ "time": 60000,
+ "autolearn": true,
+ "using": [ [ "welding_standard", 2 ], [ "steel_tiny", 1 ] ],
+ "qualities": [ { "id": "HAMMER", "level": 3 }, { "id": "SAW_M", "level": 1 } ],
+ "components": [ [ [ "spike", 1 ] ] ]
+ },
+ {
+ "result": "ji",
+ "type": "recipe",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_PIERCING",
+ "skill_used": "fabrication",
+ "difficulty": 6,
+ "time": 50000,
+ "book_learn": [ [ "textbook_armschina", 5 ] ],
+ "using": [ [ "forging_standard", 2 ], [ "bronzesmithing_tools", 1 ] ],
+ "qualities": [ { "id": "CUT", "level": 1 } ],
+ "components": [
+ [ [ "scrap_bronze", 4 ] ],
+ [ [ "stick_long", 1 ] ],
+ [ [ "rag", 2 ], [ "felt_patch", 2 ], [ "leather", 2 ], [ "fur", 2 ] ]
+ ]
+ },
+ {
+ "result": "spear_dory",
+ "type": "recipe",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_PIERCING",
+ "skill_used": "fabrication",
+ "difficulty": 4,
+ "time": 30000,
+ "book_learn": [ [ "textbook_weapwest", 4 ] ],
+ "using": [ [ "forging_standard", 1 ], [ "bronzesmithing_tools", 1 ] ],
+ "qualities": [ { "id": "CUT", "level": 1 } ],
+ "components": [
+ [ [ "scrap_bronze", 2 ] ],
+ [ [ "stick_long", 1 ] ],
+ [ [ "rag", 2 ], [ "felt_patch", 2 ], [ "leather", 2 ], [ "fur", 2 ] ]
+ ]
}
]
diff --git a/data/json/regional_map_settings.json b/data/json/regional_map_settings.json
index 521773506b0cd..b55999971004a 100644
--- a/data/json/regional_map_settings.json
+++ b/data/json/regional_map_settings.json
@@ -513,7 +513,8 @@
"mx_fumarole": 8,
"mx_portal_in": 2,
"mx_anomaly": 3,
- "mx_roadworks": 100
+ "mx_roadworks": 100,
+ "mx_mayhem": 50
}
},
"build": {
@@ -644,7 +645,11 @@
"gym_fitness": 200,
"gym_fitness_1": 200,
"s_liquor": 500,
- "s_gun": 500,
+ "s_gun": 200,
+ "s_gun_1": 200,
+ "s_gun_2": 200,
+ "s_gun_3": 200,
+ "s_gun_4": 200,
"s_clothes": 200,
"s_clothes_1": 200,
"s_clothes_2": 200,
@@ -653,10 +658,13 @@
"s_clothes_5": 200,
"s_clothes_6": 200,
"s_library": 200,
+ "s_library_1": 200,
+ "s_library_2": 200,
"s_bookstore": 200,
"s_bookstore_1": 200,
"s_bookstore_2": 200,
"s_restaurant": 400,
+ "s_restaurant_foodplace": 400,
"s_restaurant_1": 400,
"s_restaurant_2": 400,
"s_restaurant_3": 400,
@@ -670,6 +678,8 @@
"s_electronics": 500,
"pawn": 300,
"mil_surplus": 200,
+ "mil_surplus_1": 200,
+ "mil_surplus_2": 200,
"s_garage": 300,
"s_garage_1": 300,
"s_garage_2": 300,
@@ -706,6 +716,7 @@
"museum": 100,
"s_music": 200,
"s_laundromat": 100,
+ "s_laundromat_1": 100,
"veterinarian": 200,
"animalpound": 200,
"animalshelter": 100,
@@ -716,6 +727,7 @@
"dispensary": 100,
"dispensary_1": 100,
"dispensary_2": 100,
+ "headshop": 100,
"small_office": 200,
"art_gallery": 200,
"small_storage_units": 300,
@@ -735,6 +747,7 @@
"gambling_hall": 100,
"gambling_hall_1": 100,
"music_venue": 100,
+ "music_venue_1": 100,
"dump": 100,
"recyclecenter": 100,
"landfill": 100,
@@ -746,6 +759,7 @@
"abandonedwarehouse_4": 100,
"emptycommerciallot": 100,
"lancenter": 100,
+ "lancenter_1": 100,
"dollarstore": 200,
"dollarstore_1": 200,
"s_vfw": 100,
diff --git a/data/json/requirements/ammo.json b/data/json/requirements/ammo.json
index 86de075a982c6..3bf204ee72674 100644
--- a/data/json/requirements/ammo.json
+++ b/data/json/requirements/ammo.json
@@ -33,5 +33,35 @@
"type": "requirement",
"//": "Components required for .357 Magnum ammo",
"components": [ [ [ "357mag_casing", 1 ] ], [ [ "lgpistol_primer", 1 ] ] ]
+ },
+ {
+ "id": "ammo_10mm",
+ "type": "requirement",
+ "//": "Components required for 10mm Auto ammo",
+ "components": [ [ [ "10mm_casing", 1 ] ], [ [ "smpistol_primer", 1 ] ] ]
+ },
+ {
+ "id": "ammo_45colt",
+ "type": "requirement",
+ "//": "Components required for .45 Colt ammo",
+ "components": [ [ [ "45colt_casing", 1 ] ], [ [ "lgpistol_primer", 1 ] ] ]
+ },
+ {
+ "id": "ammo_38super",
+ "type": "requirement",
+ "//": "Components required for .38 Super ammo",
+ "components": [ [ [ "38super_casing", 1 ] ], [ [ "smpistol_primer", 1 ] ] ]
+ },
+ {
+ "id": "ammo_410shot",
+ "type": "requirement",
+ "//": "Components required for .410 ammo",
+ "components": [ [ [ "410shot_hull", 1 ] ], [ [ "shotgun_primer", 1 ] ] ]
+ },
+ {
+ "id": "ammo_270win",
+ "type": "requirement",
+ "//": "Components required for .270 Winchester ammo",
+ "components": [ [ [ "270win_casing", 1 ] ], [ [ "lgrifle_primer", 1 ] ] ]
}
]
diff --git a/data/json/requirements/toolsets.json b/data/json/requirements/toolsets.json
index 3013619b57147..bc72b5c35046e 100644
--- a/data/json/requirements/toolsets.json
+++ b/data/json/requirements/toolsets.json
@@ -9,7 +9,7 @@
"id": "earthenware_firing",
"type": "requirement",
"//": "Firing various clay shapes to make earthenware",
- "tools": [ [ [ "brick_kiln", -1 ], [ "kiln", -1 ] ], [ [ "fire", -1 ], [ "brick_kiln", 1 ], [ "kiln", 1 ] ] ]
+ "tools": [ [ [ "fire", -1 ], [ "brick_kiln", 1 ], [ "kiln", 1 ] ] ]
},
{
"id": "forging_standard",
@@ -63,5 +63,12 @@
[ "survivor_belt", -1 ]
]
]
+ },
+ {
+ "id": "bronzesmithing_tools",
+ "type": "requirement",
+ "//": "Tools for casting and work hardening items made from bronze",
+ "qualities": [ { "id": "HAMMER", "level": 2 }, { "id": "ANVIL", "level": 2 } ],
+ "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ]
}
]
diff --git a/data/json/scenarios/scenarios.json b/data/json/scenarios.json
similarity index 96%
rename from data/json/scenarios/scenarios.json
rename to data/json/scenarios.json
index e55878723887a..2af3e272f6137 100644
--- a/data/json/scenarios/scenarios.json
+++ b/data/json/scenarios.json
@@ -203,7 +203,7 @@
"name": "Sheltered",
"points": -3,
"description": "When the apocalypse broke out, you were funneled into a nearby shelter. Here you have lived, never leaving, lest the unknowns of the outside world hurt you. Supplies are running low, and for the first time since the cataclysm, you will be forced to face the outside world.",
- "allowed_locs": [ "lmoe", "shelter" ],
+ "allowed_locs": [ "lmoe_empty", "shelter" ],
"start_name": "Enclosed Shelter",
"flags": [ "WIN_START", "LONE_START" ],
"professions": [ "sheltered_militia", "sheltered_survivor", "bionic_prepper", "unemployed" ]
@@ -338,6 +338,17 @@
"start_name": "Police Station",
"flags": [ "SUR_START", "CITY_START" ]
},
+ {
+ "type": "scenario",
+ "ident": "foodplace",
+ "name": "The Mascot Rises",
+ "points": 0,
+ "description": "You just finished your shift and got back in the break room when you heard the alarms and the security door shutting down behind you. There's a lot of customers out there and you're not sure Foodplace delicious food is going to be enough for them.",
+ "allowed_locs": [ "fp_break_room" ],
+ "professions": [ "true_foodperson", "unemployed" ],
+ "start_name": "Foodplace Break Room",
+ "flags": [ "CITY_START" ]
+ },
{
"type": "scenario",
"ident": "schools_out",
@@ -398,7 +409,7 @@
"start_name": "Crash site",
"professions": [ "soldier", "national_guard", "specops", "bio_soldier", "bio_sniper" ],
"allowed_locs": [ "field", "forest" ],
- "map_special": "mx_helicopter",
+ "map_extra": "mx_helicopter",
"flags": [ "HELI_CRASH", "LONE_START" ]
},
{
diff --git a/data/json/health_msgs.json b/data/json/snippets/health_msgs.json
similarity index 100%
rename from data/json/health_msgs.json
rename to data/json/snippets/health_msgs.json
diff --git a/data/json/music.json b/data/json/snippets/music.json
similarity index 100%
rename from data/json/music.json
rename to data/json/snippets/music.json
diff --git a/data/json/snippets.json b/data/json/snippets/snippets.json
similarity index 99%
rename from data/json/snippets.json
rename to data/json/snippets/snippets.json
index 17eafc6fca53c..ac3d6ab81b034 100644
--- a/data/json/snippets.json
+++ b/data/json/snippets/snippets.json
@@ -2355,5 +2355,10 @@
"text": [
"MINE OPERATIONS SUSPENDED; CONTROL TRANSFERRED TO AMIGARA PROJECT UNDER IMPERATIVE 2:07B.\nFAULTLINE SOUNDING HAS PLACED DEPTH AT 30.09 KM.\nDAMAGE TO FAULTLINE DISCOVERED; NEPOWER MINE CREW PLACED UNDER ARREST FOR VIOLATION OF REGULATION 87.08 AND TRANSFERRED TO LAB 89-C FOR USE AS SUBJECTS.\nQUALITY OF FAULTLINE NOT COMPROMISED.\nINITIATING STANDARD TREMOR TEST..."
]
+ },
+ {
+ "type": "snippet",
+ "category": "headshop_graffiti",
+ "text": [ "(~);}", " + forever", "Be Kind", "Save the whales!" ]
}
]
diff --git a/data/json/species.json b/data/json/species.json
index a4fe789e5e077..7f083143a9cf0 100644
--- a/data/json/species.json
+++ b/data/json/species.json
@@ -36,7 +36,8 @@
},
{
"type": "SPECIES",
- "id": "BLOB"
+ "id": "BLOB",
+ "footsteps": "plop."
},
{
"type": "SPECIES",
@@ -68,15 +69,18 @@
{
"type": "SPECIES",
"id": "WORM",
+ "footsteps": "rustle.",
"fear_triggers": [ "HURT" ]
},
{
"type": "SPECIES",
- "id": "ZOMBIE"
+ "id": "ZOMBIE",
+ "footsteps": "shuffling."
},
{
"type": "SPECIES",
- "id": "ROBOT"
+ "id": "ROBOT",
+ "footsteps": "mechanical whirring."
},
{
"type": "SPECIES",
diff --git a/data/json/speech.json b/data/json/speech.json
index fd0f502741080..3061148d02c3e 100644
--- a/data/json/speech.json
+++ b/data/json/speech.json
@@ -1846,5 +1846,239 @@
"speaker": "mon_eyebot",
"sound": "\"Police inbound. Stay where you are!\"",
"volume": 15
+ },
+ {
+ "type": "speech",
+ "speaker": "foodperson_mask",
+ "sound": "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"",
+ "volume": 17
+ },
+ {
+ "type": "speech",
+ "speaker": "foodperson_mask",
+ "sound": "\"Come to FoodPlace today and buy food!\"",
+ "volume": 15
+ },
+ {
+ "type": "speech",
+ "speaker": "foodperson_mask",
+ "sound": "\"FoodPlace: The best restaurant in an area!\"",
+ "volume": 15
+ },
+ {
+ "type": "speech",
+ "speaker": "foodperson_mask",
+ "sound": "\"Our food contains up to 95% real food.\"",
+ "volume": 15
+ },
+ {
+ "type": "speech",
+ "speaker": "foodperson_mask",
+ "sound": "\"FoodPlace: It's the Calories.\"",
+ "volume": 15
+ },
+ {
+ "type": "speech",
+ "speaker": "foodperson_mask",
+ "sound": "\"You need food, don't you? Then come with me to FOODPLACE!!\"",
+ "volume": 15
+ },
+ {
+ "type": "speech",
+ "speaker": "foodperson_mask",
+ "sound": "\"FoodPlace: Edible food is OUR guarantee!\"",
+ "volume": 15
+ },
+ {
+ "type": "speech",
+ "speaker": "talking_doll",
+ "sound": "Wanna play with me?",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "talking_doll",
+ "sound": "Sing with me!",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "talking_doll",
+ "sound": "I love you!",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "talking_doll",
+ "sound": "Please take me with you!",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "talking_doll",
+ "sound": "May I have a cookie?",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "talking_doll",
+ "sound": "Let's play together!",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "talking_doll",
+ "sound": "Time to play!",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "talking_doll",
+ "sound": "Om nom nom! Delicious!",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "talking_doll",
+ "sound": "Are you my mommy?",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "talking_doll",
+ "sound": "Oh, how fun!",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "talking_doll",
+ "sound": "You're my best friend!",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "talking_doll",
+ "sound": "Heehee!",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "talking_doll",
+ "sound": "Let's have fun!",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "talking_doll",
+ "sound": "Let's have a tea party!",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "talking_doll",
+ "sound": "You're the best!",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "creepy_doll",
+ "sound": "You shouldn't have done that.",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "creepy_doll",
+ "sound": "Let's play... Russian roulette.",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "creepy_doll",
+ "sound": "I hate you.",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "creepy_doll",
+ "sound": "Go kill yourself!",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "creepy_doll",
+ "sound": "Big Brother is watching you...",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "creepy_doll",
+ "sound": "Die for me!",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "creepy_doll",
+ "sound": "Why won't you die?",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "creepy_doll",
+ "sound": "Blood... Delicious.",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "creepy_doll",
+ "sound": "See you... IN HELL!",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "creepy_doll",
+ "sound": "AAAIEEEEEEE!",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "creepy_doll",
+ "sound": "FUCK YOU!",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "creepy_doll",
+ "sound": "What did you do with my Mommy?",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "creepy_doll",
+ "sound": "Stay with me... forever!",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "creepy_doll",
+ "sound": "Hey kids. Want some candy?",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "creepy_doll",
+ "sound": "Down here, they ALL float!",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "creepy_doll",
+ "sound": "Do you really need that much honey?",
+ "volume": 10
+ },
+ {
+ "type": "speech",
+ "speaker": "creepy_doll",
+ "sound": "My previous owner squealed like a pig when I gutted her!",
+ "volume": 10
}
]
diff --git a/data/json/start_locations.json b/data/json/start_locations.json
index 2d068244d357a..17af3be10ecea 100644
--- a/data/json/start_locations.json
+++ b/data/json/start_locations.json
@@ -169,6 +169,12 @@
"name": "LMOE",
"target": "lmoe"
},
+ {
+ "type": "start_location",
+ "ident": "lmoe_empty",
+ "name": "LMOE shelter",
+ "target": "lmoe_under_empty"
+ },
{
"type": "start_location",
"ident": "forest",
@@ -230,6 +236,12 @@
"name": "Police Station",
"target": "police"
},
+ {
+ "type": "start_location",
+ "ident": "fp_break_room",
+ "name": "Foodplace Break Room",
+ "target": "s_restaurant_foodplace_roof"
+ },
{
"type": "start_location",
"ident": "school",
diff --git a/data/json/techniques.json b/data/json/techniques.json
index f527a7cd987d0..841e7f0491c40 100644
--- a/data/json/techniques.json
+++ b/data/json/techniques.json
@@ -1134,5 +1134,68 @@
"unarmed_allowed": true,
"disarms": true,
"messages": [ "You disarm %s", " disarms %s" ]
+ },
+ {
+ "type": "technique",
+ "id": "tec_swordsmanship_grab",
+ "name": "grab and pommel strike",
+ "min_melee": 3,
+ "crit_tec": true,
+ "unarmed_allowed": true,
+ "melee_allowed": true,
+ "down_dur": 1,
+ "messages": [ "You grab and pommel strike %s", " grab and pommel strikes %s" ]
+ },
+ {
+ "type": "technique",
+ "id": "tec_swordsmanship_break",
+ "name": "grab break",
+ "min_melee": 3,
+ "unarmed_allowed": true,
+ "melee_allowed": true,
+ "defensive": true,
+ "grab_break": true
+ },
+ {
+ "type": "technique",
+ "id": "tec_swordsmanship_counter",
+ "name": "displace and counter",
+ "min_melee": 4,
+ "req_buffs": [ "swordsmanship_counter" ],
+ "messages": [ "You displace and counter %s", " displaces and counters %s" ],
+ "mult_bonuses": [ [ "damage", "cut", 1.1 ], [ "movecost", 0.75 ] ],
+ "stun_dur": 1
+ },
+ {
+ "type": "technique",
+ "id": "tec_swordsmanship_unterhau",
+ "name": "sweeping strike",
+ "min_melee": 5,
+ "crit_tec": true,
+ "down_dur": 2,
+ "messages": [ "You trip %s with a sweeping strike", " trips %s with a sweeping strike" ]
+ },
+ {
+ "type": "technique",
+ "id": "tec_swordsmanship_zornhau",
+ "name": "vicious strike",
+ "min_melee": 5,
+ "crit_tec": true,
+ "mult_bonuses": [ [ "damage", "bash", 1.5 ], [ "damage", "cut", 1.5 ], [ "damage", "stab", 1.5 ] ],
+ "stun_dur": 1,
+ "messages": [ "You hack at %s with a vicious strike", " hack at %s with a vicious strike" ]
+ },
+ {
+ "type": "technique",
+ "id": "tec_swordsmanship_mordhau",
+ "name": "death blow",
+ "min_melee": 6,
+ "crit_tec": true,
+ "mult_bonuses": [ [ "damage", "bash", 3 ], [ "damage", "cut", 0 ], [ "damage", "stab", 0 ], [ "movecost", 2 ] ],
+ "stun_dur": 2,
+ "messages": [
+ "You flip your weapon around and deliver a mordhau to %s",
+ " holds his weapon funny and slams it down on %s"
+ ]
}
]
diff --git a/data/json/terrain.json b/data/json/terrain.json
index ee7637272ea8f..2f5abb576a4ff 100644
--- a/data/json/terrain.json
+++ b/data/json/terrain.json
@@ -667,7 +667,18 @@
"move_cost": 2,
"roof": "t_flat_roof",
"flags": [ "TRANSPARENT", "INDOORS", "FLAT", "ROAD" ],
- "bash": { "sound": "thump", "ter_set": "t_null", "str_min": 100, "str_max": 500, "str_min_supported": 200 }
+ "bash": {
+ "sound": "thump",
+ "ter_set": "t_null",
+ "str_min": 200,
+ "str_max": 500,
+ "str_min_supported": 200,
+ "items": [
+ { "item": "steel_lump", "count": [ 1, 4 ] },
+ { "item": "steel_chunk", "count": [ 3, 12 ] },
+ { "item": "scrap", "count": [ 9, 36 ] }
+ ]
+ }
},
{
"type": "terrain",
@@ -1542,7 +1553,12 @@
"open": "t_door_o",
"deconstruct": {
"ter_set": "t_door_frame",
- "items": [ { "item": "2x4", "count": 4 }, { "item": "wood_panel", "count": 1 }, { "item": "nail", "charges": [ 6, 12 ] } ]
+ "items": [
+ { "item": "2x4", "count": 4 },
+ { "item": "wood_panel", "count": 1 },
+ { "item": "nail", "charges": [ 6, 12 ] },
+ { "item": "hinge", "count": 2 }
+ ]
},
"bash": {
"str_min": 8,
@@ -1574,7 +1590,12 @@
"open": "t_door_lab_o",
"deconstruct": {
"ter_set": "t_door_lab_frame",
- "items": [ { "item": "2x4", "count": 4 }, { "item": "wood_panel", "count": 1 }, { "item": "nail", "charges": [ 6, 12 ] } ]
+ "items": [
+ { "item": "2x4", "count": 4 },
+ { "item": "wood_panel", "count": 1 },
+ { "item": "nail", "charges": [ 6, 12 ] },
+ { "item": "hinge", "count": 2 }
+ ]
},
"bash": {
"str_min": 8,
@@ -1606,7 +1627,12 @@
"open": "t_door_white_o",
"deconstruct": {
"ter_set": "t_door_white_frame",
- "items": [ { "item": "2x4", "count": 4 }, { "item": "wood_panel", "count": 1 }, { "item": "nail", "charges": [ 6, 12 ] } ]
+ "items": [
+ { "item": "2x4", "count": 4 },
+ { "item": "wood_panel", "count": 1 },
+ { "item": "nail", "charges": [ 6, 12 ] },
+ { "item": "hinge", "count": 2 }
+ ]
},
"bash": {
"str_min": 8,
@@ -1638,7 +1664,12 @@
"open": "t_door_gray_o",
"deconstruct": {
"ter_set": "t_door_gray_frame",
- "items": [ { "item": "2x4", "count": 4 }, { "item": "wood_panel", "count": 1 }, { "item": "nail", "charges": [ 6, 12 ] } ]
+ "items": [
+ { "item": "2x4", "count": 4 },
+ { "item": "wood_panel", "count": 1 },
+ { "item": "nail", "charges": [ 6, 12 ] },
+ { "item": "hinge", "count": 2 }
+ ]
},
"bash": {
"str_min": 8,
@@ -1670,7 +1701,12 @@
"open": "t_door_red_o",
"deconstruct": {
"ter_set": "t_door_red_frame",
- "items": [ { "item": "2x4", "count": 4 }, { "item": "wood_panel", "count": 1 }, { "item": "nail", "charges": [ 6, 12 ] } ]
+ "items": [
+ { "item": "2x4", "count": 4 },
+ { "item": "wood_panel", "count": 1 },
+ { "item": "nail", "charges": [ 6, 12 ] },
+ { "item": "hinge", "count": 2 }
+ ]
},
"bash": {
"str_min": 8,
@@ -1702,7 +1738,12 @@
"open": "t_door_green_o",
"deconstruct": {
"ter_set": "t_door_green_frame",
- "items": [ { "item": "2x4", "count": 4 }, { "item": "wood_panel", "count": 1 }, { "item": "nail", "charges": [ 6, 12 ] } ]
+ "items": [
+ { "item": "2x4", "count": 4 },
+ { "item": "wood_panel", "count": 1 },
+ { "item": "nail", "charges": [ 6, 12 ] },
+ { "item": "hinge", "count": 2 }
+ ]
},
"bash": {
"str_min": 8,
@@ -1732,7 +1773,12 @@
"flags": [ "FLAMMABLE_ASH", "TRANSPARENT", "FLAT", "BARRICADABLE_DOOR", "CONNECT_TO_WALL", "ROAD" ],
"deconstruct": {
"ter_set": "t_door_white_frame",
- "items": [ { "item": "2x4", "count": 4 }, { "item": "wood_panel", "count": 1 }, { "item": "nail", "charges": [ 6, 12 ] } ]
+ "items": [
+ { "item": "2x4", "count": 4 },
+ { "item": "wood_panel", "count": 1 },
+ { "item": "nail", "charges": [ 6, 12 ] },
+ { "item": "hinge", "count": 2 }
+ ]
},
"close": "t_door_white_c",
"bash": {
@@ -1746,7 +1792,8 @@
"items": [
{ "item": "2x4", "count": [ 1, 3 ] },
{ "item": "nail", "charges": [ 1, 6 ] },
- { "item": "splinter", "count": [ 2, 6 ] }
+ { "item": "splinter", "count": [ 2, 6 ] },
+ { "item": "hinge", "count": [ 1, 2 ] }
]
}
},
@@ -1762,7 +1809,12 @@
"flags": [ "FLAMMABLE_ASH", "TRANSPARENT", "FLAT", "BARRICADABLE_DOOR", "CONNECT_TO_WALL", "ROAD" ],
"deconstruct": {
"ter_set": "t_door_gray_frame",
- "items": [ { "item": "2x4", "count": 4 }, { "item": "wood_panel", "count": 1 }, { "item": "nail", "charges": [ 6, 12 ] } ]
+ "items": [
+ { "item": "2x4", "count": 4 },
+ { "item": "wood_panel", "count": 1 },
+ { "item": "nail", "charges": [ 6, 12 ] },
+ { "item": "hinge", "count": 2 }
+ ]
},
"close": "t_door_gray_c",
"bash": {
@@ -1776,7 +1828,8 @@
"items": [
{ "item": "2x4", "count": [ 1, 3 ] },
{ "item": "nail", "charges": [ 1, 6 ] },
- { "item": "splinter", "count": [ 2, 6 ] }
+ { "item": "splinter", "count": [ 2, 6 ] },
+ { "item": "hinge", "count": [ 1, 2 ] }
]
}
},
@@ -1792,7 +1845,12 @@
"flags": [ "FLAMMABLE_ASH", "TRANSPARENT", "FLAT", "BARRICADABLE_DOOR", "CONNECT_TO_WALL", "ROAD" ],
"deconstruct": {
"ter_set": "t_door_red_frame",
- "items": [ { "item": "2x4", "count": 4 }, { "item": "wood_panel", "count": 1 }, { "item": "nail", "charges": [ 6, 12 ] } ]
+ "items": [
+ { "item": "2x4", "count": 4 },
+ { "item": "wood_panel", "count": 1 },
+ { "item": "nail", "charges": [ 6, 12 ] },
+ { "item": "hinge", "count": 2 }
+ ]
},
"close": "t_door_red_c",
"bash": {
@@ -1806,7 +1864,8 @@
"items": [
{ "item": "2x4", "count": [ 1, 3 ] },
{ "item": "nail", "charges": [ 1, 6 ] },
- { "item": "splinter", "count": [ 2, 6 ] }
+ { "item": "splinter", "count": [ 2, 6 ] },
+ { "item": "hinge", "count": [ 1, 2 ] }
]
}
},
@@ -1822,7 +1881,12 @@
"flags": [ "FLAMMABLE_ASH", "TRANSPARENT", "FLAT", "BARRICADABLE_DOOR", "CONNECT_TO_WALL", "ROAD" ],
"deconstruct": {
"ter_set": "t_door_green_frame",
- "items": [ { "item": "2x4", "count": 4 }, { "item": "wood_panel", "count": 1 }, { "item": "nail", "charges": [ 6, 12 ] } ]
+ "items": [
+ { "item": "2x4", "count": 4 },
+ { "item": "wood_panel", "count": 1 },
+ { "item": "nail", "charges": [ 6, 12 ] },
+ { "item": "hinge", "count": 2 }
+ ]
},
"close": "t_door_green_c",
"bash": {
@@ -1836,7 +1900,8 @@
"items": [
{ "item": "2x4", "count": [ 1, 3 ] },
{ "item": "nail", "charges": [ 1, 6 ] },
- { "item": "splinter", "count": [ 2, 6 ] }
+ { "item": "splinter", "count": [ 2, 6 ] },
+ { "item": "hinge", "count": [ 1, 2 ] }
]
}
},
@@ -1870,7 +1935,8 @@
"items": [
{ "item": "2x4", "count": [ 1, 2 ] },
{ "item": "nail", "charges": [ 1, 4 ] },
- { "item": "splinter", "count": [ 1, 4 ] }
+ { "item": "splinter", "count": [ 1, 4 ] },
+ { "item": "hinge", "count": [ 1, 2 ] }
]
}
},
@@ -1904,7 +1970,8 @@
"items": [
{ "item": "2x4", "count": [ 1, 2 ] },
{ "item": "nail", "charges": [ 1, 4 ] },
- { "item": "splinter", "count": [ 1, 4 ] }
+ { "item": "splinter", "count": [ 1, 4 ] },
+ { "item": "hinge", "count": [ 1, 2 ] }
]
}
},
@@ -1938,7 +2005,8 @@
"items": [
{ "item": "2x4", "count": [ 1, 2 ] },
{ "item": "nail", "charges": [ 1, 4 ] },
- { "item": "splinter", "count": [ 1, 4 ] }
+ { "item": "splinter", "count": [ 1, 4 ] },
+ { "item": "hinge", "count": [ 1, 2 ] }
]
}
},
@@ -1972,7 +2040,8 @@
"items": [
{ "item": "2x4", "count": [ 1, 2 ] },
{ "item": "nail", "charges": [ 1, 4 ] },
- { "item": "splinter", "count": [ 1, 4 ] }
+ { "item": "splinter", "count": [ 1, 4 ] },
+ { "item": "hinge", "count": [ 1, 2 ] }
]
}
},
@@ -2271,7 +2340,12 @@
"open": "t_door_o_peep",
"deconstruct": {
"ter_set": "t_door_frame",
- "items": [ { "item": "peephole", "count": 1 }, { "item": "2x4", "count": 4 }, { "item": "nail", "charges": [ 6, 12 ] } ]
+ "items": [
+ { "item": "peephole", "count": 1 },
+ { "item": "2x4", "count": 4 },
+ { "item": "nail", "charges": [ 6, 12 ] },
+ { "item": "hinge", "count": 2 }
+ ]
},
"bash": {
"str_min": 8,
@@ -2319,7 +2393,8 @@
"items": [
{ "item": "2x4", "count": [ 1, 2 ] },
{ "item": "nail", "charges": [ 1, 4 ] },
- { "item": "splinter", "count": [ 1, 4 ] }
+ { "item": "splinter", "count": [ 1, 4 ] },
+ { "item": "hinge", "count": [ 1, 2 ] }
]
}
},
@@ -2353,7 +2428,8 @@
"items": [
{ "item": "2x4", "count": [ 1, 2 ] },
{ "item": "nail", "charges": [ 1, 4 ] },
- { "item": "splinter", "count": [ 1, 4 ] }
+ { "item": "splinter", "count": [ 1, 4 ] },
+ { "item": "hinge", "count": [ 1, 2 ] }
]
}
},
@@ -2389,7 +2465,8 @@
{ "item": "2x4", "prob": 50 },
{ "item": "2x4", "count": [ 1, 2 ] },
{ "item": "nail", "charges": [ 1, 4 ] },
- { "item": "splinter", "count": [ 1, 4 ] }
+ { "item": "splinter", "count": [ 1, 4 ] },
+ { "item": "hinge", "count": [ 1, 2 ] }
]
}
},
@@ -2405,7 +2482,12 @@
"flags": [ "FLAMMABLE_ASH", "TRANSPARENT", "FLAT", "BARRICADABLE_DOOR", "CONNECT_TO_WALL", "ROAD" ],
"deconstruct": {
"ter_set": "t_door_frame",
- "items": [ { "item": "2x4", "count": 4 }, { "item": "wood_panel", "count": 1 }, { "item": "nail", "charges": [ 6, 12 ] } ]
+ "items": [
+ { "item": "2x4", "count": 4 },
+ { "item": "wood_panel", "count": 1 },
+ { "item": "nail", "charges": [ 6, 12 ] },
+ { "item": "hinge", "count": 2 }
+ ]
},
"close": "t_door_c",
"bash": {
@@ -2419,7 +2501,8 @@
"items": [
{ "item": "2x4", "count": [ 1, 3 ] },
{ "item": "nail", "charges": [ 1, 6 ] },
- { "item": "splinter", "count": [ 2, 6 ] }
+ { "item": "splinter", "count": [ 2, 6 ] },
+ { "item": "hinge", "count": [ 1, 2 ] }
]
}
},
@@ -2435,7 +2518,12 @@
"flags": [ "FLAMMABLE_ASH", "TRANSPARENT", "FLAT", "BARRICADABLE_DOOR", "CONNECT_TO_WALL", "ROAD" ],
"deconstruct": {
"ter_set": "t_door_lab_frame",
- "items": [ { "item": "2x4", "count": 4 }, { "item": "wood_panel", "count": 1 }, { "item": "nail", "charges": [ 6, 12 ] } ]
+ "items": [
+ { "item": "2x4", "count": 4 },
+ { "item": "wood_panel", "count": 1 },
+ { "item": "nail", "charges": [ 6, 12 ] },
+ { "item": "hinge", "count": 2 }
+ ]
},
"close": "t_door_lab_c",
"bash": {
@@ -2469,7 +2557,8 @@
{ "item": "peephole", "count": 1 },
{ "item": "2x4", "count": 4 },
{ "item": "wood_panel", "count": 1 },
- { "item": "nail", "charges": [ 6, 12 ] }
+ { "item": "nail", "charges": [ 6, 12 ] },
+ { "item": "hinge", "count": [ 1, 2 ] }
]
},
"close": "t_door_c_peep",
@@ -2485,7 +2574,8 @@
{ "item": "peephole", "prob": 50 },
{ "item": "2x4", "count": [ 1, 3 ] },
{ "item": "nail", "charges": [ 1, 6 ] },
- { "item": "splinter", "count": [ 2, 6 ] }
+ { "item": "splinter", "count": [ 2, 6 ] },
+ { "item": "hinge", "count": [ 1, 2 ] }
]
}
},
@@ -2493,7 +2583,7 @@
"type": "terrain",
"id": "t_rdoor_c",
"name": "closed reinforced wood door",
- "description": "Just like other wooden doors, except this one has layers of nailed in two by fours for reinforcement. It might be barricaded, but still susceptible to fire.",
+ "description": "Just like other wooden doors, except this one has layers of nailed in two by fours and additional hinge for reinforcement. It might be barricaded, but still susceptible to fire.",
"symbol": "+",
"color": "red",
"move_cost": 0,
@@ -2503,7 +2593,12 @@
"open": "t_rdoor_o",
"deconstruct": {
"ter_set": "t_door_c",
- "items": [ { "item": "2x4", "count": 24 }, { "item": "wood_panel", "count": 2 }, { "item": "nail", "charges": [ 36, 48 ] } ]
+ "items": [
+ { "item": "2x4", "count": 24 },
+ { "item": "wood_panel", "count": 2 },
+ { "item": "nail", "charges": [ 36, 48 ] },
+ { "item": "hinge", "count": 1 }
+ ]
},
"bash": {
"str_min": 18,
@@ -2550,7 +2645,8 @@
"items": [
{ "item": "2x4", "count": [ 1, 4 ] },
{ "item": "nail", "charges": [ 4, 18 ] },
- { "item": "splinter", "count": [ 2, 4 ] }
+ { "item": "splinter", "count": [ 2, 4 ] },
+ { "item": "hinge", "count": [ 0, 1 ] }
]
}
},
@@ -2566,7 +2662,12 @@
"flags": [ "FLAMMABLE_ASH", "TRANSPARENT", "FLAT", "BARRICADABLE_DOOR_REINFORCED", "CONNECT_TO_WALL", "ROAD" ],
"deconstruct": {
"ter_set": "t_door_c",
- "items": [ { "item": "2x4", "count": 24 }, { "item": "wood_panel", "count": 1 }, { "item": "nail", "charges": [ 36, 48 ] } ]
+ "items": [
+ { "item": "2x4", "count": 24 },
+ { "item": "wood_panel", "count": 1 },
+ { "item": "nail", "charges": [ 36, 48 ] },
+ { "item": "hinge", "count": 1 }
+ ]
},
"close": "t_rdoor_c",
"bash": {
@@ -2580,7 +2681,8 @@
"items": [
{ "item": "2x4", "count": [ 2, 8 ] },
{ "item": "nail", "charges": [ 8, 30 ] },
- { "item": "splinter", "count": [ 4, 8 ] }
+ { "item": "splinter", "count": [ 4, 8 ] },
+ { "item": "hinge", "count": [ 0, 1 ] }
]
}
},
@@ -2976,7 +3078,12 @@
"open": "t_fencegate_o",
"deconstruct": {
"ter_set": "t_dirt",
- "items": [ { "item": "2x4", "count": 5 }, { "item": "pointy_stick", "count": 2 }, { "item": "nail", "charges": 12 } ]
+ "items": [
+ { "item": "2x4", "count": 5 },
+ { "item": "pointy_stick", "count": 2 },
+ { "item": "nail", "charges": 12 },
+ { "item": "hinge", "count": [ 1, 2 ] }
+ ]
},
"bash": {
"str_min": 4,
@@ -2989,7 +3096,8 @@
"items": [
{ "item": "2x4", "count": [ 1, 4 ] },
{ "item": "nail", "charges": [ 2, 8 ] },
- { "item": "splinter", "count": [ 1, 2 ] }
+ { "item": "splinter", "count": [ 1, 2 ] },
+ { "item": "hinge", "count": [ 1, 2 ] }
]
}
},
@@ -3006,7 +3114,12 @@
"close": "t_fencegate_c",
"deconstruct": {
"ter_set": "t_dirt",
- "items": [ { "item": "2x4", "count": 5 }, { "item": "pointy_stick", "count": 2 }, { "item": "nail", "charges": 12 } ]
+ "items": [
+ { "item": "2x4", "count": 5 },
+ { "item": "pointy_stick", "count": 2 },
+ { "item": "nail", "charges": 12 },
+ { "item": "hinge", "count": [ 1, 2 ] }
+ ]
},
"bash": {
"str_min": 4,
@@ -3014,7 +3127,12 @@
"sound": "crash!",
"sound_fail": "wham!",
"ter_set": "t_null",
- "items": [ { "item": "2x4", "count": [ 1, 4 ] }, { "item": "nail", "charges": [ 2, 8 ] }, { "item": "splinter", "count": 1 } ]
+ "items": [
+ { "item": "2x4", "count": [ 1, 4 ] },
+ { "item": "nail", "charges": [ 2, 8 ] },
+ { "item": "splinter", "count": 1 },
+ { "item": "hinge", "count": [ 1, 2 ] }
+ ]
}
},
{
@@ -3081,7 +3199,12 @@
"open": "t_chickenwire_gate_o",
"deconstruct": {
"ter_set": "t_dirt",
- "items": [ { "item": "2x4", "count": 5 }, { "item": "wire", "count": 10 }, { "item": "nail", "charges": 20 } ]
+ "items": [
+ { "item": "2x4", "count": 5 },
+ { "item": "wire", "count": 10 },
+ { "item": "nail", "charges": 20 },
+ { "item": "hinge", "count": [ 1, 2 ] }
+ ]
},
"bash": {
"str_min": 5,
@@ -3091,7 +3214,7 @@
"sound": "rattle!",
"sound_fail": "thump!",
"ter_set": "t_null",
- "items": [ { "item": "wire", "count": [ 4, 6 ] }, { "item": "2x4", "count": [ 2, 4 ] } ]
+ "items": [ { "item": "wire", "count": [ 4, 6 ] }, { "item": "2x4", "count": [ 2, 4 ] }, { "item": "hinge", "count": [ 1, 2 ] } ]
}
},
{
@@ -3108,7 +3231,12 @@
"close": "t_chickenwire_gate_c",
"deconstruct": {
"ter_set": "t_dirt",
- "items": [ { "item": "2x4", "count": 5 }, { "item": "wire", "count": 10 }, { "item": "nail", "charges": 20 } ]
+ "items": [
+ { "item": "2x4", "count": 5 },
+ { "item": "wire", "count": 10 },
+ { "item": "nail", "charges": 20 },
+ { "item": "hinge", "count": [ 1, 2 ] }
+ ]
},
"bash": {
"str_min": 5,
@@ -3116,7 +3244,7 @@
"sound": "rattle!",
"sound_fail": "thump!",
"ter_set": "t_null",
- "items": [ { "item": "wire", "count": [ 4, 6 ] }, { "item": "2x4", "count": [ 2, 4 ] } ]
+ "items": [ { "item": "wire", "count": [ 4, 6 ] }, { "item": "2x4", "count": [ 2, 4 ] }, { "item": "hinge", "count": [ 1, 2 ] } ]
}
},
{
@@ -3165,7 +3293,12 @@
"sound": "crash!",
"sound_fail": "wham!",
"ter_set": "t_door_frame",
- "items": [ { "item": "2x4", "count": [ 1, 8 ] }, { "item": "nail", "charges": [ 2, 20 ] }, { "item": "splinter", "count": 1 } ]
+ "items": [
+ { "item": "2x4", "count": [ 1, 8 ] },
+ { "item": "nail", "charges": [ 2, 20 ] },
+ { "item": "splinter", "count": 1 },
+ { "item": "hinge", "count": [ 1, 2 ] }
+ ]
}
},
{
@@ -3241,7 +3374,12 @@
"sound": "crash!",
"sound_fail": "wham!",
"ter_set": "t_door_b",
- "items": [ { "item": "2x4", "count": [ 2, 16 ] }, { "item": "nail", "charges": [ 6, 54 ] }, { "item": "splinter", "count": 1 } ]
+ "items": [
+ { "item": "2x4", "count": [ 2, 16 ] },
+ { "item": "nail", "charges": [ 6, 54 ] },
+ { "item": "splinter", "count": 1 },
+ { "item": "hinge", "count": [ 0, 1 ] }
+ ]
}
},
{
@@ -3268,7 +3406,8 @@
{ "item": "peephole", "prob": 75 },
{ "item": "2x4", "count": [ 1, 8 ] },
{ "item": "nail", "charges": [ 2, 20 ] },
- { "item": "splinter", "count": 1 }
+ { "item": "splinter", "count": 1 },
+ { "item": "hinge", "count": [ 1, 2 ] }
]
}
},
@@ -3284,6 +3423,52 @@
"roof": "t_flat_roof",
"flags": [ "NOITEM", "DOOR", "CONNECT_TO_WALL", "MINEABLE", "BLOCK_WIND" ],
"open": "t_door_metal_o",
+ "bash": {
+ "str_min": 80,
+ "str_max": 250,
+ "sound": "metal screeching!",
+ "sound_fail": "clang!",
+ "ter_set": "t_mdoor_frame",
+ "items": [
+ { "item": "scrap", "count": [ 12, 24 ] },
+ { "item": "steel_plate", "prob": 75 },
+ { "item": "hinge", "count": [ 1, 3 ] }
+ ]
+ }
+ },
+ {
+ "type": "terrain",
+ "id": "t_secretdoor_metal_c",
+ "name": "metal wall",
+ "description": "An industrially fabricated thick sheet carefully positioned and joined seamlessly with perimeter sealant, this wall is capable of resisting extreme elements as well as hostile forces. Blast load rated and extremely fire-retardant, breaching will require specialized tools or industrial vehicles.",
+ "symbol": "LINE_OXOX",
+ "looks_like": "t_wall_metal",
+ "color": "cyan",
+ "move_cost": 0,
+ "roof": "t_metal_floor",
+ "flags": [ "NOITEM", "DOOR", "CONNECT_TO_WALL", "AUTO_WALL_SYMBOL", "MINEABLE" ],
+ "open": "t_secretdoor_metal_o",
+ "bash": {
+ "str_min": 80,
+ "str_max": 250,
+ "sound": "metal screeching!",
+ "sound_fail": "clang!",
+ "ter_set": "t_mdoor_frame",
+ "items": [ { "item": "scrap", "count": [ 12, 24 ] }, { "item": "steel_plate", "prob": 75 } ]
+ }
+ },
+ {
+ "type": "terrain",
+ "id": "t_secretdoor_metal_o",
+ "name": "open secret door",
+ "looks_like": "t_mdoor_frame",
+ "description": "This apparently normal segment of metal wall has opened to reveal a secret passage.",
+ "symbol": "'",
+ "color": "cyan",
+ "move_cost": 2,
+ "roof": "t_metal_floor",
+ "flags": [ "TRANSPARENT", "FLAT", "CONNECT_TO_WALL", "ROAD", "MINEABLE" ],
+ "close": "t_secretdoor_metal_c",
"bash": {
"str_min": 80,
"str_max": 250,
@@ -3311,7 +3496,11 @@
"sound": "metal screeching!",
"sound_fail": "clang!",
"ter_set": "t_mdoor_lab_frame",
- "items": [ { "item": "scrap", "count": [ 12, 24 ] }, { "item": "steel_plate", "prob": 75 } ]
+ "items": [
+ { "item": "scrap", "count": [ 12, 24 ] },
+ { "item": "steel_plate", "prob": 75 },
+ { "item": "hinge", "count": [ 1, 3 ] }
+ ]
}
},
{
@@ -3331,7 +3520,11 @@
"sound": "metal screeching!",
"sound_fail": "clang!",
"ter_set": "t_mdoor_frame",
- "items": [ { "item": "scrap", "count": [ 12, 24 ] }, { "item": "steel_plate", "prob": 75 } ]
+ "items": [
+ { "item": "scrap", "count": [ 12, 24 ] },
+ { "item": "steel_plate", "prob": 75 },
+ { "item": "hinge", "count": [ 1, 3 ] }
+ ]
}
},
{
@@ -3351,7 +3544,11 @@
"sound": "metal screeching!",
"sound_fail": "clang!",
"ter_set": "t_mdoor_lab_frame",
- "items": [ { "item": "scrap", "count": [ 12, 24 ] }, { "item": "steel_plate", "prob": 75 } ]
+ "items": [
+ { "item": "scrap", "count": [ 12, 24 ] },
+ { "item": "steel_plate", "prob": 75 },
+ { "item": "hinge", "count": [ 1, 3 ] }
+ ]
}
},
{
@@ -3373,7 +3570,12 @@
"sound": "metal screeching!",
"sound_fail": "clang!",
"ter_set": "t_mdoor_frame",
- "items": [ { "item": "peephole", "prob": 75 }, { "item": "scrap", "count": [ 12, 24 ] }, { "item": "steel_plate", "prob": 75 } ]
+ "items": [
+ { "item": "peephole", "prob": 75 },
+ { "item": "scrap", "count": [ 12, 24 ] },
+ { "item": "steel_plate", "prob": 75 },
+ { "item": "hinge", "count": [ 1, 3 ] }
+ ]
}
},
{
@@ -3393,7 +3595,12 @@
"sound": "metal screeching!",
"sound_fail": "clang!",
"ter_set": "t_mdoor_frame",
- "items": [ { "item": "peephole", "prob": 75 }, { "item": "scrap", "count": [ 12, 24 ] }, { "item": "steel_plate", "prob": 75 } ]
+ "items": [
+ { "item": "peephole", "prob": 75 },
+ { "item": "scrap", "count": [ 12, 24 ] },
+ { "item": "steel_plate", "prob": 75 },
+ { "item": "hinge", "count": [ 1, 3 ] }
+ ]
}
},
{
@@ -3414,7 +3621,11 @@
"sound": "metal screeching!",
"sound_fail": "clang!",
"ter_set": "t_mdoor_frame",
- "items": [ { "item": "scrap", "count": [ 12, 24 ] }, { "item": "steel_plate", "prob": 75 } ]
+ "items": [
+ { "item": "scrap", "count": [ 12, 24 ] },
+ { "item": "steel_plate", "prob": 75 },
+ { "item": "hinge", "count": [ 1, 3 ] }
+ ]
}
},
{
@@ -3436,7 +3647,11 @@
"sound": "metal screeching!",
"sound_fail": "clang!",
"ter_set": "t_mdoor_frame",
- "items": [ { "item": "scrap", "count": [ 12, 24 ] }, { "item": "steel_plate", "prob": 75 } ]
+ "items": [
+ { "item": "scrap", "count": [ 12, 24 ] },
+ { "item": "steel_plate", "prob": 75 },
+ { "item": "hinge", "count": [ 1, 3 ] }
+ ]
}
},
{
@@ -3460,7 +3675,11 @@
"sound": "metal screeching!",
"sound_fail": "clang!",
"ter_set": "t_floor",
- "items": [ { "item": "steel_chunk", "count": [ 1, 4 ] }, { "item": "scrap", "count": [ 3, 12 ] } ]
+ "items": [
+ { "item": "steel_chunk", "count": [ 1, 4 ] },
+ { "item": "scrap", "count": [ 3, 12 ] },
+ { "item": "hinge", "count": [ 1, 2 ] }
+ ]
}
},
{
@@ -3482,7 +3701,11 @@
"sound": "metal screeching!",
"sound_fail": "clang!",
"ter_set": "t_mdoor_frame",
- "items": [ { "item": "steel_chunk", "count": [ 1, 4 ] }, { "item": "scrap", "count": [ 3, 12 ] } ]
+ "items": [
+ { "item": "steel_chunk", "count": [ 1, 4 ] },
+ { "item": "scrap", "count": [ 3, 12 ] },
+ { "item": "hinge", "count": [ 1, 2 ] }
+ ]
}
},
{
@@ -3504,7 +3727,11 @@
"sound": "metal screeching!",
"sound_fail": "clang!",
"ter_set": "t_mdoor_frame",
- "items": [ { "item": "steel_chunk", "count": [ 1, 4 ] }, { "item": "scrap", "count": [ 3, 12 ] } ]
+ "items": [
+ { "item": "steel_chunk", "count": [ 1, 4 ] },
+ { "item": "scrap", "count": [ 3, 12 ] },
+ { "item": "hinge", "count": [ 1, 2 ] }
+ ]
}
},
{
@@ -6770,7 +6997,7 @@
"type": "terrain",
"id": "t_fungus_floor_in",
"name": "fungal floor",
- "description": "Greyish mold coats both the floor and the roof here, silent and still. Stray spores waft through the air.",
+ "description": "Grayish mold coats both the floor and the roof here, silent and still. Stray spores waft through the air.",
"//": "roofed",
"symbol": ".",
"color": "light_gray",
@@ -6782,7 +7009,7 @@
"type": "terrain",
"id": "t_fungus_floor_sup",
"name": "fungal floor",
- "description": "Greyish mold coats the floor here, silent and still.",
+ "description": "Grayish mold coats the floor here, silent and still.",
"//": "supports",
"symbol": ".",
"color": "light_gray",
@@ -6794,7 +7021,7 @@
"type": "terrain",
"id": "t_fungus_floor_out",
"name": "fungal floor",
- "description": "Greyish mold coats the ground here, silent and still.",
+ "description": "Grayish mold coats the ground here, silent and still.",
"//": "outside",
"symbol": ".",
"color": "light_gray",
@@ -6842,7 +7069,7 @@
"type": "terrain",
"id": "t_shrub_fungal",
"name": "fungal shrub",
- "description": "This shrub has been completely absorbed by the mushrooms. Its branches droop and have lost much of their structure, and its leaves have vanished, replaced by fleshy grey sacks that visibly expand and contract.",
+ "description": "This shrub has been completely absorbed by the mushrooms. Its branches droop and have lost much of their structure, and its leaves have vanished, replaced by fleshy gray sacks that visibly expand and contract.",
"symbol": "#",
"color": "dark_gray",
"move_cost": 8,
@@ -7905,6 +8132,111 @@
"items": [ { "item": "glass_shard", "count": [ 5, 10 ] }, { "item": "scrap", "count": [ 0, 2 ] } ]
}
},
+ {
+ "type": "terrain",
+ "id": "t_wood_stairs_down",
+ "name": "wooden stairs",
+ "description": "A wooden staircase leading down.",
+ "symbol": ">",
+ "color": "light_red",
+ "move_cost": 2,
+ "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "GOES_DOWN", "PLACE_ITEM" ],
+ "bash": {
+ "str_min": 10,
+ "str_max": 70,
+ "sound": "crunch!",
+ "sound_fail": "whump!",
+ "ter_set": "t_open_air",
+ "items": [
+ { "item": "2x4", "count": [ 0, 2 ] },
+ { "item": "nail", "charges": [ 0, 5 ] },
+ { "item": "splinter", "count": [ 2, 8 ] }
+ ]
+ },
+ "deconstruct": { "ter_set": "t_open_air", "items": [ { "item": "nail", "charges": [ 4, 8 ] }, { "item": "2x4", "count": [ 0, 4 ] } ] }
+ },
+ {
+ "type": "terrain",
+ "id": "t_wood_stairs_up_half",
+ "name": "half-built wooden stairs",
+ "description": "Half of a wooden staircase. Some work still needs to be done before this staircase is complete.",
+ "symbol": "<",
+ "color": "light_red",
+ "move_cost": 4,
+ "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "PLACE_ITEM" ],
+ "deconstruct": {
+ "deconstruct_above": true,
+ "ter_set": "t_floor",
+ "items": [ { "item": "nail", "charges": [ 12, 20 ] }, { "item": "2x4", "count": [ 2, 6 ] } ]
+ },
+ "bash": {
+ "str_min": 10,
+ "str_max": 70,
+ "sound": "crunch!",
+ "sound_fail": "whump!",
+ "ter_set": "t_floor",
+ "items": [
+ { "item": "2x4", "count": [ 0, 5 ] },
+ { "item": "nail", "charges": [ 0, 5 ] },
+ { "item": "splinter", "count": [ 5, 10 ] }
+ ]
+ }
+ },
+ {
+ "type": "terrain",
+ "id": "t_wood_stairs_up_broken",
+ "name": "broken wooden stairs",
+ "description": "A number of planks are missing and the structure is beginning to sag and fall apart. It's going to need quite a bit of work to repair this staircase.",
+ "symbol": "<",
+ "color": "light_red",
+ "move_cost": 2,
+ "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "PLACE_ITEM" ],
+ "bash": {
+ "str_min": 8,
+ "str_max": 110,
+ "sound": "crunch!",
+ "sound_fail": "whump!",
+ "ter_set": "t_floor",
+ "items": [
+ { "item": "2x4", "count": [ 0, 2 ] },
+ { "item": "wood_panel", "count": [ 0, 1 ] },
+ { "item": "nail", "charges": [ 0, 5 ] },
+ { "item": "splinter", "count": [ 2, 8 ] }
+ ]
+ }
+ },
+ {
+ "type": "terrain",
+ "id": "t_wood_stairs_up",
+ "name": "wooden stairs",
+ "description": "A wooden staircase leading up",
+ "symbol": "<",
+ "color": "light_red",
+ "move_cost": 2,
+ "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "GOES_UP", "PLACE_ITEM" ],
+ "deconstruct": {
+ "deconstruct_above": true,
+ "ter_set": "t_floor",
+ "items": [
+ { "item": "nail", "charges": [ 12, 20 ] },
+ { "item": "2x4", "count": [ 8, 12 ] },
+ { "item": "wood_panel", "count": [ 1, 3 ] }
+ ]
+ },
+ "bash": {
+ "str_min": 12,
+ "str_max": 150,
+ "sound": "crunch!",
+ "sound_fail": "whump!",
+ "ter_set": "t_wood_stairs_up_broken",
+ "items": [
+ { "item": "2x4", "count": [ 0, 3 ] },
+ { "item": "wood_panel", "count": [ 0, 2 ] },
+ { "item": "nail", "charges": [ 1, 5 ] },
+ { "item": "splinter", "count": [ 1, 4 ] }
+ ]
+ }
+ },
{
"type": "terrain",
"id": "t_stairs_down",
@@ -8097,6 +8429,27 @@
"items": [ { "item": "plastic_chunk", "count": [ 0, 2 ] }, { "item": "scrap", "prob": 50 } ]
}
},
+ {
+ "type": "terrain",
+ "id": "t_card_fp",
+ "looks_like": "t_card_science",
+ "name": "card reader",
+ "description": "This looks like the console controling the security door, there's a pretty big reading surface on it. You can see \"Fp\" soberly printed above the reader. You have no idea what could open it.",
+ "//": "FoodPlace",
+ "symbol": "6",
+ "color": "pink",
+ "move_cost": 0,
+ "flags": [ "NOITEM", "CONNECT_TO_WALL" ],
+ "examine_action": "cardreader_fp",
+ "bash": {
+ "str_min": 18,
+ "str_max": 180,
+ "sound": "crunch!",
+ "sound_fail": "whack!",
+ "ter_set": "t_card_reader_broken",
+ "items": [ { "item": "plastic_chunk", "count": [ 0, 2 ] }, { "item": "scrap", "prob": 50 } ]
+ }
+ },
{
"type": "terrain",
"id": "t_card_reader_broken",
@@ -8401,6 +8754,52 @@
"flags": [ "TRANSPARENT", "PERMEABLE" ],
"examine_action": "fswitch"
},
+ {
+ "type": "terrain",
+ "id": "t_carpet_concrete",
+ "name": "industrial carpet",
+ "description": "Firm, low-pile, high-durability carpet in a neutral gray color, for laying down on bare concrete.",
+ "symbol": ".",
+ "color": "light_gray",
+ "looks_like": "t_carpet_red",
+ "move_cost": 2,
+ "flags": [ "TRANSPARENT", "FLAMMABLE_HARD", "SUPPORTS_ROOF", "COLLAPSES", "INDOORS", "FLAT", "RUG" ],
+ "bash": {
+ "sound": "SMASH!",
+ "ter_set": "t_null",
+ "str_min": 100,
+ "str_max": 400,
+ "str_min_supported": 150,
+ "items": [
+ { "item": "rock", "count": [ 5, 10 ] },
+ { "item": "scrap", "count": [ 5, 8 ] },
+ { "item": "rebar", "count": [ 0, 2 ] }
+ ]
+ }
+ },
+ {
+ "type": "terrain",
+ "id": "t_carpet_metal",
+ "name": "bunker carpet",
+ "description": "Firm, low-pile, totally non-flammable carpet in a neutral cream color, with an insulation layer beneath.",
+ "symbol": ".",
+ "color": "white",
+ "looks_like": "t_carpet_yellow",
+ "move_cost": 2,
+ "flags": [ "TRANSPARENT", "SUPPORTS_ROOF", "COLLAPSES", "INDOORS", "FLAT", "RUG" ],
+ "bash": {
+ "sound": "thump",
+ "ter_set": "t_null",
+ "str_min": 200,
+ "str_max": 500,
+ "str_min_supported": 200,
+ "items": [
+ { "item": "steel_lump", "count": [ 1, 4 ] },
+ { "item": "steel_chunk", "count": [ 3, 12 ] },
+ { "item": "scrap", "count": [ 9, 36 ] }
+ ]
+ }
+ },
{
"type": "terrain",
"id": "t_carpet_red",
@@ -8481,7 +8880,7 @@
"type": "terrain",
"id": "t_linoleum_white",
"name": "linoleum tile",
- "description": "A section of flooring made out of a tough, rubbery material. Coloured a simple white.",
+ "description": "A section of flooring made out of a tough, rubbery material. Colored a simple white.",
"symbol": ".",
"color": "white",
"move_cost": 2,
@@ -8620,6 +9019,26 @@
"items": "wall_bash_results"
}
},
+ {
+ "type": "terrain",
+ "id": "t_wall_p",
+ "aliases": [ "t_wall_h_p", "t_wall_v_p" ],
+ "name": "pink wall",
+ "description": "Wall painted pink.",
+ "symbol": "LINE_OXOX",
+ "color": "pink",
+ "move_cost": 0,
+ "coverage": 100,
+ "flags": [ "FLAMMABLE", "NOITEM", "SUPPORTS_ROOF", "WALL", "CHIP", "AUTO_WALL_SYMBOL", "MINEABLE", "BLOCK_WIND" ],
+ "bash": {
+ "str_min": 30,
+ "str_max": 210,
+ "sound": "crash!",
+ "sound_fail": "whump!",
+ "ter_set": "t_null",
+ "items": "wall_bash_results"
+ }
+ },
{
"type": "terrain",
"id": "t_wall_p",
@@ -10798,7 +11217,12 @@
"open": "t_splitrail_fencegate_o",
"deconstruct": {
"ter_set": "t_dirt",
- "items": [ { "item": "2x4", "count": 5 }, { "item": "pointy_stick", "count": 2 }, { "item": "nail", "charges": 12 } ]
+ "items": [
+ { "item": "2x4", "count": 5 },
+ { "item": "pointy_stick", "count": 2 },
+ { "item": "nail", "charges": 12 },
+ { "item": "hinge", "count": [ 1, 2 ] }
+ ]
},
"bash": {
"str_min": 4,
@@ -10811,7 +11235,8 @@
"items": [
{ "item": "2x4", "count": [ 1, 4 ] },
{ "item": "nail", "charges": [ 2, 8 ] },
- { "item": "splinter", "count": [ 1, 2 ] }
+ { "item": "splinter", "count": [ 1, 2 ] },
+ { "item": "hinge", "count": [ 1, 2 ] }
]
}
},
@@ -10829,7 +11254,12 @@
"close": "t_splitrail_fencegate_c",
"deconstruct": {
"ter_set": "t_dirt",
- "items": [ { "item": "2x4", "count": 5 }, { "item": "pointy_stick", "count": 2 }, { "item": "nail", "charges": 12 } ]
+ "items": [
+ { "item": "2x4", "count": 5 },
+ { "item": "pointy_stick", "count": 2 },
+ { "item": "nail", "charges": 12 },
+ { "item": "hinge", "count": [ 1, 2 ] }
+ ]
}
},
{
@@ -10845,14 +11275,17 @@
"examine_action": "chainfence",
"flags": [ "NOITEM", "CLIMBABLE", "PERMEABLE", "AUTO_WALL_SYMBOL", "FLAMMABLE_ASH", "THIN_OBSTACLE" ],
"connects_to": "WOODFENCE",
- "deconstruct": { "ter_set": "t_fence_post", "items": [ { "item": "2x4", "count": 10 }, { "item": "nail", "charges": 20 } ] },
+ "deconstruct": {
+ "ter_set": "t_fence_post",
+ "items": [ { "item": "2x4", "count": 10 }, { "item": "nail", "charges": 20 }, { "item": "hinge", "count": [ 1, 2 ] } ]
+ },
"bash": {
"str_min": 5,
"str_max": 12,
"sound": "whump!",
"sound_fail": "whack!",
"ter_set": "t_fence_post",
- "items": [ { "item": "2x4", "count": [ 4, 10 ] } ]
+ "items": [ { "item": "2x4", "count": [ 4, 10 ] }, { "item": "hinge", "count": [ 1, 2 ] } ]
}
},
{
@@ -10870,7 +11303,12 @@
"open": "t_privacy_fencegate_o",
"deconstruct": {
"ter_set": "t_dirt",
- "items": [ { "item": "2x4", "count": 8 }, { "item": "pointy_stick", "count": 2 }, { "item": "nail", "charges": 20 } ]
+ "items": [
+ { "item": "2x4", "count": 8 },
+ { "item": "pointy_stick", "count": 2 },
+ { "item": "nail", "charges": 20 },
+ { "item": "hinge", "count": [ 1, 2 ] }
+ ]
},
"bash": {
"str_min": 4,
@@ -10883,7 +11321,8 @@
"items": [
{ "item": "2x4", "count": [ 4, 8 ] },
{ "item": "nail", "charges": [ 10, 20 ] },
- { "item": "splinter", "count": [ 4, 6 ] }
+ { "item": "splinter", "count": [ 4, 6 ] },
+ { "item": "hinge", "count": [ 1, 2 ] }
]
}
},
@@ -10901,7 +11340,12 @@
"close": "t_privacy_fencegate_c",
"deconstruct": {
"ter_set": "t_dirt",
- "items": [ { "item": "2x4", "count": 8 }, { "item": "pointy_stick", "count": 2 }, { "item": "nail", "charges": 20 } ]
+ "items": [
+ { "item": "2x4", "count": 8 },
+ { "item": "pointy_stick", "count": 2 },
+ { "item": "nail", "charges": 20 },
+ { "item": "hinge", "count": [ 1, 2 ] }
+ ]
}
},
{
diff --git a/data/json/uncraft/ammo/10mm.json b/data/json/uncraft/ammo/10mm.json
index 4443752c21be6..ccd8f575872f5 100644
--- a/data/json/uncraft/ammo/10mm.json
+++ b/data/json/uncraft/ammo/10mm.json
@@ -1,10 +1,10 @@
[
{
- "result": "10mm",
+ "result": "10mm_fmj",
"type": "uncraft",
"time": 500,
"qualities": [ { "id": "PULL", "level": 1 } ],
- "components": [ [ [ "lead", 2 ] ], [ [ "40_casing", 1 ] ], [ [ "smpistol_primer", 1 ] ], [ [ "gunpowder", 5 ] ] ],
+ "components": [ [ [ "lead", 2 ] ], [ [ "10mm_casing", 1 ] ], [ [ "smpistol_primer", 1 ] ], [ [ "gunpowder", 5 ] ] ],
"flags": [ "UNCRAFT_SINGLE_CHARGE" ]
}
]
diff --git a/data/json/uncraft/ammo/270.json b/data/json/uncraft/ammo/270win.json
similarity index 77%
rename from data/json/uncraft/ammo/270.json
rename to data/json/uncraft/ammo/270win.json
index 4e2aa22b316b9..bf8bec409731e 100644
--- a/data/json/uncraft/ammo/270.json
+++ b/data/json/uncraft/ammo/270win.json
@@ -1,6 +1,6 @@
[
{
- "result": "270",
+ "result": "270win_jsp",
"type": "uncraft",
"skill_used": "gun",
"difficulty": 5,
@@ -8,10 +8,10 @@
"qualities": [ { "id": "PULL", "level": 1 } ],
"components": [
[ [ "lead", 5 ] ],
- [ [ "3006_casing", 1 ] ],
+ [ [ "270win_casing", 1 ] ],
[ [ "lgrifle_primer", 1 ] ],
[ [ "gunpowder", 10 ] ],
- [ [ "copper", 5 ] ]
+ [ [ "copper", 3 ] ]
],
"flags": [ "UNCRAFT_SINGLE_CHARGE" ]
}
diff --git a/data/json/uncraft/ammo/38super.json b/data/json/uncraft/ammo/38super.json
new file mode 100644
index 0000000000000..d76b4f831346b
--- /dev/null
+++ b/data/json/uncraft/ammo/38super.json
@@ -0,0 +1,12 @@
+[
+ {
+ "result": "38super_fmj",
+ "type": "uncraft",
+ "skill_used": "gun",
+ "difficulty": 5,
+ "time": 500,
+ "qualities": [ { "id": "PULL", "level": 1 } ],
+ "components": [ [ [ "lead", 2 ] ], [ [ "38super_casing", 1 ] ], [ [ "smpistol_primer", 1 ] ], [ [ "gunpowder", 3 ] ] ],
+ "flags": [ "UNCRAFT_SINGLE_CHARGE" ]
+ }
+]
diff --git a/data/json/uncraft/ammo/410shot.json b/data/json/uncraft/ammo/410shot.json
new file mode 100644
index 0000000000000..a3f888c4e0052
--- /dev/null
+++ b/data/json/uncraft/ammo/410shot.json
@@ -0,0 +1,12 @@
+[
+ {
+ "result": "410shot_000",
+ "type": "uncraft",
+ "skill_used": "gun",
+ "difficulty": 5,
+ "time": 100,
+ "qualities": [ { "id": "PULL", "level": 1 } ],
+ "components": [ [ [ "410shot_hull", 1 ] ], [ [ "shotgun_primer", 1 ] ], [ [ "gunpowder", 5 ] ], [ [ "lead", 5 ] ] ],
+ "flags": [ "UNCRAFT_SINGLE_CHARGE" ]
+ }
+]
diff --git a/data/json/uncraft/ammo/45colt.json b/data/json/uncraft/ammo/45colt.json
new file mode 100644
index 0000000000000..2f67622036f70
--- /dev/null
+++ b/data/json/uncraft/ammo/45colt.json
@@ -0,0 +1,10 @@
+[
+ {
+ "result": "45colt_jhp",
+ "type": "uncraft",
+ "time": 500,
+ "qualities": [ { "id": "PULL", "level": 1 } ],
+ "components": [ [ [ "lead", 5 ] ], [ [ "45colt_casing", 1 ] ], [ [ "lgpistol_primer", 1 ] ], [ [ "gunpowder", 4 ] ] ],
+ "flags": [ "UNCRAFT_SINGLE_CHARGE" ]
+ }
+]
diff --git a/data/json/uncraft/ammo/shot.json b/data/json/uncraft/ammo/shot.json
index ae2300370e549..eaee2d6d688a3 100644
--- a/data/json/uncraft/ammo/shot.json
+++ b/data/json/uncraft/ammo/shot.json
@@ -29,6 +29,16 @@
"components": [ [ [ "shot_hull", 1 ] ], [ [ "shotgun_primer", 1 ] ], [ [ "gunpowder", 3 ] ], [ [ "lead", 10 ] ] ],
"flags": [ "UNCRAFT_SINGLE_CHARGE" ]
},
+ {
+ "result": "shot_dragon",
+ "type": "uncraft",
+ "skill_used": "gun",
+ "difficulty": 5,
+ "time": 100,
+ "qualities": [ { "id": "PULL", "level": 1 } ],
+ "components": [ [ [ "shot_hull", 1 ] ], [ [ "shotgun_primer", 1 ] ], [ [ "gunpowder", 3 ] ], [ [ "magnesium", 5 ] ] ],
+ "flags": [ "UNCRAFT_SINGLE_CHARGE" ]
+ },
{
"result": "shot_flechette",
"type": "uncraft",
diff --git a/data/json/vehicle_groups.json b/data/json/vehicle_groups.json
index 132514e908457..fb214134f2d23 100644
--- a/data/json/vehicle_groups.json
+++ b/data/json/vehicle_groups.json
@@ -43,6 +43,7 @@
[ "security_van", 500 ],
[ "schoolbus", 100 ],
[ "bus", 500 ],
+ [ "bus_tour", 50 ],
[ "rv", 500 ],
[ "limousine", 200 ],
[ "lux_rv", 100 ],
@@ -119,6 +120,7 @@
[ "aapc-gl", 50 ],
[ "schoolbus", 50 ],
[ "bus", 350 ],
+ [ "bus_tour", 25 ],
[ "rv", 800 ],
[ "limousine", 200 ],
[ "lux_rv", 100 ],
@@ -180,6 +182,7 @@
[ "rv", 200 ],
[ "limousine", 100 ],
[ "schoolbus", 200 ],
+ [ "bus_tour", 50 ],
[ "fire_truck", 200 ],
[ "policecar", 100 ],
[ "policecar_k9", 1 ],
@@ -483,7 +486,7 @@
{
"type": "vehicle_group",
"id": "buses",
- "vehicles": [ [ "bus", 1000 ], [ "schoolbus", 100 ] ]
+ "vehicles": [ [ "bus", 1000 ], [ "schoolbus", 100 ], [ "bus_tour", 50 ] ]
},
{
"type": "vehicle_group",
diff --git a/data/json/vehicle_parts.json b/data/json/vehicleparts/vehicle_parts.json
similarity index 100%
rename from data/json/vehicle_parts.json
rename to data/json/vehicleparts/vehicle_parts.json
diff --git a/data/json/vehicles/vans_busses.json b/data/json/vehicles/vans_busses.json
index 6af26258b9c6d..45056a652e4f5 100644
--- a/data/json/vehicles/vans_busses.json
+++ b/data/json/vehicles/vans_busses.json
@@ -1766,6 +1766,243 @@
{ "x": -10, "y": 2, "chance": 35, "item_groups": [ "bus_common" ] }
]
},
+ {
+ "id": "bus_tour",
+ "type": "vehicle",
+ "name": "Tour Bus",
+ "blueprint": [
+ [ " o" ],
+ [ "''O-------'''O" ],
+ [ "'##&|BB|TT##'H" ],
+ [ "'#tl+..+.l..'>" ],
+ [ "'##&|BB|###.'H" ],
+ [ "''O-----'''+'O" ],
+ [ " o" ]
+ ],
+ "parts": [
+ { "x": 0, "y": 1, "part": "frame_vertical_2" },
+ { "x": 0, "y": 1, "part": "aisle_vertical" },
+ { "x": 0, "y": 1, "part": "roof" },
+ { "x": 0, "y": 2, "part": "frame_vertical_2" },
+ { "x": 0, "y": 2, "part": "aisle_horizontal" },
+ { "x": 0, "y": 2, "part": "roof" },
+ { "x": 0, "y": 3, "part": "frame_vertical" },
+ { "x": 0, "y": 3, "part": "door" },
+ { "x": 0, "y": 0, "part": "frame_vertical_2" },
+ { "x": 0, "y": 0, "part": "seat" },
+ { "x": 0, "y": 0, "part": "controls" },
+ { "x": 0, "y": 0, "part": "dashboard" },
+ { "x": 0, "y": 0, "part": "vehicle_clock" },
+ { "x": 0, "y": 0, "part": "vehicle_alarm" },
+ { "x": 0, "y": 0, "part": "horn_car" },
+ { "x": 0, "y": 0, "part": "seatbelt" },
+ { "x": 0, "y": 0, "part": "stereo" },
+ { "x": 0, "y": 0, "part": "roof" },
+ { "x": 0, "y": -1, "part": "frame_vertical" },
+ { "x": 0, "y": -1, "part": "windshield" },
+ { "x": 1, "y": -1, "part": "frame_horizontal" },
+ { "x": 1, "y": -1, "part": "windshield" },
+ { "x": 1, "y": 0, "part": "frame_horizontal" },
+ { "x": 1, "y": 0, "part": "windshield" },
+ { "x": 1, "y": -2, "part": "wing_mirror" },
+ { "x": 1, "y": 1, "part": "frame_horizontal" },
+ { "x": 1, "y": 1, "part": "windshield" },
+ { "x": 1, "y": 1, "part": "inboard_mirror" },
+ { "x": 1, "y": 2, "part": "frame_horizontal" },
+ { "x": 1, "y": 2, "part": "windshield" },
+ { "x": 1, "y": 3, "part": "frame_horizontal" },
+ { "x": 1, "y": 3, "part": "windshield" },
+ { "x": 1, "y": 4, "part": "wing_mirror" },
+ { "x": 2, "y": -1, "part": "frame_nw" },
+ { "x": 2, "y": -1, "part": "halfboard_nw" },
+ { "x": 2, "y": -1, "part": "wheel_wide_steerable" },
+ { "x": 2, "y": 0, "part": "frame_horizontal_2" },
+ { "x": 2, "y": 0, "part": "halfboard_horizontal_2" },
+ { "x": 2, "y": 0, "part": "headlight" },
+ { "x": 2, "y": 1, "part": "frame_cover" },
+ { "x": 2, "y": 1, "part": "halfboard_cover" },
+ { "x": 2, "y": 1, "part": "diesel_engine_v6" },
+ { "x": 2, "y": 1, "part": "alternator_truck" },
+ { "x": 2, "y": 1, "part": "battery_car" },
+ { "x": 2, "y": 2, "part": "frame_horizontal_2" },
+ { "x": 2, "y": 2, "part": "halfboard_horizontal_2" },
+ { "x": 2, "y": 2, "part": "headlight" },
+ { "x": 2, "y": 3, "part": "frame_ne" },
+ { "x": 2, "y": 3, "part": "halfboard_ne" },
+ { "x": 2, "y": 3, "part": "wheel_wide_steerable" },
+ { "x": -1, "y": -1, "part": "frame_vertical" },
+ { "x": -1, "y": -1, "part": "board_vertical" },
+ { "x": -1, "y": 0, "part": "frame_horizontal_2" },
+ { "x": -1, "y": 0, "part": "board_horizontal" },
+ { "x": -1, "y": 0, "part": "roof" },
+ { "x": -1, "y": 1, "part": "frame_vertical_2" },
+ { "x": -1, "y": 1, "part": "aisle_vertical" },
+ { "x": -1, "y": 1, "part": "roof" },
+ { "x": -1, "y": 2, "part": "frame_horizontal_2" },
+ { "x": -1, "y": 2, "part": "seat" },
+ { "x": -1, "y": 2, "part": "roof" },
+ { "x": -1, "y": 3, "part": "frame_vertical" },
+ { "x": -1, "y": 3, "part": "windshield" },
+ { "x": -1, "y": 3, "part": "tank", "fuel": "diesel" },
+ { "x": -2, "y": -1, "part": "frame_vertical" },
+ { "x": -2, "y": -1, "part": "board_vertical" },
+ { "x": -2, "y": 0, "part": "frame_horizontal_2" },
+ { "x": -2, "y": 0, "part": "trunk" },
+ { "x": -2, "y": 0, "part": "roof" },
+ { "x": -2, "y": 1, "part": "frame_vertical_2" },
+ { "x": -2, "y": 1, "part": "aisle_vertical" },
+ { "x": -2, "y": 1, "part": "aisle_lights" },
+ { "x": -2, "y": 1, "part": "roof" },
+ { "x": -2, "y": 2, "part": "frame_horizontal_2" },
+ { "x": -2, "y": 2, "part": "seat" },
+ { "x": -2, "y": 2, "part": "roof" },
+ { "x": -2, "y": 3, "part": "frame_vertical" },
+ { "x": -2, "y": 3, "part": "windshield" },
+ { "x": -2, "y": 3, "part": "tank", "fuel": "diesel" },
+ { "x": -3, "y": -1, "part": "frame_vertical" },
+ { "x": -3, "y": -1, "part": "board_vertical" },
+ { "x": -3, "y": 0, "part": "frame_horizontal_2" },
+ { "x": -3, "y": 0, "part": "trunk" },
+ { "x": -3, "y": 0, "part": "roof" },
+ { "x": -3, "y": 1, "part": "frame_vertical_2" },
+ { "x": -3, "y": 1, "part": "aisle_vertical" },
+ { "x": -3, "y": 1, "part": "roof" },
+ { "x": -3, "y": 2, "part": "frame_horizontal_2" },
+ { "x": -3, "y": 2, "part": "seat" },
+ { "x": -3, "y": 2, "part": "roof" },
+ { "x": -3, "y": 3, "part": "frame_vertical" },
+ { "x": -3, "y": 3, "part": "windshield" },
+ { "x": -4, "y": -1, "part": "frame_vertical" },
+ { "x": -4, "y": -1, "part": "board_vertical" },
+ { "x": -4, "y": 0, "part": "frame_horizontal_2" },
+ { "x": -4, "y": 0, "part": "stowboard_horizontal" },
+ { "x": -4, "y": 0, "part": "roof" },
+ { "x": -4, "y": 1, "part": "frame_vertical_2" },
+ { "x": -4, "y": 1, "part": "aisle_curtain" },
+ { "x": -4, "y": 1, "part": "roof" },
+ { "x": -4, "y": 2, "part": "frame_horizontal_2" },
+ { "x": -4, "y": 2, "part": "stowboard_horizontal" },
+ { "x": -4, "y": 2, "part": "roof" },
+ { "x": -4, "y": 3, "part": "frame_vertical" },
+ { "x": -4, "y": 3, "part": "board_vertical" },
+ { "x": -5, "y": -1, "part": "frame_vertical" },
+ { "x": -5, "y": -1, "part": "board_vertical" },
+ { "x": -5, "y": 0, "part": "frame_horizontal_2" },
+ { "x": -5, "y": 0, "part": "bed" },
+ { "x": -5, "y": 0, "part": "roof" },
+ { "x": -5, "y": 1, "part": "frame_vertical_2" },
+ { "x": -5, "y": 1, "part": "aisle_vertical" },
+ { "x": -5, "y": 1, "part": "roof" },
+ { "x": -5, "y": 2, "part": "frame_horizontal_2" },
+ { "x": -5, "y": 2, "part": "bed" },
+ { "x": -5, "y": 2, "part": "roof" },
+ { "x": -5, "y": 3, "part": "frame_vertical" },
+ { "x": -5, "y": 3, "part": "board_vertical" },
+ { "x": -6, "y": -1, "part": "frame_horizontal" },
+ { "x": -6, "y": -1, "part": "wheel_wide" },
+ { "x": -6, "y": -1, "part": "board_vertical" },
+ { "x": -6, "y": 0, "part": "frame_horizontal_2" },
+ { "x": -6, "y": 0, "part": "bed" },
+ { "x": -6, "y": 0, "part": "roof" },
+ { "x": -6, "y": 1, "part": "frame_vertical_2" },
+ { "x": -6, "y": 1, "part": "aisle_vertical" },
+ { "x": -6, "y": 1, "part": "roof" },
+ { "x": -6, "y": 2, "part": "frame_horizontal_2" },
+ { "x": -6, "y": 2, "part": "bed" },
+ { "x": -6, "y": 2, "part": "roof" },
+ { "x": -6, "y": 3, "part": "frame_horizontal" },
+ { "x": -6, "y": 3, "part": "wheel_wide" },
+ { "x": -6, "y": 3, "part": "board_vertical" },
+ { "x": -7, "y": -1, "part": "frame_vertical" },
+ { "x": -7, "y": -1, "part": "board_vertical" },
+ { "x": -7, "y": 0, "part": "frame_horizontal_2" },
+ { "x": -7, "y": 0, "part": "board_horizontal" },
+ { "x": -7, "y": 0, "part": "roof" },
+ { "x": -7, "y": 1, "part": "frame_vertical_2" },
+ { "x": -7, "y": 1, "part": "aisle_curtain" },
+ { "x": -7, "y": 1, "part": "roof" },
+ { "x": -7, "y": 2, "part": "frame_horizontal_2" },
+ { "x": -7, "y": 2, "part": "board_horizontal" },
+ { "x": -7, "y": 2, "part": "storage_battery" },
+ { "x": -7, "y": 2, "part": "roof" },
+ { "x": -7, "y": 3, "part": "frame_vertical" },
+ { "x": -7, "y": 3, "part": "board_vertical" },
+ { "x": -8, "y": -1, "part": "frame_vertical" },
+ { "x": -8, "y": -1, "part": "windshield" },
+ { "x": -8, "y": 0, "part": "frame_horizontal_2" },
+ { "x": -8, "y": 0, "part": "kitchen_unit" },
+ { "x": -8, "y": 0, "part": "roof" },
+ { "x": -8, "y": 1, "part": "frame_vertical_2" },
+ { "x": -8, "y": 1, "part": "trunk_floor" },
+ { "x": -8, "y": 1, "part": "aisle_lights" },
+ { "x": -8, "y": 1, "part": "roof" },
+ { "x": -8, "y": 2, "part": "frame_horizontal_2" },
+ { "x": -8, "y": 2, "part": "minifridge" },
+ { "x": -8, "y": 2, "part": "roof" },
+ { "x": -8, "y": 3, "part": "frame_vertical" },
+ { "x": -8, "y": 3, "part": "windshield" },
+ { "x": -9, "y": -1, "part": "frame_vertical" },
+ { "x": -9, "y": -1, "part": "windshield" },
+ { "x": -9, "y": 0, "part": "frame_horizontal_2" },
+ { "x": -9, "y": 0, "part": "seat" },
+ { "x": -9, "y": 0, "part": "roof" },
+ { "x": -9, "y": 1, "part": "frame_vertical_2" },
+ { "x": -9, "y": 1, "part": "veh_table" },
+ { "x": -9, "y": 1, "part": "roof" },
+ { "x": -9, "y": 2, "part": "frame_horizontal_2" },
+ { "x": -9, "y": 2, "part": "seat" },
+ { "x": -9, "y": 2, "part": "roof" },
+ { "x": -9, "y": 3, "part": "frame_vertical" },
+ { "x": -9, "y": 3, "part": "windshield" },
+ { "x": -10, "y": -1, "part": "frame_vertical" },
+ { "x": -10, "y": -1, "part": "tank", "fuel": "water_clean" },
+ { "x": -10, "y": -1, "part": "windshield" },
+ { "x": -10, "y": 0, "part": "frame_horizontal_2" },
+ { "x": -10, "y": 0, "part": "seat" },
+ { "x": -10, "y": 0, "part": "roof" },
+ { "x": -10, "y": 1, "part": "frame_vertical_2" },
+ { "x": -10, "y": 1, "part": "seat" },
+ { "x": -10, "y": 1, "part": "roof" },
+ { "x": -10, "y": 2, "part": "frame_horizontal_2" },
+ { "x": -10, "y": 2, "part": "seat" },
+ { "x": -10, "y": 2, "part": "roof" },
+ { "x": -10, "y": 3, "part": "frame_vertical" },
+ { "x": -10, "y": 3, "part": "windshield" },
+ { "x": -11, "y": -1, "part": "frame_horizontal" },
+ { "x": -11, "y": -1, "part": "board_sw" },
+ { "x": -11, "y": 0, "part": "frame_horizontal" },
+ { "x": -11, "y": 0, "part": "windshield" },
+ { "x": -11, "y": 1, "part": "frame_vertical" },
+ { "x": -11, "y": 1, "part": "windshield" },
+ { "x": -11, "y": 2, "part": "frame_horizontal" },
+ { "x": -11, "y": 2, "part": "windshield" },
+ { "x": -11, "y": 3, "part": "frame_horizontal" },
+ { "x": -11, "y": 3, "part": "beeper" },
+ { "x": -11, "y": 3, "part": "board_se" }
+ ],
+ "items": [
+ { "x": 0, "y": 0, "chance": 35, "item_groups": [ "bus_common" ] },
+ { "x": -2, "y": 2, "chance": 35, "item_groups": [ "bus_common" ] },
+ { "x": -2, "y": 0, "chance": 15, "item_groups": [ "car_kit" ] },
+ { "x": -2, "y": 0, "chance": 15, "items": [ "jack", "wheel_wide" ] },
+ { "x": -3, "y": 0, "chance": 25, "item_groups": [ "tools_home", "tools_electronics" ] },
+ { "x": -3, "y": 0, "chance": 25, "items": [ "amplifier_head" ] },
+ { "x": -3, "y": 2, "chance": 35, "item_groups": [ "bus_common" ] },
+ { "x": -4, "y": 0, "chance": 50, "item_groups": [ "stash_drugs", "mussto_windinst", "mussto_stringinst" ] },
+ { "x": -4, "y": 2, "chance": 50, "item_groups": [ "clothing_outdoor_set" ] },
+ { "x": -5, "y": 0, "chance": 35, "item_groups": [ "bed" ] },
+ { "x": -5, "y": 2, "chance": 35, "item_groups": [ "bed" ] },
+ { "x": -6, "y": 0, "chance": 35, "item_groups": [ "bed" ] },
+ { "x": -6, "y": 2, "chance": 35, "item_groups": [ "bed" ] },
+ { "x": -8, "y": 2, "chance": 40, "item_groups": [ "fridgesnacks", "bar_alcohol" ] },
+ { "x": -9, "y": 0, "chance": 35, "item_groups": [ "bus_common" ] },
+ { "x": -9, "y": 1, "chance": 60, "items": [ "tshirt_tour" ] },
+ { "x": -9, "y": 2, "chance": 35, "item_groups": [ "bus_common" ] },
+ { "x": -10, "y": 0, "chance": 35, "item_groups": [ "bus_common" ] },
+ { "x": -10, "y": 1, "chance": 35, "item_groups": [ "bus_common" ] },
+ { "x": -10, "y": 2, "chance": 35, "item_groups": [ "bus_common" ] }
+ ]
+ },
{
"id": "security_van",
"type": "vehicle",
diff --git a/data/mods/CRT_EXPANSION/martial/CRT_Bladework.json b/data/mods/CRT_EXPANSION/martial/CRT_Bladework.json
index fcadacac2a4f0..7f805abf3a0a1 100644
--- a/data/mods/CRT_EXPANSION/martial/CRT_Bladework.json
+++ b/data/mods/CRT_EXPANSION/martial/CRT_Bladework.json
@@ -5,7 +5,8 @@
"type": "GENERIC",
"name": "C.R.I.T Blade-work manual",
"name_plural": "C.R.I.T Blade-work manuals",
- "description": "An advanced military manual on C.R.I.T Blade-work."
+ "description": "An advanced military manual on C.R.I.T Blade-work.",
+ "book_data": { "martial_art": "style_crt_blade" }
},
{
"id": "book_martial",
diff --git a/data/mods/CRT_EXPANSION/martial/CRT_EnforcementBuff.json b/data/mods/CRT_EXPANSION/martial/CRT_EnforcementBuff.json
index f2f954019ac0c..22b1eee3c1653 100644
--- a/data/mods/CRT_EXPANSION/martial/CRT_EnforcementBuff.json
+++ b/data/mods/CRT_EXPANSION/martial/CRT_EnforcementBuff.json
@@ -5,7 +5,8 @@
"type": "GENERIC",
"name": "C.R.I.T Enforcement manual",
"name_plural": "C.R.I.T Enforcement manuals",
- "description": "An advanced military manual on C.R.I.T Enforcer melee."
+ "description": "An advanced military manual on C.R.I.T Enforcer melee.",
+ "book_data": { "martial_art": "style_crt_enforcement" }
},
{
"id": "book_martial",
diff --git a/data/mods/CRT_EXPANSION/martial/CRT_MeleeBuffs.json b/data/mods/CRT_EXPANSION/martial/CRT_MeleeBuffs.json
index f9e0bddfcc1e0..c6613d8d7e2a5 100644
--- a/data/mods/CRT_EXPANSION/martial/CRT_MeleeBuffs.json
+++ b/data/mods/CRT_EXPANSION/martial/CRT_MeleeBuffs.json
@@ -5,7 +5,8 @@
"type": "GENERIC",
"name": "C.R.I.T CQB manual",
"name_plural": "C.R.I.T CQB manuals",
- "description": "An advanced military manual on C.R.I.T general CQB."
+ "description": "An advanced military manual on C.R.I.T general CQB.",
+ "book_data": { "martial_art": "style_crt_cqb" }
},
{
"id": "book_martial",
diff --git a/data/mods/Fuji_Structures/worldgen/gas/s_gas_b20.json b/data/mods/Fuji_Structures/worldgen/gas/s_gas_b20.json
index 15bb4e3f4d220..ecb8f61dadbbe 100644
--- a/data/mods/Fuji_Structures/worldgen/gas/s_gas_b20.json
+++ b/data/mods/Fuji_Structures/worldgen/gas/s_gas_b20.json
@@ -124,7 +124,7 @@
{ "monster": "GROUP_BUNKER", "x": [ 1, 22 ], "y": [ 1, 22 ], "density": 0.8 },
{ "monster": "GROUP_SCI", "x": [ 1, 22 ], "y": [ 1, 22 ], "density": 0.5 }
],
- "fields": { "l": { "field": "fd_nuke_gas", "density": 1, "age": 0 }, "L": { "field": "fd_nuke_gas", "density": 1, "age": 0 } }
+ "fields": { "l": { "field": "fd_nuke_gas", "intensity": 1, "age": 0 }, "L": { "field": "fd_nuke_gas", "intensity": 1, "age": 0 } }
}
}
]
diff --git a/data/mods/MMA/martial.json b/data/mods/MMA/martial.json
index b351d88c60aef..bde0a7db8c599 100644
--- a/data/mods/MMA/martial.json
+++ b/data/mods/MMA/martial.json
@@ -6,6 +6,7 @@
"type": "GENERIC",
"name": "The Life and Work of Tiger Sauer",
"name_plural": "The Life and Work of Tiger Sauer",
- "description": "A biography of a combat cyborg agent detailing his philosophy and martial art."
+ "description": "A biography of a combat cyborg agent detailing his philosophy and martial art.",
+ "book_data": { "martial_art": "style_mma_panzer" }
}
]
diff --git a/data/mods/Magiclysm/Spells/animist.json b/data/mods/Magiclysm/Spells/animist.json
index c179241c8abdc..fad9ce0cf3018 100644
--- a/data/mods/Magiclysm/Spells/animist.json
+++ b/data/mods/Magiclysm/Spells/animist.json
@@ -16,6 +16,7 @@
"spell_class": "ANIMIST",
"difficulty": 8,
"max_level": 15,
+ "flags": [ "VERBAL", "SOMATIC", "LOUD" ],
"energy_source": "MANA"
},
{
@@ -36,6 +37,7 @@
"base_energy_cost": 5,
"energy_increment": 1,
"final_energy_cost": 40,
+ "flags": [ "SOMATIC", "VERBAL", "SILENT", "NO_LEGS" ],
"difficulty": 3
},
{
@@ -55,6 +57,112 @@
"base_casting_time": 50000,
"base_energy_cost": 500,
"energy_increment": 50,
+ "flags": [ "SOMATIC", "VERBAL" ],
"final_energy_cost": 1000
+ },
+ {
+ "id": "summon_zombie",
+ "type": "SPELL",
+ "name": "Summon Zombie",
+ "description": "An ethereal-looking zombie rises from the depths of the earth to fight for you. You may be able to summon more with a higher level in this spell.",
+ "valid_targets": [ "ground" ],
+ "min_damage": 1,
+ "max_damage": 3,
+ "//": "level 20 will max out your number of summons",
+ "damage_increment": 0.1,
+ "max_level": 30,
+ "difficulty": 2,
+ "spell_class": "ANIMIST",
+ "effect": "summon",
+ "effect_str": "mon_zombie",
+ "energy_source": "HP",
+ "base_energy_cost": 6,
+ "//": "one minute",
+ "base_casting_time": 6000,
+ "min_range": 3,
+ "max_range": 3,
+ "min_aoe": 2,
+ "max_aoe": 2,
+ "flags": [ "SOMATIC", "VERBAL", "CONCENTRATE" ],
+ "min_duration": 30000,
+ "max_duration": 150000,
+ "duration_increment": 4000
+ },
+ {
+ "id": "summon_skeleton",
+ "type": "SPELL",
+ "name": "Summon Skeleton",
+ "description": "A ghostly skeleton rises from the depths of the earth to fight for you. You may be able to summon more with a higher level in this spell.",
+ "valid_targets": [ "ground" ],
+ "min_damage": 1,
+ "max_damage": 3,
+ "//": "level 20 will max out your number of summons",
+ "damage_increment": 0.1,
+ "max_level": 30,
+ "difficulty": 5,
+ "spell_class": "ANIMIST",
+ "effect": "summon",
+ "effect_str": "mon_skeleton",
+ "energy_source": "HP",
+ "base_energy_cost": 14,
+ "//": "one minute",
+ "base_casting_time": 6000,
+ "min_range": 3,
+ "max_range": 3,
+ "min_aoe": 2,
+ "max_aoe": 2,
+ "flags": [ "SOMATIC", "VERBAL", "CONCENTRATE" ],
+ "min_duration": 30000,
+ "max_duration": 150000,
+ "duration_increment": 4000
+ },
+ {
+ "id": "summon_decayed_pouncer",
+ "type": "SPELL",
+ "name": "Summon Decayed Pouncer",
+ "description": "A decrepit looking large cat rises from the depths of the earth to fight for you. You may be able to summon more with a higher level in this spell.",
+ "valid_targets": [ "ground" ],
+ "min_damage": 1,
+ "max_damage": 3,
+ "//": "level 20 will max out your number of summons",
+ "damage_increment": 0.1,
+ "max_level": 30,
+ "difficulty": 12,
+ "spell_class": "ANIMIST",
+ "effect": "summon",
+ "effect_str": "mon_zougar",
+ "energy_source": "HP",
+ "base_energy_cost": 30,
+ "//": "one minute",
+ "base_casting_time": 6000,
+ "min_range": 3,
+ "max_range": 3,
+ "min_aoe": 2,
+ "max_aoe": 2,
+ "flags": [ "SOMATIC", "VERBAL", "CONCENTRATE" ],
+ "min_duration": 30000,
+ "max_duration": 150000,
+ "duration_increment": 4000
+ },
+ {
+ "id": "create_rune_animist",
+ "type": "SPELL",
+ "name": "Animist Rune",
+ "description": "This ritual creates a small pebble attuned to Animists. You can use the rune as a catalyst for recipes.",
+ "valid_targets": [ "self" ],
+ "min_damage": 1,
+ "max_damage": 1,
+ "effect": "spawn_item",
+ "effect_str": "rune_animist",
+ "base_casting_time": 5000,
+ "base_energy_cost": 5,
+ "min_duration": 1,
+ "max_duration": 2,
+ "duration_increment": 1,
+ "difficulty": 0,
+ "max_level": 1,
+ "spell_class": "ANIMIST",
+ "energy_source": "MANA",
+ "flags": [ "PERMANENT", "NO_LEGS", "CONCENTRATE" ]
}
]
diff --git a/data/mods/Magiclysm/Spells/biomancer.json b/data/mods/Magiclysm/Spells/biomancer.json
index 2378651e3e359..f224ed031db23 100644
--- a/data/mods/Magiclysm/Spells/biomancer.json
+++ b/data/mods/Magiclysm/Spells/biomancer.json
@@ -14,7 +14,8 @@
"range_increment": 0.75,
"effect": "target_attack",
"base_casting_time": 300,
- "base_energy_cost": 300,
+ "base_energy_cost": 800,
+ "flags": [ "SOMATIC", "VERBAL" ],
"spell_class": "BIOMANCER",
"difficulty": 2,
"energy_source": "MANA"
@@ -29,6 +30,7 @@
"base_casting_time": 100,
"base_energy_cost": 800,
"energy_source": "MANA",
+ "flags": [ "SOMATIC", "NO_LEGS", "CONCENTRATE" ],
"spell_class": "BIOMANCER",
"difficulty": 4,
"max_level": 1
@@ -50,6 +52,7 @@
"duration_increment": 3000,
"difficulty": 6,
"max_level": 20,
+ "flags": [ "SOMATIC", "LOUD" ],
"spell_class": "BIOMANCER",
"energy_source": "MANA"
},
@@ -68,7 +71,8 @@
"difficulty": 6,
"max_level": 20,
"min_damage": 0,
- "max_damage": -20,
+ "max_damage": -8,
+ "flags": [ "SOMATIC", "LOUD" ],
"damage_increment": -1,
"//": "duration is in moves",
"min_duration": 6000,
@@ -95,6 +99,7 @@
"damage_type": "acid",
"min_range": 3,
"max_range": 5,
+ "flags": [ "VERBAL", "NO_HANDS" ],
"range_increment": 0.25,
"min_aoe": 25,
"max_aoe": 60,
@@ -117,6 +122,7 @@
"duration_increment": 15000,
"difficulty": 4,
"max_level": 20,
+ "flags": [ "NO_HANDS", "NO_LEGS", "SOMATIC" ],
"spell_class": "BIOMANCER",
"energy_source": "MANA"
},
@@ -137,7 +143,29 @@
"duration_increment": 3000,
"difficulty": 14,
"max_level": 20,
+ "flags": [ "LOUD", "SOMATIC" ],
"spell_class": "BIOMANCER",
"energy_source": "MANA"
+ },
+ {
+ "id": "create_rune_biomancer",
+ "type": "SPELL",
+ "name": "Biomancer Rune",
+ "description": "This ritual creates a small pebble attuned to Biomancers. You can use the rune as a catalyst for recipes.",
+ "valid_targets": [ "self" ],
+ "min_damage": 1,
+ "max_damage": 1,
+ "effect": "spawn_item",
+ "effect_str": "rune_biomancer",
+ "base_casting_time": 5000,
+ "base_energy_cost": 5,
+ "min_duration": 1,
+ "max_duration": 2,
+ "duration_increment": 1,
+ "difficulty": 0,
+ "max_level": 1,
+ "spell_class": "BIOMANCER",
+ "energy_source": "MANA",
+ "flags": [ "PERMANENT", "NO_LEGS", "CONCENTRATE" ]
}
]
diff --git a/data/mods/Magiclysm/Spells/classless.json b/data/mods/Magiclysm/Spells/classless.json
index 3c1538f7c6348..dedf132c9c27d 100644
--- a/data/mods/Magiclysm/Spells/classless.json
+++ b/data/mods/Magiclysm/Spells/classless.json
@@ -11,6 +11,7 @@
"base_energy_cost": 800,
"energy_source": "STAMINA",
"spell_class": "NONE",
+ "flags": [ "LOUD", "SOMATIC", "VERBAL" ],
"difficulty": 10,
"max_level": 20,
"min_damage": 30,
@@ -26,7 +27,7 @@
{
"id": "create_atomic_light",
"type": "SPELL",
- "name": "Light",
+ "name": "Magical Light",
"description": "Creates a magical light.",
"valid_targets": [ "none" ],
"min_range": 0,
@@ -36,6 +37,7 @@
"effect": "spawn_item",
"effect_str": "magic_light",
"energy_source": "MANA",
+ "flags": [ "VERBAL", "NO_LEGS" ],
"difficulty": 1,
"max_level": 20,
"base_casting_time": 1000,
@@ -67,6 +69,7 @@
"max_duration": 3000,
"duration_increment": 100,
"spell_class": "NONE",
+ "flags": [ "SOMATIC", "NO_LEGS" ],
"base_casting_time": 200,
"base_energy_cost": 150,
"energy_source": "MANA",
@@ -96,6 +99,7 @@
"max_duration": 5000,
"duration_increment": 200,
"spell_class": "NONE",
+ "flags": [ "SOMATIC" ],
"base_casting_time": 200,
"base_energy_cost": 400,
"energy_source": "MANA",
@@ -114,10 +118,31 @@
"energy_source": "MANA",
"difficulty": 1,
"max_level": 20,
+ "flags": [ "CONCENTRATE", "VERBAL", "NO_LEGS" ],
"base_casting_time": 350,
"base_energy_cost": 375,
"min_duration": 10000,
"max_duration": 50000,
"duration_increment": 3000
+ },
+ {
+ "id": "create_rune_alchemist",
+ "type": "SPELL",
+ "name": "Alchemist Rune",
+ "description": "This ritual creates a small pebble attuned to alchemy itself. This rune can substitute for the eight school runes in basic recipes.",
+ "valid_targets": [ "self" ],
+ "min_damage": 1,
+ "max_damage": 1,
+ "effect": "spawn_item",
+ "effect_str": "rune_alchemist",
+ "base_casting_time": 5000,
+ "base_energy_cost": 500,
+ "min_duration": 1,
+ "max_duration": 2,
+ "duration_increment": 1,
+ "difficulty": 7,
+ "max_level": 1,
+ "energy_source": "MANA",
+ "flags": [ "PERMANENT", "NO_LEGS", "CONCENTRATE" ]
}
]
diff --git a/data/mods/Magiclysm/Spells/debug.json b/data/mods/Magiclysm/Spells/debug.json
index 0decd801aa140..add863460be92 100644
--- a/data/mods/Magiclysm/Spells/debug.json
+++ b/data/mods/Magiclysm/Spells/debug.json
@@ -35,6 +35,27 @@
"max_pierce": 1,
"pierce_increment": 0.1
},
+ {
+ "id": "spawn_debug_monster",
+ "type": "SPELL",
+ "name": "Spawn Debug Monsters",
+ "description": "Set level to number of monsters spawned.",
+ "valid_targets": [ "ground" ],
+ "effect": "summon",
+ "effect_str": "debug_mon",
+ "base_casting_time": 100,
+ "max_level": 30,
+ "min_aoe": 10,
+ "max_aoe": 10,
+ "min_damage": 1,
+ "max_damage": 30,
+ "damage_increment": 1,
+ "min_range": 20,
+ "max_range": 20,
+ "min_duration": 1000,
+ "max_duration": 1000,
+ "energy_source": "NONE"
+ },
{
"id": "debug_stamina",
"type": "SPELL",
@@ -48,6 +69,19 @@
"base_energy_cost": 100,
"energy_source": "STAMINA"
},
+ {
+ "id": "debug_fatigue",
+ "type": "SPELL",
+ "name": "Debug Fatigue Spell",
+ "description": "Uses a little fatigue",
+ "valid_targets": [ "self" ],
+ "effect": "none",
+ "min_range": 1,
+ "max_range": 1,
+ "base_casting_time": 100,
+ "base_energy_cost": 100,
+ "energy_source": "FATIGUE"
+ },
{
"id": "debug_hp",
"type": "SPELL",
diff --git a/data/mods/Magiclysm/Spells/druid.json b/data/mods/Magiclysm/Spells/druid.json
index 7413ab4c06150..225734966eef1 100644
--- a/data/mods/Magiclysm/Spells/druid.json
+++ b/data/mods/Magiclysm/Spells/druid.json
@@ -5,6 +5,7 @@
"name": "Vegetative Grasp",
"description": "This spell causes roots and vines to burst forth from the ground and grab your foes, slowing them and doing a small amount of damage as they dig in.",
"valid_targets": [ "hostile", "ground" ],
+ "flags": [ "LOUD", "SOMATIC", "VERBAL", "NO_LEGS" ],
"effect": "target_attack",
"effect_str": "entangled",
"spell_class": "DRUID",
@@ -39,6 +40,7 @@
"name": "Root Strike",
"description": "This spell causes roots to spear out the ground and stab into your foes in an arc, impaling them.",
"valid_targets": [ "hostile", "ground" ],
+ "flags": [ "LOUD", "SOMATIC", "VERBAL", "NO_LEGS" ],
"effect": "cone_attack",
"effect_str": "root_impale",
"spell_class": "DRUID",
@@ -73,6 +75,7 @@
"name": "Wooden Shaft",
"description": "This spell creates a projectile of hardwood that shoots forth from the caster's hand at high speed to stab into an enemy.",
"valid_targets": [ "hostile" ],
+ "flags": [ "LOUD", "SOMATIC", "VERBAL", "NO_LEGS" ],
"effect": "projectile_attack",
"spell_class": "DRUID",
"base_casting_time": 100,
@@ -97,6 +100,7 @@
"name": "Nature's Bow",
"description": "This spell conjures a magical wooden recurve bow that fires endless arrows for as long as it lasts.",
"valid_targets": [ "none" ],
+ "flags": [ "CONCENTRATE", "SOMATIC", "VERBAL", "NO_LEGS" ],
"min_damage": 1,
"max_damage": 1,
"effect": "spawn_item",
@@ -117,6 +121,7 @@
"name": "Nature's Trance",
"description": "Your connection to living things allows you to go into a magical trance. This allows you to recover fatige quickly in exchange for mana.",
"valid_targets": [ "self" ],
+ "flags": [ "CONCENTRATE", "SILENT", "NO_HANDS" ],
"spell_class": "DRUID",
"energy_source": "MANA",
"effect": "recover_energy",
@@ -130,5 +135,77 @@
"energy_cost_increment": 25,
"final_energy_cost": 1125,
"difficulty": 4
+ },
+ {
+ "id": "summon_cats",
+ "type": "SPELL",
+ "name": "Bag of Cats",
+ "description": "Are you the crazy cat lady?",
+ "valid_targets": [ "ground" ],
+ "flags": [ "LOUD", "SOMATIC" ],
+ "min_damage": 1,
+ "max_damage": 12,
+ "damage_increment": 1,
+ "min_range": 3,
+ "range_increment": 0.8,
+ "max_range": 7,
+ "min_aoe": 3,
+ "max_aoe": 3,
+ "spell_class": "DRUID",
+ "base_casting_time": 250,
+ "energy_source": "MANA",
+ "max_level": 25,
+ "min_duration": 6000,
+ "max_duration": 60000,
+ "duration_increment": 1000,
+ "difficulty": 1,
+ "base_energy_cost": 265,
+ "effect": "summon",
+ "effect_str": "mon_cat"
+ },
+ {
+ "id": "summon_bear",
+ "type": "SPELL",
+ "name": "Cause Bear",
+ "description": "This spell appears to be very smudged. You're fairly sure the name should be Cause Fear, but you're also fairly sure it won't have the desired effect because the instructions are hardly legible. No time like the Cataclysm to find out, though!",
+ "valid_targets": [ "ground" ],
+ "min_damage": 1,
+ "max_damage": 1,
+ "min_range": 3,
+ "max_range": 5,
+ "spell_class": "DRUID",
+ "base_casting_time": 500,
+ "energy_source": "MANA",
+ "max_level": 25,
+ "difficulty": 10,
+ "min_duration": 6000,
+ "max_duration": 30000,
+ "base_energy_cost": 675,
+ "final_energy_cost": 475,
+ "energy_cost_increment": -5,
+ "flags": [ "HOSTILE_50", "CONCENTRATE", "SOMATIC", "VERBAL", "NO_LEGS" ],
+ "effect": "summon",
+ "effect_str": "mon_bear"
+ },
+ {
+ "id": "create_rune_druid",
+ "type": "SPELL",
+ "name": "Druid Rune",
+ "description": "This ritual creates a small pebble attuned to Druids. You can use the rune as a catalyst for recipes.",
+ "valid_targets": [ "self" ],
+ "min_damage": 1,
+ "max_damage": 1,
+ "effect": "spawn_item",
+ "effect_str": "rune_druid",
+ "base_casting_time": 5000,
+ "base_energy_cost": 5,
+ "min_duration": 1,
+ "max_duration": 2,
+ "duration_increment": 1,
+ "difficulty": 0,
+ "max_level": 1,
+ "spell_class": "DRUID",
+ "energy_source": "MANA",
+ "flags": [ "PERMANENT", "NO_LEGS", "CONCENTRATE" ]
}
]
diff --git a/data/mods/Magiclysm/Spells/earthshaper.json b/data/mods/Magiclysm/Spells/earthshaper.json
index 3af195e84af1f..d4359447f4def 100644
--- a/data/mods/Magiclysm/Spells/earthshaper.json
+++ b/data/mods/Magiclysm/Spells/earthshaper.json
@@ -5,6 +5,7 @@
"name": "Stonefist",
"description": "Encases your arms and hands in a sheath of magical stone, you can punch and defend yourself with it in melee combat.",
"valid_targets": [ "self" ],
+ "flags": [ "SOMATIC", "LOUD" ],
"min_damage": 1,
"max_damage": 1,
"effect": "spawn_item",
@@ -27,6 +28,7 @@
"effect": "cone_attack",
"effect_str": "downed",
"valid_targets": [ "hostile", "ground" ],
+ "flags": [ "SOMATIC", "LOUD" ],
"max_level": 10,
"min_damage": 2,
"max_damage": 10,
@@ -55,16 +57,131 @@
"effect": "recover_energy",
"effect_str": "STAMINA",
"valid_targets": [ "self" ],
+ "flags": [ "NO_HANDS", "CONCENTRATE", "SILENT" ],
"min_damage": 150,
"max_damage": 1000,
"damage_increment": 75,
"max_level": 12,
"spell_class": "EARTHSHAPER",
"base_casting_time": 500,
+ "final_casting_time": 300,
+ "casting_time_increment": -17,
"energy_source": "MANA",
"base_energy_cost": 150,
"energy_increment": 75,
"final_energy_cost": 1000,
"difficulty": 5
+ },
+ {
+ "id": "eshaper_shardspray",
+ "type": "SPELL",
+ "name": "Shardspray",
+ "description": "This spell projects a wide spray of sharp metal shards, cutting into your foes and friends alike.",
+ "valid_targets": [ "hostile", "ground", "ally" ],
+ "flags": [ "SOMATIC", "LOUD" ],
+ "effect": "cone_attack",
+ "spell_class": "EARTHSHAPER",
+ "energy_source": "MANA",
+ "difficulty": 3,
+ "base_casting_time": 100,
+ "base_energy_cost": 100,
+ "max_level": 20,
+ "min_damage": 10,
+ "max_damage": 60,
+ "damage_increment": 2,
+ "damage_type": "cut",
+ "min_aoe": 25,
+ "max_aoe": 60,
+ "aoe_increment": 5,
+ "min_range": 1,
+ "max_range": 10,
+ "range_increment": 0.5
+ },
+ {
+ "id": "eshaper_piercing_bolt",
+ "type": "SPELL",
+ "name": "Piercing Bolt",
+ "description": "This spell projects a piercing rod of conjured iron at those that dare oppose you.",
+ "valid_targets": [ "hostile" ],
+ "flags": [ "SOMATIC", "LOUD" ],
+ "effect": "projectile_attack",
+ "spell_class": "EARTHSHAPER",
+ "energy_source": "MANA",
+ "base_casting_time": 100,
+ "base_energy_cost": 115,
+ "difficulty": 2,
+ "max_level": 20,
+ "min_damage": 20,
+ "max_damage": 50,
+ "damage_increment": 3,
+ "damage_type": "stab",
+ "min_range": 8,
+ "max_range": 26,
+ "range_increment": 1.5
+ },
+ {
+ "id": "eshaper_shardstorm",
+ "type": "SPELL",
+ "name": "Shardstorm",
+ "description": "Creates an omnidirectional spray of razor sharp metal shards all around you.",
+ "valid_targets": [ "hostile", "ally", "ground" ],
+ "flags": [ "SOMATIC", "LOUD" ],
+ "min_damage": 20,
+ "max_damage": 60,
+ "damage_increment": 1.5,
+ "damage_type": "cut",
+ "min_aoe": 1,
+ "max_aoe": 6,
+ "aoe_increment": 0.25,
+ "base_energy_cost": 200,
+ "spell_class": "EARTHSHAPER",
+ "difficulty": 4,
+ "max_level": 20,
+ "base_casting_time": 100,
+ "energy_source": "MANA",
+ "effect": "target_attack"
+ },
+ {
+ "id": "eshaper_rockbolt",
+ "type": "SPELL",
+ "name": "Rockbolt",
+ "description": "Fires a conjured stone projectile at high velocity.",
+ "valid_targets": [ "hostile", "ally" ],
+ "flags": [ "SOMATIC", "LOUD" ],
+ "min_damage": 5,
+ "damage_increment": 1.5,
+ "damage_type": "bash",
+ "max_damage": 26,
+ "min_range": 5,
+ "range_increment": 0.5,
+ "max_range": 15,
+ "base_energy_cost": 50,
+ "spell_class": "EARTHSHAPER",
+ "difficulty": 1,
+ "max_level": 20,
+ "base_casting_time": 100,
+ "energy_source": "MANA",
+ "effect": "projectile_attack"
+ },
+ {
+ "id": "create_rune_earthshaper",
+ "type": "SPELL",
+ "name": "Earthshaper Rune",
+ "description": "This ritual creates a small pebble attuned to Earthshapers. You can use the rune as a catalyst for recipes.",
+ "valid_targets": [ "self" ],
+ "min_damage": 1,
+ "max_damage": 1,
+ "effect": "spawn_item",
+ "effect_str": "rune_earthshaper",
+ "base_casting_time": 5000,
+ "base_energy_cost": 5,
+ "min_duration": 1,
+ "max_duration": 2,
+ "duration_increment": 1,
+ "difficulty": 0,
+ "max_level": 1,
+ "spell_class": "EARTHSHAPER",
+ "energy_source": "MANA",
+ "flags": [ "PERMANENT", "NO_LEGS", "CONCENTRATE" ]
}
]
diff --git a/data/mods/Magiclysm/Spells/kelvinist.json b/data/mods/Magiclysm/Spells/kelvinist.json
index 7719c1c78c555..2d46ca6c55fd6 100644
--- a/data/mods/Magiclysm/Spells/kelvinist.json
+++ b/data/mods/Magiclysm/Spells/kelvinist.json
@@ -5,6 +5,7 @@
"name": "Point Flare",
"description": "Causes an intense heat at the location, damaging the target.",
"valid_targets": [ "hostile" ],
+ "flags": [ "CONCENTRATE", "SOMATIC", "LOUD" ],
"effect": "target_attack",
"damage_type": "fire",
"min_damage": 16,
@@ -20,12 +21,36 @@
"base_casting_time": 300,
"energy_source": "MANA"
},
+ {
+ "id": "create_lighter",
+ "type": "SPELL",
+ "name": "Finger Firelighter",
+ "description": "Summons a small flame that does not burn you, but you can use it to light things on fire. It seems to need you to have some intent to light things on fire, because you are able to put it in your pocket with no issue.",
+ "valid_targets": [ "none" ],
+ "flags": [ "NO_LEGS" ],
+ "effect": "spawn_item",
+ "effect_str": "finger_firelighter",
+ "min_damage": 1,
+ "max_damage": 1,
+ "min_duration": 6000,
+ "max_duration": 60000,
+ "duration_increment": 5400,
+ "max_level": 10,
+ "spell_class": "KELVINIST",
+ "energy_source": "MANA",
+ "base_casting_time": 250,
+ "final_casting_time": 50,
+ "casting_time_increment": -20,
+ "base_energy_cost": 65,
+ "difficulty": 0
+ },
{
"id": "ice_spike",
"type": "SPELL",
"name": "Ice Spike",
"description": "Causes jagged icicles to form in the air above the target, falling and damaging it.",
"valid_targets": [ "hostile" ],
+ "flags": [ "CONCENTRATE", "SOMATIC", "LOUD", "VERBAL" ],
"effect": "target_attack",
"damage_type": "cold",
"min_damage": 30,
@@ -48,6 +73,7 @@
"description": "You hurl a pea-sized glowing orb that when reaches its target or an obstacle produces a pressure-less blast of searing heat.",
"effect": "projectile_attack",
"valid_targets": [ "self", "ally", "hostile", "ground" ],
+ "flags": [ "SOMATIC", "VERBAL", "NO_LEGS" ],
"max_level": 20,
"min_damage": 24,
"max_damage": 68,
@@ -72,6 +98,7 @@
"description": "You blast a cone of frigid air toward the target.",
"effect": "cone_attack",
"valid_targets": [ "ally", "hostile", "ground" ],
+ "flags": [ "SOMATIC", "VERBAL" ],
"max_level": 20,
"min_damage": 24,
"max_damage": 68,
@@ -96,6 +123,7 @@
"description": "You're pretty sure you saw this in a game somewhere. You fire a short-range cone of fire.",
"effect": "cone_attack",
"valid_targets": [ "ally", "hostile", "ground" ],
+ "flags": [ "SOMATIC", "VERBAL" ],
"max_level": 20,
"min_damage": 8,
"max_damage": 65,
@@ -120,6 +148,7 @@
"description": "A glowing chunk of ice bursts into being from your hand and explodes into a wave of intense cold on impact.",
"effect": "projectile_attack",
"valid_targets": [ "self", "ally", "hostile", "ground" ],
+ "flags": [ "SOMATIC", "VERBAL", "NO_LEGS" ],
"max_level": 20,
"min_damage": 24,
"max_damage": 68,
@@ -146,6 +175,7 @@
"effect_str": "cold",
"affected_body_parts": [ "TORSO" ],
"valid_targets": [ "ally", "hostile", "ground" ],
+ "flags": [ "SOMATIC", "VERBAL" ],
"max_level": 20,
"min_damage": 8,
"max_damage": 65,
@@ -169,6 +199,7 @@
"name": "Chilling Touch",
"description": "Freezes the touched target with intense cold.",
"valid_targets": [ "hostile" ],
+ "flags": [ "SOMATIC" ],
"effect": "target_attack",
"effect_str": "cold",
"affected_body_parts": [ "TORSO" ],
@@ -191,6 +222,7 @@
"name": "Glide on Ice",
"description": "Encases your feet in a magical coating of ice, allowing you to glide along smooth surfaces faster.",
"valid_targets": [ "none" ],
+ "flags": [ "VERBAL", "NO_HANDS", "NO_LEGS", "CONCENTRATE" ],
"min_damage": 1,
"max_damage": 1,
"effect": "spawn_item",
@@ -214,6 +246,7 @@
"effect_str": "cold",
"affected_body_parts": [ "TORSO" ],
"valid_targets": [ "self", "ally", "hostile", "ground" ],
+ "flags": [ "SOMATIC", "VERBAL", "NO_LEGS" ],
"max_level": 20,
"min_damage": 24,
"max_damage": 68,
@@ -237,6 +270,7 @@
"name": "Ice Shield",
"description": "Creates a magical shield of ice on your arm, you can defend yourself with it in melee combat and use it to bash.",
"valid_targets": [ "none" ],
+ "flags": [ "NO_LEGS", "CONCENTRATE", "VERBAL" ],
"min_damage": 1,
"max_damage": 1,
"effect": "spawn_item",
@@ -257,6 +291,7 @@
"name": "Frost Armor",
"description": "Covers you in a thin layer of magical ice to protect you from harm.",
"valid_targets": [ "self" ],
+ "flags": [ "NO_LEGS", "CONCENTRATE", "VERBAL", "SOMATIC" ],
"effect": "target_attack",
"effect_str": "armor_frost",
"affected_body_parts": [ "HEAD", "TORSO", "LEG_L", "LEG_R", "ARM_R", "ARM_L" ],
@@ -269,5 +304,26 @@
"min_duration": 10000,
"max_duration": 50000,
"duration_increment": 3000
+ },
+ {
+ "id": "create_rune_kelvinist",
+ "type": "SPELL",
+ "name": "Kelvinist Rune",
+ "description": "This ritual creates a small pebble attuned to Kelvinists. You can use the rune as a catalyst for recipes.",
+ "valid_targets": [ "self" ],
+ "min_damage": 1,
+ "max_damage": 1,
+ "effect": "spawn_item",
+ "effect_str": "rune_kelvinist",
+ "base_casting_time": 5000,
+ "base_energy_cost": 5,
+ "min_duration": 1,
+ "max_duration": 2,
+ "duration_increment": 1,
+ "difficulty": 0,
+ "max_level": 1,
+ "spell_class": "KELVINIST",
+ "energy_source": "MANA",
+ "flags": [ "PERMANENT", "NO_LEGS", "CONCENTRATE" ]
}
]
diff --git a/data/mods/Magiclysm/Spells/magus.json b/data/mods/Magiclysm/Spells/magus.json
index e730706fb30a9..27e234c5f1aaf 100644
--- a/data/mods/Magiclysm/Spells/magus.json
+++ b/data/mods/Magiclysm/Spells/magus.json
@@ -5,6 +5,7 @@
"name": "Magic Missile",
"description": "I cast Magic Missile at the darkness!",
"valid_targets": [ "hostile" ],
+ "flags": [ "VERBAL", "SOMATIC", "NO_LEGS", "SILENT" ],
"min_damage": 1,
"damage_increment": 1.5,
"damage_type": "none",
@@ -27,6 +28,7 @@
"description": "Teleports you in a random direction a short distance.",
"effect": "teleport_random",
"valid_targets": [ "none" ],
+ "flags": [ "SOMATIC", "SILENT", "NO_LEGS" ],
"min_range": 3,
"max_range": 4,
"range_increment": 0.1,
@@ -47,6 +49,7 @@
"description": "Summons a well of gravity with the epicenter at the location. Deals bashing damage to all creatures in the affected area.",
"effect": "target_attack",
"valid_targets": [ "self", "ally", "hostile", "ground" ],
+ "flags": [ "SOMATIC", "VERBAL", "CONCENTRATE" ],
"min_damage": 20,
"max_damage": 45,
"damage_increment": 1.2,
@@ -63,5 +66,137 @@
"base_casting_time": 600,
"energy_source": "MANA",
"base_energy_cost": 350
+ },
+ {
+ "id": "magus_mana_blast",
+ "type": "SPELL",
+ "name": "Mana Blast",
+ "description": "A blast of concentrated magical power that obliterates a large area.",
+ "valid_targets": [ "hostile", "ground" ],
+ "flags": [ "VERBAL", "SOMATIC", "NO_LEGS" ],
+ "effect": "projectile_attack",
+ "spell_class": "MAGUS",
+ "energy_source": "MANA",
+ "base_casting_time": 150,
+ "base_energy_cost": 200,
+ "difficulty": 5,
+ "max_level": 20,
+ "min_damage": 20,
+ "max_damage": 80,
+ "damage_increment": 3,
+ "damage_type": "none",
+ "min_aoe": 1,
+ "max_aoe": 3,
+ "aoe_increment": 0.25,
+ "min_range": 5,
+ "max_range": 20,
+ "range_increment": 1
+ },
+ {
+ "id": "magus_mana_bolt",
+ "type": "SPELL",
+ "name": "Mana Bolt",
+ "description": "A bolt of magical power that only damages your foes.",
+ "valid_targets": [ "hostile" ],
+ "flags": [ "VERBAL", "SOMATIC", "NO_LEGS" ],
+ "effect": "projectile_attack",
+ "spell_class": "MAGUS",
+ "energy_source": "MANA",
+ "base_casting_time": 100,
+ "base_energy_cost": 150,
+ "difficulty": 5,
+ "max_level": 20,
+ "min_damage": 20,
+ "max_damage": 120,
+ "damage_increment": 5,
+ "damage_type": "none",
+ "min_range": 5,
+ "max_range": 30,
+ "range_increment": 1.5
+ },
+ {
+ "id": "magus_haste",
+ "type": "SPELL",
+ "name": "Haste",
+ "description": "This spell gives you an enormous boost of speed lasting a short period of time.",
+ "valid_targets": [ "self" ],
+ "flags": [ "LOUD", "VERBAL", "SOMATIC" ],
+ "effect": "target_attack",
+ "effect_str": "haste",
+ "spell_class": "MAGUS",
+ "energy_source": "MANA",
+ "difficulty": 4,
+ "base_casting_time": 200,
+ "base_energy_cost": 300,
+ "max_level": 20,
+ "min_duration": 600,
+ "max_duration": 12000,
+ "duration_increment": 600
+ },
+ {
+ "id": "magus_mana_beam",
+ "type": "SPELL",
+ "name": "Mana Beam",
+ "description": "A beam of focused magical power that damages any foes in its path.",
+ "valid_targets": [ "hostile", "ground" ],
+ "flags": [ "VERBAL", "SOMATIC", "NO_LEGS", "LOUD" ],
+ "effect": "line_attack",
+ "spell_class": "MAGUS",
+ "energy_source": "MANA",
+ "base_casting_time": 150,
+ "base_energy_cost": 200,
+ "difficulty": 4,
+ "max_level": 20,
+ "min_damage": 15,
+ "max_damage": 60,
+ "damage_increment": 3,
+ "damage_type": "none",
+ "min_aoe": 1,
+ "max_aoe": 1,
+ "min_range": 5,
+ "max_range": 20,
+ "range_increment": 1
+ },
+ {
+ "id": "magus_escape",
+ "type": "SPELL",
+ "name": "Escape",
+ "description": "Teleports you in a random direction a medium distance, to help escape your foes in dangerous situations.",
+ "effect": "teleport_random",
+ "valid_targets": [ "none" ],
+ "flags": [ "SOMATIC", "SILENT", "NO_LEGS", "VERBAL" ],
+ "min_aoe": 5,
+ "max_aoe": 10,
+ "aoe_increment": 0.25,
+ "min_range": 25,
+ "max_range": 35,
+ "range_increment": 0.5,
+ "max_level": 10,
+ "difficulty": 5,
+ "spell_class": "MAGUS",
+ "base_casting_time": 100,
+ "energy_source": "MANA",
+ "base_energy_cost": 250
+ },
+ {
+ "id": "create_rune_magus",
+ "type": "SPELL",
+ "name": "Magus Rune",
+ "description": "This ritual creates a small pebble attuned to Magi. You can use the rune as a catalyst for recipes.",
+ "valid_targets": [ "self" ],
+ "min_damage": 1,
+ "max_damage": 1,
+ "effect": "spawn_item",
+ "effect_str": "rune_magus",
+ "base_casting_time": 5000,
+ "base_energy_cost": 5,
+ "min_duration": 1,
+ "max_duration": 2,
+ "duration_increment": 1,
+ "difficulty": 0,
+ "max_level": 1,
+ "spell_class": "MAGUS",
+ "energy_source": "MANA",
+ "flags": [ "PERMANENT", "NO_LEGS", "CONCENTRATE" ]
}
]
diff --git a/data/mods/Magiclysm/Spells/stormshaper.json b/data/mods/Magiclysm/Spells/stormshaper.json
index 16dc181c52105..c106fada814b3 100644
--- a/data/mods/Magiclysm/Spells/stormshaper.json
+++ b/data/mods/Magiclysm/Spells/stormshaper.json
@@ -3,9 +3,10 @@
"id": "jolt",
"type": "SPELL",
"name": "Jolt",
- "description": "A short ranged fan of elecricity shoots from your fingers.",
+ "description": "A short-ranged fan of electricity shoots from your fingers.",
"effect": "cone_attack",
"valid_targets": [ "ally", "hostile", "ground" ],
+ "flags": [ "LOUD", "SOMATIC" ],
"max_level": 20,
"min_damage": 8,
"max_damage": 65,
@@ -32,6 +33,7 @@
"effect_str": "downed",
"affected_body_parts": [ "LEG_L", "LEG_R" ],
"valid_targets": [ "ally", "hostile", "ground" ],
+ "flags": [ "SOMATIC", "NO_LEGS" ],
"max_level": 10,
"min_damage": 24,
"max_damage": 68,
@@ -66,6 +68,7 @@
"effect_str": "enchant_windrun",
"affected_body_parts": [ "TORSO" ],
"valid_targets": [ "ally", "self" ],
+ "flags": [ "CONCENTRATE", "SILENT", "VERBAL", "NO_HANDS" ],
"max_level": 10,
"min_duration": 2000,
"max_duration": 10000,
@@ -80,6 +83,7 @@
"name": "Call Stormhammer",
"description": "Creates a crackling magical warhammer full of lightning to smite your foes with, and of course, smash things to bits!",
"valid_targets": [ "self" ],
+ "flags": [ "CONCENTRATE", "LOUD", "VERBAL", "NO_LEGS" ],
"min_damage": 1,
"max_damage": 1,
"effect": "spawn_item",
@@ -93,5 +97,26 @@
"min_duration": 10000,
"max_duration": 50000,
"duration_increment": 2000
+ },
+ {
+ "id": "create_rune_stormshaper",
+ "type": "SPELL",
+ "name": "Stormshaper Rune",
+ "description": "This ritual creates a small pebble attuned to Stormshapers. You can use the rune as a catalyst for recipes.",
+ "valid_targets": [ "self" ],
+ "min_damage": 1,
+ "max_damage": 1,
+ "effect": "spawn_item",
+ "effect_str": "rune_stormshaper",
+ "base_casting_time": 5000,
+ "base_energy_cost": 5,
+ "min_duration": 1,
+ "max_duration": 2,
+ "duration_increment": 1,
+ "difficulty": 0,
+ "max_level": 1,
+ "spell_class": "STORMSHAPER",
+ "energy_source": "MANA",
+ "flags": [ "PERMANENT", "NO_LEGS", "CONCENTRATE" ]
}
]
diff --git a/data/mods/Magiclysm/Spells/technomancer.json b/data/mods/Magiclysm/Spells/technomancer.json
index d11acdc84718f..9e6f3fdc95abd 100644
--- a/data/mods/Magiclysm/Spells/technomancer.json
+++ b/data/mods/Magiclysm/Spells/technomancer.json
@@ -5,6 +5,7 @@
"name": "Bless",
"description": "A spell of blessing that gives you energy and boosts your abilities.",
"valid_targets": [ "self", "ally" ],
+ "flags": [ "VERBAL", "SOMATIC", "NO_LEGS" ],
"effect": "target_attack",
"effect_str": "bless",
"affected_body_parts": [ "TORSO" ],
@@ -15,7 +16,7 @@
"difficulty": 1,
"max_level": 1,
"min_damage": 0,
- "max_damage": -20,
+ "max_damage": -2,
"damage_increment": -1,
"min_aoe": 0,
"max_aoe": 5,
@@ -35,6 +36,7 @@
"name": "Holy Blade",
"description": "This blade of light will cut through any evil it makes contact with!",
"valid_targets": [ "self" ],
+ "flags": [ "VERBAL", "NO_LEGS", "CONCENTRATE" ],
"min_range": 0,
"max_range": 0,
"min_damage": 1,
@@ -57,6 +59,7 @@
"name": "Spiritual Armor",
"description": "Evil will not make it through your defenses if your faith is strong enough!",
"valid_targets": [ "self" ],
+ "flags": [ "VERBAL", "NO_LEGS", "CONCENTRATE", "SOMATIC" ],
"min_range": 0,
"max_range": 0,
"min_damage": 1,
@@ -79,6 +82,7 @@
"name": "Lamp",
"description": "Creates a magical lamp.",
"valid_targets": [ "none" ],
+ "flags": [ "VERBAL", "NO_LEGS", "CONCENTRATE" ],
"min_range": 0,
"max_range": 0,
"min_damage": 1,
@@ -101,6 +105,7 @@
"name": "Manatricity",
"description": "You have found a way to convert your spiritual energy into power you can use for your bionics.",
"valid_targets": [ "self" ],
+ "flags": [ "NO_LEGS", "NO_HANDS", "SOMATIC", "VERBAL", "SILENT" ],
"min_damage": 250,
"damage_increment": 50,
"max_damage": 15000,
@@ -114,5 +119,26 @@
"energy_source": "MANA",
"difficulty": 6,
"base_casting_time": 1000
+ },
+ {
+ "id": "create_rune_technomancer",
+ "type": "SPELL",
+ "name": "Technomancer Rune",
+ "description": "This ritual creates a small pebble attuned to Technomancers. You can use the rune as a catalyst for recipes.",
+ "valid_targets": [ "self" ],
+ "min_damage": 1,
+ "max_damage": 1,
+ "effect": "spawn_item",
+ "effect_str": "rune_technomancer",
+ "base_casting_time": 5000,
+ "base_energy_cost": 5,
+ "min_duration": 1,
+ "max_duration": 2,
+ "duration_increment": 1,
+ "difficulty": 0,
+ "max_level": 1,
+ "spell_class": "TECHNOMANCER",
+ "energy_source": "MANA",
+ "flags": [ "PERMANENT", "NO_LEGS", "CONCENTRATE" ]
}
]
diff --git a/data/mods/Magiclysm/cooking_components.json b/data/mods/Magiclysm/cooking_components.json
new file mode 100644
index 0000000000000..89af18fa1004a
--- /dev/null
+++ b/data/mods/Magiclysm/cooking_components.json
@@ -0,0 +1,20 @@
+[
+ {
+ "id": "eggs_bird",
+ "type": "requirement",
+ "components": [
+ [
+ [ "egg_bird", 1 ],
+ [ "egg_chicken", 1 ],
+ [ "egg_grouse", 1 ],
+ [ "egg_crow", 1 ],
+ [ "egg_duck", 1 ],
+ [ "egg_goose_canadian", 1 ],
+ [ "egg_turkey", 1 ],
+ [ "egg_pheasant", 1 ],
+ [ "egg_cockatrice", 1 ],
+ [ "egg_owlbear", 1 ]
+ ]
+ ]
+ }
+]
diff --git a/data/mods/Magiclysm/effects/effects.json b/data/mods/Magiclysm/effects/effects.json
index f02b73c920032..aab0fe8317fce 100644
--- a/data/mods/Magiclysm/effects/effects.json
+++ b/data/mods/Magiclysm/effects/effects.json
@@ -86,8 +86,8 @@
"max_intensity": 4,
"int_add_val": 1,
"apply_message": "Roots rip out from the ground and impale your enemies!",
- "remove_message": "The roots and vines wither up and die.",
- "base_mods": { "speed_mod": [ -30 ], "h_mod_min": [ -2 ], "h_mod_max": [ -5 ], "h_mod_chance": [ 5 ] },
+ "remove_message": "The roots wither up and die.",
+ "base_mods": { "speed_mod": [ -30 ] },
"scaling_mods": { "speed_mod": [ -10 ] }
},
{
@@ -97,7 +97,17 @@
"desc": [ "Burned with acid" ],
"max_intensity": 4,
"int_add_val": 1,
- "base_mods": { "speed_mod": [ -10 ], "h_mod_min": [ -2 ], "h_mod_max": [ -5 ], "h_mod_chance": [ 5 ] },
+ "base_mods": { "speed_mod": [ -20 ] },
"scaling_mods": { "speed_mod": [ -10 ] }
+ },
+ {
+ "type": "effect_type",
+ "id": "haste",
+ "name": [ "Hasted" ],
+ "desc": [ "Your speed is boosted enormously." ],
+ "apply_message": "Your speed is boosted to superhuman levels!",
+ "remove_message": "You return to your normal speed.",
+ "rating": "good",
+ "base_mods": { "dex_mod": [ 4 ], "speed_mod": [ 300 ] }
}
]
diff --git a/data/mods/Magiclysm/harvest.json b/data/mods/Magiclysm/harvest.json
new file mode 100644
index 0000000000000..d19c727a2ae90
--- /dev/null
+++ b/data/mods/Magiclysm/harvest.json
@@ -0,0 +1,44 @@
+[
+ {
+ "id": "owlbear",
+ "//": "identical to mammal_large_fur except that half the fur has been replaced with feathers",
+ "type": "harvest",
+ "entries": [
+ { "drop": "meat", "type": "flesh", "mass_ratio": 0.32 },
+ { "drop": "meat_scrap", "type": "flesh", "mass_ratio": 0.01 },
+ { "drop": "lung", "type": "flesh", "mass_ratio": 0.0035 },
+ { "drop": "liver", "type": "offal", "mass_ratio": 0.01 },
+ { "drop": "brain", "type": "flesh", "mass_ratio": 0.005 },
+ { "drop": "sweetbread", "type": "flesh", "mass_ratio": 0.002 },
+ { "drop": "kidney", "type": "offal", "mass_ratio": 0.002 },
+ { "drop": "stomach_large", "scale_num": [ 1, 1 ], "max": 1, "type": "offal" },
+ { "drop": "owlbear_stone", "scale_num": [ 1, 1 ], "max": 1, "type": "offal" },
+ { "drop": "bone", "type": "bone", "mass_ratio": 0.15 },
+ { "drop": "sinew", "type": "bone", "mass_ratio": 0.00035 },
+ { "drop": "raw_fur", "type": "skin", "mass_ratio": 0.015 },
+ { "drop": "fat", "type": "flesh", "mass_ratio": 0.07 },
+ { "drop": "feather", "type": "skin", "mass_ratio": 0.005 }
+ ]
+ },
+ {
+ "id": "owlbear_cub",
+ "//": "drops regular stomach",
+ "type": "harvest",
+ "entries": [
+ { "drop": "meat", "type": "flesh", "mass_ratio": 0.3 },
+ { "drop": "meat_scrap", "type": "flesh", "mass_ratio": 0.03 },
+ { "drop": "lung", "type": "flesh", "mass_ratio": 0.0035 },
+ { "drop": "liver", "type": "offal", "mass_ratio": 0.01 },
+ { "drop": "brain", "type": "flesh", "mass_ratio": 0.005 },
+ { "drop": "sweetbread", "type": "flesh", "mass_ratio": 0.002 },
+ { "drop": "kidney", "type": "offal", "mass_ratio": 0.002 },
+ { "drop": "stomach", "scale_num": [ 1, 1 ], "max": 1, "type": "offal" },
+ { "drop": "owlbear_stone", "scale_num": [ 1, 1 ], "max": 1, "type": "offal" },
+ { "drop": "bone", "type": "bone", "mass_ratio": 0.15 },
+ { "drop": "sinew", "type": "bone", "mass_ratio": 0.00035 },
+ { "drop": "raw_fur", "type": "skin", "mass_ratio": 0.015 },
+ { "drop": "fat", "type": "flesh", "mass_ratio": 0.07 },
+ { "drop": "feather", "type": "skin", "mass_ratio": 0.005 }
+ ]
+ }
+]
diff --git a/data/mods/Magiclysm/itemgroups.json b/data/mods/Magiclysm/itemgroups.json
index 8a6ce56a01b9e..533faf74552cd 100644
--- a/data/mods/Magiclysm/itemgroups.json
+++ b/data/mods/Magiclysm/itemgroups.json
@@ -2,7 +2,7 @@
{
"type": "item_group",
"id": "religious_books",
- "items": [ [ "priest_beginner", 1 ], [ "priest_advanced", 1 ], [ "druid_spellbook", 1 ] ]
+ "items": [ [ "priest_beginner", 1 ], [ "priest_advanced", 1 ], [ "druid_spellbook", 1 ], [ "summon_undead_spellbook", 1 ] ]
},
{
"type": "item_group",
@@ -30,10 +30,14 @@
[ "priest_advanced", 5 ],
[ "pyro", 6 ],
[ "winter_grasp", 6 ],
- [ "tome_of_storms", 3 ],
+ [ "tome_of_storms", 6 ],
[ "biomancer_spellbook", 6 ],
[ "druid_spellbook", 6 ],
- [ "recovery_spellbook", 3 ]
+ [ "recovery_spellbook", 3 ],
+ [ "magus_spellbook", 6 ],
+ [ "eshaper_spellbook", 6 ],
+ [ "magus_spellbook_move", 3 ],
+ [ "summon_undead_spellbook", 2 ]
]
},
{
@@ -48,7 +52,11 @@
[ "tome_of_storms", 3 ],
[ "biomancer_spellbook", 2 ],
[ "druid_spellbook", 2 ],
- [ "recovery_spellbook", 3 ]
+ [ "recovery_spellbook", 3 ],
+ [ "magus_spellbook", 3 ],
+ [ "eshaper_spellbook", 3 ],
+ [ "magus_spellbook_move", 2 ],
+ [ "summon_undead_spellbook", 1 ]
]
},
{
@@ -62,7 +70,11 @@
[ "priest_advanced", 6 ],
[ "biomancer_spellbook", 1 ],
[ "druid_spellbook", 1 ],
- [ "recovery_spellbook", 3 ]
+ [ "recovery_spellbook", 3 ],
+ [ "magus_spellbook", 3 ],
+ [ "eshaper_spellbook", 3 ],
+ [ "magus_spellbook_move", 2 ],
+ [ "summon_undead_spellbook", 3 ]
]
},
{
@@ -107,5 +119,55 @@
"id": "groce_softdrink",
"type": "item_group",
"items": [ [ "mana_potion_lesser", 15 ] ]
+ },
+ {
+ "id": "trash",
+ "type": "item_group",
+ "items": [ [ "summon_scroll_smudged", 5 ] ]
+ },
+ {
+ "type": "item_group",
+ "id": "magic_shop_books",
+ "items": [
+ [ "wizard_beginner", 3 ],
+ [ "wizard_advanced", 5 ],
+ [ "priest_beginner", 3 ],
+ [ "wizard_utility", 5 ],
+ [ "priest_advanced", 5 ],
+ [ "pyro", 6 ],
+ [ "winter_grasp", 6 ],
+ [ "tome_of_storms", 6 ],
+ [ "biomancer_spellbook", 6 ],
+ [ "druid_spellbook", 6 ],
+ [ "recovery_spellbook", 3 ],
+ [ "magus_spellbook", 6 ],
+ [ "eshaper_spellbook", 6 ],
+ [ "magus_spellbook_move", 3 ]
+ ]
+ },
+ {
+ "type": "item_group",
+ "id": "magic_shop_wands",
+ "items": [
+ { "item": "wand_magic_missile", "prob": 35, "charges-min": 12, "charges-max": 34 },
+ { "item": "wand_fireball", "prob": 25, "charges-min": 3, "charges-max": 24 }
+ ]
+ },
+ {
+ "id": "magic_shop_potions",
+ "type": "item_group",
+ "items": [
+ [ "mana_potion_lesser", 15 ],
+ [ "crystallized_mana", 15 ],
+ [ "small_mana_crystal", 15 ],
+ [ "owlbear_stone", 5 ],
+ { "item": "stone_shell", "prob": 10, "count-min": 1, "count-max": 3 },
+ [ "egg_owlbear_rock", 2 ]
+ ]
+ },
+ {
+ "type": "item_group",
+ "id": "magic_shop_clothes",
+ "items": [ [ "cloak", 3 ], [ "cloak_wool", 5 ], [ "jedi_cloak", 3 ], [ "robe", 5 ], [ "tophat", 5 ], [ "leathersandals", 6 ] ]
}
]
diff --git a/data/mods/Magiclysm/items/alchemy_items.json b/data/mods/Magiclysm/items/alchemy_items.json
new file mode 100644
index 0000000000000..4f0a407d1cffc
--- /dev/null
+++ b/data/mods/Magiclysm/items/alchemy_items.json
@@ -0,0 +1,35 @@
+[
+ {
+ "id": "owlbear_stone",
+ "type": "TOOL",
+ "name": "owlbear gastrolith",
+ "description": "This strangely shaped rock was once a part of an owlbear's complex digestive system, creating a link between owl throat and bear stomach. It is possible that it could serve a similar purpose in alchemy, helping to bind together two disparate halves.",
+ "weight": 2000,
+ "volume": 3,
+ "price": 0,
+ "bashing": 9,
+ "to_hit": -1,
+ "material": "stone",
+ "symbol": ";",
+ "color": "gray",
+ "qualities": [ [ "HAMMER", 2 ] ],
+ "use_action": "HAMMER",
+ "//": "In terms of alchemy the gastrolith could serve to combie different effects, such as safely mixing together potions, or it could be used as an element of change, such as for shapechanging potions."
+ },
+ {
+ "id": "stone_shell",
+ "type": "GENERIC",
+ "symbol": "*",
+ "color": "gray",
+ "name": "stone shell",
+ "description": "The broken fragment of an owlbear egg. With luck it might still contain some of its former power, though if nothing else it's still a bit sharp.",
+ "material": "stone",
+ "weight": 250,
+ "volume": "150 ml",
+ "bashing": 5,
+ "cutting": 3,
+ "to_hit": -2,
+ "qualities": [ [ "BUTCHER", -50 ] ],
+ "//": "Potion recipes that require a full owlbear egg could also instead require larger amounts of stone shell. Since 1 egg gives 3 shells, you could perhaps have 1 egg be equivalent to 5 or more shells when making potions."
+ }
+]
diff --git a/data/mods/Magiclysm/items/class_runes.json b/data/mods/Magiclysm/items/class_runes.json
new file mode 100644
index 0000000000000..6a0e5de802261
--- /dev/null
+++ b/data/mods/Magiclysm/items/class_runes.json
@@ -0,0 +1,119 @@
+[
+ {
+ "id": "rune_biomancer",
+ "type": "TOOL",
+ "symbol": "=",
+ "color": "pink",
+ "name": "Biomancer rune",
+ "plural": "Biomancer runes",
+ "description": "This magical pebble has an insignia of rended flesh and bones on it. It is necessary for Biomancers to channel magic into their crafts.",
+ "volume": "5ml",
+ "weight": 1,
+ "material": "stone",
+ "flags": "TRADER_AVOID"
+ },
+ {
+ "id": "rune_technomancer",
+ "type": "TOOL",
+ "symbol": "=",
+ "color": "blue",
+ "name": "Technomancer rune",
+ "plural": "Technomancer runes",
+ "description": "This magical pebble has an insignia of clockwork and gears on it. It is necessary for Technomancers to channel magic into their crafts.",
+ "volume": "5ml",
+ "weight": 1,
+ "material": "stone",
+ "flags": "TRADER_AVOID"
+ },
+ {
+ "id": "rune_magus",
+ "type": "TOOL",
+ "symbol": "=",
+ "color": "purple",
+ "name": "Magus rune",
+ "plural": "Magi runes",
+ "description": "This magical pebble has an insignia of crystal and mana orbs on it. It is necessary for Magi to channel magic into their crafts.",
+ "volume": "5ml",
+ "weight": 1,
+ "material": "stone",
+ "flags": "TRADER_AVOID"
+ },
+ {
+ "id": "rune_earthshaper",
+ "type": "TOOL",
+ "symbol": "=",
+ "color": "green",
+ "name": "Earthshaper rune",
+ "plural": "Earthshaper runes",
+ "description": "This magical pebble has an insignia of steel and rocks on it. It is necessary for Earthshapers to channel magic into their crafts.",
+ "volume": "5ml",
+ "weight": 1,
+ "material": "stone",
+ "flags": "TRADER_AVOID"
+ },
+ {
+ "id": "rune_kelvinist",
+ "type": "TOOL",
+ "symbol": "=",
+ "color": "red",
+ "name": "Kelvinist rune",
+ "plural": "Kelvinist runes",
+ "description": "This magical pebble has an insignia of ice and flames on it. It is necessary for Kelvinists to channel magic into their crafts.",
+ "volume": "5ml",
+ "weight": 1,
+ "material": "stone",
+ "flags": "TRADER_AVOID"
+ },
+ {
+ "id": "rune_stormshaper",
+ "type": "TOOL",
+ "symbol": "=",
+ "color": "yellow",
+ "name": "Stormshaper rune",
+ "plural": "Stormshaper runes",
+ "description": "This magical pebble has an insignia of lightning and storm clouds on it. It is necessary for Stormshapers to channel magic into their crafts.",
+ "volume": "5ml",
+ "weight": 1,
+ "material": "stone",
+ "flags": "TRADER_AVOID"
+ },
+ {
+ "id": "rune_druid",
+ "type": "TOOL",
+ "symbol": "=",
+ "color": "brown",
+ "name": "Druid rune",
+ "plural": "Druid runes",
+ "description": "This magical pebble has an insignia of nature and trees on it. It is necessary for Druids to channel magic into their crafts.",
+ "volume": "5ml",
+ "weight": 1,
+ "material": "stone",
+ "flags": "TRADER_AVOID"
+ },
+ {
+ "id": "rune_animist",
+ "type": "TOOL",
+ "symbol": "=",
+ "color": "orange",
+ "name": "Animist rune",
+ "plural": "Animist runes",
+ "description": "This magical pebble has an insignia of summoners on it. It is necessary for Animists to channel magic into their crafts.",
+ "volume": "5ml",
+ "weight": 1,
+ "material": "stone",
+ "flags": "TRADER_AVOID"
+ },
+ {
+ "id": "rune_alchemist",
+ "type": "TOOL",
+ "symbol": "=",
+ "color": "black",
+ "name": "alchemist rune",
+ "plural": "alchemist runes",
+ "description": "This magical pebble has an insignia of alchemy and potions on it. While versatile in use, the lack of attunement to any school prevents creation of more advanced recipes.",
+ "volume": "5ml",
+ "weight": 1,
+ "material": "stone",
+ "flags": "TRADER_AVOID"
+ }
+]
diff --git a/data/mods/Magiclysm/items/comestibles.json b/data/mods/Magiclysm/items/comestibles.json
new file mode 100644
index 0000000000000..b1a3a09cf5dcd
--- /dev/null
+++ b/data/mods/Magiclysm/items/comestibles.json
@@ -0,0 +1,36 @@
+[
+ {
+ "type": "COMESTIBLE",
+ "id": "egg_owlbear_rock",
+ "name": "owlbear egg",
+ "weight": 2395,
+ "color": "gray",
+ "spoils_in": "14 days",
+ "comestible_type": "FOOD",
+ "symbol": "0",
+ "quench": 128,
+ "healthy": 3,
+ "calories": 3200,
+ "description": "This egg laid by an owlbear seems almost indistinguishable from a large rock until you touch it and can feel the warm glow of potential life energy from within. It's hard to believe that an owlbear could grow so quickly from something so small. Perhaps you could carefully crack it open to get at the liquid golden goodness inside.",
+ "price": 300000,
+ "material": [ "egg", "stone" ],
+ "volume": 10,
+ "stack_size": 1,
+ "fun": -18,
+ "flags": [ "FREEZERBURN" ],
+ "vitamins": [ [ "vitA", 360 ], [ "calcium", 120 ], [ "iron", 160 ], [ "vitB", 840 ] ],
+ "rot_spawn_chance": 80,
+ "//": "Alchemically speaking, I see this egg as having the elements of Growth, Stone, and Egg. Growth would make things grow faster, the simplest example being a magical liquid fertilizer. Stone would be a defensive element, used in creating something like a potion of stoneskin. Egg would be interesting though. What if instead of being imbibed there were potions that instead functioned similarly to the sourdough items, or the blob vehicle parts, in that they take a gestation period and then you could activate them and have a new item pop out. Creatures sure but especially biomancers could have temporarily-lived tools, weapons, and armor."
+ },
+ {
+ "type": "COMESTIBLE",
+ "id": "egg_owlbear",
+ "name": "owlbear egg yolk",
+ "copy-from": "egg_chicken",
+ "rot_spawn": "GROUP_EGG_OWLBEAR",
+ "phase": "liquid",
+ "healthy": 3,
+ "color": "yellow",
+ "description": "The liquid innards of an owlbear egg. Good eating."
+ }
+]
diff --git a/data/mods/Magiclysm/items/ethereal_items.json b/data/mods/Magiclysm/items/ethereal_items.json
index 5470911ad180c..4d77eb7dd4422 100644
--- a/data/mods/Magiclysm/items/ethereal_items.json
+++ b/data/mods/Magiclysm/items/ethereal_items.json
@@ -23,6 +23,19 @@
"flags": [ "VARSIZE", "STURDY", "UNARMED_WEAPON", "DURABLE_MELEE", "NONCONDUCTIVE" ],
"techniques": [ "WBLOCK_3" ]
},
+ {
+ "id": "finger_firelighter",
+ "type": "TOOL",
+ "name": "finger firelighter",
+ "description": "This is a small flame you can hold in your hand. With a thought, you can cause it to light something on fire.",
+ "weight": 1,
+ "volume": "1 ml",
+ "price": 0,
+ "symbol": ",",
+ "color": "yellow",
+ "use_action": [ { "type": "firestarter", "moves": 20 } ],
+ "flags": [ "TRADER_AVOID", "FIRESTARTER", "FIRE", "LIGHT_8", "FLAMING", "WATER_EXTINGUISH" ]
+ },
{
"id": "armor_stonefist",
"type": "ARMOR",
@@ -226,6 +239,7 @@
"flags": [
"UNBREAKABLE_MELEE",
"REACH_ATTACK",
+ "SPEAR",
"REACH2",
"NONCONDUCTIVE",
"SHEATH_SPEAR",
@@ -262,7 +276,6 @@
"NO_UNLOAD",
"NO_AMMO"
],
- "ammo": "NULL",
"skill": "archery",
"min_strength": 5,
"weight": 540,
diff --git a/data/mods/Magiclysm/items/mana_crystals.json b/data/mods/Magiclysm/items/mana_crystals.json
index 36cfae1062134..5c6b4bab4633a 100644
--- a/data/mods/Magiclysm/items/mana_crystals.json
+++ b/data/mods/Magiclysm/items/mana_crystals.json
@@ -28,8 +28,8 @@
"type": "MAGAZINE",
"category": "spare_parts",
"name": "small mana crystal",
- "name_plural": "ultra-light batteries",
- "description": "This is a small mana crystal specifically designed to be attacked to wand tips.",
+ "name_plural": "small mana crystals",
+ "description": "This is a small mana crystal specifically designed to be attached to wand tips.",
"weight": 5,
"volume": 1,
"price": 1500,
diff --git a/data/mods/Magiclysm/items/spellbooks.json b/data/mods/Magiclysm/items/spellbooks.json
index d9894d614998e..d5441229cbcf1 100644
--- a/data/mods/Magiclysm/items/spellbooks.json
+++ b/data/mods/Magiclysm/items/spellbooks.json
@@ -33,7 +33,7 @@
"price": 5000,
"symbol": "?",
"color": "light_red",
- "use_action": { "type": "learn_spell", "spells": [ "magic_missile", "phase_door" ] }
+ "use_action": { "type": "learn_spell", "spells": [ "magic_missile", "phase_door", "create_atomic_light" ] }
},
{
"id": "wizard_utility",
@@ -45,7 +45,7 @@
"price": 35000,
"symbol": "?",
"color": "red",
- "use_action": { "type": "learn_spell", "spells": [ "phase_door", "burning_hands", "pain_split" ] }
+ "use_action": { "type": "learn_spell", "spells": [ "phase_door", "create_lighter", "pain_split", "protection_aura" ] }
},
{
"id": "pyro",
@@ -81,7 +81,7 @@
"price": 5000,
"symbol": "?",
"color": "light_green",
- "use_action": { "type": "learn_spell", "spells": [ "light_healing" ] }
+ "use_action": { "type": "learn_spell", "spells": [ "light_healing", "blinding_flash", "bless" ] }
},
{
"id": "priest_advanced",
@@ -93,7 +93,7 @@
"price": 30000,
"symbol": "?",
"color": "green",
- "use_action": { "type": "learn_spell", "spells": [ "smite" ] }
+ "use_action": { "type": "learn_spell", "spells": [ "smite", "holy_blade", "spirit_armor" ] }
},
{
"id": "winter_grasp",
@@ -117,7 +117,7 @@
"price": 5000,
"symbol": "?",
"color": "light_grey",
- "use_action": { "type": "learn_spell", "spells": [ "jolt", "windstrike" ] }
+ "use_action": { "type": "learn_spell", "spells": [ "jolt", "windstrike", "windrun", "storm_hammer" ] }
},
{
"id": "generic_spellbook",
@@ -128,7 +128,7 @@
"volume": 2,
"symbol": "?",
"color": "magenta",
- "use_action": { "type": "learn_spell", "spells": [ "seismic_stomp" ] }
+ "use_action": { "type": "learn_spell", "spells": [ "seismic_stomp", "create_atomic_lamp", "ethereal_grasp" ] }
},
{
"id": "biomancer_spellbook",
@@ -168,5 +168,63 @@
"type": "learn_spell",
"spells": [ "recover_mana", "recover_bionic_power", "recover_pain", "recover_fatigue", "recover_stamina" ]
}
+ },
+ {
+ "id": "magus_spellbook",
+ "type": "GENERIC",
+ "name": "The Tome of The Battle Mage",
+ "description": "Your standard wizardy looking spellbook, filled with Magus combat spells. You sure lucked out!",
+ "weight": 434,
+ "volume": 3,
+ "symbol": "?",
+ "color": "light_grey",
+ "use_action": { "type": "learn_spell", "spells": [ "magus_mana_beam", "magus_mana_bolt", "magus_mana_blast" ] }
+ },
+ {
+ "id": "eshaper_spellbook",
+ "type": "GENERIC",
+ "name": "The Tome of the Hollow Earth",
+ "description": "This large dusty spellbook seems perpetually, well, dusty. It contains the power of the earth.",
+ "weight": 483,
+ "volume": 3.3,
+ "symbol": "?",
+ "color": "light_brown",
+ "use_action": {
+ "type": "learn_spell",
+ "spells": [ "eshaper_rockbolt", "eshaper_shardspray", "eshaper_piercing_bolt", "eshaper_shardstorm" ]
+ }
+ },
+ {
+ "id": "magus_spellbook_move",
+ "type": "GENERIC",
+ "name": "The Tome of Magical Movement",
+ "description": "This small lightweight book seems to almost not entirely exist, let's say it 97% does. It contains Magus spells focused on movement.",
+ "weight": 231,
+ "volume": 2,
+ "symbol": "?",
+ "color": "light_grey",
+ "use_action": { "type": "learn_spell", "spells": [ "phase_door", "magus_escape", "magus_haste" ] }
+ },
+ {
+ "id": "summon_scroll_smudged",
+ "type": "GENERIC",
+ "name": "Smudged Scroll",
+ "description": "This looks like someone was designing a new spell, but spilled a mug of coffee on it and crumpled it up in anger. You can tell that it will definitely cast something, but you can't be sure that it will work very well.",
+ "weight": 129,
+ "volume": "100 ml",
+ "symbol": "?",
+ "color": "light_grey",
+ "use_action": { "type": "learn_spell", "spells": [ "summon_bear" ] }
+ },
+ {
+ "id": "summon_undead_spellbook",
+ "type": "GENERIC",
+ "name": "Necromantic Minions for Dummies",
+ "description": "This book details various ways of summoning an undead minion to fight for you. They all appear to disappear after a short time, crumbling to dust.",
+ "weight": 788,
+ "volume": 9,
+ "symbol": "?",
+ "color": "light_grey",
+ "use_action": { "type": "learn_spell", "spells": [ "summon_zombie", "summon_skeleton", "summon_decayed_pouncer" ] }
}
]
diff --git a/data/mods/Magiclysm/monster_factions.json b/data/mods/Magiclysm/monster_factions.json
new file mode 100644
index 0000000000000..e4934f525fd93
--- /dev/null
+++ b/data/mods/Magiclysm/monster_factions.json
@@ -0,0 +1,6 @@
+[
+ {
+ "type": "MONSTER_FACTION",
+ "name": "magical_beast"
+ }
+]
diff --git a/data/mods/Magiclysm/monstergroups.json b/data/mods/Magiclysm/monstergroups.json
new file mode 100644
index 0000000000000..e498e678a141f
--- /dev/null
+++ b/data/mods/Magiclysm/monstergroups.json
@@ -0,0 +1,22 @@
+[
+ {
+ "type": "monstergroup",
+ "name": "GROUP_NULL",
+ "is_safe": true,
+ "default": "mon_null"
+ },
+ {
+ "type": "monstergroup",
+ "name": "GROUP_FOREST",
+ "default": "mon_null",
+ "is_animal": true,
+ "monsters": [ { "monster": "mon_owlbear", "freq": 20, "cost_multiplier": 10 } ]
+ },
+ {
+ "type": "monstergroup",
+ "name": "GROUP_CAVE",
+ "default": "mon_null",
+ "is_animal": true,
+ "monsters": [ { "monster": "mon_owlbear", "freq": 100, "cost_multiplier": 10, "pack_size": [ 2, 4 ] } ]
+ }
+]
diff --git a/data/mods/Magiclysm/monstergroups_egg.json b/data/mods/Magiclysm/monstergroups_egg.json
new file mode 100644
index 0000000000000..c83689d2b0431
--- /dev/null
+++ b/data/mods/Magiclysm/monstergroups_egg.json
@@ -0,0 +1,7 @@
+[
+ {
+ "name": "GROUP_EGG_OWLBEAR",
+ "type": "monstergroup",
+ "default": "mon_owlbear_cub"
+ }
+]
diff --git a/data/mods/Magiclysm/monsters/owlbear.json b/data/mods/Magiclysm/monsters/owlbear.json
new file mode 100644
index 0000000000000..121067037903a
--- /dev/null
+++ b/data/mods/Magiclysm/monsters/owlbear.json
@@ -0,0 +1,55 @@
+[
+ {
+ "id": "mon_owlbear",
+ "type": "MONSTER",
+ "name": "owlbear",
+ "description": "The horrible owlbear is probably the result of genetic experimentation by some insane wizard. These creatures inhabit the tangled forest regions of every temperate clime, as well as subterranean labyrinths. They are ravenous eaters, aggressive hunters, and evil tempered at all times. They attack prey on sight and will fight to the death.",
+ "default_faction": "magical_beast",
+ "bodytype": "bear",
+ "species": [ "MAGICAL_BEAST" ],
+ "volume": "450000 ml",
+ "weight": 450000,
+ "hp": 260,
+ "speed": 120,
+ "material": [ "flesh" ],
+ "symbol": "W",
+ "color": "brown",
+ "aggression": 100,
+ "morale": 100,
+ "melee_skill": 6,
+ "melee_dice": 5,
+ "melee_dice_sides": 8,
+ "melee_cut": 8,
+ "dodge": 3,
+ "armor_bash": 5,
+ "armor_cut": 2,
+ "vision_night": 20,
+ "path_settings": { "max_dist": 25 },
+ "harvest": "owlbear",
+ "reproduction": { "baby_egg": "egg_owlbear_rock", "baby_count": 1, "baby_timer": 20 },
+ "baby_flags": [ "SPRING", "SUMMER", "AUTUMN", "WINTER" ],
+ "death_function": [ "NORMAL" ],
+ "special_attacks": [ { "type": "bite", "cooldown": 10 }, [ "GRAB", 7 ], [ "scratch", 7 ] ],
+ "flags": [ "SEES", "HEARS", "SMELLS", "KEENNOSE", "PATH_AVOID_DANGER_1", "WARM", "GRABS", "SWARMS" ]
+ },
+ {
+ "id": "mon_owlbear_cub",
+ "type": "MONSTER",
+ "name": "owlbear cub",
+ "copy-from": "mon_owlbear",
+ "volume": "112500 ml",
+ "weight": 112500,
+ "hp": 75,
+ "speed": 90,
+ "symbol": "w",
+ "color": "yellow",
+ "morale": 40,
+ "melee_skill": 2,
+ "melee_dice": 2,
+ "melee_dice_sides": 4,
+ "melee_cut": 3,
+ "dodge": 2,
+ "harvest": "owlbear_cub",
+ "upgrades": { "age_grow": 20, "into": "mon_owlbear" }
+ }
+]
diff --git a/data/mods/Magiclysm/professions.json b/data/mods/Magiclysm/professions.json
index 1764ed6b38169..5eccb84d1810e 100644
--- a/data/mods/Magiclysm/professions.json
+++ b/data/mods/Magiclysm/professions.json
@@ -34,5 +34,145 @@
"both": [ "druid_spellbook", "leathersandals", "robe", "rope_makeshift_30", "hide_bag", "hat_fur", "gloves_wraps_fur" ]
},
"traits": [ "DRUID" ]
+ },
+ {
+ "type": "profession",
+ "ident": "priest_magic2",
+ "name": "Priest",
+ "description": "When the apocalypse struck you did everything you could to protect your parish faithful, but it appears that prayers were not enough. Now that they are all dead, you should probably find something more tangible to protect you.",
+ "points": 0,
+ "skills": [ { "level": 3, "name": "speech" } ],
+ "items": {
+ "both": {
+ "items": [ "pants", "longshirt", "socks", "cassock", "dress_shoes", "holy_symbol", "holybook_bible1", "priest_beginner", "pyro" ],
+ "entries": [ { "group": "charged_cell_phone" } ]
+ },
+ "male": [ "briefs" ],
+ "female": [ "bra", "panties" ]
+ }
+ },
+ {
+ "type": "profession",
+ "ident": "shinto_priest_magic2",
+ "name": "Kannushi",
+ "description": "You were one of the maintainers of a Shinto shrine, performing rituals and sacred tasks. You preferred it when only the spirits of the dead inhabited your shrine, and not their rotting corpses.",
+ "points": 0,
+ "skills": [ { "level": 1, "name": "fabrication" }, { "level": 1, "name": "tailor" } ],
+ "items": {
+ "both": {
+ "items": [ "kariginu", "eboshi", "pants", "tabi_dress", "geta", "holy_symbol", "holybook_kojiki", "priest_beginner", "pyro" ],
+ "entries": [ { "group": "charged_cell_phone" } ]
+ },
+ "male": [ "briefs" ],
+ "female": [ "bra", "panties" ]
+ }
+ },
+ {
+ "type": "profession",
+ "ident": "imam_magic2",
+ "name": { "male": "Imam", "female": "Mourchida" },
+ "description": "You spent much of your time prior to the apocalypse at the local mosque, studying the words of the Prophet and the Quran and guiding your community in prayer. Back then they came from far and wide to listen to you, now they come to eat your brains.",
+ "points": 0,
+ "//": "No knife, fire, or decent storage/armor. Skill points are countered.",
+ "skills": [ { "level": 2, "name": "speech" }, { "level": 1, "name": "barter" } ],
+ "items": {
+ "both": {
+ "items": [ "pants", "tshirt", "socks", "kufi", "thawb", "lowtops", "holybook_quran", "priest_beginner", "pyro" ],
+ "entries": [ { "group": "charged_cell_phone" } ]
+ },
+ "male": [ "briefs" ],
+ "female": [ "bra", "panties" ]
+ }
+ },
+ {
+ "type": "profession",
+ "ident": "rabbi_magic2",
+ "name": "Rabbi",
+ "description": "You were celebrating with your flock in the temple when the cataclysm struck. You sure could use a messiah right now!",
+ "points": 0,
+ "skills": [ { "level": 2, "name": "speech" }, { "level": 1, "name": "firstaid" } ],
+ "items": {
+ "both": {
+ "items": [
+ "pants",
+ "leather_belt",
+ "dress_shirt",
+ "socks",
+ "kittel",
+ "kippah",
+ "dress_shoes",
+ "holy_symbol",
+ "holybook_talmud",
+ "holybook_tanakh",
+ "priest_beginner",
+ "pyro"
+ ],
+ "entries": [ { "group": "charged_cell_phone" } ]
+ },
+ "male": [ "briefs" ],
+ "female": [ "bra", "panties" ]
+ }
+ },
+ {
+ "type": "profession",
+ "ident": "guru_magic2",
+ "name": "Guru",
+ "description": "You spent many years traveling the world, becoming wise and learned. Normally, you can answer any question, but even you are not quite sure what to do about the ravenous undead.",
+ "points": 2,
+ "//": "1.5 pts skills, cutting implement, and plenty of storage, so lack of fire only goes so far.",
+ "skills": [ { "level": 2, "name": "speech" }, { "level": 1, "name": "survival" } ],
+ "items": {
+ "both": {
+ "items": [
+ "jeans",
+ "tshirt",
+ "socks",
+ "robe",
+ "turban",
+ "waterskin",
+ "pockknife",
+ "mbag",
+ "leathersandals",
+ "holy_symbol",
+ "wristwatch",
+ "priest_beginner",
+ "pyro"
+ ],
+ "entries": [ { "group": "charged_cell_phone" } ]
+ },
+ "male": [ "briefs" ],
+ "female": [ "panties" ]
+ }
+ },
+ {
+ "type": "profession",
+ "ident": "preacher_magic2",
+ "name": "Preacher",
+ "description": "You devoted your life to spreading the good word; always on the road, traveling from town to town. Now everything has gone to hell, you can't host your daily podcast, and the undead listening to your sermons don't seem particularly moved.",
+ "points": 2,
+ "//": "Storage + 2 points in skills, - no knife or fire.",
+ "skills": [ { "level": 2, "name": "speech" }, { "level": 1, "name": "driving" }, { "level": 1, "name": "computer" } ],
+ "items": {
+ "both": {
+ "items": [
+ "dress_shirt",
+ "pants",
+ "socks",
+ "dress_shoes",
+ "wristwatch",
+ "backpack",
+ "laptop",
+ "flyer",
+ "flyer",
+ "flyer",
+ "holy_symbol",
+ "priest_beginner",
+ "pyro"
+ ],
+ "entries": [ { "group": "charged_cell_phone" } ]
+ },
+ "male": [ "briefs" ],
+ "female": [ "bra", "panties" ]
+ }
}
]
diff --git a/data/mods/Magiclysm/recipes.json b/data/mods/Magiclysm/recipes.json
new file mode 100644
index 0000000000000..0f11846ef4997
--- /dev/null
+++ b/data/mods/Magiclysm/recipes.json
@@ -0,0 +1,15 @@
+[
+ {
+ "type": "recipe",
+ "result": "egg_owlbear",
+ "category": "CC_FOOD",
+ "subcategory": "CSC_FOOD_OTHER",
+ "skill_used": "cooking",
+ "time": "2 m",
+ "autolearn": true,
+ "result_mult": 40,
+ "byproducts": [ [ "stone_shell", 3 ] ],
+ "qualities": [ { "id": "HAMMER", "level": 1 } ],
+ "components": [ [ [ "egg_owlbear_rock", 1 ] ] ]
+ }
+]
diff --git a/data/mods/Magiclysm/scenarios.json b/data/mods/Magiclysm/scenarios.json
new file mode 100644
index 0000000000000..478a4c0e2f7b9
--- /dev/null
+++ b/data/mods/Magiclysm/scenarios.json
@@ -0,0 +1,13 @@
+[
+ {
+ "type": "scenario",
+ "ident": "lost_faith",
+ "name": "Lost Faith",
+ "flags": [ "SUR_START", "LONE_START" ],
+ "points": 2,
+ "description": "You've been preaching your faith during a long time, but the recent events make you doubt about it. Wandering in your temple, you just found books that may restore your faith or shatter it completely.",
+ "start_name": "Church",
+ "allowed_locs": [ "church_3rdfloor_1", "church_1", "church_steeple_end", "church" ],
+ "professions": [ "priest_magic2", "shinto_priest_magic2", "imam_magic2", "rabbi_magic2", "guru_magic2", "preacher_magic2" ]
+ }
+]
diff --git a/data/mods/Magiclysm/species.json b/data/mods/Magiclysm/species.json
new file mode 100644
index 0000000000000..d9be70ded3523
--- /dev/null
+++ b/data/mods/Magiclysm/species.json
@@ -0,0 +1,6 @@
+[
+ {
+ "type": "SPECIES",
+ "id": "MAGICAL_BEAST"
+ }
+]
diff --git a/data/mods/Magiclysm/start_locations.json b/data/mods/Magiclysm/start_locations.json
new file mode 100644
index 0000000000000..c232dae029308
--- /dev/null
+++ b/data/mods/Magiclysm/start_locations.json
@@ -0,0 +1,26 @@
+[
+ {
+ "type": "start_location",
+ "ident": "church_3rdfloor_1",
+ "name": "Church",
+ "target": "church_3rdfloor_1"
+ },
+ {
+ "type": "start_location",
+ "ident": "church_1",
+ "name": "Church",
+ "target": "church_1"
+ },
+ {
+ "type": "start_location",
+ "ident": "church_steeple_end",
+ "name": "Church",
+ "target": "church_steeple_end"
+ },
+ {
+ "type": "start_location",
+ "ident": "church",
+ "name": "Church",
+ "target": "church"
+ }
+]
diff --git a/data/mods/Magiclysm/traits/mutation.json b/data/mods/Magiclysm/traits/mutation.json
index 2f62514535d2a..9a37764a76a24 100644
--- a/data/mods/Magiclysm/traits/mutation.json
+++ b/data/mods/Magiclysm/traits/mutation.json
@@ -222,5 +222,13 @@
"category": [ "INSECT", "MEDICAL", "CHIMERA" ],
"prereqs": [ "BAD_MANA_MULT2" ],
"mana_multiplier": 0.35
+ },
+ {
+ "type": "mutation",
+ "id": "DEBUG_spell_mutation",
+ "name": "Debug Spell Mutation",
+ "points": 20,
+ "description": "Gives all of the debug spells at max level.",
+ "spells_learned": [ [ "example_template", 10 ], [ "debug_stamina", 0 ], [ "debug_hp", 0 ], [ "debug_bionic", 0 ], [ "debug_effect", 0 ] ]
}
]
diff --git a/data/mods/Magiclysm/worldgen/magic_cabin.json b/data/mods/Magiclysm/worldgen/magic_cabin.json
new file mode 100644
index 0000000000000..fccda2169aea6
--- /dev/null
+++ b/data/mods/Magiclysm/worldgen/magic_cabin.json
@@ -0,0 +1,167 @@
+[
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": "magic_cabin",
+ "object": {
+ "fill_ter": "t_floor",
+ "rows": [
+ ".......spppppppppp9..9..",
+ "9.ppp..sp||o|o|o||......",
+ "..pbp.9sp| NNNNNx||o||.9",
+ "..ppp..ss+ |YDY|..",
+ "9.......||t ttG o..",
+ "....9..||||| B| h o..",
+ ".9....||@@B| B|III|4.",
+ "..|||||Y + B|||||..",
+ "..|Q + By| ||.",
+ "..o S||||||B Y hhho.",
+ "..|& + KKy|R G tGto.",
+ "%^||||| |B Y hhho.",
+ "%.UU|A| @@ + y||.",
+ "%...+Z|x@@D|y VVOVSF||%%",
+ "%.M.||||oo|||+||ooo||..%",
+ "%.......UU.p.s.p.......%",
+ "%............s..111111.%",
+ "%.........ssss9........%",
+ "%.........spbp..222222.%",
+ "%......ssssUUU.........%",
+ "%........9.....9333333.%",
+ "%..........9......9....%",
+ "%.....9.............9..%",
+ "%%%%%%%%%%%%%%%%%%%%%%%%"
+ ],
+ "place_nested": [
+ {
+ "chunks": [ [ "roof_6x6_garden_3", 25 ], [ "roof_6x6_greenhouse_1", 25 ], [ "roof_5x5_coop", 25 ], [ "roof_6x6_garden_2", 25 ] ],
+ "x": 2,
+ "y": 16
+ }
+ ],
+ "place_loot": [ { "item": "television", "x": 10, "y": 6, "chance": 100 }, { "item": "stepladder", "x": 21, "y": 15, "chance": 100 } ],
+ "terrain": {
+ ".": [ [ "t_grass", 5 ], [ "t_grass_long", 2 ] ],
+ "p": "t_grass_long",
+ "M": "t_grass_long",
+ "b": "t_grass_long",
+ "U": "t_grass_long",
+ "|": "t_wall_log",
+ "z": "t_floor_blue",
+ "+": "t_door_locked",
+ "o": "t_window_domestic",
+ "%": "t_privacy_fence",
+ "4": "t_gutter_downspout",
+ "^": "t_privacy_fencegate_c",
+ "s": "t_dirt",
+ "1": "t_shrub_strawberry",
+ "2": "t_shrub_blackberry",
+ "3": "t_shrub_huckleberry",
+ "9": [
+ "t_tree_blackjack",
+ "t_tree_walnut",
+ "t_tree_chestnut",
+ "t_tree_beech",
+ "t_tree_hazelnut",
+ "t_tree_cottonwood",
+ "t_tree",
+ "t_tree_elm",
+ "t_tree_dead",
+ "t_tree_apple",
+ "t_tree_pear",
+ "t_tree_cherry",
+ "t_tree_peach",
+ "t_tree_apricot",
+ "t_tree_plum",
+ "t_tree_mulberry",
+ "t_tree_elderberry",
+ "t_tree_pine",
+ "t_tree_birch",
+ "t_tree_willow",
+ "t_tree_maple",
+ "t_tree_hickory",
+ "t_tree_almond",
+ "t_tree_pecan"
+ ]
+ },
+ "furniture": {
+ "p": [ "f_datura", "f_bluebell", "f_mutpoppy", "f_dahlia", "f_flower_tulip", "f_chamomile", "f_flower_spurge", "f_lily" ],
+ "b": "f_birdbath",
+ "B": "f_bookcase",
+ "y": [ "f_indoor_plant_y", "f_indoor_plant" ],
+ "@": "f_bed",
+ "t": "f_table",
+ "Q": "f_shower",
+ "S": "f_sink",
+ "Y": "f_armchair",
+ "R": "f_fireplace",
+ "C": "f_counter",
+ "N": "f_sofa",
+ "D": "f_table",
+ "K": "f_wardrobe",
+ "x": "f_floor_lamp",
+ "G": "f_table",
+ "I": "f_desk",
+ "h": "f_chair",
+ "V": "f_counter",
+ "M": "f_rotary_clothesline",
+ "O": "f_oven",
+ "F": "f_fridge",
+ "U": "f_bench",
+ "A": "f_air_conditioner",
+ "Z": "f_water_heater"
+ },
+ "toilets": { "&": { } },
+ "items": {
+ "I": { "item": "office", "chance": 30 },
+ "Q": { "item": "shower", "chance": 30 },
+ "S": { "item": "softdrugs", "chance": 30 },
+ "@": { "item": "bed", "chance": 20, "repeat": [ 1, 2 ] },
+ "V": { "item": "kitchen_counters", "chance": 20, "repeat": [ 1, 2 ] },
+ "t": { "item": "dishes_dining", "chance": 30 },
+ "D": { "item": "magic_shop_wands", "chance": 30 },
+ "F": { "item": "fridge", "chance": 20, "repeat": [ 1, 2 ] },
+ "G": { "item": "magic_shop_potions", "chance": 30, "repeat": [ 1, 2 ] },
+ "O": { "item": "oven", "chance": 20, "repeat": [ 1, 2 ] },
+ "K": { "item": "allclothes", "chance": 20, "repeat": [ 1, 2 ] },
+ "B": { "item": "magic_shop_books", "chance": 20, "repeat": [ 1, 2 ] }
+ }
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": "magic_cabin_roof",
+ "object": {
+ "fill_ter": "t_shingle_flat_roof",
+ "rows": [
+ " ",
+ " |22222223 ",
+ " |.......32223 ",
+ " |...........3 ",
+ " ||...&.......3 ",
+ " ||............3 ",
+ " ||.............5 ",
+ " |222|..............3 ",
+ " |..................33 ",
+ " |=..................3 ",
+ " |.........Q.........3 ",
+ " |-|.................3 ",
+ " |................33 ",
+ " |...............33 ",
+ " |---------------3 ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " "
+ ],
+ "palettes": [ "roof_palette" ],
+ "terrain": { ".": "t_shingle_flat_roof" },
+ "furniture": { "Q": "f_chimney" }
+ }
+ }
+]
diff --git a/data/mods/Magiclysm/worldgen/magic_shop.json b/data/mods/Magiclysm/worldgen/magic_shop.json
new file mode 100644
index 0000000000000..3f5d9a28af96e
--- /dev/null
+++ b/data/mods/Magiclysm/worldgen/magic_shop.json
@@ -0,0 +1,234 @@
+[
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": "magic_shop",
+ "object": {
+ "fill_ter": "t_floor",
+ "rows": [
+ "........ss..............",
+ ".....9..ss..p9pMMp9p....",
+ "........ss..............",
+ "..9....pssp||||||o||||||",
+ ".......pssp|<|BBBxBBBBB|",
+ "....9..pssp|+|B*J**J* B|",
+ ".9....||++|| *W**J* B|",
+ ".....|| ****** |",
+ "....||K t t N|",
+ "...||K t t tttt K||",
+ "..|| K|.",
+ "..| HH HH HH ##+##+#|.",
+ "..o #& S#LL|.",
+ "..|y CCCC?CC H|||o|||||.",
+ "..o a H|zzzzzzz%.",
+ "..|yPPPyPP H|z......%.",
+ "..||######+###|z......%.",
+ ".9.||BYx y@@oz......%.",
+ "....||B h +z......%.",
+ ".....||f III yoz......%.",
+ "..9..4||||o||||z......%.",
+ "........%pppMMpz9..b..%.",
+ ".9..9...^zzzzzzz....9.%.",
+ "........%%%%%%%%%%%%%%%."
+ ],
+ "place_nested": [ { "chunks": [ [ "roof_6x6_garden_3", 50 ], [ "roof_6x6_garden_4", 50 ] ], "x": 16, "y": 15 } ],
+ "terrain": {
+ ".": [ [ "t_grass", 5 ], [ "t_grass_long", 2 ], "t_dirt", "t_shrub" ],
+ "p": "t_grass_long",
+ "M": "t_grass_long",
+ "b": "t_grass_long",
+ "U": "t_grass_long",
+ "R": "t_grass_long",
+ "|": "t_rock_wall",
+ "z": "t_floor_blue",
+ "#": "t_wall_b",
+ "+": "t_door_red_c",
+ "o": "t_window_domestic",
+ "J": "t_carpet_green",
+ "W": "t_carpet_green",
+ "*": "t_carpet_green",
+ "%": "t_privacy_fence",
+ "<": "t_stairs_up",
+ "4": "t_gutter_downspout",
+ "^": "t_privacy_fencegate_c",
+ "s": "t_sidewalk",
+ "?": "t_console_broken",
+ "9": [
+ "t_tree_blackjack",
+ "t_tree_walnut",
+ "t_tree_chestnut",
+ "t_tree_beech",
+ "t_tree_hazelnut",
+ "t_tree_cottonwood",
+ "t_tree",
+ "t_tree_elm",
+ "t_tree_dead",
+ "t_tree_apple",
+ "t_tree_pear",
+ "t_tree_cherry",
+ "t_tree_peach",
+ "t_tree_apricot",
+ "t_tree_plum",
+ "t_tree_mulberry",
+ "t_tree_elderberry",
+ "t_tree_pine",
+ "t_tree_birch",
+ "t_tree_willow",
+ "t_tree_maple",
+ "t_tree_hickory",
+ "t_tree_almond",
+ "t_tree_pecan"
+ ]
+ },
+ "furniture": {
+ "p": [ "f_datura", "f_bluebell", "f_mutpoppy", "f_dahlia", "f_flower_tulip", "f_chamomile", "f_flower_spurge", "f_lily" ],
+ "b": "f_birdbath",
+ "B": "f_bookcase",
+ "y": [ "f_indoor_plant_y", "f_indoor_plant" ],
+ "f": "f_filing_cabinet",
+ "@": "f_sofa",
+ "Y": "f_armchair",
+ "x": "f_floor_lamp",
+ "N": "f_bigmirror",
+ "I": "f_desk",
+ "K": "f_wardrobe",
+ "M": "f_bench",
+ "L": "f_locker",
+ "h": "f_chair",
+ "J": "f_armchair",
+ "W": "f_table",
+ "C": "f_counter",
+ "a": "f_stool",
+ "t": "f_table",
+ "H": "f_displaycase",
+ "P": "f_glass_cabinet",
+ "S": "f_sink"
+ },
+ "toilets": { "&": { } },
+ "items": {
+ "I": { "item": "office", "chance": 30 },
+ "f": { "item": "office_paper", "chance": 30 },
+ "L": { "item": "cleaning", "chance": 30 },
+ "y": { "item": "trash", "chance": 20, "repeat": [ 2, 4 ] },
+ "B": { "item": "magic_shop_books", "chance": 20, "repeat": [ 1, 2 ] },
+ "K": { "item": "magic_shop_clothes", "chance": 20, "repeat": [ 1, 2 ] },
+ "H": { "item": "magic_shop_wands", "chance": 20, "repeat": [ 1, 2 ] },
+ "P": { "item": "magic_shop_potions", "chance": 20, "repeat": [ 1, 2 ] },
+ "t": { "item": "magic_shop_books", "chance": 20, "repeat": [ 1, 2 ] },
+ "S": { "item": "softdrugs", "chance": 20, "repeat": [ 1, 2 ] }
+ }
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": "magic_shop_2ndfloor",
+ "object": {
+ "fill_ter": "t_floor",
+ "rows": [
+ " ",
+ " ",
+ " ",
+ " |o|##########",
+ " |>|4********#",
+ " |+||********#",
+ " ||oo||.y|********#",
+ " ||y.N.Y..|********#",
+ " ||B..N.t.R|********#",
+ " ||B...N.t.B|*******##",
+ " ||Y........xo*******# ",
+ " |y...hh.....+*******# ",
+ " oC..tttt....o*******# ",
+ " oC...hh....y|######## ",
+ " oC.........I| ",
+ " |CFCOCC...hI| ",
+ " ||%%%%%%+%%%| ",
+ " ||Q.S%....K| ",
+ " ||..+.@@..o ",
+ " ||&%.@@t.| ",
+ " |||ooo||| ",
+ " 4 ",
+ " ",
+ " "
+ ],
+ "terrain": {
+ ".": "t_floor",
+ " ": "t_open_air",
+ "*": "t_tile_flat_roof",
+ "o": "t_window_domestic",
+ "|": "t_rock_wall",
+ "%": "t_wall_b",
+ "+": "t_door_c",
+ ">": "t_stairs_down",
+ "#": "t_glass_railing",
+ "4": "t_gutter_downspout"
+ },
+ "toilets": { "&": { } },
+ "furniture": {
+ "@": "f_bed",
+ "t": "f_table",
+ "Q": "f_shower",
+ "S": "f_sink",
+ "B": "f_bookcase",
+ "Y": "f_armchair",
+ "R": "f_fireplace",
+ "C": "f_counter",
+ "N": "f_sofa",
+ "K": "f_wardrobe",
+ "x": "f_floor_lamp",
+ "I": "f_desk",
+ "h": "f_chair",
+ "O": "f_oven",
+ "F": "f_fridge",
+ "y": [ "f_indoor_plant_y", "f_indoor_plant" ]
+ },
+ "items": {
+ "I": { "item": "office", "chance": 30 },
+ "Q": { "item": "shower", "chance": 30 },
+ "S": { "item": "softdrugs", "chance": 30 },
+ "@": { "item": "bed", "chance": 20, "repeat": [ 1, 2 ] },
+ "C": { "item": "kitchen_counters", "chance": 20, "repeat": [ 1, 2 ] },
+ "t": { "item": "dishes_dining", "chance": 30 },
+ "F": { "item": "fridge", "chance": 20, "repeat": [ 1, 2 ] },
+ "O": { "item": "oven", "chance": 20, "repeat": [ 1, 2 ] },
+ "K": { "item": "allclothes", "chance": 20, "repeat": [ 1, 2 ] },
+ "B": { "item": "magic_shop_books", "chance": 20, "repeat": [ 1, 2 ] }
+ }
+ }
+ },
+ {
+ "type": "mapgen",
+ "method": "json",
+ "om_terrain": "magic_shop_roof",
+ "object": {
+ "fill_ter": "t_flat_roof",
+ "rows": [
+ " ",
+ " ",
+ " ",
+ " |23 ",
+ " |.3 ",
+ " |.53 ",
+ " |2222|..3 ",
+ " ||.......3 ",
+ " ||........3 ",
+ " ||.........3 ",
+ " ||..........3 ",
+ " |..A...:....3 ",
+ " |...........3 ",
+ " |...........3 ",
+ " |.......&...3 ",
+ " |...........3 ",
+ " ||..........3 ",
+ " ||...X.....3 ",
+ " ||........3 ",
+ " ||.......3 ",
+ " |5------3 ",
+ " ",
+ " ",
+ " "
+ ],
+ "palettes": [ "roof_palette" ]
+ }
+ }
+]
diff --git a/data/mods/Magiclysm/worldgen/multitile_city_buildings.json b/data/mods/Magiclysm/worldgen/multitile_city_buildings.json
new file mode 100644
index 0000000000000..b7e298e61e7f2
--- /dev/null
+++ b/data/mods/Magiclysm/worldgen/multitile_city_buildings.json
@@ -0,0 +1,12 @@
+[
+ {
+ "type": "city_building",
+ "id": "magic_shop",
+ "locations": [ "land" ],
+ "overmaps": [
+ { "point": [ 0, 0, 0 ], "overmap": "magic_shop_north" },
+ { "point": [ 0, 0, 1 ], "overmap": "magic_shop_2ndfloor_north" },
+ { "point": [ 0, 0, 2 ], "overmap": "magic_shop_roof_north" }
+ ]
+ }
+]
diff --git a/data/mods/Magiclysm/worldgen/overmap_specials.json b/data/mods/Magiclysm/worldgen/overmap_specials.json
new file mode 100644
index 0000000000000..072c7f0af4fb7
--- /dev/null
+++ b/data/mods/Magiclysm/worldgen/overmap_specials.json
@@ -0,0 +1,15 @@
+[
+ {
+ "type": "overmap_special",
+ "id": "magic_cabin",
+ "overmaps": [
+ { "point": [ 0, 0, 0 ], "overmap": "magic_cabin_north" },
+ { "point": [ 0, 0, 1 ], "overmap": "magic_cabin_roof_north" }
+ ],
+ "locations": [ "wilderness" ],
+ "city_distance": [ 20, -1 ],
+ "city_sizes": [ 0, 20 ],
+ "occurrences": [ 0, 5 ],
+ "rotate": true
+ }
+]
diff --git a/data/mods/Magiclysm/worldgen/overmap_terrain.json b/data/mods/Magiclysm/worldgen/overmap_terrain.json
new file mode 100644
index 0000000000000..9c3e29b564f0a
--- /dev/null
+++ b/data/mods/Magiclysm/worldgen/overmap_terrain.json
@@ -0,0 +1,57 @@
+[
+ {
+ "type": "overmap_terrain",
+ "id": "magic_shop",
+ "name": "magic shop",
+ "sym": "M",
+ "color": "red",
+ "see_cost": 5,
+ "extras": "build",
+ "mondensity": 2,
+ "flags": [ "SIDEWALK" ]
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "magic_shop_2ndfloor",
+ "name": "magic shop",
+ "sym": "M",
+ "color": "red",
+ "see_cost": 5,
+ "extras": "build",
+ "mondensity": 2,
+ "flags": [ "SIDEWALK" ]
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "magic_shop_roof",
+ "name": "magic shop roof",
+ "sym": "M",
+ "color": "red",
+ "see_cost": 5,
+ "extras": "build",
+ "mondensity": 2,
+ "flags": [ "SIDEWALK" ]
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "magic_cabin",
+ "name": "cabin",
+ "sym": "F",
+ "color": "green",
+ "see_cost": 5,
+ "extras": "build",
+ "mondensity": 2,
+ "flags": [ "SIDEWALK" ]
+ },
+ {
+ "type": "overmap_terrain",
+ "id": "magic_cabin_roof",
+ "name": "cabin",
+ "sym": "F",
+ "color": "green",
+ "see_cost": 5,
+ "extras": "build",
+ "mondensity": 2,
+ "flags": [ "SIDEWALK" ]
+ }
+]
diff --git a/data/mods/Magiclysm/worldgen/regional_overlay.json b/data/mods/Magiclysm/worldgen/regional_overlay.json
new file mode 100644
index 0000000000000..4a88796ff3428
--- /dev/null
+++ b/data/mods/Magiclysm/worldgen/regional_overlay.json
@@ -0,0 +1,8 @@
+[
+ {
+ "type": "region_overlay",
+ "id": "magiclysm_buildings_overlay",
+ "regions": [ "all" ],
+ "city": { "shops": { "magic_shop": 100 } }
+ }
+]
diff --git a/data/mods/Medieval_Stuff/ammo.json b/data/mods/Medieval_Stuff/ammo.json
deleted file mode 100644
index 881c657efe2f6..0000000000000
--- a/data/mods/Medieval_Stuff/ammo.json
+++ /dev/null
@@ -1,24 +0,0 @@
-[
- {
- "id": "scrap_bronze",
- "type": "AMMO",
- "category": "spare_parts",
- "name": "bronze",
- "name_plural": "bronze",
- "description": "Decent-sized chunks of bronze, for fashioning some old-school items.",
- "weight": 218,
- "volume": 1,
- "price": 1200,
- "to_hit": -2,
- "bashing": 1,
- "material": "bronze",
- "symbol": ",",
- "color": "yellow",
- "count": 1,
- "ammo_type": "components",
- "range": 0,
- "damage": 0,
- "pierce": 0,
- "dispersion": 0
- }
-]
diff --git a/data/mods/Medieval_Stuff/armor.json b/data/mods/Medieval_Stuff/armor.json
deleted file mode 100644
index 5cc9e90576137..0000000000000
--- a/data/mods/Medieval_Stuff/armor.json
+++ /dev/null
@@ -1,66 +0,0 @@
-[
- {
- "id": "helmet_corinthian",
- "type": "ARMOR",
- "category": "armor",
- "name": "Corinthian helm",
- "description": "An ancient Greek bronze helmet that provides excellent protection for the head, with slits for the eyes and mouth.",
- "weight": 1310,
- "volume": 10,
- "price": 30000,
- "bashing": 10,
- "material": [ "bronze" ],
- "symbol": "[",
- "color": "yellow",
- "covers": [ "HEAD", "EYES", "MOUTH" ],
- "coverage": 90,
- "encumbrance": 30,
- "warmth": 10,
- "material_thickness": 3,
- "techniques": [ "WBLOCK_1" ],
- "flags": [ "VARSIZE", "STURDY" ]
- },
- {
- "id": "armor_cuirass",
- "type": "ARMOR",
- "name": "bell cuirass",
- "category": "armor",
- "name_plural": "bell cuirasses",
- "description": "An ancient Greek breastplate, made of bronze.",
- "weight": 5896,
- "volume": 24,
- "price": 50000,
- "to_hit": -5,
- "bashing": 6,
- "material": [ "bronze" ],
- "symbol": "[",
- "color": "yellow",
- "covers": [ "TORSO" ],
- "coverage": 90,
- "encumbrance": 15,
- "warmth": 15,
- "material_thickness": 3,
- "flags": [ "VARSIZE", "OUTER", "STURDY" ]
- },
- {
- "id": "legguard_bronze",
- "type": "ARMOR",
- "category": "armor",
- "name": "pair of bronze greaves",
- "name_plural": "pairs of bronze greaves",
- "description": "A pair of bronze leg guards with a simple leather lining.",
- "weight": 2520,
- "volume": 22,
- "price": 40000,
- "to_hit": 1,
- "material": [ "bronze", "leather" ],
- "symbol": "[",
- "color": "yellow",
- "covers": [ "LEGS" ],
- "coverage": 70,
- "encumbrance": 10,
- "warmth": 15,
- "material_thickness": 4,
- "flags": [ "BELTED", "STURDY" ]
- }
-]
diff --git a/data/mods/Medieval_Stuff/handloaded_bullets.json b/data/mods/Medieval_Stuff/handloaded_bullets.json
index 5b0c891d41848..824ff3bd8537e 100644
--- a/data/mods/Medieval_Stuff/handloaded_bullets.json
+++ b/data/mods/Medieval_Stuff/handloaded_bullets.json
@@ -14,11 +14,11 @@
"count": 1,
"ammo_type": "fire_lance",
"range": 3,
- "damage": 50,
+ "damage": 15,
"pierce": 0,
"dispersion": 0,
"recoil": 3000,
- "effects": [ "COOKOFF", "RECYCLED" ]
+ "effects": [ "COOKOFF", "RECYCLED", "BLINDS_EYES" ]
},
{
"id": "lance_charge_shot",
@@ -35,7 +35,7 @@
"count": 1,
"ammo_type": "fire_lance",
"range": 4,
- "damage": 75,
+ "damage": 30,
"pierce": 1,
"dispersion": 0,
"recoil": 3000,
diff --git a/data/mods/Medieval_Stuff/item_groups.json b/data/mods/Medieval_Stuff/item_groups.json
index bc09b669450ea..c1b08ddc94c99 100644
--- a/data/mods/Medieval_Stuff/item_groups.json
+++ b/data/mods/Medieval_Stuff/item_groups.json
@@ -20,11 +20,6 @@
"id": "antique_rare",
"type": "item_group",
"items": [
- [ "ji", 1 ],
- [ "dao", 3 ],
- [ "sword_xiphos", 4 ],
- [ "khopesh", 4 ],
- [ "spear_dory", 3 ],
[ "fire_lance", 2 ],
[ "lance_charge", 1 ],
[ "lance_charge_shot", 1 ],
@@ -39,7 +34,7 @@
{
"id": "museum_melee",
"type": "item_group",
- "items": [ [ "ji", 2 ], [ "dao", 3 ], [ "sword_xiphos", 4 ], [ "sword_forged", 3 ], [ "khopesh", 4 ], [ "spear_dory", 3 ] ]
+ "items": [ [ "ji", 2 ], [ "dao", 3 ], [ "sword_xiphos", 4 ], [ "khopesh", 4 ], [ "spear_dory", 3 ] ]
},
{
"id": "museum_guns",
@@ -60,9 +55,6 @@
"id": "museum_armor",
"type": "item_group",
"items": [
- [ "helmet_corinthian", 45 ],
- [ "armor_cuirass", 25 ],
- [ "legguard_bronze", 20 ],
[ "shield_wooden", 10 ],
[ "shield_wooden_large", 5 ],
[ "shield_hoplon", 10 ],
diff --git a/data/mods/Medieval_Stuff/martial_arts_manuals.json b/data/mods/Medieval_Stuff/martial_arts_manuals.json
deleted file mode 100644
index 75b120953c876..0000000000000
--- a/data/mods/Medieval_Stuff/martial_arts_manuals.json
+++ /dev/null
@@ -1,15 +0,0 @@
-[
- {
- "id": "manual_swordsmanship",
- "copy-from": "book_martial",
- "type": "GENERIC",
- "name": "The Medieval Warrior",
- "name_plural": "The Medieval Warrior",
- "description": "A complete guide to Medieval Swordsmanship."
- },
- {
- "id": "book_martial",
- "type": "item_group",
- "items": [ [ "manual_swordsmanship", 5 ] ]
- }
-]
diff --git a/data/mods/Medieval_Stuff/martialarts.json b/data/mods/Medieval_Stuff/martialarts.json
deleted file mode 100644
index 575b4f2706bd1..0000000000000
--- a/data/mods/Medieval_Stuff/martialarts.json
+++ /dev/null
@@ -1,62 +0,0 @@
-[
- {
- "type": "martial_art",
- "id": "style_swordsmanship",
- "name": "Medieval Swordsmanship",
- "description": "The art of the longsword and other weapons, preceding the later development of fencing. Designed for combat both unarmored and in armor, it includes grappling as well as defensive and offensive sword techniques, plus familiarity with other weapons like polearms.",
- "initiate": [ "You stand tall and become vigilant against attacks.", "%s stands tall and becomes vigilant." ],
- "arm_block": 99,
- "leg_block": 99,
- "onattack_buffs": [
- {
- "id": "swordsmanship_attack_buff",
- "name": "Perfect Defense",
- "description": "Bonus dodges after an attack.",
- "buff_duration": 3,
- "melee_allowed": true,
- "bonus_dodges": 2
- }
- ],
- "ondodge_buffs": [
- {
- "id": "swordsmanship_counter",
- "name": "Displacement",
- "description": "The enemy has presented an opening in their defense.",
- "min_melee": 2,
- "melee_allowed": true,
- "max_stacks": 1,
- "buff_duration": 2
- }
- ],
- "techniques": [
- "tec_swordsmanship_counter",
- "tec_swordsmanship_grab",
- "tec_swordsmanship_break",
- "tec_swordsmanship_zornhau",
- "tec_swordsmanship_unterhau"
- ],
- "weapons": [
- "sword_wood",
- "sword_nail",
- "sword_crude",
- "zweihander",
- "zweihander_inferior",
- "zweifire_off",
- "zweifire_on",
- "arming_sword",
- "arming_sword_inferior",
- "longsword",
- "longsword_inferior",
- "dusksword",
- "estoc",
- "q_staff",
- "i_staff",
- "makeshift_halberd",
- "glaive",
- "pike",
- "spear_steel",
- "halberd",
- "sword_forged"
- ]
- }
-]
diff --git a/data/mods/Medieval_Stuff/materials.json b/data/mods/Medieval_Stuff/materials.json
deleted file mode 100644
index 00ae1d51ad3d3..0000000000000
--- a/data/mods/Medieval_Stuff/materials.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[
- {
- "type": "material",
- "ident": "bronze",
- "name": "Bronze",
- "density": 58,
- "bash_resist": 4,
- "cut_resist": 5,
- "acid_resist": 1,
- "fire_resist": 2,
- "elec_resist": 0,
- "chip_resist": 15,
- "salvaged_into": "scrap_bronze",
- "dmg_adj": [ "marked", "dented", "smashed", "shattered" ],
- "bash_dmg_verb": "dented",
- "cut_dmg_verb": "scratched"
- }
-]
diff --git a/data/mods/Medieval_Stuff/melee.json b/data/mods/Medieval_Stuff/melee.json
deleted file mode 100644
index b30962057f0f0..0000000000000
--- a/data/mods/Medieval_Stuff/melee.json
+++ /dev/null
@@ -1,56 +0,0 @@
-[
- {
- "id": "ji",
- "type": "GENERIC",
- "name": "ji",
- "name_plural": "ji",
- "//": "Couldn't find a good way to pluralize the transliteration.",
- "description": "This is a bronze polearm that originated in the Shang dynasty of China, if not earlier. It combines a spear head with the perpendicular blade of the earlier ge or dagger-axe.",
- "weight": 3175,
- "volume": 15,
- "price": 50000,
- "to_hit": 2,
- "bashing": 16,
- "cutting": 31,
- "material": [ "wood", "bronze" ],
- "symbol": "/",
- "color": "yellow",
- "techniques": [ "WBLOCK_1", "DEF_DISARM" ],
- "flags": [ "DURABLE_MELEE", "REACH_ATTACK" ]
- },
- {
- "id": "spear_dory",
- "type": "GENERIC",
- "name": "dory",
- "name_plural": "dories",
- "description": "A well-made spear with a bronze head, Greek in origin.",
- "weight": 1598,
- "volume": 14,
- "price": 10000,
- "to_hit": 2,
- "bashing": 8,
- "cutting": 28,
- "material": [ "bronze", "wood" ],
- "symbol": "/",
- "color": "yellow",
- "techniques": [ "WBLOCK_1", "IMPALE" ],
- "qualities": [ [ "COOK", 1 ] ],
- "flags": [ "SPEAR", "REACH_ATTACK", "DURABLE_MELEE" ]
- },
- {
- "id": "sword_forged",
- "type": "GENERIC",
- "name": "forged sword",
- "description": "A common short sword, forged from steel. The pointy end is the dangerous one.",
- "weight": 700,
- "volume": 8,
- "to_hit": 2,
- "bashing": 4,
- "cutting": 20,
- "material": "steel",
- "symbol": "!",
- "color": "dark_gray",
- "techniques": [ "WBLOCK_2" ],
- "flags": [ "SPEAR", "SHEATH_SWORD" ]
- }
-]
diff --git a/data/mods/Medieval_Stuff/modinfo.json b/data/mods/Medieval_Stuff/modinfo.json
index 04773888b64ce..9831e85a571f3 100644
--- a/data/mods/Medieval_Stuff/modinfo.json
+++ b/data/mods/Medieval_Stuff/modinfo.json
@@ -2,9 +2,9 @@
{
"type": "MOD_INFO",
"ident": "Medieval_Stuff",
- "name": "Medieval and Historic Content",
+ "name": "Medieval and Historic Classes and Shields",
"authors": [ "Chaosvolt" ],
- "description": "Assorted fun things for the wannabe knight, legionary, and more.",
+ "description": "Assorted fun classes and shields for the wannabe knight, legionary, and more.",
"category": "items",
"dependencies": [ "dda" ]
}
diff --git a/data/mods/Medieval_Stuff/mutations.json b/data/mods/Medieval_Stuff/mutations.json
deleted file mode 100644
index 25223bfeff0da..0000000000000
--- a/data/mods/Medieval_Stuff/mutations.json
+++ /dev/null
@@ -1,12 +0,0 @@
-[
- {
- "type": "mutation",
- "id": "MARTIAL_ARTS5",
- "name": "Melee Weapon Training",
- "points": 3,
- "description": "You have practiced fighting with weapons. You start with your choice of Eskrima, Fencing, Pentjak Silat, Niten Ichi-Ryu, Sōjutsu, or Medieval Swordsmanship.",
- "starting_trait": true,
- "initial_ma_styles": [ "style_eskrima", "style_fencing", "style_silat", "style_niten", "style_sojutsu", "style_swordsmanship" ],
- "valid": false
- }
-]
diff --git a/data/mods/Medieval_Stuff/professions.json b/data/mods/Medieval_Stuff/professions.json
index 1eb115ac9668c..e8d34144a6b9c 100644
--- a/data/mods/Medieval_Stuff/professions.json
+++ b/data/mods/Medieval_Stuff/professions.json
@@ -78,7 +78,7 @@
"waterskin"
],
"entries": [
- { "item": "sword_forged", "container-item": "baldric" },
+ { "item": "sword_xiphos", "container-item": "baldric" },
{ "item": "knife_hunting", "container-item": "sheath" },
{ "item": "javelin_iron", "count": 2 }
]
diff --git a/data/mods/Medieval_Stuff/recipe_armor.json b/data/mods/Medieval_Stuff/recipe_armor.json
deleted file mode 100644
index 5b6dc3373ec22..0000000000000
--- a/data/mods/Medieval_Stuff/recipe_armor.json
+++ /dev/null
@@ -1,39 +0,0 @@
-[
- {
- "result": "helmet_corinthian",
- "type": "recipe",
- "category": "CC_ARMOR",
- "subcategory": "CSC_ARMOR_HEAD",
- "skill_used": "fabrication",
- "difficulty": 6,
- "time": 70000,
- "book_learn": [ [ "textbook_armwest", 5 ] ],
- "using": [ [ "forging_standard", 3 ], [ "bronzesmithing_tools", 1 ] ],
- "components": [ [ [ "scrap_bronze", 7 ] ], [ [ "fur", 4 ], [ "leather", 4 ] ] ]
- },
- {
- "result": "armor_cuirass",
- "type": "recipe",
- "category": "CC_ARMOR",
- "subcategory": "CSC_ARMOR_TORSO",
- "skill_used": "fabrication",
- "difficulty": 5,
- "time": 280000,
- "book_learn": [ [ "textbook_armwest", 8 ] ],
- "using": [ [ "forging_standard", 14 ], [ "bronzesmithing_tools", 1 ] ],
- "components": [ [ [ "scrap_bronze", 28 ] ] ]
- },
- {
- "result": "legguard_bronze",
- "type": "recipe",
- "category": "CC_ARMOR",
- "subcategory": "CSC_ARMOR_LEGS",
- "skill_used": "fabrication",
- "difficulty": 5,
- "time": 120000,
- "autolearn": true,
- "book_learn": [ [ "textbook_armwest", 4 ], [ "recipe_melee", 4 ] ],
- "using": [ [ "forging_standard", 6 ], [ "bronzesmithing_tools", 1 ] ],
- "components": [ [ [ "fur", 6 ], [ "tanned_pelt", 1 ], [ "leather", 6 ], [ "tanned_hide", 1 ] ], [ [ "scrap_bronze", 12 ] ] ]
- }
-]
diff --git a/data/mods/Medieval_Stuff/recipe_others.json b/data/mods/Medieval_Stuff/recipe_others.json
deleted file mode 100644
index 8761824184e39..0000000000000
--- a/data/mods/Medieval_Stuff/recipe_others.json
+++ /dev/null
@@ -1,30 +0,0 @@
-[
- {
- "result": "anvil_bronze",
- "type": "recipe",
- "category": "CC_OTHER",
- "subcategory": "CSC_OTHER_TOOLS",
- "skill_used": "fabrication",
- "difficulty": 2,
- "time": 100000,
- "autolearn": true,
- "using": [ [ "forging_standard", 5 ] ],
- "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "ANVIL", "level": 1 } ],
- "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ],
- "components": [ [ [ "scrap_bronze", 10 ] ] ]
- },
- {
- "result": "scrap_bronze",
- "type": "recipe",
- "category": "CC_OTHER",
- "subcategory": "CSC_OTHER_MATERIALS",
- "skill_used": "fabrication",
- "difficulty": 2,
- "time": 10000,
- "batch_time_factors": [ 90, 4 ],
- "autolearn": true,
- "using": [ [ "forging_standard", 1 ] ],
- "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ],
- "components": [ [ [ "tin", 10 ], [ "solder_wire", 10 ] ], [ [ "copper", 50 ] ] ]
- }
-]
diff --git a/data/mods/Medieval_Stuff/recipe_weapon.json b/data/mods/Medieval_Stuff/recipe_weapon.json
new file mode 100644
index 0000000000000..4c811678f7310
--- /dev/null
+++ b/data/mods/Medieval_Stuff/recipe_weapon.json
@@ -0,0 +1,16 @@
+[
+ {
+ "result": "fire_lance",
+ "type": "recipe",
+ "category": "CC_WEAPON",
+ "subcategory": "CSC_WEAPON_RANGED",
+ "skill_used": "fabrication",
+ "difficulty": 3,
+ "skills_required": [ "gun", 1 ],
+ "time": 12000,
+ "reversible": true,
+ "book_learn": [ [ "textbook_armschina", 3 ] ],
+ "qualities": [ { "id": "SAW_M_FINE", "level": 1 }, { "id": "SCREW_FINE", "level": 1 } ],
+ "components": [ [ [ "qiang", 1 ] ], [ [ "pipe", 1 ] ], [ [ "scrap", 1 ] ] ]
+ }
+]
diff --git a/data/mods/Medieval_Stuff/recipe_weapons.json b/data/mods/Medieval_Stuff/recipe_weapons.json
deleted file mode 100644
index 2f9bba92dbf69..0000000000000
--- a/data/mods/Medieval_Stuff/recipe_weapons.json
+++ /dev/null
@@ -1,133 +0,0 @@
-[
- {
- "result": "ji",
- "type": "recipe",
- "category": "CC_WEAPON",
- "subcategory": "CSC_WEAPON_PIERCING",
- "skill_used": "fabrication",
- "difficulty": 6,
- "time": 50000,
- "book_learn": [ [ "textbook_armschina", 5 ] ],
- "using": [ [ "forging_standard", 2 ], [ "bronzesmithing_tools", 1 ] ],
- "qualities": [ { "id": "CUT", "level": 1 } ],
- "components": [
- [ [ "scrap_bronze", 4 ] ],
- [ [ "stick_long", 1 ] ],
- [ [ "rag", 2 ], [ "felt_patch", 2 ], [ "leather", 2 ], [ "fur", 2 ] ]
- ]
- },
- {
- "result": "dao",
- "type": "recipe",
- "category": "CC_WEAPON",
- "subcategory": "CSC_WEAPON_CUTTING",
- "skill_used": "fabrication",
- "difficulty": 7,
- "time": 55000,
- "book_learn": [ [ "textbook_armschina", 5 ] ],
- "using": [ [ "forging_standard", 2 ], [ "bronzesmithing_tools", 1 ] ],
- "components": [
- [
- [ "rag", 1 ],
- [ "felt_patch", 1 ],
- [ "leather", 1 ],
- [ "fur", 1 ],
- [ "duct_tape", 50 ],
- [ "cordage_short", 2, "LIST" ],
- [ "filament", 100, "LIST" ]
- ],
- [ [ "scrap_bronze", 5 ] ]
- ]
- },
- {
- "result": "fire_lance",
- "type": "recipe",
- "category": "CC_WEAPON",
- "subcategory": "CSC_WEAPON_RANGED",
- "skill_used": "fabrication",
- "difficulty": 3,
- "skills_required": [ "gun", 1 ],
- "time": 12000,
- "reversible": true,
- "book_learn": [ [ "textbook_armschina", 3 ] ],
- "qualities": [ { "id": "SAW_M_FINE", "level": 1 }, { "id": "SCREW_FINE", "level": 1 } ],
- "components": [ [ [ "qiang", 1 ] ], [ [ "pipe", 1 ] ], [ [ "scrap", 1 ] ] ]
- },
- {
- "result": "sword_xiphos",
- "type": "recipe",
- "category": "CC_WEAPON",
- "subcategory": "CSC_WEAPON_CUTTING",
- "skill_used": "fabrication",
- "difficulty": 6,
- "time": 45000,
- "book_learn": [ [ "textbook_weapwest", 4 ] ],
- "using": [ [ "forging_standard", 2 ], [ "bronzesmithing_tools", 1 ] ],
- "components": [
- [
- [ "rag", 1 ],
- [ "felt_patch", 1 ],
- [ "leather", 1 ],
- [ "fur", 1 ],
- [ "duct_tape", 50 ],
- [ "cordage_short", 2, "LIST" ],
- [ "filament", 100, "LIST" ]
- ],
- [ [ "scrap_bronze", 4 ] ]
- ]
- },
- {
- "result": "khopesh",
- "type": "recipe",
- "category": "CC_WEAPON",
- "subcategory": "CSC_WEAPON_CUTTING",
- "skill_used": "fabrication",
- "difficulty": 7,
- "time": 55000,
- "book_learn": [ [ "textbook_weapwest", 5 ] ],
- "using": [ [ "forging_standard", 2 ], [ "bronzesmithing_tools", 1 ] ],
- "components": [
- [
- [ "rag", 1 ],
- [ "felt_patch", 1 ],
- [ "leather", 1 ],
- [ "fur", 1 ],
- [ "duct_tape", 50 ],
- [ "cordage_short", 2, "LIST" ],
- [ "filament", 100, "LIST" ]
- ],
- [ [ "scrap_bronze", 5 ] ]
- ]
- },
- {
- "result": "spear_dory",
- "type": "recipe",
- "category": "CC_WEAPON",
- "subcategory": "CSC_WEAPON_PIERCING",
- "skill_used": "fabrication",
- "difficulty": 4,
- "time": 30000,
- "book_learn": [ [ "textbook_weapwest", 4 ] ],
- "using": [ [ "forging_standard", 1 ], [ "bronzesmithing_tools", 1 ] ],
- "qualities": [ { "id": "CUT", "level": 1 } ],
- "components": [
- [ [ "scrap_bronze", 2 ] ],
- [ [ "stick_long", 1 ] ],
- [ [ "rag", 2 ], [ "felt_patch", 2 ], [ "leather", 2 ], [ "fur", 2 ] ]
- ]
- },
- {
- "result": "sword_forged",
- "type": "recipe",
- "category": "CC_WEAPON",
- "subcategory": "CSC_WEAPON_PIERCING",
- "skill_used": "fabrication",
- "difficulty": 5,
- "time": 240000,
- "autolearn": true,
- "using": [ [ "forging_standard", 3 ], [ "steel_standard", 3 ] ],
- "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ],
- "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ],
- "components": [ [ [ "2x4", 1 ], [ "stick", 2 ] ], [ [ "fur", 1 ], [ "leather", 1 ] ] ]
- }
-]
diff --git a/data/mods/Medieval_Stuff/requirements.json b/data/mods/Medieval_Stuff/requirements.json
deleted file mode 100644
index 884fcb1a8a125..0000000000000
--- a/data/mods/Medieval_Stuff/requirements.json
+++ /dev/null
@@ -1,9 +0,0 @@
-[
- {
- "id": "bronzesmithing_tools",
- "type": "requirement",
- "//": "Tools for casting and work hardening items made from bronze",
- "qualities": [ { "id": "HAMMER", "level": 2 }, { "id": "ANVIL", "level": 2 } ],
- "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ]
- }
-]
diff --git a/data/mods/Medieval_Stuff/snippets.json b/data/mods/Medieval_Stuff/snippets.json
deleted file mode 100644
index ca9f1c8fcad2a..0000000000000
--- a/data/mods/Medieval_Stuff/snippets.json
+++ /dev/null
@@ -1,35 +0,0 @@
-[
- {
- "type": "snippet",
- "category": "flier",
- "text": [
- "This is an flier depicting an ancient Greek soldier facing off against a viking. Below it is the text \"From kopeshes to arming swords, we have all your arms and armor needs!\""
- ]
- },
- {
- "type": "snippet",
- "category": "note",
- "text": [ "\"Got every kinda sword I need, except a spatha. And an urumi. And maybe a szabla too.\"" ]
- },
- {
- "type": "snippet",
- "category": "note",
- "text": [ "\"whys it called a heater shield anyway? only heats if i light it on fire.\"" ]
- },
- {
- "type": "snippet",
- "category": "note",
- "text": [ "\"OW IT IS TOO DAMN COLD TO BE A HOPLITE\"" ]
- },
- {
- "type": "snippet",
- "category": "note",
- "text": [ "\"I wonder if painting my longsword black and giving it a baddass name will make it cut better.\"" ],
- "//": "Reference to Dusk, the debug item in the mod."
- },
- {
- "type": "snippet",
- "category": "note",
- "text": [ "\"Copper, tin, what the hell am I gonna make outta bronze anyway?\"" ]
- }
-]
diff --git a/data/mods/Medieval_Stuff/techniques.json b/data/mods/Medieval_Stuff/techniques.json
deleted file mode 100644
index 0ad8e9d946896..0000000000000
--- a/data/mods/Medieval_Stuff/techniques.json
+++ /dev/null
@@ -1,52 +0,0 @@
-[
- {
- "type": "technique",
- "id": "tec_swordsmanship_grab",
- "name": "grab",
- "min_melee": 3,
- "unarmed_allowed": true,
- "melee_allowed": true,
- "down_dur": 1,
- "messages": [ "You grab %s", " grabs %s" ]
- },
- {
- "type": "technique",
- "id": "tec_swordsmanship_break",
- "name": "grab break",
- "min_melee": 3,
- "unarmed_allowed": true,
- "melee_allowed": true,
- "defensive": true,
- "grab_break": true,
- "messages": [ "The %s tries to grab you, but you break its grab!", "The %s tries to grab , but they break its grab!" ]
- },
- {
- "type": "technique",
- "id": "tec_swordsmanship_counter",
- "name": "displace and counter",
- "min_melee": 4,
- "req_buffs": [ "swordsmanship_counter" ],
- "messages": [ "You displace and counter %s", " displaces and counters %s" ],
- "mult_bonuses": [ [ "damage", "cut", 1.1 ], [ "movecost", 0.75 ] ],
- "stun_dur": 1
- },
- {
- "type": "technique",
- "id": "tec_swordsmanship_unterhau",
- "name": "sweeping strike",
- "min_melee": 5,
- "crit_tec": true,
- "down_dur": 2,
- "messages": [ "You trip %s with a sweeping strike", " trips %s with a sweeping strike" ]
- },
- {
- "type": "technique",
- "id": "tec_swordsmanship_zornhau",
- "name": "vicious strike",
- "min_melee": 6,
- "crit_tec": true,
- "mult_bonuses": [ [ "damage", "bash", 1.5 ], [ "damage", "cut", 1.5 ], [ "damage", "stab", 1.5 ] ],
- "stun_dur": 1,
- "messages": [ "You hack at %s with a vicious strike", " hack at %s with a vicious strike" ]
- }
-]
diff --git a/data/mods/More_Locations/military_outpost/mil_outpost_1brc_01.json b/data/mods/More_Locations/military_outpost/mil_outpost_1brc_01.json
index ed7da991b290b..b5af534107f77 100644
--- a/data/mods/More_Locations/military_outpost/mil_outpost_1brc_01.json
+++ b/data/mods/More_Locations/military_outpost/mil_outpost_1brc_01.json
@@ -40,7 +40,7 @@
"X": [ { "item": "human_flesh", "amount": 12 }, { "item": "knife_butcher", "chance": 1 } ],
"x": { "item": "human_flesh", "amount": [ 10, 20 ] }
},
- "place_fields": [ { "x": [ 7, 19 ], "y": [ 12, 19 ], "field": "fd_blood", "age": 2, "density": 2, "repeat": 60 } ]
+ "place_fields": [ { "x": [ 7, 19 ], "y": [ 12, 19 ], "field": "fd_blood", "age": 2, "intensity": 2, "repeat": 60 } ]
}
}
]
diff --git a/data/mods/More_Locations/military_outpost/mil_outpost_ublc_03.json b/data/mods/More_Locations/military_outpost/mil_outpost_ublc_03.json
index 38e23008f25a9..80b6fb9016fab 100644
--- a/data/mods/More_Locations/military_outpost/mil_outpost_ublc_03.json
+++ b/data/mods/More_Locations/military_outpost/mil_outpost_ublc_03.json
@@ -38,7 +38,7 @@
"h": { "item": { "item": "corpse", "amount": [ 1, 4 ] }, "fields": { "field": "fd_blood" } },
"H": { "item": { "item": "corpse", "amount": [ 3, 9 ] }, "fields": { "field": "fd_blood" } }
},
- "place_fields": [ { "x": [ 2, 12 ], "y": [ 17, 22 ], "field": "fd_blood", "age": 2, "density": 2, "repeat": 20 } ]
+ "place_fields": [ { "x": [ 2, 12 ], "y": [ 17, 22 ], "field": "fd_blood", "age": 2, "intensity": 2, "repeat": 20 } ]
}
}
]
diff --git a/data/mods/Mundane_Zombies/modinfo.json b/data/mods/Mundane_Zombies/modinfo.json
index 4751a11214d3b..14f4c87f615b9 100644
--- a/data/mods/Mundane_Zombies/modinfo.json
+++ b/data/mods/Mundane_Zombies/modinfo.json
@@ -20,7 +20,6 @@
"mon_flesh_angel",
"mon_homunculus",
"mon_shia",
- "mon_zombear",
"mon_zombie_acidic",
"mon_zombie_armored",
"mon_zombie_bio_op",
@@ -45,15 +44,12 @@
"mon_zombie_master",
"mon_zombie_necro",
"mon_zombie_predator",
- "mon_zombie_runner",
- "mon_zombie_scientist",
"mon_zombie_scorched",
"mon_zombie_screecher",
"mon_zombie_shady",
"mon_zombie_shrieker",
"mon_zombie_smoker",
"mon_zombie_spitter",
- "mon_zombie_survivor",
"mon_zombie_technician",
"mon_skeleton_hulk",
"mon_zombie_anklebiter",
@@ -63,9 +59,10 @@
"mon_zombie_snotgobbler",
"mon_zombie_sproglodyte",
"mon_zombie_waif",
- "mon_zombie_child_fungus",
"mon_zombie_grenadier",
- "mon_zombie_grenadier_elite"
+ "mon_zombie_grenadier_elite",
+ "mon_zombie_soldier_acid_1",
+ "mon_zombie_soldier_acid_2"
]
}
]
diff --git a/data/mods/National_Guard_Camp/national_guard_camp/national_guard_camp_b1.json b/data/mods/National_Guard_Camp/national_guard_camp/national_guard_camp_b1.json
index 671dfc5bdf774..031be5313a459 100644
--- a/data/mods/National_Guard_Camp/national_guard_camp/national_guard_camp_b1.json
+++ b/data/mods/National_Guard_Camp/national_guard_camp/national_guard_camp_b1.json
@@ -55,8 +55,8 @@
],
"palettes": [ "national_guard_camp_b" ],
"place_fields": [
- { "field": "fd_blood", "x": [ 20, 22 ], "y": [ 24, 26 ], "age": 0, "density": 1, "repeat": 8 },
- { "field": "fd_blood", "x": [ 88, 90 ], "y": [ 24, 26 ], "age": 0, "density": 1, "repeat": 8 }
+ { "field": "fd_blood", "x": [ 20, 22 ], "y": [ 24, 26 ], "age": 0, "intensity": 1, "repeat": 8 },
+ { "field": "fd_blood", "x": [ 88, 90 ], "y": [ 24, 26 ], "age": 0, "intensity": 1, "repeat": 8 }
],
"place_monsters": [
{ "monster": "GROUP_WRAITHEON_INFANTRY", "x": [ 1, 22 ], "y": [ 25, 46 ], "density": 0.075 },
@@ -111,8 +111,8 @@
{ "monster": "GROUP_WRAITHEON_INFANTRY", "x": [ 73, 94 ], "y": [ 25, 46 ], "density": 0.075 }
],
"place_fields": [
- { "field": "fd_blood", "x": [ 44, 46 ], "y": [ 24, 26 ], "age": 0, "density": 1, "repeat": 8 },
- { "field": "fd_blood", "x": [ 88, 90 ], "y": [ 24, 26 ], "age": 0, "density": 1, "repeat": 8 }
+ { "field": "fd_blood", "x": [ 44, 46 ], "y": [ 24, 26 ], "age": 0, "intensity": 1, "repeat": 8 },
+ { "field": "fd_blood", "x": [ 88, 90 ], "y": [ 24, 26 ], "age": 0, "intensity": 1, "repeat": 8 }
],
"place_vehicles": [
{ "vehicle": "golf_cart", "x": 42, "y": 10, "chance": 25, "rotation": 270 },
@@ -257,7 +257,7 @@
"r": { "item": "chem_school", "chance": 45 }
},
"toilets": { "t": { } },
- "fields": { "!": { "field": "fd_nuke_gas", "density": 1, "age": 0 } },
+ "fields": { "!": { "field": "fd_nuke_gas", "intensity": 1, "age": 0 } },
"place_monsters": [
{ "monster": "GROUP_WRAITHEON_INFANTRY", "x": [ 25, 46 ], "y": [ 1, 22 ], "density": 0.1 },
{ "monster": "GROUP_WRAITHEON_INFANTRY", "x": [ 49, 70 ], "y": [ 1, 22 ], "density": 0.1 },
@@ -556,7 +556,7 @@
{ "monster": "GROUP_WRAITHEON_CONSTRUCTION", "x": [ 49, 70 ], "y": [ 1, 22 ], "density": 0.075 },
{ "monster": "GROUP_WRAITHEON_INFANTRY", "x": [ 49, 70 ], "y": [ 25, 46 ], "density": 0.075 }
],
- "place_fields": [ { "field": "fd_blood", "x": [ 56, 58 ], "y": [ 43, 45 ], "age": 0, "density": 1, "repeat": 8 } ]
+ "place_fields": [ { "field": "fd_blood", "x": [ 56, 58 ], "y": [ 43, 45 ], "age": 0, "intensity": 1, "repeat": 8 } ]
},
"om_terrain": [
[ "national_guard_camp_b1_48", "national_guard_camp_b1_49", "national_guard_camp_b1_50" ],
@@ -717,7 +717,7 @@
{ "vehicle": "golf_cart", "x": 42, "y": 8, "chance": 25, "rotation": 270 },
{ "vehicle": "golf_cart", "x": 42, "y": [ 30, 43 ], "chance": 25, "rotation": 90 }
],
- "place_fields": [ { "field": "fd_blood", "x": [ 26, 28 ], "y": [ 21, 23 ], "age": 0, "density": 1, "repeat": 8 } ]
+ "place_fields": [ { "field": "fd_blood", "x": [ 26, 28 ], "y": [ 21, 23 ], "age": 0, "intensity": 1, "repeat": 8 } ]
},
"om_terrain": [
[ "national_guard_camp_b1_54", "national_guard_camp_b1_55", "national_guard_camp_b1_56" ],
@@ -782,7 +782,7 @@
],
"palettes": [ "national_guard_camp_b" ],
"terrain": { "=": [ "t_door_metal_c", "t_door_metal_locked", "t_door_metal_locked", "t_door_metal_locked" ] },
- "fields": { "!": { "field": "fd_nuke_gas", "density": 1, "age": 0 } },
+ "fields": { "!": { "field": "fd_nuke_gas", "intensity": 1, "age": 0 } },
"items": { "r": { "item": "electronics", "chance": 30 }, "(": { "item": "sewer", "chance": 1 } },
"place_monsters": [
{ "monster": "GROUP_WRAITHEON_INFANTRY", "x": [ 1, 22 ], "y": [ 1, 22 ], "density": 0.075 },
@@ -853,7 +853,7 @@
" 884 e~~~~~~~~~~~~~~~~~~~~~~~~~e7777777777e Y Y e~"
],
"palettes": [ "national_guard_camp_b" ],
- "fields": { "!": { "field": "fd_nuke_gas", "density": 1, "age": 0 } },
+ "fields": { "!": { "field": "fd_nuke_gas", "intensity": 1, "age": 0 } },
"items": { "L": { "item": "reactor_equipment", "chance": 30 }, "(": { "item": "sewer", "chance": 1 } },
"terrain": { "=": [ "t_door_metal_c", "t_door_metal_locked", "t_door_metal_locked", "t_door_metal_locked" ] },
"place_monsters": [
@@ -1299,7 +1299,7 @@
{ "monster": "GROUP_WRAITHEON_INFANTRY", "x": [ 25, 46 ], "y": [ 25, 46 ], "density": 0.075 },
{ "monster": "GROUP_WRAITHEON_INFANTRY", "x": [ 49, 70 ], "y": [ 25, 46 ], "density": 0.075 }
],
- "place_fields": [ { "field": "fd_blood", "x": [ 65, 67 ], "y": [ 19, 21 ], "age": 0, "density": 1, "repeat": 8 } ]
+ "place_fields": [ { "field": "fd_blood", "x": [ 65, 67 ], "y": [ 19, 21 ], "age": 0, "intensity": 1, "repeat": 8 } ]
},
"om_terrain": [
[ "national_guard_camp_b1_98", "national_guard_camp_b1_99", "national_guard_camp_b1_100" ],
@@ -1366,8 +1366,8 @@
"terrain": { "=": [ "t_door_metal_c", "t_door_metal_locked", "t_door_metal_locked", "t_door_metal_locked" ] },
"items": { "d": { "item": "office", "chance": 40 }, "o": { "item": "radio", "chance": 40 } },
"place_fields": [
- { "field": "fd_blood", "x": [ 8, 11 ], "y": [ 2, 4 ], "age": 0, "density": 1, "repeat": 8 },
- { "field": "fd_blood", "x": [ 68, 70 ], "y": [ 18, 20 ], "age": 0, "density": 1, "repeat": 8 }
+ { "field": "fd_blood", "x": [ 8, 11 ], "y": [ 2, 4 ], "age": 0, "intensity": 1, "repeat": 8 },
+ { "field": "fd_blood", "x": [ 68, 70 ], "y": [ 18, 20 ], "age": 0, "intensity": 1, "repeat": 8 }
],
"place_monsters": [
{ "monster": "GROUP_WRAITHEON_INFANTRY", "x": [ 1, 22 ], "y": [ 1, 22 ], "density": 0.075 },
@@ -1443,8 +1443,8 @@
"items": { "r": { "item": "electronics", "chance": 40 }, "c": { "item": "robots", "chance": 25 } },
"toilets": { "t": { } },
"place_fields": [
- { "field": "fd_blood", "x": [ 8, 10 ], "y": [ 12, 14 ], "age": 0, "density": 1, "repeat": 8 },
- { "field": "fd_blood", "x": [ 67, 69 ], "y": [ 33, 35 ], "age": 0, "density": 1, "repeat": 8 }
+ { "field": "fd_blood", "x": [ 8, 10 ], "y": [ 12, 14 ], "age": 0, "intensity": 1, "repeat": 8 },
+ { "field": "fd_blood", "x": [ 67, 69 ], "y": [ 33, 35 ], "age": 0, "intensity": 1, "repeat": 8 }
],
"place_monsters": [
{ "monster": "GROUP_WRAITHEON_INFANTRY", "x": [ 1, 22 ], "y": [ 1, 22 ], "density": 0.075 },
@@ -2111,9 +2111,9 @@
],
"place_vehicles": [ { "vehicle": "golf_cart", "x": [ 4, 19 ], "y": 27, "chance": 25, "rotation": 0 } ],
"place_fields": [
- { "field": "fd_blood", "x": [ 43, 45 ], "y": [ 38, 40 ], "age": 0, "density": 1, "repeat": 8 },
- { "field": "fd_blood", "x": [ 31, 33 ], "y": [ 24, 25 ], "age": 0, "density": 1, "repeat": 6 },
- { "field": "fd_blood", "x": [ 50, 52 ], "y": [ 27, 29 ], "age": 0, "density": 1, "repeat": 8 }
+ { "field": "fd_blood", "x": [ 43, 45 ], "y": [ 38, 40 ], "age": 0, "intensity": 1, "repeat": 8 },
+ { "field": "fd_blood", "x": [ 31, 33 ], "y": [ 24, 25 ], "age": 0, "intensity": 1, "repeat": 6 },
+ { "field": "fd_blood", "x": [ 50, 52 ], "y": [ 27, 29 ], "age": 0, "intensity": 1, "repeat": 8 }
]
},
"om_terrain": [
diff --git a/data/mods/No_Medieval_Items/modinfo.json b/data/mods/No_Medieval_Items/modinfo.json
index 8d68a24eff90e..e410b251140f9 100644
--- a/data/mods/No_Medieval_Items/modinfo.json
+++ b/data/mods/No_Medieval_Items/modinfo.json
@@ -30,6 +30,7 @@
"rapier_fake",
"rapier",
"estoc",
+ "estoc_inferior",
"estoc_fake",
"kris",
"kris_fake",
diff --git a/data/mods/No_Rail_Stations/modinfo.json b/data/mods/No_Rail_Stations/modinfo.json
new file mode 100644
index 0000000000000..bc090156c61d5
--- /dev/null
+++ b/data/mods/No_Rail_Stations/modinfo.json
@@ -0,0 +1,11 @@
+[
+ {
+ "type": "MOD_INFO",
+ "ident": "No_Rail_Stations",
+ "name": "No Rail Stations",
+ "authors": [ "Inglonias" ],
+ "description": "Removes above-ground rail stations from the game.",
+ "category": "buildings",
+ "dependencies": [ "dda" ]
+ }
+]
diff --git a/data/mods/No_Rail_Stations/overmap_specials.json b/data/mods/No_Rail_Stations/overmap_specials.json
new file mode 100644
index 0000000000000..d9acca5805b44
--- /dev/null
+++ b/data/mods/No_Rail_Stations/overmap_specials.json
@@ -0,0 +1,34 @@
+[
+ {
+ "id": "Railroad Station",
+ "type": "overmap_special",
+ "overmaps": [
+ { "point": [ 0, 1, 0 ], "overmap": "railroad_station_0_1_north" },
+ { "point": [ 0, 2, 0 ], "overmap": "railroad_station_0_2_north" },
+ { "point": [ 0, 3, 0 ], "overmap": "railroad_station_0_3_north" },
+ { "point": [ 0, 4, 0 ], "overmap": "railroad_station_0_4_north" },
+ { "point": [ 1, 1, 0 ], "overmap": "railroad_station_1_1_north" },
+ { "point": [ 1, 2, 0 ], "overmap": "railroad_station_1_2_north" },
+ { "point": [ 1, 3, 0 ], "overmap": "railroad_station_1_3_north" },
+ { "point": [ 1, 4, 0 ], "overmap": "railroad_station_1_4_north" },
+ { "point": [ 2, 0, 0 ], "overmap": "road_end_north" },
+ { "point": [ 2, 1, 0 ], "overmap": "railroad_station_2_1_north" },
+ { "point": [ 2, 2, 0 ], "overmap": "railroad_station_2_2_north" },
+ { "point": [ 2, 3, 0 ], "overmap": "railroad_station_2_3_north" },
+ { "point": [ 2, 4, 0 ], "overmap": "railroad_station_2_4_north" },
+ { "point": [ 2, 5, 0 ], "overmap": "road_end_south" },
+ { "point": [ 0, 1, -1 ], "overmap": "railroad_station_under_0_1_north" },
+ { "point": [ 0, 2, -1 ], "overmap": "railroad_station_under_0_2_north" },
+ { "point": [ 0, 3, -1 ], "overmap": "railroad_station_under_0_3_north" },
+ { "point": [ 1, 1, -1 ], "overmap": "railroad_station_under_1_1_north" },
+ { "point": [ 1, 2, -1 ], "overmap": "railroad_station_under_1_2_north" },
+ { "point": [ 1, 3, -1 ], "overmap": "railroad_station_under_1_3_north" }
+ ],
+ "connections": [ { "point": [ 2, 0, 0 ], "terrain": "road" }, { "point": [ 2, 5, 0 ], "terrain": "road" } ],
+ "locations": [ "land", "forest" ],
+ "city_distance": [ -1, 20 ],
+ "city_sizes": [ 3, 12 ],
+ "occurrences": [ 0, 0 ],
+ "flags": [ "CLASSIC" ]
+ }
+]
diff --git a/data/mods/No_Rail_Stations/region_overlay.json b/data/mods/No_Rail_Stations/region_overlay.json
new file mode 100644
index 0000000000000..a33c079592501
--- /dev/null
+++ b/data/mods/No_Rail_Stations/region_overlay.json
@@ -0,0 +1,8 @@
+[
+ {
+ "type": "region_overlay",
+ "id": "no_rail_yards",
+ "regions": [ "all" ],
+ "city": { "houses": { "railroad_city": 0 } }
+ }
+]
diff --git a/data/mods/blazemod/PAQ.txt b/data/mods/blazemod/PAQ.txt
deleted file mode 100644
index ad66e967ff577..0000000000000
--- a/data/mods/blazemod/PAQ.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-Pre-emptively Answered Questions:
-
-- How do I use manual turrets?
-Stand on the same tile that the turret is on, have your hands free, and "f"ire it.
-
-- How do I make automated turrets?
-Craft a turret chassis (Electronics, Mechanics, and Fabrication must be at 5 to see the recipe) and install it. You can then install most non-pistol weapons as an automated turret.
-
-- What's the difference between " turret" and "automated "?
-Turrets have a built-in cargo where you can drop appropriate ammo to load it. Automated guns do not have a cargo slot, you must install an appropriate ammunition rack (either a small metal tank or a cargo carrier for large ammo). Ammunition racks are loaded like fuel tanks, but only accept the basic ammunition type.
-
-- My automated turrets won't fire!
-Make sure turrets are enabled by using your vehicle controls.
-Make sure turrets have access to appropriate ammo. Ammunition racks can supply all turrets on the vehicle with the right ammo. Turrets that use gas or battery power need appropriate containers.
-Make sure to check "Configure Individual Turrets" in the vehicle control menu.
-Turrets all have different ranges at which they'll shoot, the enemy might still be out of range.
-Explosive turrets won't fire if the target is too close to the vehicle.
-
-- I don't understand the individual turret options.
-The squares next to the turret's name show its setting.
-Blank means it will not fire.
-"1" means it will only fire a single shot (If it has a burst option).
-"B" means it will fire full bursts.
-"m" means it will only fire if you control it by using "f"ire while having free hands while being on the same tile as the vehicle's controls.
-"M" means the same as "m", but does burst fire instead of single shots.
-If you're using a turret that doesn't have burst fire, it will be blank or "x" for off/on.
-Turrets that are manually fired won't appear on the configuration menu.
-
-- Blob parts? Vortex parts? Diamond parts?
-For blob parts you need cooking at level 6 to see the first recipe, 7 to see them all. You also need fabrication at 5.
-For vortex parts, a mechanics skill of 8 to see all recipes.
-For diamond parts you need fabrication at 10 and access to a CVD machine.
-Everything else is up for you to find.
-
-- I have a question that this doesn't answer./I found a bug./I have a suggestion.
-You can find the forum thread here: http://smf.cataclysmdda.com/index.php?topic=8060.0
-Also, make sure, that if you downloaded the new version from the forum, that you delete the old blazemod folder first. Bugs may arise from duplicated files.
\ No newline at end of file
diff --git a/data/mods/mapspecials_demo/missile_silo/silo_fblc_01.json b/data/mods/mapspecials_demo/missile_silo/silo_fblc_01.json
index f4e92de0649ec..4f02bff5cacf9 100644
--- a/data/mods/mapspecials_demo/missile_silo/silo_fblc_01.json
+++ b/data/mods/mapspecials_demo/missile_silo/silo_fblc_01.json
@@ -36,7 +36,7 @@
"rotation": 3,
"palettes": [ "missile_silo" ],
"terrain": { "*": "t_metal_floor" },
- "fields": { "*": { "field": "fd_nuke_gas", "chance": 3, "density": 2, "age": 0 } },
+ "fields": { "*": { "field": "fd_nuke_gas", "chance": 3, "intensity": 2, "age": 0 } },
"monster": { "Z": { "monster": "mon_turret_rifle" } }
}
}
diff --git a/data/mods/mapspecials_demo/missile_silo/silo_fbrc_01.json b/data/mods/mapspecials_demo/missile_silo/silo_fbrc_01.json
index 53f1e0042176b..cda1b55a6cf05 100644
--- a/data/mods/mapspecials_demo/missile_silo/silo_fbrc_01.json
+++ b/data/mods/mapspecials_demo/missile_silo/silo_fbrc_01.json
@@ -36,7 +36,7 @@
"rotation": 2,
"palettes": [ "missile_silo" ],
"terrain": { "*": "t_metal_floor" },
- "fields": { "*": { "field": "fd_nuke_gas", "chance": 3, "density": 2, "age": 0 } },
+ "fields": { "*": { "field": "fd_nuke_gas", "chance": 3, "intensity": 2, "age": 0 } },
"monster": { "Z": { "monster": "mon_turret_rifle" } }
}
}
diff --git a/data/mods/mapspecials_demo/missile_silo/silo_ftlc_01.json b/data/mods/mapspecials_demo/missile_silo/silo_ftlc_01.json
index 79b6e07dfcbe7..fb77de4ce59fc 100644
--- a/data/mods/mapspecials_demo/missile_silo/silo_ftlc_01.json
+++ b/data/mods/mapspecials_demo/missile_silo/silo_ftlc_01.json
@@ -36,7 +36,7 @@
"rotation": 0,
"palettes": [ "missile_silo" ],
"terrain": { "*": "t_metal_floor" },
- "fields": { "*": { "field": "fd_nuke_gas", "chance": 3, "density": 2, "age": 0 } },
+ "fields": { "*": { "field": "fd_nuke_gas", "chance": 3, "intensity": 2, "age": 0 } },
"monster": { "z": { "monster": "mon_zombie_soldier" }, "Z": { "monster": "mon_zombie_bio_op" } }
}
}
diff --git a/data/mods/mapspecials_demo/missile_silo/silo_ftrc_01.json b/data/mods/mapspecials_demo/missile_silo/silo_ftrc_01.json
index c5c71b7c7f8f8..132bf9d937ba5 100644
--- a/data/mods/mapspecials_demo/missile_silo/silo_ftrc_01.json
+++ b/data/mods/mapspecials_demo/missile_silo/silo_ftrc_01.json
@@ -36,7 +36,7 @@
"rotation": 1,
"palettes": [ "missile_silo" ],
"terrain": { "*": "t_metal_floor" },
- "fields": { "*": { "field": "fd_nuke_gas", "chance": 3, "density": 2, "age": 0 } },
+ "fields": { "*": { "field": "fd_nuke_gas", "chance": 3, "intensity": 2, "age": 0 } },
"monster": { "z": { "monster": "mon_zombie_soldier" } }
}
}
diff --git a/data/motd/de.motd b/data/motd/de.motd
index f9eeb3dff790b..83472ffe448c9 100644
--- a/data/motd/de.motd
+++ b/data/motd/de.motd
@@ -4,7 +4,7 @@
Besuch uns:
* Homepage: https://cataclysmdda.org
-* Wiki: http://tools.cataclysmdda.com/wiki
+* Wiki: https://cddawiki.chezzo.com/cdda_wiki
* Melde Bugs, Vorschläge und folge der Entwicklung auf:
https://github.com/CleverRaven/Cataclysm-DDA/issues
diff --git a/data/motd/en.motd b/data/motd/en.motd
index e8e17ec42a5c4..b975a72345f95 100644
--- a/data/motd/en.motd
+++ b/data/motd/en.motd
@@ -4,7 +4,7 @@
Visit us:
* Homepage: https://cataclysmdda.org
-* Wiki: http://tools.cataclysmdda.com/wiki
+* Wiki: https://cddawiki.chezzo.com/cdda_wiki
* Report bugs, suggestion and follow the development at:
https://github.com/CleverRaven/Cataclysm-DDA/issues
@@ -18,3 +18,55 @@ Join the discussion on forums and chats:
Other useful links are also available at our Homepage.
In game you can access the options via the main menu (Esc).
+
+******************************************************************************
+ Disclaimer for the experimental builds:
+******************************************************************************
+Q: What is an experimental build?
+A: The goal of the experimental builds is to be a second tier of quality
+control. It's the frontline where new content is released to be tested and
+balanced after initial quality control. Be aware that by choosing to play
+the latest experimental builds you are participating in the development
+process by literally playtesting the new content, and it is prone to bugs
+and underdeveloped features.
+
+Q: Why are experimental builds even a thing?
+A: Consider it like playing an alpha/beta version - bugs and underdeveloped
+features are part of it. Due to continuous integration rigors, experimental
+builds are always in a state of a constant work in progress. Experimental is
+a sandbox where the bug detecting and feature polishing takes place. Big
+and small features are constantly released to those builds to be checked
+for overall stability and balance. Because of that, experimentals are not
+under the rigor of guaranteeing balance and stability. In fact, nothing
+is guaranteed in the experimental builds.
+
+Q: Are experimental builds playable then?
+A: Yes. But while experimental builds overall are stable, it is also
+not guaranteed as features may be introduced in an underdeveloped
+state, in parts; and may introduce bugs, including severe ones that may
+crash the game or corrupt savegames. It's rare, but due to the complexity
+of the game, the initial quality control before merging with experimental
+build may be inadequate, and there is always room for human error.
+This is why experimental builds exist in the first place.
+
+Q: Should I play experimental builds then, or stick to stable build?
+A: The reward is instant access to the newest content, the risk is losing
+your game progress if a nasty bug emerges. It is always your choice to play
+experimental builds, with a stable build avalaible, so play at your own
+discretion. You take all of the burden if something goes wrong, so be warned.
+Take precautions, make backups. Sometimes it's even best to postpone
+updating for few days until a big feature has been stabilized or
+a significant bug has been removed.
+
+Q: Should I be aware of anything else?
+A: Yes. Remember that everything you see and are about to see is potentially
+subject to change. All features, including newly implemented, are a work in
+progress and may change in the course of game development.
+And, as said previously, nothing is guaranteed, including balance and
+stability.
+
+Q: What if I find the risk of playing experimental build unacceptable?
+A: If the risk is unacceptable - play the stable version. If you are willing
+to take the risk - enjoy the newly added content of the experimental builds
+and partake in development - report bugs, submit suggestions, or even
+contribute your own content to the game. Good luck.
diff --git a/data/motd/es_AR.motd b/data/motd/es_AR.motd
index b885e87c68688..6c74fc4e1b723 100644
--- a/data/motd/es_AR.motd
+++ b/data/motd/es_AR.motd
@@ -14,6 +14,6 @@ Cambios principales de la v0.C Cooper:
Para ver las noticias recientes sobre Cataclysm DDA, por favor, visitá:
Página web: https://cataclysmdda.org
-Wiki: http://tools.cataclysmdda.com/wiki
+Wiki: https://cddawiki.chezzo.com/cdda_wiki
En el juego, podés acceder a las opciones con el menú de ayuda (?2).
diff --git a/data/motd/it_IT.motd b/data/motd/it_IT.motd
index a62064c561dc2..84e5a94445a2d 100644
--- a/data/motd/it_IT.motd
+++ b/data/motd/it_IT.motd
@@ -14,6 +14,6 @@ Contenuti principali in v0.C Cooper:
Per le ultime discussioni e notizie su DDA, si prega di visitare:
Pagina principale: https://cataclysmdda.org
-Wiki: http://tools.cataclysmdda.com/wiki
+Wiki: https://cddawiki.chezzo.com/cdda_wiki
Mentre giochi puoi modificare le opzioni tramite il menù di aiuto (?2)
diff --git a/data/motd/ko.motd b/data/motd/ko.motd
index 58e5fd9f39ec2..cca51f080c533 100644
--- a/data/motd/ko.motd
+++ b/data/motd/ko.motd
@@ -14,6 +14,6 @@ v0.C Cooper 주요 변경점:
Cataclysm DDA에 관한 최신 정보를 원하신다면 다음 사이트를 참고해주세요:
홈페이지: https://cataclysmdda.org
-위키: http://tools.cataclysmdda.com/wiki
+위키: https://cddawiki.chezzo.com/cdda_wiki
도움말을 통하면 게임 안에서도 설정을 변경할 수 있습니다. (?2)
diff --git a/data/motd/pt_BR.motd b/data/motd/pt_BR.motd
index f4784603cc7f6..556e003447872 100644
--- a/data/motd/pt_BR.motd
+++ b/data/motd/pt_BR.motd
@@ -14,6 +14,6 @@ Compatível com os saves das versões 0.A e 0.B.
Para últimas discussões e novidades sobre Cataclysm DDA visite:
Página principal: https://cataclysmdda.org
-Wiki: http://tools.cataclysmdda.com/wiki
+Wiki: https://cddawiki.chezzo.com/cdda_wiki
Em jogo você pode acessar as opções pelo menu de ajuda (? + 2)
diff --git a/data/motd/ru.motd b/data/motd/ru.motd
index 9696ef89d5f02..8c0035fb85256 100644
--- a/data/motd/ru.motd
+++ b/data/motd/ru.motd
@@ -4,7 +4,7 @@
Полезные ссылки:
* Официальный сайт: https://cataclysmdda.org
-* Вики: http://tools.cataclysmdda.com/wiki
+* Вики: https://cddawiki.chezzo.com/cdda_wiki
Сообщайте о багах, выдвигайте предложения и следите за разработкой:
* GitHub: https://github.com/CleverRaven/Cataclysm-DDA/issues
diff --git a/data/motd/zh_CN.motd b/data/motd/zh_CN.motd
index 02efe9f5cc173..fe18a7603b026 100644
--- a/data/motd/zh_CN.motd
+++ b/data/motd/zh_CN.motd
@@ -14,6 +14,6 @@
若要了解该游戏的最新消息和讨论,请浏览以下网页:
主页:https://cataclysmdda.org
-百科:http://tools.cataclysmdda.com/wiki
+百科:https://cddawiki.chezzo.com/cdda_wiki
在游戏中你可以通过帮助菜单查看游戏设置。(?2)
diff --git a/data/motd/zh_TW.motd b/data/motd/zh_TW.motd
index 043fb38d128fa..cb2e30587ce84 100644
--- a/data/motd/zh_TW.motd
+++ b/data/motd/zh_TW.motd
@@ -14,6 +14,6 @@
需要烏日到站最新的新聞與討論,請拜訪:
首頁: https://cataclysmdda.org
-維基: http://tools.cataclysmdda.com/wiki
+維基: https://cddawiki.chezzo.com/cdda_wiki
在遊戲中你能夠透過說明選單來存取選項(?2)。
diff --git a/data/xdg/cataclysm-dda.appdata.xml b/data/xdg/cataclysm-dda.appdata.xml
index 8cb17265d25e3..f36340c013185 100644
--- a/data/xdg/cataclysm-dda.appdata.xml
+++ b/data/xdg/cataclysm-dda.appdata.xml
@@ -14,15 +14,7 @@
to giant insects to killer robots and things far stranger and deadlier, and against the others like
yourself, that want what you have...
-
-
- http://www.cataclysmdda.com/assets/drive.png
-
-
- http://www.cataclysmdda.com/assets/status.png
-
-
- http://www.cataclysmdda.com/
+ https://www.cataclysmdda.org/
https://github.com/CleverRaven/Cataclysm-DDA/issues
https://www.transifex.com/cataclysm-dda-translators/cataclysm-dda/
cataclysm-dda.desktop
diff --git a/doc/DEVELOPER_TOOLING.md b/doc/DEVELOPER_TOOLING.md
index da14ff0b69237..64d5e39087194 100644
--- a/doc/DEVELOPER_TOOLING.md
+++ b/doc/DEVELOPER_TOOLING.md
@@ -9,6 +9,56 @@ On Windows, there is an astyle extension for Visual Studio.
See the [JSON style guide](JSON_STYLE.md).
+## clang-tidy
+
+Cataclysm has a [clang-tidy configuration file](../.clang-tidy) and if you have
+`clang-tidy` available you can run it to perform static analysis of the
+codebase. We test with `clang-tidy` from LLVM 8.0.1 on Travis, so for the most
+consistent results, you might want to use that version.
+
+### Custom clang-tidy plugin
+
+We have written our own clang-tidy checks in a custom plugin. Unfortunately,
+`clang-tidy` as distributed by LLVM doesn't support plugins, so making this
+work requires some extra steps.
+
+If you are on Ubuntu Xenial then you might be able to get it working the same
+way Travis does. Add the LLVM 8 Xenial source [listed
+here](https://apt.llvm.org/) to your `sources.list`, install the `clang-8
+libclang-8-dev llvm-8-dev llvm-8-tools` packages and build Cataclysm with CMake
+adding `-DCATA_CLANG_TIDY_PLUGIN=ON`.
+
+On other distributions you will probably need to build `clang-tidy` yourself.
+* Check out the `llvm`, `clang`, and `clang-tools-extra` repositories in the
+ required layout (as described for example
+ [here](https://quuxplusone.github.io/blog/2018/04/16/building-llvm-from-source/).
+* Patch in plugin support for `clang-tidy` using [this
+ patch](https://github.com/jbytheway/clang-tidy-plugin-support/blob/master/plugin-support.patch).
+* Configure LLVM using CMake, including the
+ `-DCMAKE_EXE_LINKER_FLAGS="-rdynamic"` option.
+* Add the `build/bin` directory to your path so that `clang-tidy` and
+ `FileCheck` are found from there.
+
+Then you can use your locally build `clang-tidy` to compile Cataclysm. You'll
+need to use the CMake version of the Cataclysm build rather than the `Makefile`
+build. Add the following CMake options:
+```sh
+-DCATA_CLANG_TIDY_PLUGIN=ON
+-DCATA_CLANG_TIDY_INCLUDE_DIR="$extra_dir/clang-tidy"
+-DCATA_CHECK_CLANG_TIDY="$extra_dir/test/clang-tidy/check_clang_tidy.py"
+```
+where `$extra_dir` is the location of your `clang-tools-extra` checkout.
+
+If you wish to run the tests for the custom clang-tidy plugin you will also
+need `lit`. This will be built as part of `llvm`, or you can install it via
+`pip` or your local package manager if you prefer.
+
+Then, assuming `build` is your Cataclysm build directory, you can run the tests
+with
+```sh
+lit -v build/tools/clang-tidy-plugin/test
+```
+
## include-what-you-use
[include-what-you-use](https://github.com/include-what-you-use/include-what-you-use)
diff --git a/doc/GAME_BALANCE.md b/doc/GAME_BALANCE.md
index ca700547dcb97..fe17908ad61d4 100644
--- a/doc/GAME_BALANCE.md
+++ b/doc/GAME_BALANCE.md
@@ -207,8 +207,8 @@ Ammo ID | Description | Energy, J | Dmg | Base Brl |
9x19mm +P+ | 115gr JHP bullet | 678 | 26 | 5.9in | |
.38 Special | 130gr FMJ bullet | 256 | 16 | 4in | |
.38 FMJ | 130gr FMJ bullet | 256 | 16 | 4in | |
-.38 Super | 90gr JHP bullet | 658 | 26 | 4in | |
-10mm Auto | 180gr FMJ bullet | 575 | 24 | 4in | |
+.38 Super | 147gr JHP bullet | 660 | 26 | 4in | |
+10mm Auto | 180gr FMJ bullet | 960 | 31 | 4in | |
.40 S&W | 135gr JHP bullet | 575 | 24 | 4in | |
.40 FMJ | 180gr FMJ bullet | 598 | 24 | 4in | |
.44 Magnum | 240gr JHP bullet | 1570 | 40 | 7.5in | |
@@ -216,6 +216,7 @@ Ammo ID | Description | Energy, J | Dmg | Base Brl |
.45 ACP FMJ | 230gr FMJ bullet | 447 | 21 | 5in | |
.45 ACP +P | 200gr JHP bullet | 702 | 26 | 5in | |
.454 Casull | 300gr JSP bullet | 2459 | 50 | 7.5in | |
+.45 Colt JHP | 250gr JHP bullet | 610 | 25 | 7.5in | |
.500 S&W Magnum | 500gr bullet | 3056 | 55 | 8.4in | |
4.6x30mm | 31gr copper plated steel bullet | 505 | 22 | 7.1in | damage reduced by 4 |
5.7x28mm SS190 | 31gr AP FMJ bullet | 534 | 23 | 10.4in | damage reduced by 3 |
@@ -240,6 +241,7 @@ Ammo ID | Description | Energy, J | Dmg | Base Brl |
.50 BMG Ball | 750gr FMJ-BT bullet | 17083 | 131 | 45in | |
.50 BMG M33 Ball | 706.7gr bullet | 18013 | 134 | 45in | |
.50 BMG M903 SLAP | 355gr tungsten AP bullet | 17083 | 131 | 45in | Can't be used with M107A1 |
+.410 000 shot | 5 000 pellets | 1530 | 39 | 18in | |
# LIQUIDS:
Multi-charge items are weighed by the charge/use. If you have an item that contains 40 uses, it'll weigh 40x as much (when found in-game) as you entered in the JSON. Liquids are priced by the 250mL unit, but handled in containers. This can cause problems if you create something that comes in (say) a gallon jug (15 charges) and price it at the cost of a jug's worth: it'll be 15x as expensive as intended.
diff --git a/doc/JSON_FLAGS.md b/doc/JSON_FLAGS.md
index 0dc0dc1a48957..ffcd50e1f7f46 100644
--- a/doc/JSON_FLAGS.md
+++ b/doc/JSON_FLAGS.md
@@ -239,6 +239,7 @@ Some armor flags, such as `WATCH` and `ALARMCLOCK` are compatible with other ite
- ```HELMET_COMPAT``` Items that are not SKINTIGHT or OVERSIZE but can be worn with a helmet.
- ```HOOD``` Allow this clothing to conditionally cover the head, for additional warmth or water protection., if the player's head isn't encumbered
- ```HYGROMETER``` This gear is equipped with an accurate hygrometer (which is used to measure humidity).
+- ```NO_TAKEOFF``` Item with that flag can't be taken off.
- ```NO_QUICKDRAW``` Don't offer to draw items from this holster when the fire key is pressed whilst the players hands are empty
- ```ONLY_ONE``` You can wear only one.
- ```OUTER``` Outer garment layer.
@@ -1099,8 +1100,9 @@ These branches are also the valid entries for the categories of `dreams` in `dre
### Flags
- ```ALLOW_ROTTEN``` Explicitly allow rotten components when crafting non-perishables.
-- ```BLIND_EASY``` Easy to craft with little to no light
-- ```BLIND_HARD``` Possible to craft with little to no light, but difficult
+- ```BLIND_EASY``` Easy to craft with little to no light.
+- ```BLIND_HARD``` Possible to craft with little to no light, but difficult.
+- ```SECRET``` Not automatically learned at character creation time based on high skill levels.
- ```UNCRAFT_LIQUIDS_CONTAINED``` Spawn liquid items in its default container.
- ```UNCRAFT_SINGLE_CHARGE``` Lists returned amounts for one charge of an item that is counted by charges.
- ```FULL_MAGAZINE``` If this recipe requires magazines, it needs one that is full. For deconstruction recipes, it will spawn a full magazine when deconstructed.
diff --git a/doc/JSON_INFO.md b/doc/JSON_INFO.md
index f24cbd6efc8c2..dc801a86810f0 100644
--- a/doc/JSON_INFO.md
+++ b/doc/JSON_INFO.md
@@ -172,6 +172,7 @@ Currently, only effect names, item action names, and item category names support
| description | In-game description.
| canceled_mutations | (_optional_) A list of mutations/traits that are removed when this bionic is installed (e.g. because it replaces the fault biological part).
| included_bionics | (_optional_) Additional bionics that are installed automatically when this bionic is installed. This can be used to install several bionics from one CBM item, which is useful as each of those can be activated independently.
+| included | (_optional_) Whether this bionic is included with another. If true this bionic does not require a CBM item to be defined. (default: `false`)
```C++
{
@@ -189,6 +190,7 @@ Currently, only effect names, item action names, and item category names support
```
Bionics effects are defined in the code and new effects cannot be created through JSON alone.
+When adding a new bionic, if it's not included with another one, you must also add the corresponding CBM item in `data/json/items/bionics.json`. Even for a faulty bionic.
### Dreams
@@ -1370,6 +1372,7 @@ The contents of use_action fields can either be a string indicating a built-in f
"need_fire_msg": "You need a lighter!", // Message to display if there is no fire.
"need_charges": 1, // Number of charges the item needs to transform.
"need_charges_msg": "The lamp is empty.", // Message to display if there aren't enough charges.
+ "need_worn": true; // Whether the item needs to be worn to be transformed, is false by default.
"target_charges" : 3, // Number of charges the transformed item has.
"rand_target_charges: [10, 15, 25], // Randomize the charges the transformed item has. This example has a 50% chance of rng(10, 15) charges and a 50% chance of rng(15, 25) (The endpoints are included)
"container" : "jar", // Container holding the target item.
diff --git a/doc/MAGIC.md b/doc/MAGIC.md
index 269c99e3fcad6..8d55c2d9ec392 100644
--- a/doc/MAGIC.md
+++ b/doc/MAGIC.md
@@ -18,7 +18,7 @@ In `data/mods/Magiclysm` there is a template spell, copied here for your perusal
"spell_class": "NONE" //
"base_casting_time": 100, // this is the casting time (in moves)
"base_energy_cost": 10, // the amount of energy (of the requisite type) to cast the spell
- "energy_source": "MANA", // the type of energy used to cast the spell. types are: MANA, BIONIC, HP, STAMINA, NONE (none will not use mana)
+ "energy_source": "MANA", // the type of energy used to cast the spell. types are: MANA, BIONIC, HP, STAMINA, FATIGUE, NONE (none will not use mana)
"difficulty": 12, // the difficulty to learn/cast the spell
"max_level": 10, // maximum level you can achieve in the spell
"min_damage": 0, // minimum damage (or "starting" damage)
diff --git a/doc/NPCs.md b/doc/NPCs.md
index c4abfe14d0782..641fbbf05e913 100644
--- a/doc/NPCs.md
+++ b/doc/NPCs.md
@@ -441,11 +441,11 @@ Effect | Description
`give_equipment` | Allows your character to select items from the NPC's inventory and transfer them to your inventory.
`npc_gets_item` | Allows your character to select an item from your character's inventory and transfer it to the NPC's inventory. The NPC will not accept it if they do not have space or weight to carry it, and will set a reason that can be referenced in a future dynamic line with `"use_reason"`.
`npc_gets_item_to_use` | Allow your character to select an item from your character's inventory and transfer it to the NPC's inventory. The NPC will attempt to wield it and will not accept it if it is too heavy or is an inferior weapon to what they are currently using, and will set a reason that can be referenced in a future dynamic line with `"use_reason"`.
-`u_buy_item: item_string`, (*optional* `cost: cost_num`, *optional* `count: count_num`, *optional* `container: container_string`) | The NPC will give your character the item or `count_num` copies of the item, contained in container, and will remove `cost_num` from your character's cash if specified.
If cost isn't present, the NPC gives your character the item at no charge.
-`u_sell_item: item_string`, (*optional* `cost: cost_num`, *optional* `count: count_num`) | Your character will give the NPC the item or `count_num` copies of the item, and will add `cost_num` to your character's cash if specified.
If cost isn't present, the your character gives the NPC the item at no charge.
This effect will fail if you do not have at least `count_num` copies of the item, so it should be checked with `u_has_items`.
-`u_bulk_trade_accept`
`npc_bulk_trade_accept` | Only valid after a `repeat_response`. The player trades all instances of the item from the `repeat_response` with the NPC. For `u_bulk_trade_accept`, the player loses the items from their inventory and gains cash; for `npc_bulk_trade_accept`, the player gains the items from the NPC's inventory and loses cash.
+`u_buy_item: item_string`, (*optional* `cost: cost_num`, *optional* `count: count_num`, *optional* `container: container_string`) | The NPC will give your character the item or `count_num` copies of the item, contained in container, and will subtract `cost_num` from `op_of_u.owed` if specified. If the `op_o_u.owed` is less than `cost_num`, the trade window will open and the player will have to trade to make up the difference; the NPC will not give the player the item unless `cost_num` is satisfied.
If cost isn't present, the NPC gives your character the item at no charge.
+`u_sell_item: item_string`, (*optional* `cost: cost_num`, *optional* `count: count_num`) | Your character will give the NPC the item or `count_num` copies of the item, and will add `cost_num` to the NPC's `op_of_u.owed` if specified.
If cost isn't present, the your character gives the NPC the item at no charge.
This effect will fail if you do not have at least `count_num` copies of the item, so it should be checked with `u_has_items`.
+`u_bulk_trade_accept`
`npc_bulk_trade_accept` | Only valid after a `repeat_response`. The player trades all instances of the item from the `repeat_response` with the NPC. For `u_bulk_trade_accept`, the player loses the items from their inventory and gains the same value of the NPC's faction currecy; for `npc_bulk_trade_accept`, the player gains the items from the NPC's inventory and loses the same value of the NPC's faction currency. If there is remaining value, or the NPC doesn't have a faction currency, the remainder goes into the NPC's `op_of_u.owed`.
`u_bulk_donate`
`npc_bulk_donate` | Only valid after a `repeat_response`. The player or NPC transfers all instances of the item from the `repeat_response`. For `u_bulk_donate`, the player loses the items from their inventory and the NPC gains them; for `npc_bulk_donate`, the player gains the items from the NPC's inventory and the NPC loses them.
-`u_spend_cash: cost_num` | Remove `cost_num` from your character's cash. Negative values means your character gains cash.
+`u_spend_cash: cost_num` | Remove `cost_num` from your character's cash. Negative values means your character gains cash. *deprecated* NPCs should not deal in e-cash anymore, only personal debts and items.
`add_debt: mod_list` | Increases the NPC's debt to the player by the values in the `mod_list`.
The following would increase the NPC's debt to the player by 1500x the NPC's altruism and 1000x the NPC's opinion of the player's value: `{ "effect": { "add_debt": [ [ "ALTRUISM", 3 ], [ "VALUE", 2 ], [ "TOTAL", 500 ] ] } }`
`u_consume_item`, `npc_consume_item: item_string`, (*optional* `count: count_num`) | You or the NPC will delete the item or `count_num` copies of the item from their inventory.
This effect will fail if the you or NPC does not have at least `count_num` copies of the item, so it should be checked with `u_has_items` or `npc_has_items`.
`u_remove_item_with`, `npc_remove_item_with: item_string` | You or the NPC will delete any instances of item in inventory.
This is an unconditional remove and will not fail if you or the NPC does not have the item.
@@ -565,7 +565,8 @@ Condition | Type | Description
#### Player Only conditions
`"u_has_mission"` | string | `true` if the mission is assigned to the player character.
-`"u_has_cash"` | int | `true` if the player character has at least `u_has_cash` cash available. Used to check if the PC can buy something.
+`"u_has_cash"` | int | `true` if the player character has at least `u_has_cash` cash available. *Deprecated* Previously used to check if the player could buy something, but NPCs shouldn't use e-cash for trades anymore.
+`"u_are_owed"` | int | `true` if the NPC's op_of_u.owed is at least `u_are_owed`. Can be used to check if the player can buy something from the NPC without needing to barter anything.
`"u_has_camp"` | simple string | `true` is the player has one or more active base camps.
#### Player and NPC interaction conditions
diff --git a/doc/cataclysm-tiles.6 b/doc/cataclysm-tiles.6
index f6ed83afe84b1..ab4e8bfa1409f 100644
--- a/doc/cataclysm-tiles.6
+++ b/doc/cataclysm-tiles.6
@@ -91,6 +91,6 @@ Please submit bug reports to
.Sh AUTHORS
.An Kevin Granade Aq Mt kevin.granade@gmail.com
.Sh SEE ALSO
-.Lk http://www.cataclysmdda.com/ Homepage
+.Lk https://cataclysmdda.org/ Homepage
.Lk https://discourse.cataclysmdda.org/ Forums
.Lk https://github.com/CleverRaven/Cataclysm-DDA GitHub
diff --git a/doc/cataclysm.6 b/doc/cataclysm.6
index f1f8e8181b451..7b4dad7080261 100644
--- a/doc/cataclysm.6
+++ b/doc/cataclysm.6
@@ -89,6 +89,6 @@ Please submit bug reports to
.Sh AUTHORS
.An Kevin Granade Aq Mt kevin.granade@gmail.com
.Sh SEE ALSO
-.Lk http://www.cataclysmdda.com/ Homepage
+.Lk https://cataclysmdda.org/ Homepage
.Lk https://discourse.cataclysmdda.org/ Forums
.Lk https://github.com/CleverRaven/Cataclysm-DDA GitHub
diff --git a/gfx/HitButton_iso/HitButton_iso.png b/gfx/HitButton_iso/HitButton_iso.png
index 754bedc426e2e..c0d2c13873d24 100644
Binary files a/gfx/HitButton_iso/HitButton_iso.png and b/gfx/HitButton_iso/HitButton_iso.png differ
diff --git a/gfx/HitButton_iso/tile_config.json b/gfx/HitButton_iso/tile_config.json
index 90c7e00048804..665f5d23e7087 100644
--- a/gfx/HitButton_iso/tile_config.json
+++ b/gfx/HitButton_iso/tile_config.json
@@ -40,6 +40,14 @@
"id": ["player_male" ],
"fg": 6
},
+ {
+ "id": ["overlay_male_run", "overlay_female_run" ],
+ "fg": 2501
+ },
+ {
+ "id": ["overlay_male_crouch", "overlay_female_crouch" ],
+ "fg": 2502
+ },
{
"id": ["unknown", "null", "t_null", "tr_null", "f_null", "fd_null", "vp_null", "apparatus", "bio_blade_weapon", "bio_blaster_gun", "bio_claws_weapon", "bio_eye_optic", "bio_laser_gun", "bio_lightning", "pseuso_bio_picklock", "software_blood_data", "software_hacking", "software_math", "software_medical", "software_useless", "testflames", "toolset", "generic_no_ammo", "cvd_machine", "muscle", "vp_pointer_fake_ammo", "vp_pseuso_bio_picklock", "vp_null", "vp_tracker", "vp_aisle_lights", "vp_roof_cloth", "vp_roof", "vp_hdroof", "vp_engine_1cyl", "vp_engine_vtwin", "vp_engine_inline4", "vp_engine_v6", "vp_engine_v8", "vp_engine_v12", "vp_diesel_engine_v6", "vp_diesel_engine_v8", "vp_diesel_engine_i6", "vp_engine_electric", "vp_engine_electric_enhanced", "vp_engine_electric_large", "vp_engine_electric_small", "vp_engine_plasma", "vp_foot_pedals", "vp_hand_rims", "vp_gas_tank_small", "vp_gas_tank", "vp_napalm_tank", "vp_gas_tank_little", "vp_diesel_tank_small", "vp_diesel_tank", "vp_diesel_tank_little", "vp_small_storage_battery", "vp_medium_storage_battery", "vp_storage_battery_mount", "vp_storage_battery_removable", "vp_storage_battery", "vp_minireactor", "vp_hydrogen_tank", "vp_water_tank_small", "vp_water_tank_little", "vp_water_tank", "vp_water_dirty_tank_small", "vp_water_dirty_tank_little", "vp_water_dirty_tank", "vp_water_tank_barrel", "vp_controls", "vp_controls_electronic", "vp_muffler", "vp_seatbelt", "vp_vehicle_alarm", "vp_seatbelt_heavyduty", "vp_v_curtain", "vp_aisle_curtain", "vp_water_faucet", "vp_plating_wood", "vp_plating_steel", "vp_plating_superalloy", "vp_plating_spiked", "vp_plating_hard", "vp_plating_military", "vp_headlight", "vp_headlight_reinforced", "vp_horn_bicycle", "vp_horn_car", "vp_horn_big", "vp_beeper", "vp_battery_motorbike", "vp_battery_car", "vp_alternator_motorbike", "vp_alternator_car", "vp_alternator_truck", "vp_generator_7500w", "vp_inboard_mirror", "vp_stereo", "vp_engine_1cyl_small", "vp_jumper_cable", "vp_jumper_cable_heavy", "vp_jumper_cable_debug", "vp_roof_wood", "vp_plating_chitin", "vp_plating_bone", "vp_metal_wheel", "vp_mounted_rm614", "vp_mounted_rm298", "vp_door_motor", "vp_drive_by_wire_controls", "vp_cam_control", "vp_atomic_lamp", "vp_atomic_light", "vp_vehicle_clock", "fake_UPS", "fire", "money", "pointer_fake_ammo" ],
"//": "pseudo-items / stuff that shouldn't exist go here.",
@@ -8594,12 +8602,36 @@
"id": ["t_grass_tall"],
"fg": 2500
},
+ {
+ "id": ["mon_zombie_brainless"],
+ "fg": 2503
+ },
{
"id": ["t_window_bars" ],
"multitile": true,
"height_3d": 2,
"fg": [ 2496, 2497 ]
},
+ {
+ "id": ["foodperson_mask"],
+ "fg": 2504
+ },
+ {
+ "id": ["overlay_worn_foodperson_mask"],
+ "fg": 2505
+ },
+ {
+ "id": ["overlay_worn_foodperson_mask_on"],
+ "fg": 2506
+ },
+ {
+ "id": ["cape_fp"],
+ "fg": 2507
+ },
+ {
+ "id": ["overlay_worn_cape_fp"],
+ "fg": 2508
+ },
{
"id": ["highlight_item" ],
"fg": 9
diff --git a/gfx/MSX++DeadPeopleEdition/14_tiles2_32x32_22365-27564.png b/gfx/MSX++DeadPeopleEdition/14_tiles2_32x32_22365-27564.png
index c5182ada0251b..2524c04570d73 100644
Binary files a/gfx/MSX++DeadPeopleEdition/14_tiles2_32x32_22365-27564.png and b/gfx/MSX++DeadPeopleEdition/14_tiles2_32x32_22365-27564.png differ
diff --git a/gfx/MSX++DeadPeopleEdition/17_top_hats_32x32-33165-35756.png b/gfx/MSX++DeadPeopleEdition/17_top_hats_32x32-33165-35756.png
index ee16b384aa871..d93b81e9c7ae4 100644
Binary files a/gfx/MSX++DeadPeopleEdition/17_top_hats_32x32-33165-35756.png and b/gfx/MSX++DeadPeopleEdition/17_top_hats_32x32-33165-35756.png differ
diff --git a/gfx/MSX++DeadPeopleEdition/18_big_things_64x80_35757.png b/gfx/MSX++DeadPeopleEdition/18_big_things_64x80_35757.png
index 60087ccbfe6ee..2d21bec397e68 100644
Binary files a/gfx/MSX++DeadPeopleEdition/18_big_things_64x80_35757.png and b/gfx/MSX++DeadPeopleEdition/18_big_things_64x80_35757.png differ
diff --git a/gfx/MSX++DeadPeopleEdition/1_tiles_32x32_0-5199.png b/gfx/MSX++DeadPeopleEdition/1_tiles_32x32_0-5199.png
index 8d9ff3856505e..af03311a705d3 100644
Binary files a/gfx/MSX++DeadPeopleEdition/1_tiles_32x32_0-5199.png and b/gfx/MSX++DeadPeopleEdition/1_tiles_32x32_0-5199.png differ
diff --git a/gfx/MSX++DeadPeopleEdition/3_tree_64x80_5392-5471.png b/gfx/MSX++DeadPeopleEdition/3_tree_64x80_5392-5471.png
index 38544beea5b0e..aeb21cbb1e9c3 100644
Binary files a/gfx/MSX++DeadPeopleEdition/3_tree_64x80_5392-5471.png and b/gfx/MSX++DeadPeopleEdition/3_tree_64x80_5392-5471.png differ
diff --git a/gfx/MSX++DeadPeopleEdition/8_tiles-monster-variants_32x32_11652-16851.png b/gfx/MSX++DeadPeopleEdition/8_tiles-monster-variants_32x32_11652-16851.png
index 816aad6106b1b..1a163b85e680c 100644
Binary files a/gfx/MSX++DeadPeopleEdition/8_tiles-monster-variants_32x32_11652-16851.png and b/gfx/MSX++DeadPeopleEdition/8_tiles-monster-variants_32x32_11652-16851.png differ
diff --git a/gfx/MSX++DeadPeopleEdition/9_tiles-connected_32x32_16852-22051.png b/gfx/MSX++DeadPeopleEdition/9_tiles-connected_32x32_16852-22051.png
index ec919aeccc65f..750136169ccb0 100644
Binary files a/gfx/MSX++DeadPeopleEdition/9_tiles-connected_32x32_16852-22051.png and b/gfx/MSX++DeadPeopleEdition/9_tiles-connected_32x32_16852-22051.png differ
diff --git a/gfx/MSX++DeadPeopleEdition/tile_config.json b/gfx/MSX++DeadPeopleEdition/tile_config.json
index e4c1b1348b073..27ebfb82b0019 100644
--- a/gfx/MSX++DeadPeopleEdition/tile_config.json
+++ b/gfx/MSX++DeadPeopleEdition/tile_config.json
@@ -23,7 +23,10 @@
"fake_milling_item",
"fake_burrowing",
"f_lilypad_season_winter",
- "f_lotus_season_winter"
+ "f_lotus_season_winter",
+ "animal",
+ "bio_powershot",
+ "f_no_item"
],
"fg": 0,
@@ -46658,7 +46661,7 @@
"rotates": false
},
{
- "id": ["357", "357_mag", "357_magn"],
+ "id": ["357", "357_mag", "357_magn", "357mag_fmj", "357mag_jhp", "reloaded_357mag_fmj", "reloaded_357mag_jhp"],
"fg": 18,
"bg": 957,
"rotates": false
@@ -46794,7 +46797,7 @@
"bg": 957
},
{
- "id": "38_fmj",
+ "id": ["38_fmj", "38super_fmj", "reloaded_38super_fmj"],
"fg": 33,
"bg": 957,
"rotates": false
@@ -46902,7 +46905,7 @@
"rotates": false
},
{
- "id": "45_long_colt",
+ "id": ["45_long_colt", "45colt_jhp", "reloaded_45colt_jhp"],
"fg": 49,
"bg": 957,
"rotates": false
@@ -47153,7 +47156,7 @@
"rotates": false
},
{
- "id": "9mmfmj",
+ "id": ["9mmfmj", "bp_9mm", "bp_9mmfmj"],
"fg": 86,
"bg": 957,
"rotates": false
@@ -47779,7 +47782,7 @@
"fg": 169
},
{
- "id": "reloaded_10mm",
+ "id": ["reloaded_10mm", "10mm_fmj", "reloaded_10mm_fmj"],
"fg": 170,
"bg": 957,
"rotates": false
@@ -48120,7 +48123,7 @@
"rotates": false
},
{
- "id": "410_shot",
+ "id": ["410_shot", "410shot_000", "reloaded_410shot_000"],
"fg": 9,
"bg": 957,
"rotates": false
@@ -48238,7 +48241,7 @@
"bg": 957
},
{
- "id": "shot_00",
+ "id": ["shot_00", "bp_shot_00"],
"fg": 223,
"bg": 957,
"rotates": false
@@ -48256,13 +48259,13 @@
"rotates": false
},
{
- "id": "shot_bird",
+ "id": ["shot_bird", "bp_shot_bird"],
"fg": 225,
"bg": 957,
"rotates": false
},
{
- "id": "shot_flechette",
+ "id": ["shot_flechette", "bp_shot_flechette"],
"fg": 226,
"bg": 957,
"rotates": false
@@ -48274,7 +48277,7 @@
"rotates": false
},
{
- "id": "shot_slug",
+ "id": ["shot_slug", "bp_shot_slug"],
"fg": 227,
"bg": 957
},
@@ -53803,19 +53806,19 @@
"rotates": false
},
{
- "id": ["38_casing", "3030_casing"],
+ "id": ["38_casing", "3030_casing", "38super_casing"],
"fg": 1612,
"bg": 957,
"rotates": false
},
{
- "id": ["45lc_casing", "460_casing"],
+ "id": ["45lc_casing", "460_casing", "45colt_casing"],
"fg": 1612,
"bg": 957,
"rotates": false
},
{
- "id": ["357sig_casing", "357_casing"],
+ "id": ["357sig_casing", "357_casing", "357mag_casing"],
"fg": 1612,
"bg": 957,
"rotates": false
@@ -54469,7 +54472,7 @@
"rotates": false
},
{
- "id": ["char_kiln", "kiln", "kilnrig", "vp_veh_kiln"],
+ "id": ["char_kiln", "kiln", "kilnrig", "vp_veh_kiln", "fake_char_kiln"],
"fg": 1706,
"bg": 957,
"rotates": false
@@ -54744,7 +54747,7 @@
"rotates": false
},
{
- "id": "forge",
+ "id": ["forge", "fake_forge"],
"fg": 3534,
"bg": 957,
"rotates": false
@@ -61319,6 +61322,12 @@
"fg": 1544,
"bg": 967,
"rotates": false
+ },
+ {
+ "id": "t_cactus",
+ "fg": 1544,
+ "bg": 3215,
+ "rotates": false
},
{
"id": "mon_amigara_horror",
@@ -69298,7 +69307,7 @@
"rotates": false
},
{
- "id": ["milk", "rice_milk", "milkshake", "milkshake_deluxe", "milkshake_fastfood", "almond_milk", "soy_milk", "milk_reconstituted"],
+ "id": ["milk", "rice_milk", "milkshake", "milkshake_deluxe", "milkshake_fastfood", "almond_milk", "soy_milk", "milk_reconstituted", "milk_raw", "milk_evap", "milk_UHT"],
"fg": 1153,
"rotates": false
},
@@ -71686,7 +71695,7 @@
"fg": 1512
},
{
- "id": "f_floor_canvas",
+ "id": ["f_floor_canvas", "f_punching_bag"],
"fg": 1513,
"rotates": false
},
@@ -72304,7 +72313,7 @@
"rotates": false
},
{
- "id": "57mm_casing",
+ "id": ["57mm_casing", "4570_casing"],
"fg": 1620,
"rotates": false
},
@@ -72323,7 +72332,7 @@
"fg": 1622
},
{
- "id": ["9mm_casing", ".380_casing"],
+ "id": ["9mm_casing", ".380_casing", "10mm_casing"],
"fg": 1623,
"rotates": false
},
@@ -73825,7 +73834,7 @@
"rotates": false
},
{
- "id": "shot_hull",
+ "id": ["shot_hull", "410shot_hull"],
"fg": 1917,
"rotates": false
},
@@ -80196,10 +80205,6 @@
"fg": 2070,
"rotates": false
},
- {
- "id": "rm11b_sniper_rifle",
- "fg": 2073
- },
{
"id": ["overlay_wielded_2_shot_special", "overlay_wielded_hs_semi"],
"fg": 2074,
@@ -85291,7 +85296,7 @@
]
},
{
- "id": "t_searth_test",
+ "id": ["t_searth_test", "t_searth"],
"fg": 3227,
"bg": 3215,
"rotates": false,
@@ -93677,41 +93682,75 @@
"id": "mon_spinosaurus",
"fg": 5456,
"rotates": false
+ },
+ {
+ "id": "corpse_mon_spinosaurus",
+ "fg": 5457,
+ "rotates": false
},
{
"id": "mon_tyrannosaurus",
"fg": 5458,
"rotates": false
+ }, {
+ "id": "corpse_mon_tyrannosaurus",
+ "fg": 5459,
+ "rotates": false
},
{
"id": "mon_triceratops",
"fg": 5460,
"rotates": false
+ }, {
+ "id": "corpse_mon_triceratops",
+ "fg": 5461,
+ "rotates": false
},
{
"id": "mon_stegosaurus",
"fg": 5462,
"rotates": false
+ }, {
+ "id": "corpse_mon_stegosaurus",
+ "fg": 5463,
+ "rotates": false
},
{
"id": "mon_ankylosaurus",
"fg": 5464,
"rotates": false
+ }, {
+ "id": "corpse_mon_ankylosaurus",
+ "fg": 5465,
+ "rotates": false
},
{
"id": "mon_allosaurus",
"fg": 5466,
"rotates": false
+ }, {
+ "id": "corpse_mon_allosaurus",
+ "fg": 5467,
+ "rotates": false
},
{
"id": "mon_parasaurolophus",
"fg": 5468,
"rotates": false
+ }, {
+ "id": "corpse_mon_parasaurolophus",
+ "fg": 5469,
+ "rotates": false
},
{
"id": "mon_utahraptor",
"fg": 5470,
"rotates": false
+ },
+ {
+ "id": "corpse_mon_utahraptor",
+ "fg": 5471,
+ "rotates": false
}
]
@@ -95539,7 +95578,30 @@
],
"bg": 967,
"rotates": false
- }
+ },
+ {
+ "id": "mon_zombie_dancer",
+ "fg": [
+ { "weight":111, "sprite":2700},
+ { "weight":111, "sprite":12196},
+ { "weight":111, "sprite":12197},
+ { "weight":111, "sprite":12198},
+ { "weight":111, "sprite":12199},
+ { "weight":111, "sprite":12200},
+ { "weight":111, "sprite":12201},
+ { "weight":111, "sprite":12202},
+ { "weight":111, "sprite":12203},
+ { "weight":111, "sprite":12205},
+ { "weight":111, "sprite":12206},
+ { "weight":111, "sprite":12207},
+ { "weight":111, "sprite":12208},
+ { "weight":111, "sprite":12209},
+ { "weight":111, "sprite":12210},
+ { "weight":111, "sprite":12211}
+ ],
+ "bg": 967,
+ "rotates": false
+ }
]
},
@@ -98801,7 +98863,7 @@
"rotates": false
},
{
- "id": ["t_sand"],
+ "id": ["t_sand", "t_sand_singing", "t_sanddune"],
"fg": 17540,
"multitile": true,
@@ -101754,7 +101816,7 @@
"rotates": false
},
{
- "id": "t_wall_metal",
+ "id": ["t_wall_metal", "t_secretdoor_metal_c"],
"fg": 18628,
"bg": 993,
"rotates": false,
@@ -103345,6 +103407,551 @@
}
],
"rotates": false
+ },
+ {
+ "id": "f_sandbag_half",
+ "fg": 19252,
+ "bg": 0,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "center",
+ "fg": 19252,
+ "bg": 0
+ },
+ {
+ "id": "corner",
+ "fg": [19253, 19254, 19255, 19256],
+ "bg": 0
+ },
+ {
+ "id": "t_connection",
+ "fg": [19257, 19258, 19259, 19260],
+ "bg": 0
+ },
+ {
+ "id": "edge",
+ "fg": [19261, 19262],
+ "bg": 0
+ },
+ {
+ "id": "end_piece",
+ "fg": [19263, 19264, 19265, 19266],
+ "bg": 0
+ },
+ {
+ "id": "unconnected",
+ "fg": 19267,
+ "bg": 0
+ }
+ ],
+ "rotates": false
+ },
+ {
+ "id": "f_sandbag_wall",
+ "fg": 19268,
+ "bg": 0,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "center",
+ "fg": 19268,
+ "bg": 0
+ },
+ {
+ "id": "corner",
+ "fg": [19269, 19270, 19271, 19272],
+ "bg": 0
+ },
+ {
+ "id": "t_connection",
+ "fg": [19273, 19274, 19275, 19276],
+ "bg": 0
+ },
+ {
+ "id": "edge",
+ "fg": [19277, 19278],
+ "bg": 0
+ },
+ {
+ "id": "end_piece",
+ "fg": [19279, 19280, 19281, 19282],
+ "bg": 0
+ },
+ {
+ "id": "unconnected",
+ "fg": 19283,
+ "bg": 0
+ }
+ ],
+ "rotates": false
+ },
+ {
+ "id": "t_breach_stone_fake",
+ "fg": 19284,
+ "bg": 0,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "center",
+ "fg": 19284,
+ "bg": 0
+ },
+ {
+ "id": "corner",
+ "fg": [19285, 19286, 19287, 19288],
+ "bg": 0
+ },
+ {
+ "id": "t_connection",
+ "fg": [19289, 19290, 19291, 19292],
+ "bg": 0
+ },
+ {
+ "id": "edge",
+ "fg": [19293, 19294],
+ "bg": 0
+ },
+ {
+ "id": "end_piece",
+ "fg": [19295, 19296, 19297, 19298],
+ "bg": 0
+ },
+ {
+ "id": "unconnected",
+ "fg": 19299,
+ "bg": 0
+ }
+ ],
+ "rotates": false
+ },
+ {
+ "id": "t_breach_concrete_fake_c",
+ "fg": 19300,
+ "bg": 0,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "center",
+ "fg": 19300,
+ "bg": 0
+ },
+ {
+ "id": "corner",
+ "fg": [19301, 19302, 19303, 19304],
+ "bg": 0
+ },
+ {
+ "id": "t_connection",
+ "fg": [19305, 19306, 19307, 19308],
+ "bg": 0
+ },
+ {
+ "id": "edge",
+ "fg": [19309, 19310],
+ "bg": 0
+ },
+ {
+ "id": "end_piece",
+ "fg": [19311, 19312, 19313, 19314],
+ "bg": 0
+ },
+ {
+ "id": "unconnected",
+ "fg": 19315,
+ "bg": 0
+ }
+ ],
+ "rotates": false
+ },
+ {
+ "id": "f_leaves_pile",
+ "fg": 19316,
+ "bg": 0,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "center",
+ "fg": 19316,
+ "bg": 0
+ },
+ {
+ "id": "corner",
+ "fg": [19317, 19318, 19319, 19320],
+ "bg": 0
+ },
+ {
+ "id": "t_connection",
+ "fg": [19321, 19322, 19323, 19324],
+ "bg": 0
+ },
+ {
+ "id": "edge",
+ "fg": [19325, 19326],
+ "bg": 0
+ },
+ {
+ "id": "end_piece",
+ "fg": [19327, 19328, 19329, 19330],
+ "bg": 0
+ },
+ {
+ "id": "unconnected",
+ "fg": 19331,
+ "bg": 0
+ }
+ ],
+ "rotates": false
+ },
+ {
+ "id": "t_outcrop",
+ "fg": 19332,
+ "bg": 3215,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "center",
+ "fg": 19332,
+ "bg": 3215
+ },
+ {
+ "id": "corner",
+ "fg": [19333, 19334, 19335, 19336],
+ "bg": 3215
+ },
+ {
+ "id": "t_connection",
+ "fg": [19337, 19338, 19339, 19340],
+ "bg": 3215
+ },
+ {
+ "id": "edge",
+ "fg": [19341, 19342],
+ "bg": 3215
+ },
+ {
+ "id": "end_piece",
+ "fg": [19343, 19344, 19345, 19346],
+ "bg": 3215
+ },
+ {
+ "id": "unconnected",
+ "fg": 19347,
+ "bg": 3215
+ }
+ ],
+ "rotates": false
+ },
+ {
+ "id": "t_desertpavement",
+ "fg": 19348,
+ "bg": 3215,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "center",
+ "fg": 19348,
+ "bg": 3215
+ },
+ {
+ "id": "corner",
+ "fg": [19349, 19350, 19351, 19352],
+ "bg": 3215
+ },
+ {
+ "id": "t_connection",
+ "fg": [19353, 19354, 19355, 19356],
+ "bg": 3215
+ },
+ {
+ "id": "edge",
+ "fg": [19357, 19358],
+ "bg": 3215
+ },
+ {
+ "id": "end_piece",
+ "fg": [19359, 19360, 19361, 19362],
+ "bg": 3215
+ },
+ {
+ "id": "unconnected",
+ "fg": 19363,
+ "bg": 3215
+ }
+ ],
+ "rotates": false
+ },
+ {
+ "id": "t_carpet_red",
+ "fg": 19364,
+ "bg": 987,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "center",
+ "fg": 19364,
+ "bg": 987
+ },
+ {
+ "id": "corner",
+ "fg": [19365, 19366, 19367, 19368],
+ "bg": 987
+ },
+ {
+ "id": "t_connection",
+ "fg": [19369, 19370, 19371, 19372],
+ "bg": 987
+ },
+ {
+ "id": "edge",
+ "fg": [19373, 19374],
+ "bg": 987
+ },
+ {
+ "id": "end_piece",
+ "fg": [19375, 19376, 19377, 19378],
+ "bg": 987
+ },
+ {
+ "id": "unconnected",
+ "fg": 19379,
+ "bg": 987
+ }
+ ],
+ "rotates": false
+ },
+ {
+ "id": "t_carpet_yellow",
+ "fg": 19380,
+ "bg": 987,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "center",
+ "fg": 19380,
+ "bg": 987
+ },
+ {
+ "id": "corner",
+ "fg": [19381, 19382, 19383, 19384],
+ "bg": 987
+ },
+ {
+ "id": "t_connection",
+ "fg": [19385, 19386, 19387, 19388],
+ "bg": 987
+ },
+ {
+ "id": "edge",
+ "fg": [19389, 19390],
+ "bg": 987
+ },
+ {
+ "id": "end_piece",
+ "fg": [19391, 19392, 19393, 19394],
+ "bg": 987
+ },
+ {
+ "id": "unconnected",
+ "fg": 19395,
+ "bg": 987
+ }
+ ],
+ "rotates": false
+ },
+ {
+ "id": "t_carpet_green",
+ "fg": 19396,
+ "bg": 987,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "center",
+ "fg": 19396,
+ "bg": 987
+ },
+ {
+ "id": "corner",
+ "fg": [19397, 19398, 19399, 19400],
+ "bg": 987
+ },
+ {
+ "id": "t_connection",
+ "fg": [19401, 19402, 19403, 19404],
+ "bg": 987
+ },
+ {
+ "id": "edge",
+ "fg": [19405, 19406],
+ "bg": 987
+ },
+ {
+ "id": "end_piece",
+ "fg": [19407, 19408, 19409, 19410],
+ "bg": 987
+ },
+ {
+ "id": "unconnected",
+ "fg": 19411,
+ "bg": 987
+ }
+ ],
+ "rotates": false
+ },
+ {
+ "id": "t_carpet_purple",
+ "fg": 19412,
+ "bg": 987,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "center",
+ "fg": 19412,
+ "bg": 987
+ },
+ {
+ "id": "corner",
+ "fg": [19413, 19414, 19415, 19416],
+ "bg": 987
+ },
+ {
+ "id": "t_connection",
+ "fg": [19417, 19418, 19419, 19420],
+ "bg": 987
+ },
+ {
+ "id": "edge",
+ "fg": [19421, 19422],
+ "bg": 987
+ },
+ {
+ "id": "end_piece",
+ "fg": [19423, 19424, 19425, 19426],
+ "bg": 987
+ },
+ {
+ "id": "unconnected",
+ "fg": 19427,
+ "bg": 987
+ }
+ ],
+ "rotates": false
+ },
+ {
+ "id": "t_carpet_concrete",
+ "fg": 19428,
+ "bg": 5010,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "center",
+ "fg": 19428,
+ "bg": 5010
+ },
+ {
+ "id": "corner",
+ "fg": [19429, 19430, 19431, 19432],
+ "bg": 5010
+ },
+ {
+ "id": "t_connection",
+ "fg": [19433, 19434, 19435, 19436],
+ "bg": 5010
+ },
+ {
+ "id": "edge",
+ "fg": [19437, 19438],
+ "bg": 5010
+ },
+ {
+ "id": "end_piece",
+ "fg": [19439, 19440, 19441, 19442],
+ "bg": 5010
+ },
+ {
+ "id": "unconnected",
+ "fg": 19443,
+ "bg": 5010
+ }
+ ],
+ "rotates": false
+ },
+ {
+ "id": "t_carpet_metal",
+ "fg": 19444,
+ "bg": 23383,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "center",
+ "fg": 19444,
+ "bg": 23383
+ },
+ {
+ "id": "corner",
+ "fg": [19445, 19446, 19447, 19448],
+ "bg": 23383
+ },
+ {
+ "id": "t_connection",
+ "fg": [19449, 19450, 19451, 19452],
+ "bg": 23383
+ },
+ {
+ "id": "edge",
+ "fg": [19453, 19454],
+ "bg": 23383
+ },
+ {
+ "id": "end_piece",
+ "fg": [19455, 19456, 19457, 19458],
+ "bg": 23383
+ },
+ {
+ "id": "unconnected",
+ "fg": 19459,
+ "bg": 23383
+ }
+ ],
+ "rotates": false
+ },{
+ "id": "free_realestate",
+ "fg": 19460,
+ "bg": 0,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "center",
+ "fg": 19460,
+ "bg": 0
+ },
+ {
+ "id": "corner",
+ "fg": [19461, 19462, 19463, 19464],
+ "bg": 0
+ },
+ {
+ "id": "t_connection",
+ "fg": [19465, 19466, 19467, 19468],
+ "bg": 0
+ },
+ {
+ "id": "edge",
+ "fg": [19469, 19470],
+ "bg": 0
+ },
+ {
+ "id": "end_piece",
+ "fg": [19471, 19472, 19473, 19474],
+ "bg": 0
+ },
+ {
+ "id": "unconnected",
+ "fg": 19475,
+ "bg": 0
+ }
+ ],
+ "rotates": true
}
]
@@ -117700,7 +118307,7 @@
"bg": 0
},
{
- "id": "t_metal_floor",
+ "id": ["t_metal_floor", "t_secretdoor_metal_o"],
"fg": 23383,
"bg": 0
},
@@ -124951,8 +125558,1084 @@
{ "weight":1, "sprite":24567}
],
"rotates": false
+ },
+ {
+ "id": "1895sbl",
+ "fg": 24568,
+ "rotates": false
+ },
+ {
+ "id": "overlay_wielded_1895sbl",
+ "fg": 24569,
+ "rotates": false
+ }, {
+ "id": "40mm_slug",
+ "fg": 24570,
+ "rotates": false
+ },{
+ "id": ["4570_sp", "reloaded_4570_sp"],
+ "fg": 24571,
+ "rotates": false
+ },{
+ "id": ["4570_pen", "reloaded_4570_pen"],
+ "fg": 24572,
+ "rotates": false
+ },
+ {
+ "id": ["4570_low", "reloaded_4570_low"],
+ "fg": 24573,
+ "rotates": false
+ },
+ {
+ "id": "bfr",
+ "fg": 24574,
+ "rotates": false
+ },
+ {
+ "id": "overlay_wielded_bfr",
+ "fg": 24575,
+ "rotates": false
+ }, {
+ "id": "bp_38_special",
+ "fg": 24576,
+ "rotates": false
+ },{
+ "id": "bp_44magnum",
+ "fg": 24577,
+ "rotates": false
+ },{
+ "id": "bp_454_Casull",
+ "fg": 24578,
+ "rotates": false
+ },
+ {
+ "id": "reloaded_4570_bp",
+ "fg": 24579,
+ "rotates": false
+ },
+ {
+ "id": ["roller_shoes_on", "roller_shoes_off"],
+ "fg": 24580,
+ "rotates": false
+ },
+ {
+ "id": ["overlay_worn_roller_shoes_off"],
+ "fg": 24581,
+ "rotates": false
+ },
+ {
+ "id": ["overlay_worn_roller_shoes_on"],
+ "fg": 24582,
+ "rotates": false
+ },
+ {
+ "id": ["rosin"],
+ "fg": 24583,
+ "rotates": false
+ },
+ {
+ "id": ["sharps"],
+ "fg": 24584,
+ "rotates": false
+ },
+ {
+ "id": ["overlay_wielded_sharps"],
+ "fg": 24585,
+ "rotates": false
+ },
+ {
+ "id": ["DEBUG_spellbook"],
+ "fg": 24586,
+ "rotates": false
+ },
+ {
+ "id": ["armor_stonefist", "stonefist"],
+ "fg": 24587,
+ "rotates": false
+ },
+ {
+ "id": ["overlay_worn_armor_stonefist", "overlay_wielded_stonefist"],
+ "fg": 24588,
+ "rotates": false
+ }, {
+ "id": ["crystallized_mana"],
+ "fg": 24589,
+ "rotates": false
+ },{
+ "id": ["generic_spellbook"],
+ "fg": 24590,
+ "rotates": false
+ },
+ {
+ "id": ["ice_gliders"],
+ "fg": 24591,
+ "rotates": false
+ },
+ {
+ "id": ["overlay_worn_ice_gliders"],
+ "fg": 24592,
+ "rotates": false
+ }, {
+ "id": ["magic_lamp"],
+ "fg": 24593,
+ "rotates": false
+ },
+ {
+ "id": ["afs_welding_mask"],
+ "fg": 24594,
+ "rotates": false
+ },
+ {
+ "id": ["overlay_worn_afs_welding_mask"],
+ "fg": 24595,
+ "rotates": false
+ },
+ {
+ "id": ["afs_welding_mask_makeshift"],
+ "fg": 24596,
+ "rotates": false
+ }, {
+ "id": ["overlay_worn_afs_welding_mask_makeshift"],
+ "fg": 24597,
+ "rotates": false
+ },
+ {
+ "id": ["magic_light"],
+ "fg": 24598,
+ "rotates": false
+ },
+ {
+ "id": ["priest_beginner"],
+ "fg": 24599,
+ "rotates": false
+ },
+ {
+ "id": ["priest_advanced"],
+ "fg": 24600,
+ "rotates": false
+ },
+ {
+ "id": ["pyro"],
+ "fg": 24601,
+ "rotates": false
+ },
+ {
+ "id": ["shield_ice"],
+ "fg": 24602,
+ "rotates": false
+ },
+ {
+ "id": ["overlay_worn_shield_ice"],
+ "fg": 24603,
+ "rotates": false
+ },
+ {
+ "id": ["small_mana_crystal"],
+ "fg": 24604,
+ "rotates": false
+ }, {
+ "id": ["stormglove"],
+ "fg": 24605,
+ "rotates": false
+ },{
+ "id": ["overlay_wielded_stormglove"],
+ "fg": 24606,
+ "rotates": false
+ },
+ {
+ "id": ["stormhammer"],
+ "fg": 24607,
+ "rotates": false
+ },{
+ "id": ["overlay_wielded_stormhammer"],
+ "fg": 24608,
+ "rotates": false
+ },
+ {
+ "id": ["tome_of_storms"],
+ "fg": 24609,
+ "rotates": false
+ },{
+ "id": ["wand_fireball"],
+ "fg": 24610,
+ "rotates": false
+ },
+ {
+ "id": ["overlay_wielded_wand_fireball"],
+ "fg": 24611,
+ "rotates": false
+ },{
+ "id": ["wand_magic_missile"],
+ "fg": 24612,
+ "rotates": false
+ },
+ {
+ "id": ["overlay_wielded_wand_magic_missile"],
+ "fg": 24613,
+ "rotates": false
+ },
+ {
+ "id": ["RobofacCoin"],
+ "fg": 24614,
+ "rotates": false
+ },
+ {
+ "id": ["riding_saddle"],
+ "fg": 24615,
+ "rotates": false
+ }, {
+ "id": ["yoke_harness"],
+ "fg": 24616,
+ "rotates": false
+ },{
+ "id": ["vp_yoke_harness"],
+ "fg": 24617,
+ "rotates": true
+ },{
+ "id": ["biomancer_spellbook"],
+ "fg": 24618,
+ "rotates": true
+ },{
+ "id": ["bonespear"],
+ "fg": 24619,
+ "rotates": true
+ },{
+ "id": ["overlay_wielded_bonespear"],
+ "fg": 24620,
+ "rotates": true
+ },{
+ "id": ["druid_recurve"],
+ "fg": 24621,
+ "rotates": true
+ },{
+ "id": ["overlay_wielded_druid_recurve"],
+ "fg": 24622,
+ "rotates": true
+ },{
+ "id": ["druid_spellbook"],
+ "fg": 24623,
+ "rotates": true
+ },{
+ "id": ["fleshpouch"],
+ "fg": 24624,
+ "rotates": true
+ },{
+ "id": ["overlay_worn_fleshpouch"],
+ "fg": 24625,
+ "rotates": true
+ },{
+ "id": ["tentacle_whip"],
+ "fg": 24626,
+ "rotates": true
+ },{
+ "id": ["overlay_wielded_tentacle_whip"],
+ "fg": 24627,
+ "rotates": true
+ },{
+ "id": ["winter_grasp"],
+ "fg": 24628,
+ "rotates": true
+ },{
+ "id": ["wizard_beginner"],
+ "fg": 24629,
+ "rotates": true
+ },{
+ "id": ["wizard_advanced"],
+ "fg": 24630,
+ "rotates": true
+ },{
+ "id": ["wizard_utility"],
+ "fg": 24631,
+ "rotates": true
+ },{
+ "id": ["afs_atompot"],
+ "fg": 24632,
+ "rotates": true
+ },
+ {
+ "id": ["corpse_mon_compsognathus"],
+ "fg": 24633,
+ "rotates": true
+ }, {
+ "id": ["corpse_mon_gallimimus"],
+ "fg": 24634,
+ "rotates": true
+ },{
+ "id": ["corpse_mon_titanis"],
+ "fg": 24635,
+ "rotates": true
+ },{
+ "id": ["corpse_mon_eoraptor"],
+ "fg": 24636,
+ "rotates": true
+ },{
+ "id": ["corpse_mon_velociraptor"],
+ "fg": 24637,
+ "rotates": true
+ },{
+ "id": ["corpse_mon_deinonychus"],
+ "fg": 24638,
+ "rotates": true
+ },{
+ "id": ["corpse_mon_dimorphodon"],
+ "fg": 24639,
+ "rotates": true
+ },{
+ "id": ["corpse_mon_dilophosaurus"],
+ "fg": 24640,
+ "rotates": true
+ },
+ {
+ "id": ["t_breach_stone_fake_lowered"],
+ "fg": 24641,
+ "rotates": false
+ },
+ {
+ "id": ["t_breach_lever"],
+ "fg": 24642,
+ "bg": 24641,
+ "rotates": false
+ },
+ {
+ "id": ["t_breach_concrete_fake_o"],
+ "fg": 24643,
+ "bg": 24641,
+ "rotates": false
+ },
+ {
+ "id": ["mon_leaper"],
+ "fg": 24644,
+ "bg": 967,
+ "rotates": false
+ },
+ {
+ "id": ["mon_pack"],
+ "fg": 24645,
+ "bg": 967,
+ "rotates": false
+ }, {
+ "id": ["mon_puker"],
+ "fg": 24646,
+ "bg": 967,
+ "rotates": false
+ },
+ {
+ "id": ["mon_dullahan"],
+ "fg": 24647,
+ "bg": 967,
+ "rotates": false
+ },
+ {
+ "id": ["mon_animate_arm"],
+ "fg": 24648,
+ "bg": 0,
+ "rotates": false
+ },
+ {
+ "id": "overlay_wielded_cestus",
+ "fg": 24649,
+ "bg": 0,
+ "rotates": false
+ }, {
+ "id": ["1cyl_combustion_large", "vp_engine_1cyl_large"],
+ "fg": 24650,
+ "bg": 0,
+ "rotates": false
+ },{
+ "id": "Dana_sourdough_bread",
+ "fg": 24651,
+ "bg": 0,
+ "rotates": false
+ },{
+ "id": ["battery_motorbike_small", "vp_battery_motorbike_small"],
+ "fg": 24652,
+ "bg": 0,
+ "rotates": false
+ },
+ {
+ "id": "landough_calrisean",
+ "fg": 24653,
+ "bg": 0,
+ "rotates": false
+ },
+ {
+ "id": "motorcycle_headlight",
+ "fg": 24654,
+ "bg": 0,
+ "rotates": false
+ },
+ {
+ "id": "vp_motorcycle_headlight",
+ "fg": 24655,
+ "bg": 0,
+ "rotates": false
+ },{
+ "id": "tr_unfinished_construction",
+ "fg": 24656,
+ "bg": 0,
+ "rotates": false
+ },{
+ "id": "wood_beam",
+ "fg": 24657,
+ "bg": 0,
+ "rotates": false
+ },{
+ "id": "cholla_bud",
+ "fg": 24658,
+ "bg": 0,
+ "rotates": false
+ },
+ {
+ "id": "mon_scorpion_giant",
+ "fg": 24659,
+ "bg": 967,
+ "rotates": false
+ }, {
+ "id": "mon_kangaroo_hook",
+ "fg": 24660,
+ "bg": 967,
+ "rotates": false
+ },
+ {
+ "id": "mon_zandcrawler",
+ "fg": 24661,
+ "bg": 967,
+ "rotates": false
+ }, {
+ "id": "mon_gilamon",
+ "fg": 24662,
+ "bg": 0,
+ "rotates": false
+ },
+ {
+ "id": "f_bitts",
+ "fg": 24663,
+ "bg": 0,
+ "rotates": false
+ },
+ {
+ "id": "RPG_die",
+ "fg": 24664,
+ "bg": 0,
+ "rotates": false
+ },
+ {
+ "id": "metal_RPG_die",
+ "fg": 24665,
+ "bg": 0,
+ "rotates": false
+ },
+ {
+ "id": "pneumatic_shotgun",
+ "fg": 24666,
+ "bg": 0,
+ "rotates": false
+ },
+ {
+ "id": "overlay_wielded_pneumatic_shotgun",
+ "fg": 24667,
+ "bg": 0,
+ "rotates": false
+ },
+ {
+ "id": ["shotcanister_bearing", "shotcanister_flechette", "shotcanister_pebble", "shotcanister_scrap" ],
+ "fg": 24668,
+ "bg": 0,
+ "rotates": false
+ },{
+ "id": ["mana_potion_lesser" ],
+ "fg": 24669,
+ "bg": 0,
+ "rotates": false
+ },{
+ "id": ["recovery_spellbook" ],
+ "fg": 24670,
+ "bg": 0,
+ "rotates": false
+ },
+ {
+ "id": ["glock_31" ],
+ "fg": 24671,
+ "bg": 0,
+ "rotates": false
+ }, {
+ "id": ["overlay_wielded_glock_31" ],
+ "fg": 24672,
+ "bg": 0,
+ "rotates": false
+ },
+ {
+ "id": ["needlepistol" ],
+ "fg": 24673,
+ "bg": 0,
+ "rotates": false
+ },
+ {
+ "id": "rm11b_sniper_rifle",
+ "fg": 24674
+ },
+ {
+ "id": "overlay_wielded_rm11b_sniper_rifle",
+ "fg": 24675
+ },
+ {
+ "id": "t_card_fp",
+ "fg": 24676
+ },
+ {
+ "id": "fp_loyalty_card",
+ "fg": 24677
+ },
+ {
+ "id": "m17",
+ "fg": 24678
+ },
+ {
+ "id": "overlay_wielded_m17",
+ "fg": 24679
+ },
+ {
+ "id": "angular_grinder",
+ "fg": 24680
+ },
+ {
+ "id": "overlay_wielded_polisher",
+ "fg": 24681,
+ "bg": 0,
+ "rotates": false
+ },
+ {
+ "id": "overlay_wielded_angular_grinder",
+ "fg": 24682,
+ "bg": 0,
+ "rotates": false
+ },
+ {
+ "id": "badge_foodkid",
+ "fg": 24683,
+ "bg": 0,
+ "rotates": false
+ },
+ {
+ "id": "overlay_worn_badge_cybercop",
+ "fg": 24684,
+ "bg": 0
+ },{
+ "id": "overlay_worn_badge_deputy",
+ "fg": 24685,
+ "bg": 0
+ },{
+ "id": "overlay_worn_badge_detective",
+ "fg": 24686,
+ "bg": 0
+ },{
+ "id": "overlay_worn_badge_marshal",
+ "fg": 24687,
+ "bg": 0
+ },{
+ "id": "badge_swat",
+ "fg": 24688,
+ "bg": 0
+ },{
+ "id": "overlay_worn_badge_swat",
+ "fg": 24689,
+ "bg": 0
+ },
+ {
+ "id": "overlay_worn_badge_foodkid",
+ "fg": 24690,
+ "bg": 0
+ }, {
+ "id": "overlay_worn_badge_doctor",
+ "fg": 24691,
+ "bg": 0
+ },
+ {
+ "id": "butterfly_swords",
+ "fg": 24692,
+ "bg": 0
+ },
+ {
+ "id": "overlay_wielded_butterfly_swords",
+ "fg": 24693,
+ "bg": 0
+ },{
+ "id": "cape_fp",
+ "fg": 24694,
+ "bg": 0
+ },{
+ "id": "overlay_worn_cape_fp",
+ "fg": 24695,
+ "bg": 0
+ },{
+ "id": "foodperson_mask",
+ "fg": 24696,
+ "bg": 0
+ },
+ {
+ "id": "foodperson_mask_on",
+ "fg": 24697,
+ "bg": 0
+ }, {
+ "id": "chestguard_hard",
+ "fg": 24698,
+ "bg": 0
+ },{
+ "id": "overlay_worn_chestguard_hard",
+ "fg": 24699,
+ "bg": 0
+ },
+ {
+ "id": "vp_wheel_motorbike",
+ "fg": 4187,
+ "bg": 0,
+ "rotates": true,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "broken",
+ "fg": 24712,
+ "bg": 0
+ }
+ ]
+ },
+ {
+ "id": "vp_wheel_motorbike_steerable",
+ "fg": 4187,
+ "bg": 0,
+ "rotates": true,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "broken",
+ "fg": 24712,
+ "bg": 0
+ }
+ ]
+ },
+ {
+ "id": "vp_wheel_motorbike_or",
+ "fg": 4187,
+ "bg": 0,
+ "rotates": true,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "broken",
+ "fg": 24712,
+ "bg": 0
+ }
+ ]
+ },
+ {
+ "id": "vp_wheel_motorbike_or_steerable",
+ "fg": 24700,
+ "bg": 0,
+ "rotates": true,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "broken",
+ "fg": 24713,
+ "bg": 0
+ }
+ ]
+ },
+ {
+ "id": "vp_wheel_bicycle",
+ "fg": 4185,
+ "rotates": true,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "broken",
+ "fg": 24706,
+ "bg": 0
+ }
+ ]
+ },
+ {
+ "id": "vp_wheel_bicycle_steerable",
+ "fg": 24701,
+ "bg": 0,
+ "rotates": true,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "broken",
+ "fg": 24707,
+ "bg": 0
+ }
+ ]
+ },
+ {
+ "id": "vp_basketsm",
+ "fg": 24702,
+ "bg": 0,
+ "rotates": true
+ },
+ {
+ "id": "vp_wheel_bicycle_or",
+ "fg": 24703,
+ "bg": 0,
+ "rotates": true,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "broken",
+ "fg": 24708,
+ "bg": 0
+ }
+ ]
+ },
+ {
+ "id": "vp_wheel_bicycle_or_steerable",
+ "fg": 24704,
+ "bg": 0,
+ "rotates": true,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "broken",
+ "fg": 24709,
+ "bg": 0
+ }
+ ]
+ },
+ {
+ "id": "vp_wheel_small",
+ "fg": 4188,
+ "rotates": true,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "broken",
+ "fg": 24710,
+ "bg": 0
+ }
+ ]
+ },
+ {
+ "id": "vp_wheel_small_steerable",
+ "fg": 24705,
+ "bg": 0,
+ "rotates": true,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "broken",
+ "fg": 24711,
+ "bg": 0
+ }
+ ]
+ },
+ {
+ "id": "armor_scrapsuit",
+ "fg": 24714,
+ "bg": 0
+ },
+ {
+ "id": "cuirass_scrap",
+ "fg": 24715,
+ "bg": 0
+ },
+ {
+ "id": "overlay_worn_cuirass_scrap",
+ "fg": 24716,
+ "bg": 0
+ }, {
+ "id": "armguard_scrap",
+ "fg": 24717,
+ "bg": 0
+ },
+ {
+ "id": "overlay_worn_armguard_scrap",
+ "fg": 24718,
+ "bg": 0
+ },{
+ "id": "helmet_scrap",
+ "fg": 24719,
+ "bg": 0
+ },
+ {
+ "id": "overlay_worn_helmet_scrap",
+ "fg": 24720,
+ "bg": 0
+ },{
+ "id": "legguard_scrap",
+ "fg": 24721,
+ "bg": 0
+ },
+ {
+ "id": "overlay_worn_legguard_scrap",
+ "fg": 24722,
+ "bg": 0
+ },{
+ "id": "boots_scrap",
+ "fg": 24723,
+ "bg": 0
+ },
+ {
+ "id": "overlay_worn_boots_scrap",
+ "fg": 24724,
+ "bg": 0
+ },{
+ "id": "hand_vice",
+ "fg": 24725,
+ "bg": 0
+ },
+ {
+ "id": "robofac_jumpsuit",
+ "fg": 24726,
+ "bg": 0
+ },
+ {
+ "id": "overlay_male_worn_robofac_jumpsuit",
+ "fg": 24727,
+ "bg": 0
+ },{
+ "id": "overlay_female_worn_robofac_jumpsuit",
+ "fg": 24728,
+ "bg": 0
+ },{
+ "id": "hinge",
+ "fg": 24729,
+ "bg": 0
+ },
+ {
+ "id": "homemade_burrito",
+ "fg": 24730,
+ "bg": 0
+ },{
+ "id": "junk_burrito",
+ "fg": 24731,
+ "bg": 0
+ },{
+ "id": "pin_reamer",
+ "fg": 24732,
+ "bg": 0
+ },
+ {
+ "id": "saddlebag",
+ "fg": 24733,
+ "bg": 0
+ },
+ {
+ "id": "overlay_worn_saddlebag",
+ "fg": 24734,
+ "bg": 0
+ },
+ {
+ "id": ["shot_dragon", "reloaded_shot_dragon"],
+ "fg": 24735,
+ "bg": 0
},
{
+ "id": ["p320_357sig"],
+ "fg": 24736,
+ "bg": 0
+ }, {
+ "id": ["overlay_wielded_p320_357sig"],
+ "fg": 24737,
+ "bg": 0
+ },
+ {
+ "id": ["f_hanging_meathook"],
+ "fg": 24738,
+ "bg": 0
+ }, {
+ "id": ["f_speaker_cabinet"],
+ "fg": 24739,
+ "bg": 0
+ }, {
+ "id": ["carton_sealed"],
+ "fg": 24740,
+ "bg": 0
+ }, {
+ "id": ["carton_unsealed"],
+ "fg": 24741,
+ "bg": 0
+ },
+ {
+ "id": ["amplifier_head"],
+ "fg": 24742,
+ "bg": 0
+ }, {
+ "id": ["butter"],
+ "fg": 24743,
+ "bg": 0
+ },{
+ "id": ["buttermilk"],
+ "fg": 24744,
+ "bg": 0
+ },
+ {
+ "id": ["grip_hook"],
+ "fg": 24745,
+ "bg": 0
+ }, {
+ "id": ["overlay_wielded_grip_hook"],
+ "fg": 24746,
+ "bg": 0
+ }, {
+ "id": ["tshirt_tour"],
+ "fg": 24747,
+ "bg": 0
+ }, {
+ "id": ["overlay_female_worn_tshirt_tour"],
+ "fg": 24748,
+ "bg": 0
+ },{
+ "id": ["overlay_male_worn_tshirt_tour"],
+ "fg": 24749,
+ "bg": 0
+ },
+ {
+ "id": ["ghee"],
+ "fg": 24750,
+ "bg": 0
+ }, {
+ "id": ["gloves_cut_resistant"],
+ "fg": 24751,
+ "bg": 0
+ }, {
+ "id": ["overlay_worn_gloves_cut_resistant"],
+ "fg": 24752,
+ "bg": 0
+ },
+ {
+ "id": ["manual_wingchun"],
+ "fg": 24753,
+ "bg": 0
+ }, {
+ "id": ["metal_file"],
+ "fg": 24754,
+ "bg": 0
+ },{
+ "id": ["pipe_cleaner"],
+ "fg": 24755,
+ "bg": 0
+ }, {
+ "id": ["guitar_electric"],
+ "fg": 24756,
+ "bg": 0
+ },{
+ "id": ["overlay_wielded_guitar_electric"],
+ "fg": 24757,
+ "bg": 0
+ },
+ {
+ "id": ["overlay_worn_acoustic_guitar"],
+ "fg": 24758,
+ "bg": 0
+ }, {
+ "id": ["overlay_worn_guitar_electric"],
+ "fg": 24759,
+ "bg": 0
+ },
+ {
+ "id": ["xlhsurvivor_suit"],
+ "fg": 24760,
+ "bg": 0
+ }, {
+ "id": ["overlay_worn_xlhsurvivor_suit"],
+ "fg": 24761,
+ "bg": 0
+ }, {
+ "id": ["xlkevlar"],
+ "fg": 24762,
+ "bg": 0
+ }, {
+ "id": ["overlay_worn_xlkevlar"],
+ "fg": 24763,
+ "bg": 0
+ },
+ {
+ "id": ["eshaper_spellbook"],
+ "fg": 24764,
+ "bg": 0
+ },
+ {
+ "id": ["kevlar_armor_horse"],
+ "fg": 24765,
+ "bg": 0
+ }, {
+ "id": ["acidchitin_armor_horse"],
+ "fg": 24766,
+ "bg": 0
+ }, {
+ "id": ["chitin_armor_horse"],
+ "fg": 24767,
+ "bg": 0
+ }, {
+ "id": ["chainmail_armor_horse"],
+ "fg": 24768,
+ "bg": 0
+ }, {
+ "id": ["leather_armor_horse"],
+ "fg": 24769,
+ "bg": 0
+ }, {
+ "id": ["leatherbone_armor_horse"],
+ "fg": 24770,
+ "bg": 0
+ }, {
+ "id": ["rubber_armor_horse"],
+ "fg": 24771,
+ "bg": 0
+ }, {
+ "id": ["superalloy_armor_horse"],
+ "fg": 24772,
+ "bg": 0
+ },{
+ "id": ["saiga410mag_10rd"],
+ "fg": 24773,
+ "bg": 0
+ },{
+ "id": ["saiga410mag_30rd"],
+ "fg": 24774,
+ "bg": 0
+ },
+ {
+ "id": ["m1911a1_38super"],
+ "fg": 24775,
+ "bg": 0
+ },
+ {
+ "id": ["overlay_wielded_m1911a1_38super"],
+ "fg": 24776,
+ "bg": 0
+ },{
+ "id": ["m1911mag_10rd_38super"],
+ "fg": 24777,
+ "bg": 0
+ },{
+ "id": ["p320mag_14rd_357sig"],
+ "fg": 24778,
+ "bg": 0
+ },{
+ "id": ["p320mag_17rd_9x19mm"],
+ "fg": 24779,
+ "bg": 0
+ },{
+ "id": ["magus_spellbook"],
+ "fg": 24780,
+ "bg": 0
+ },
+ {
+ "id": ["magus_spellbook_move"],
+ "fg": 24781,
+ "bg": 0
+ }, {
+ "id": ["summon_undead_spellbook"],
+ "fg": 24782,
+ "bg": 0
+ },{
+ "id": ["summon_scroll_smudged"],
+ "fg": 24783,
+ "bg": 0
+ },
+ {
"id": "atlatl",
"fg": 1986,
"bg": 0,
@@ -126452,6 +128135,16 @@
"id": "overlay_worn_fedora",
"fg": 33185,
"rotates": false
+ },
+ {
+ "id": "overlay_worn_foodperson_mask",
+ "fg": 33186,
+ "rotates": false
+ },
+ {
+ "id": "overlay_worn_foodperson_mask_on",
+ "fg": 33187,
+ "rotates": false
}
]
},
@@ -126787,9 +128480,171 @@
"id": ["corpse_mon_ayenel"],
"fg": 35810,
"rotates": false
- }
+ },
+ {
+ "id": ["overlay_worn_magic_lamp"],
+ "fg": 35811,
+ "rotates": false
+ }, {
+ "id": ["overlay_worn_magic_light"],
+ "fg": 35812,
+ "rotates": false
+ }, {
+ "id": ["mon_slasher"],
+ "fg": 35813,
+ "rotates": false
+ }, {
+ "id": ["mon_waster"],
+ "fg": 35814,
+ "rotates": false
+ }, {
+ "id": ["mon_twitcher"],
+ "fg": 35815,
+ "rotates": false
+ }, {
+ "id": ["mon_bushelephant"],
+ "fg": 35816,
+ "rotates": false
+ }, {
+ "id": ["mon_bushelephant_fungal"],
+ "fg": 35817,
+ "rotates": false
+ }, {
+ "id": ["overlay_male_crouch", "overlay_female_crouch"],
+ "fg": 35818,
+ "rotates": false
+ }, {
+ "id": ["overlay_male_run", "overlay_female_run"],
+ "fg": 35819,
+ "rotates": false
+ }, {
+ "id": ["long_pole"],
+ "fg": 35820,
+ "rotates": false
+ }, {
+ "id": ["overlay_wielded_long_pole"],
+ "fg": 35821,
+ "rotates": false
+ },
+ {
+ "id": ["t_wood_stairs_down"],
+ "fg": 35822,
+ "rotates": false
+ },
+ {
+ "id": ["t_wood_stairs_up_half"],
+ "fg": 35823,
+ "rotates": false
+ },
+ {
+ "id": ["t_wood_stairs_up_broken"],
+ "fg": 35824,
+ "rotates": false
+ },
+ {
+ "id": ["t_wood_stairs_up"],
+ "fg": 35825,
+ "bg": 0,
+ "rotates": false
+ }, {
+ "id": ["2h_flail_steel"],
+ "fg": 35826,
+ "rotates": false
+ },
+ {
+ "id": ["overlay_wielded_2h_flail_steel"],
+ "fg": 35827,
+ "bg": 0,
+ "rotates": false
+ }, {
+ "id": ["2h_flail_wood"],
+ "fg": 35828,
+ "rotates": false
+ },
+ {
+ "id": ["overlay_wielded_2h_flail_wood"],
+ "fg": 35829,
+ "bg": 0,
+ "rotates": false
+ },
+ {
+ "id": ["t_slope_up"],
+ "fg": 35837,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "center",
+ "fg": 35837,
+ "bg": 972
+ },
+ {
+ "id": "corner",
+ "fg": [35838, 35839, 35840, 35841],
+ "bg": 972
+ },
+ {
+ "id": "t_connection",
+ "fg": [35842, 35843, 35844, 35845],
+ "bg": 972
+ },
+ {
+ "id": "edge",
+ "fg": [35846, 35847],
+ "bg": 972
+ },
+ {
+ "id": "end_piece",
+ "fg": [35848, 35849, 35850, 35851],
+ "bg": 972
+ },
+ {
+ "id": "unconnected",
+ "fg": 35852,
+ "bg": 972
+ }
+ ],
+ "rotates": false
+ },
+ {
+ "id": ["t_slope_down"],
+ "fg": 35853,
+ "multitile": true,
+ "additional_tiles": [
+ {
+ "id": "center",
+ "fg": 35853,
+ "bg": 972
+ },
+ {
+ "id": "corner",
+ "fg": [35854, 35855, 35856, 35857],
+ "bg": 972
+ },
+ {
+ "id": "t_connection",
+ "fg": [35858, 35859, 35860, 35861],
+ "bg": 972
+ },
+ {
+ "id": "edge",
+ "fg": [35858, 35863],
+ "bg": 972
+ },
+ {
+ "id": "end_piece",
+ "fg": [35864, 35865, 35866, 35867],
+ "bg": 972
+ },
+ {
+ "id": "unconnected",
+ "fg": 35868,
+ "bg": 972
+ }
+ ],
+ "rotates": false
+ }
]
- }
+ }
]
}
\ No newline at end of file
diff --git a/lang/extract_json_strings.py b/lang/extract_json_strings.py
index 4effbd1530cdc..b3649a8249335 100755
--- a/lang/extract_json_strings.py
+++ b/lang/extract_json_strings.py
@@ -120,6 +120,7 @@ def warning_supressed(filename):
"BIONIC_ITEM",
"BOOK",
"COMESTIBLE",
+ "construction_category",
"CONTAINER",
"dream",
"ENGINE",
@@ -133,6 +134,7 @@ def warning_supressed(filename):
"json_flag",
"keybinding",
"MAGAZINE",
+ "map_extra",
"MOD_INFO",
"MONSTER",
"morale_type",
@@ -527,6 +529,9 @@ def extract_dynamic_line(line, outfile):
extract_dynamic_line_optional(line, "npc_female", outfile)
extract_dynamic_line_optional(line, "yes", outfile)
extract_dynamic_line_optional(line, "no", outfile)
+ extract_dynamic_line_optional(line, "has_no_available_mission", outfile)
+ extract_dynamic_line_optional(line, "has_many_assigned_missions", outfile)
+ extract_dynamic_line_optional(line, "has_no_assigned_mission", outfile)
elif type(line) == str:
writestr(outfile, line)
@@ -936,6 +941,9 @@ def extract(item, infilename):
if "description" in special_attack:
writestr(outfile, special_attack["description"], **kwargs)
wrote = True
+ if "footsteps" in item:
+ writestr(outfile, item["footsteps"], **kwargs)
+ wrote = True
if not wrote:
if not warning_supressed(infilename):
print("WARNING: {}: nothing translatable found in item: {}".format(infilename, item))
diff --git a/lang/po/cataclysm-dda.pot b/lang/po/cataclysm-dda.pot
index 27b5de527dba6..5323ffb0c9cd8 100644
--- a/lang/po/cataclysm-dda.pot
+++ b/lang/po/cataclysm-dda.pot
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: cataclysm-dda 0.D\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-06-14 15:45+0800\n"
+"POT-Creation-Date: 2019-06-21 16:15+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -20,7 +20,7 @@ msgstr[1] ""
#. ~ Description for battery
#: lang/json/AMMO_from_json.py
msgid ""
-"Some free-floating battery charge. This can be reloaded into rechargable "
+"Some free-floating battery charge. This can be reloaded into rechargable "
"battery cells, but can never be unloaded."
msgstr ""
@@ -1787,6 +1787,21 @@ msgid ""
"manually."
msgstr ""
+#: lang/json/AMMO_from_json.py
+msgid "10mm Auto FMJ"
+msgstr ""
+
+#. ~ Description for 10mm Auto FMJ
+#: lang/json/AMMO_from_json.py
+msgid ""
+"A jacketed 10mm Auto round. The 10mm Auto cartridge is a rather powerful "
+"handgun round and the progenitor to the more popular .40 S&W."
+msgstr ""
+
+#: lang/json/AMMO_from_json.py
+msgid "reloaded 10mm Auto FMJ"
+msgstr ""
+
#: lang/json/AMMO_from_json.py
msgid "H&K 12mm"
msgstr ""
@@ -2209,6 +2224,18 @@ msgid ""
"generating greater pressure."
msgstr ""
+#: lang/json/AMMO_from_json.py
+msgid "reloaded .357 Magnum FMJ"
+msgid_plural "reloaded .357 Magnum FMJ"
+msgstr[0] ""
+msgstr[1] ""
+
+#: lang/json/AMMO_from_json.py
+msgid "reloaded .357 Magnum JHP"
+msgid_plural "reloaded .357 Magnum JHP"
+msgstr[0] ""
+msgstr[1] ""
+
#: lang/json/AMMO_from_json.py
msgid ".357 SIG FMJ"
msgstr ""
@@ -2313,7 +2340,7 @@ msgstr ""
#: lang/json/AMMO_from_json.py
msgid ""
"This .38 Special cartridge is loaded with a 200gr cast lead hollowpoint and "
-"23gr of blackpowder. While it's much slower than a regular .38, it has "
+"23gr of blackpowder. While it's much slower than a regular .38, it has "
"tremendous stopping power."
msgstr ""
@@ -2369,18 +2396,19 @@ msgid "reloaded .380 ACP +P"
msgstr ""
#: lang/json/AMMO_from_json.py
-#: lang/json/ammunition_type_from_json.py
-msgid "10mm Auto"
-msgid_plural "10mm Auto"
-msgstr[0] ""
-msgstr[1] ""
+msgid ".38 Super FMJ"
+msgstr ""
-#. ~ Description for 10mm Auto
+#. ~ Description for .38 Super FMJ
#: lang/json/AMMO_from_json.py
msgid ""
-"10mm Auto ammunition with 180gr FMJ bullets. The 10mm Auto round is one of "
-"the most powerful pistol cartridges available, although its usefulness is "
-"limited by high recoil."
+".38 Super ammunition with 147gr FMJ bullets. The .38 Super round was "
+"developed from .38 ACP in the 1920s, designed to penetrate the body armor of "
+"the era."
+msgstr ""
+
+#: lang/json/AMMO_from_json.py
+msgid "reloaded .38 Super FMJ"
msgstr ""
#: lang/json/AMMO_from_json.py
@@ -2410,12 +2438,6 @@ msgid ""
"strengths while reducing recoil."
msgstr ""
-#: lang/json/AMMO_from_json.py
-msgid "reloaded 10mm Auto"
-msgid_plural "reloaded 10mm Auto"
-msgstr[0] ""
-msgstr[1] ""
-
#: lang/json/AMMO_from_json.py
msgid "reloaded .40 S&W FMJ"
msgstr ""
@@ -2542,10 +2564,23 @@ msgstr ""
#. ~ Description for 40mm slug
#: lang/json/AMMO_from_json.py
msgid ""
-"A 40mm shell loaded with a massive bullet. Say goodbye to your shoulder, I "
+"A 40mm shell loaded with a massive bullet. Say goodbye to your shoulder, I "
"guess."
msgstr ""
+#: lang/json/AMMO_from_json.py
+msgid ".410 000 shot"
+msgstr ""
+
+#. ~ Description for .410 000 shot
+#: lang/json/AMMO_from_json.py
+msgid "A .410 shell with 5 000 pellets. Good for a hunting or combat load."
+msgstr ""
+
+#: lang/json/AMMO_from_json.py
+msgid "reloaded .410 000 shot"
+msgstr ""
+
#: lang/json/AMMO_from_json.py
msgid ".44 Magnum FMJ"
msgstr ""
@@ -2762,6 +2797,23 @@ msgid ""
"been hand-loaded."
msgstr ""
+#: lang/json/AMMO_from_json.py
+msgid ".45 Colt JHP"
+msgstr ""
+
+#. ~ Description for .45 Colt JHP
+#: lang/json/AMMO_from_json.py
+msgid ""
+".45 Colt ammunition with 250gr jacketed hollow point bullets. Originally "
+"designed for the Colt Single Action Army, and still used for modern "
+"reproduction revolvers. Originally a black powder cartridge, modern loads "
+"can make this round competitive in the new era."
+msgstr ""
+
+#: lang/json/AMMO_from_json.py
+msgid "reloaded .45 Colt JHP"
+msgstr ""
+
#: lang/json/AMMO_from_json.py
msgid "4.6x30mm"
msgstr ""
@@ -3290,6 +3342,14 @@ msgid ""
"internal pressure offering superior damage, accuracy, and penetration."
msgstr ""
+#: lang/json/AMMO_from_json.py
+msgid "9x19mm JHP blackpowder"
+msgstr ""
+
+#: lang/json/AMMO_from_json.py
+msgid "9x19mm FMJ blackpowder"
+msgstr ""
+
#: lang/json/AMMO_from_json.py
msgid "reloaded 9x19mm JHP"
msgstr ""
@@ -3480,6 +3540,10 @@ msgstr ""
msgid "reloaded birdshot"
msgstr ""
+#: lang/json/AMMO_from_json.py
+msgid "reloaded dragon's breath shell"
+msgstr ""
+
#: lang/json/AMMO_from_json.py
msgid "reloaded 00 shot"
msgstr ""
@@ -3539,6 +3603,19 @@ msgid ""
"its applications in combat are very limited."
msgstr ""
+#: lang/json/AMMO_from_json.py
+msgid "dragon's breath shell"
+msgstr ""
+
+#. ~ Description for dragon's breath shell
+#: lang/json/AMMO_from_json.py
+msgid ""
+"A shotgun shell filled with magnesium pellets or shards, used mostly as a "
+"distress flare or pyrotechnics tool. When the round is fired, high "
+"temperature sparks and flames shoot out of the barrel, igniting everything "
+"in their path."
+msgstr ""
+
#: lang/json/AMMO_from_json.py
msgid "flechette shell"
msgstr ""
@@ -3777,6 +3854,17 @@ msgstr ""
msgid "A heavy formed piece of steel. Useful for some crafting recipes."
msgstr ""
+#: lang/json/AMMO_from_json.py
+msgid "door hinge"
+msgstr ""
+
+#. ~ Description for door hinge
+#: lang/json/AMMO_from_json.py
+msgid ""
+"A small metal hinge with two metal plates with screw holes. Useful for "
+"making doors."
+msgstr ""
+
#: lang/json/AMMO_from_json.py
msgid "incendiary"
msgid_plural "incendiaries"
@@ -3875,6 +3963,13 @@ msgstr ""
msgid "plutonium cell"
msgstr ""
+#. ~ Description for battery
+#: lang/json/AMMO_from_json.py
+msgid ""
+"Some free-floating battery charge. This can be reloaded into rechargable "
+"battery cells, but can never be unloaded."
+msgstr ""
+
#: lang/json/AMMO_from_json.py
msgid "chunk of rubber"
msgid_plural "chunks of rubber"
@@ -4925,6 +5020,13 @@ msgid_plural "reloaded .40 S&W JHP"
msgstr[0] ""
msgstr[1] ""
+#: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py
+#: lang/json/ammunition_type_from_json.py
+msgid "10mm Auto"
+msgid_plural "10mm Auto"
+msgstr[0] ""
+msgstr[1] ""
+
#. ~ Description for 10mm Auto
#. ~ Description for reloaded 10mm Auto
#: lang/json/AMMO_from_json.py
@@ -4934,6 +5036,12 @@ msgid ""
"limited by high recoil."
msgstr ""
+#: lang/json/AMMO_from_json.py
+msgid "reloaded 10mm Auto"
+msgid_plural "reloaded 10mm Auto"
+msgstr[0] ""
+msgstr[1] ""
+
#: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py
msgid ".45 Long Colt"
msgid_plural ".45 Long Colt"
@@ -4973,7 +5081,7 @@ msgid_plural "reloaded .410 slug"
msgstr[0] ""
msgstr[1] ""
-#: lang/json/AMMO_from_json.py
+#: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py
msgid ".410 shot"
msgid_plural ".410 shot"
msgstr[0] ""
@@ -5240,6 +5348,20 @@ msgstr[1] ""
msgid "Arm guards made of stacked paper sheets held together with duct tape."
msgstr ""
+#: lang/json/ARMOR_from_json.py
+msgid "pair of scrap arm guards"
+msgid_plural "pairs of scrap arm guards"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for pair of scrap arm guards
+#: lang/json/ARMOR_from_json.py
+msgid ""
+"A pair of arm guards made from scraps of metal secured by simple strings; "
+"the loose collection of plates provides decent but not the most convenient "
+"protection."
+msgstr ""
+
#: lang/json/ARMOR_from_json.py
msgid "pair of neoprene arm sleeves"
msgid_plural "pairs of neoprene arm sleeves"
@@ -5605,6 +5727,19 @@ msgid ""
"A plastic name tag marking the wearer as a real doctor of the medical kind."
msgstr ""
+#: lang/json/ARMOR_from_json.py
+msgid "Foodkid badge"
+msgid_plural "Foodkid badges"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for Foodkid badge
+#: lang/json/ARMOR_from_json.py
+msgid ""
+"A star shaped badge, on it you can read \"Foodkid\" in bold letters. This "
+"is Foodperson's trusty sidekick's badge."
+msgstr ""
+
#: lang/json/ARMOR_from_json.py
msgid "balaclava"
msgid_plural "balaclavas"
@@ -6171,6 +6306,17 @@ msgid ""
"are light and easy to wear."
msgstr ""
+#: lang/json/ARMOR_from_json.py
+msgid "Foodperson's cape"
+msgid_plural "Foodperson's capes"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for Foodperson's cape
+#: lang/json/ARMOR_from_json.py
+msgid "A brightly-colored cape emblazoned with the \"Fp\" symbol."
+msgstr ""
+
#: lang/json/ARMOR_from_json.py
msgid "cassock"
msgid_plural "cassocks"
@@ -6276,6 +6422,17 @@ msgid ""
"storage."
msgstr ""
+#: lang/json/ARMOR_from_json.py
+msgid "hard chest guard"
+msgid_plural "hard chest guards"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for hard chest guard
+#: lang/json/ARMOR_from_json.py
+msgid "A plastron of interlocking plastic plate protecting your torso."
+msgstr ""
+
#: lang/json/ARMOR_from_json.py
msgid "chestwrap"
msgid_plural "chestwraps"
@@ -6618,6 +6775,19 @@ msgid ""
"went into decline, cuirasses remained in use among cavalry in Europe."
msgstr ""
+#: lang/json/ARMOR_from_json.py
+msgid "scrap cuirass"
+msgid_plural "scrap cuirasses"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for scrap cuirass
+#: lang/json/ARMOR_from_json.py
+msgid ""
+"A cuirass made from scraps of metal secured by simple strings; the loose "
+"collection of plates provides decent but not the most convenient protection."
+msgstr ""
+
#: lang/json/ARMOR_from_json.py
msgid "salvaged power armor"
msgid_plural "salvaged power armors"
@@ -7586,6 +7756,18 @@ msgstr[1] ""
msgid "A tough pair of gloves, for tough everyday work."
msgstr ""
+#: lang/json/ARMOR_from_json.py
+msgid "pair of cut resistant gloves"
+msgid_plural "pairs of cut resistant gloves"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for pair of cut resistant gloves
+#: lang/json/ARMOR_from_json.py
+msgid ""
+"A pair of cut resistant gloves, useful when rapidly breaking down carcasses."
+msgstr ""
+
#: lang/json/ARMOR_from_json.py
msgid "pair of hand wraps"
msgid_plural "pairs of hand wraps"
@@ -8259,6 +8441,19 @@ msgid ""
"respirator and eye protection. For dangerous scavenging ventures."
msgstr ""
+#: lang/json/ARMOR_from_json.py
+msgid "scrap helmet"
+msgid_plural "scrap helmets"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for scrap helmet
+#: lang/json/ARMOR_from_json.py
+msgid ""
+"A helmet made from scraps of metal secured by simple strings; the loose "
+"collection of plates provides decent but not the most convenient protection."
+msgstr ""
+
#: lang/json/ARMOR_from_json.py
msgid "skid lid"
msgid_plural "skid lids"
@@ -8549,6 +8744,12 @@ msgstr[1] ""
msgid "A jacket made from denim. Provides decent protection from cuts."
msgstr ""
+#: lang/json/ARMOR_from_json.py
+msgid ""
+"A jacket made from denim. Provides decent protection from cuts. This one "
+"is haphazardly covered with patches featuring metal band logos."
+msgstr ""
+
#: lang/json/ARMOR_from_json.py
msgid "leather jacket"
msgid_plural "leather jackets"
@@ -8842,6 +9043,17 @@ msgid ""
"Provides decent storage and is not very encumbering."
msgstr ""
+#: lang/json/ARMOR_from_json.py
+msgid "Hub 01 jumpsuit"
+msgid_plural "Hub 01 jumpsuits"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for Hub 01 jumpsuit
+#: lang/json/ARMOR_from_json.py
+msgid "A brown jumpsuit worn by the staff of Hub 01."
+msgstr ""
+
#: lang/json/ARMOR_from_json.py
msgid "XL jumpsuit"
msgid_plural "XL jumpsuits"
@@ -8971,8 +9183,8 @@ msgstr[1] ""
#. ~ Description for yukata
#: lang/json/ARMOR_from_json.py
msgid ""
-"An easy to wear, breezy robe secured with a sash. Essentially Japanese "
-"pajamas. Great for summer nights."
+"An easy to wear, breezy robe secured with a sash. Essentially Japanese "
+"pajamas. Great for summer nights."
msgstr ""
#: lang/json/ARMOR_from_json.py
@@ -8984,7 +9196,7 @@ msgstr[1] ""
#. ~ Description for haori
#: lang/json/ARMOR_from_json.py
msgid ""
-"A loose coat with wide sleeves that is worn unfastened over a kimono. It is "
+"A loose coat with wide sleeves that is worn unfastened over a kimono. It is "
"jet black with sparse, tasteful golden embroidery."
msgstr ""
@@ -9219,6 +9431,20 @@ msgstr[1] ""
msgid "Leg guards made of stacked paper sheets held together with duct tape."
msgstr ""
+#: lang/json/ARMOR_from_json.py
+msgid "pair of scrap leg guards"
+msgid_plural "pairs of scrap leg guards"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for pair of scrap leg guards
+#: lang/json/ARMOR_from_json.py
+msgid ""
+"A pair of leg guards made from scraps of metal secured by simple strings; "
+"the loose collection of plates provides decent but not the most convenient "
+"protection."
+msgstr ""
+
#: lang/json/ARMOR_from_json.py
msgid "pair of drop leg pouches"
msgid_plural "pairs of drop leg pouches"
@@ -11378,6 +11604,7 @@ msgstr[0] ""
msgstr[1] ""
#. ~ Description for t-shirt
+#. ~ Description for tour t-shirt
#: lang/json/ARMOR_from_json.py
msgid "A short-sleeved cotton shirt."
msgstr ""
@@ -11388,6 +11615,37 @@ msgid ""
"printed on the front."
msgstr ""
+#: lang/json/ARMOR_from_json.py
+msgid "tour t-shirt"
+msgid_plural "tour t-shirts"
+msgstr[0] ""
+msgstr[1] ""
+
+#: lang/json/ARMOR_from_json.py
+msgid ""
+"A short-sleeved cotton shirt with a death metal band's spidery, "
+"indecipherable logo printed on the front."
+msgstr ""
+
+#: lang/json/ARMOR_from_json.py
+msgid ""
+"A short-sleeved cotton shirt with a muscle-bound, long-haired man printed on "
+"the front. He is riding a red dragon and wielding a flaming sword with "
+"malicious glee."
+msgstr ""
+
+#: lang/json/ARMOR_from_json.py
+msgid ""
+"A short-sleeved cotton shirt with a gore-spattered, guitar-playing zombie "
+"printed on the front. It's rather tasteless in light of current events."
+msgstr ""
+
+#: lang/json/ARMOR_from_json.py
+msgid ""
+"A short-sleeved cotton shirt with a pattern of complex geometric shapes and "
+"transcendental imagery printed on the front."
+msgstr ""
+
#: lang/json/ARMOR_from_json.py
msgid "tunic"
msgid_plural "tunics"
@@ -12449,6 +12707,17 @@ msgid ""
"A pair of rubber boots, often used while cleaning with caustic materials."
msgstr ""
+#: lang/json/ARMOR_from_json.py
+msgid "pair of scrap boots"
+msgid_plural "pairs of scrap boots"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for pair of scrap boots
+#: lang/json/ARMOR_from_json.py
+msgid "Boots made of random scraps."
+msgstr ""
+
#: lang/json/ARMOR_from_json.py
msgid "pair of steeltoed boots"
msgid_plural "pairs of steeltoed boots"
@@ -12971,7 +13240,7 @@ msgstr[1] ""
#: lang/json/ARMOR_from_json.py
msgid ""
"An elastic band with numerous provisions for concealing a very small pistol "
-"close to the body. It is awkward to use without practice. Activate to "
+"close to the body. It is awkward to use without practice. Activate to "
"holster/draw a gun."
msgstr ""
@@ -13004,6 +13273,18 @@ msgid ""
"straps that hold it flat against your leg, Activate to holster/draw a gun."
msgstr ""
+#: lang/json/ARMOR_from_json.py
+msgid "saddle bags"
+msgid_plural "saddle bagss"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for saddle bags
+#: lang/json/ARMOR_from_json.py
+msgid ""
+"A pair of covered pouches laid across the back of a horse behind the saddle."
+msgstr ""
+
#: lang/json/ARMOR_from_json.py
msgid "helmet netting"
msgid_plural "helmet nettings"
@@ -14086,7 +14367,7 @@ msgstr[1] ""
#: lang/json/BIONIC_ITEM_from_json.py
msgid ""
"Concealed in your left arm is a surgically integrated one-shot sawn-off "
-"shotgun barrel, that pops-up upon activation. Perfect in a pinch."
+"shotgun barrel, that pops-up upon activation. Perfect in a pinch."
msgstr ""
#: lang/json/BIONIC_ITEM_from_json.py
@@ -16365,7 +16646,8 @@ msgstr[1] ""
#: lang/json/BOOK_from_json.py lang/json/GENERIC_from_json.py
#: lang/json/GENERIC_from_json.py
#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py
-#: lang/json/TOOL_from_json.py lang/json/skill_from_json.py
+#: lang/json/TOOL_from_json.py lang/json/furniture_from_json.py
+#: lang/json/skill_from_json.py
msgid "seeing this is a bug"
msgid_plural "seeing this is a bugs"
msgstr[0] ""
@@ -16381,7 +16663,7 @@ msgstr[1] ""
#: lang/json/BOOK_from_json.py
msgid ""
"Bearing the logo of Uncanny, those are assembly plans, design specs, and "
-"technical drawings for the nurse bot. Most of this is useless to you, but "
+"technical drawings for the nurse bot. Most of this is useless to you, but "
"you could use the assembly plans to re-assemble the robot from salvaged "
"parts."
msgstr ""
@@ -16395,7 +16677,7 @@ msgstr[1] ""
#. ~ Description for police bot schematics
#: lang/json/BOOK_from_json.py
msgid ""
-"Assembly plans, design specs, and technical drawings for the police bot. "
+"Assembly plans, design specs, and technical drawings for the police bot. "
"Most of this is useless to you, but you could use the assembly plans to re-"
"assemble the robot from salvaged parts."
msgstr ""
@@ -16409,9 +16691,9 @@ msgstr[1] ""
#. ~ Description for eyebot schematics
#: lang/json/BOOK_from_json.py
msgid ""
-"Assembly plans, design specs, and technical drawings for the eyebot. Most of "
-"this is useless to you, but you could use the assembly plans to re-assemble "
-"the robot from salvaged parts."
+"Assembly plans, design specs, and technical drawings for the eyebot. Most "
+"of this is useless to you, but you could use the assembly plans to re-"
+"assemble the robot from salvaged parts."
msgstr ""
#: lang/json/BOOK_from_json.py
@@ -16423,7 +16705,7 @@ msgstr[1] ""
#. ~ Description for security bot schematics
#: lang/json/BOOK_from_json.py
msgid ""
-"Assembly plans, design specs, and technical drawings for the security bot. "
+"Assembly plans, design specs, and technical drawings for the security bot. "
"Most of this is useless to you, but you could use the assembly plans to re-"
"assemble the robot from salvaged parts."
msgstr ""
@@ -16437,7 +16719,7 @@ msgstr[1] ""
#. ~ Description for skitterbot schematics
#: lang/json/BOOK_from_json.py
msgid ""
-"Assembly plans, design specs, and technical drawings for the skitterbot. "
+"Assembly plans, design specs, and technical drawings for the skitterbot. "
"Most of this is useless to you, but you could use the assembly plans to re-"
"assemble the robot from salvaged parts."
msgstr ""
@@ -16452,7 +16734,7 @@ msgstr[1] ""
#: lang/json/BOOK_from_json.py
msgid ""
"Bearing the logo of Northrop, those are assembly plans, design specs, and "
-"technical drawings for the chicken walker. Most of this is useless to you, "
+"technical drawings for the chicken walker. Most of this is useless to you, "
"but you could use the assembly plans to re-assemble the robot from salvaged "
"parts."
msgstr ""
@@ -16466,7 +16748,7 @@ msgstr[1] ""
#. ~ Description for cleaner bot schematics
#: lang/json/BOOK_from_json.py
msgid ""
-"Assembly plans, design specs, and technical drawings for the cleaner bot. "
+"Assembly plans, design specs, and technical drawings for the cleaner bot. "
"Most of this is useless to you, but you could use the assembly plans to re-"
"assemble the robot from salvaged parts."
msgstr ""
@@ -16480,8 +16762,8 @@ msgstr[1] ""
#. ~ Description for miner bot schematics
#: lang/json/BOOK_from_json.py
msgid ""
-"Assembly plans, design specs, and technical drawings for the miner bot. Most "
-"of this is useless to you, but you could use the assembly plans to re-"
+"Assembly plans, design specs, and technical drawings for the miner bot. "
+"Most of this is useless to you, but you could use the assembly plans to re-"
"assemble the robot from salvaged parts."
msgstr ""
@@ -16495,8 +16777,8 @@ msgstr[1] ""
#: lang/json/BOOK_from_json.py
msgid ""
"Assembly plans, design specs, and technical drawings for the riot control "
-"bot. Most of this is useless to you, but you could use the assembly plans to "
-"re-assemble the robot from salvaged parts."
+"bot. Most of this is useless to you, but you could use the assembly plans "
+"to re-assemble the robot from salvaged parts."
msgstr ""
#: lang/json/BOOK_from_json.py
@@ -16509,8 +16791,8 @@ msgstr[1] ""
#: lang/json/BOOK_from_json.py
msgid ""
"Assembly plans, design specs, and technical drawings for the lab defense "
-"bot. Most of this is useless to you, but you could use the assembly plans to "
-"re-assemble the robot from salvaged parts."
+"bot. Most of this is useless to you, but you could use the assembly plans "
+"to re-assemble the robot from salvaged parts."
msgstr ""
#: lang/json/BOOK_from_json.py
@@ -16523,7 +16805,7 @@ msgstr[1] ""
#: lang/json/BOOK_from_json.py
msgid ""
"Bearing the logo of Northrop, those are assembly plans, design specs, and "
-"technical drawings for the tank drone. Most of this is useless to you, but "
+"technical drawings for the tank drone. Most of this is useless to you, but "
"you could use the assembly plans to re-assemble the robot from salvaged "
"parts."
msgstr ""
@@ -16538,7 +16820,7 @@ msgstr[1] ""
#: lang/json/BOOK_from_json.py
msgid ""
"Bearing the logo of Honda, those are assembly plans, design specs, and "
-"technical drawings for the tripod. Most of this is useless to you, but you "
+"technical drawings for the tripod. Most of this is useless to you, but you "
"could use the assembly plans to re-assemble the robot from salvaged parts."
msgstr ""
@@ -16552,8 +16834,9 @@ msgstr[1] ""
#: lang/json/BOOK_from_json.py
msgid ""
"Bearing the logo of Northrop, those are assembly plans, design specs, and "
-"technical drawings for the dispatch. Most of this is useless to you, but you "
-"could use the assembly plans to re-assemble the robot from salvaged parts."
+"technical drawings for the dispatch. Most of this is useless to you, but "
+"you could use the assembly plans to re-assemble the robot from salvaged "
+"parts."
msgstr ""
#: lang/json/BOOK_from_json.py
@@ -16566,7 +16849,7 @@ msgstr[1] ""
#: lang/json/BOOK_from_json.py
msgid ""
"Bearing the logo of Northrop, those are assembly plans, design specs, and "
-"technical drawings for the military dispatch. Most of this is useless to "
+"technical drawings for the military dispatch. Most of this is useless to "
"you, but you could use the assembly plans to re-assemble the robot from "
"salvaged parts."
msgstr ""
@@ -16581,8 +16864,8 @@ msgstr[1] ""
#: lang/json/BOOK_from_json.py
msgid ""
"Assembly plans, design specs, and technical drawings for the anti-materiel "
-"turret. Most of this is useless to you, but you could use the assembly plans "
-"to re-assemble the robot from salvaged parts."
+"turret. Most of this is useless to you, but you could use the assembly "
+"plans to re-assemble the robot from salvaged parts."
msgstr ""
#: lang/json/BOOK_from_json.py
@@ -16595,7 +16878,7 @@ msgstr[1] ""
#: lang/json/BOOK_from_json.py
msgid ""
"Assembly plans, design specs, and technical drawings for the milspec "
-"searchlight. Most of this is useless to you, but you could use the assembly "
+"searchlight. Most of this is useless to you, but you could use the assembly "
"plans to re-assemble the robot from salvaged parts."
msgstr ""
@@ -20976,6 +21259,60 @@ msgid ""
"looks *disgusting*."
msgstr ""
+#: lang/json/COMESTIBLE_from_json.py
+msgid "raw milk"
+msgid_plural "raw milk"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for raw milk
+#: lang/json/COMESTIBLE_from_json.py
+msgid ""
+"This is raw, unhomogenized and unpasteurized milk from a cow. It couldn't "
+"be any fresher unless you drank it straight from the cow, which might upset "
+"it. Depending on your dietary sensibilities, you might want to pasteurize "
+"or even boil this before drinking."
+msgstr ""
+
+#: lang/json/COMESTIBLE_from_json.py
+msgid "shelf stable milk"
+msgid_plural "shelf stable milk"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for shelf stable milk
+#: lang/json/COMESTIBLE_from_json.py
+msgid ""
+"This is milk that has been pasteurized at much higher temperatures than "
+"normal. It tastes slightly different, but, unopened, will last far longer "
+"than regular milk."
+msgstr ""
+
+#: lang/json/COMESTIBLE_from_json.py
+msgid "evaporated milk"
+msgid_plural "evaporated milk"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for evaporated milk
+#: lang/json/COMESTIBLE_from_json.py
+#, no-python-format
+msgid "Milk that's had about 60% of its water removed prior to canning."
+msgstr ""
+
+#: lang/json/COMESTIBLE_from_json.py
+msgid "buttermilk"
+msgid_plural "buttermilk"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for buttermilk
+#: lang/json/COMESTIBLE_from_json.py
+msgid ""
+"This is cultured milk defatted either due to churning or curdling. Spoils "
+"quickly."
+msgstr ""
+
#: lang/json/COMESTIBLE_from_json.py
msgid "yogurt"
msgstr ""
@@ -20985,6 +21322,31 @@ msgstr ""
msgid "Delicious fermented dairy. It tastes of vanilla."
msgstr ""
+#: lang/json/COMESTIBLE_from_json.py
+msgid "butter"
+msgid_plural "butter"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for butter
+#: lang/json/COMESTIBLE_from_json.py
+msgid ""
+"A yellow stick of milkfat and milk solids, usually made from cow's milk."
+msgstr ""
+
+#: lang/json/COMESTIBLE_from_json.py
+msgid "ghee"
+msgid_plural "ghee"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for ghee
+#: lang/json/COMESTIBLE_from_json.py
+msgid ""
+"Clarified butter, free from milk solids and water. Will last a very long "
+"time."
+msgstr ""
+
#: lang/json/COMESTIBLE_from_json.py
msgid "pudding"
msgstr ""
@@ -21049,6 +21411,19 @@ msgstr[1] ""
msgid "Dehydrated milk powder. Mix with water to make drinkable milk."
msgstr ""
+#: lang/json/COMESTIBLE_from_json.py
+msgid "condensed milk"
+msgid_plural "condensed milk"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for condensed milk
+#: lang/json/COMESTIBLE_from_json.py
+msgid ""
+"Cow's milk that has been partly dehydrated to vastly increase its shelf "
+"life, and also sweetened."
+msgstr ""
+
#: lang/json/COMESTIBLE_from_json.py
msgid "apple cider"
msgid_plural "apple cider"
@@ -21201,12 +21576,6 @@ msgid ""
"with sugar and caffeine."
msgstr ""
-#: lang/json/COMESTIBLE_from_json.py
-msgid "condensed milk"
-msgid_plural "condensed milk"
-msgstr[0] ""
-msgstr[1] ""
-
#. ~ Description for condensed milk
#: lang/json/COMESTIBLE_from_json.py
msgid ""
@@ -23093,25 +23462,14 @@ msgid "Salty dried pork. Tastes good, but it will make you thirsty."
msgstr ""
#: lang/json/COMESTIBLE_from_json.py
-msgid "uncooked burrito"
+msgid "microwave burrito"
msgstr ""
-#. ~ Description for uncooked burrito
+#. ~ Description for microwave burrito
#: lang/json/COMESTIBLE_from_json.py
msgid ""
"A small, microwaveable steak & cheese burrito, like those found at gas "
-"stations. Not as appetizing or nutritious as it would be if heated up."
-msgstr ""
-
-#: lang/json/COMESTIBLE_from_json.py
-msgid "cooked burrito"
-msgstr ""
-
-#. ~ Description for cooked burrito
-#: lang/json/COMESTIBLE_from_json.py
-msgid ""
-"A small, microwaveable steak & cheese burrito, like those found at gas "
-"stations. It's tastier and more filling, but will also spoil quickly."
+"stations."
msgstr ""
#: lang/json/COMESTIBLE_from_json.py
@@ -23958,6 +24316,18 @@ msgid ""
"dough."
msgstr ""
+#: lang/json/COMESTIBLE_from_json.py
+msgid "homemade burrito"
+msgstr ""
+
+#. ~ Description for homemade burrito
+#: lang/json/COMESTIBLE_from_json.py
+msgid ""
+"A traditional Mexican dish of meat and vegetable stuffing put on a corn "
+"tortilla and rolled into a tube shape, like those you find in gas stations "
+"but homemade and delicious!"
+msgstr ""
+
#: lang/json/COMESTIBLE_from_json.py
msgid "dehydrated human flesh"
msgid_plural "dehydrated human flesh"
@@ -26017,7 +26387,7 @@ msgstr[1] ""
#. ~ Description for handful of junipers
#: lang/json/COMESTIBLE_from_json.py
msgid ""
-"Junipers, for making gin and earthy flavors. Spicy, tastes similar to "
+"Junipers, for making gin and earthy flavors. Spicy, tastes similar to "
"rosemary."
msgstr ""
@@ -26171,13 +26541,13 @@ msgstr[1] ""
msgid "A handful of roasted nuts from a chestnut tree."
msgstr ""
-#: lang/json/COMESTIBLE_from_json.py lang/json/GENERIC_from_json.py
-msgid "handful of hazelnuts"
+#: lang/json/COMESTIBLE_from_json.py
+msgid "handful of shelled hazelnuts"
msgid_plural "handfuls of shelled hazelnuts"
msgstr[0] ""
msgstr[1] ""
-#. ~ Description for handful of hazelnuts
+#. ~ Description for handful of shelled hazelnuts
#: lang/json/COMESTIBLE_from_json.py
msgid ""
"A handful of raw hard nuts from a hazelnut tree, their shells have been "
@@ -26338,7 +26708,7 @@ msgstr ""
#. ~ Description for stewed tripe
#: lang/json/COMESTIBLE_from_json.py
msgid ""
-"Stomach lining, cut up and stewed for an hour in broth. Better than it "
+"Stomach lining, cut up and stewed for an hour in broth. Better than it "
"sounds."
msgstr ""
@@ -26643,7 +27013,7 @@ msgstr[1] ""
#. ~ Description for dried lentils
#: lang/json/COMESTIBLE_from_json.py
msgid ""
-"A humble but nutrient-rich legume. Should be cooked prior to consumption."
+"A humble but nutrient-rich legume. Should be cooked prior to consumption."
msgstr ""
#: lang/json/COMESTIBLE_from_json.py
@@ -26654,7 +27024,7 @@ msgstr[1] ""
#. ~ Description for cooked lentils
#: lang/json/COMESTIBLE_from_json.py
-msgid "Some delicious cooked lentils. Humble but nutrient-rich."
+msgid "Some delicious cooked lentils. Humble but nutrient-rich."
msgstr ""
#: lang/json/COMESTIBLE_from_json.py
@@ -30713,6 +31083,32 @@ msgid ""
"easily sealed."
msgstr ""
+#: lang/json/CONTAINER_from_json.py
+msgid "paper carton"
+msgid_plural "paper cartons"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for paper carton
+#: lang/json/CONTAINER_from_json.py
+msgid ""
+"A half gallon carton constructed of a paper, aluminum and plastic laminate. "
+"It has a threaded cap for easy resealing."
+msgstr ""
+
+#: lang/json/CONTAINER_from_json.py
+msgid "opened paper carton"
+msgid_plural "opened paper cartons"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for opened paper carton
+#: lang/json/CONTAINER_from_json.py
+msgid ""
+"A half gallon carton constructed of a paper, aluminum and plastic laminate. "
+"This one is open and its contents will spoil."
+msgstr ""
+
#: lang/json/CONTAINER_from_json.py
msgid "vacuum-packed bag"
msgid_plural "vacuum-packed bags"
@@ -30863,7 +31259,7 @@ msgstr[1] ""
#. ~ Description for beaker
#: lang/json/CONTAINER_from_json.py
-msgid "A 250ml laboratory beaker. Basically a cup with delusions of grandeur."
+msgid "A 250ml laboratory beaker. Basically a cup with delusions of grandeur."
msgstr ""
#: lang/json/CONTAINER_from_json.py
@@ -30876,7 +31272,7 @@ msgstr[1] ""
#: lang/json/CONTAINER_from_json.py
msgid ""
"A tall, narrow glass cylinder with precise markings for measuring fluid "
-"quantities. An important science tool, it is also useful for anal retentive "
+"quantities. An important science tool, it is also useful for anal retentive "
"chefs."
msgstr ""
@@ -30890,8 +31286,8 @@ msgstr[1] ""
#: lang/json/CONTAINER_from_json.py
msgid ""
"These plastic tubes, with little built in snap-caps, are a great way to "
-"store a tiny amount of liquid. Great for jello shooters if 1mL is enough for "
-"a shot for you. Cool people call these \"eppies\"."
+"store a tiny amount of liquid. Great for jello shooters if 1mL is enough "
+"for a shot for you. Cool people call these \"eppies\"."
msgstr ""
#: lang/json/CONTAINER_from_json.py
@@ -31171,8 +31567,8 @@ msgstr[1] ""
#. ~ Description for condom
#: lang/json/CONTAINER_from_json.py
msgid ""
-"A gentleman's balloon. A single use life preventer. A thumbless latex "
-"mitten. This could be used as a makeshift water container, but otherwise "
+"A gentleman's balloon. A single use life preventer. A thumbless latex "
+"mitten. This could be used as a makeshift water container, but otherwise "
"it's anyone's guess what it's for."
msgstr ""
@@ -31712,6 +32108,12 @@ msgstr[1] ""
msgid "A handful of hard nuts from a peanut bush, still in their shell."
msgstr ""
+#: lang/json/GENERIC_from_json.py
+msgid "handful of hazelnuts"
+msgid_plural "handfuls of hazelnuts"
+msgstr[0] ""
+msgstr[1] ""
+
#. ~ Description for handful of hazelnuts
#: lang/json/GENERIC_from_json.py
msgid "A handful of hard nuts from a hazelnut tree, still in their shell."
@@ -31774,7 +32176,7 @@ msgstr[1] ""
#. ~ Description for sandbag
#: lang/json/GENERIC_from_json.py
msgid ""
-"This is a canvas sack filled with sand. It can be used to construct simple "
+"This is a canvas sack filled with sand. It can be used to construct simple "
"barricades."
msgstr ""
@@ -31787,7 +32189,7 @@ msgstr[1] ""
#. ~ Description for earthbag
#: lang/json/GENERIC_from_json.py
msgid ""
-"This is a canvas sack filled with soil. It can be used to construct simple "
+"This is a canvas sack filled with soil. It can be used to construct simple "
"barricades."
msgstr ""
@@ -31909,6 +32311,19 @@ msgid ""
"kept together, pretty useless now though."
msgstr ""
+#: lang/json/GENERIC_from_json.py
+msgid "foodplace loyalty card"
+msgid_plural "foodplace loyalty cards"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for foodplace loyalty card
+#: lang/json/GENERIC_from_json.py
+msgid ""
+"A bright pink loyalty card, all the points are stamped. This would "
+"definitely prove your fidelity to Foodplace, if it still meant anything..."
+msgstr ""
+
#: lang/json/GENERIC_from_json.py
msgid "withered plant"
msgid_plural "withered plants"
@@ -33013,6 +33428,20 @@ msgid ""
"A large rag, drenched in blood. It could be cleaned with boiling water."
msgstr ""
+#: lang/json/GENERIC_from_json.py
+msgid "pipe cleaner"
+msgid_plural "pipe cleaners"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for pipe cleaner
+#: lang/json/GENERIC_from_json.py
+msgid ""
+"This is a tool designed to clean interior surface of pipes, bottles, and "
+"similar objects. This one is thin enough to be used for cleaning firearm "
+"barrels from dirt and fouling."
+msgstr ""
+
#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py
msgid "clock"
msgid_plural "clocks"
@@ -33199,26 +33628,6 @@ msgstr[1] ""
msgid "A small chunk of copper, usable for crafting or repairs."
msgstr ""
-#: lang/json/GENERIC_from_json.py
-msgid "glass shard"
-msgid_plural "glass shards"
-msgstr[0] ""
-msgstr[1] ""
-
-#. ~ Use action done_message for glass shard.
-#: lang/json/GENERIC_from_json.py
-msgid ""
-"You carefuly place the shards on the ground, ready to be cracked by "
-"something passing by."
-msgstr ""
-
-#. ~ Description for glass shard
-#: lang/json/GENERIC_from_json.py
-msgid ""
-"A broken shard of glass covered in sharp edges. You could use it as a "
-"weapon, but you might want to wear gloves."
-msgstr ""
-
#: lang/json/GENERIC_from_json.py
msgid "hand mirror"
msgid_plural "hand mirrors"
@@ -34201,6 +34610,19 @@ msgid ""
"complete with soldering capability."
msgstr ""
+#: lang/json/GENERIC_from_json.py
+msgid "amplifier head"
+msgid_plural "amplifier heads"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for amplifier head
+#: lang/json/GENERIC_from_json.py
+msgid ""
+"An amplifier head. Typically paired with a speaker cabinet for amplifying "
+"musical instruments. Basically only good for spare parts now."
+msgstr ""
+
#: lang/json/GENERIC_from_json.py
msgid "canister grenade"
msgid_plural "canister grenades"
@@ -34295,7 +34717,7 @@ msgstr[1] ""
#. ~ Description for war scythe
#: lang/json/GENERIC_from_json.py
msgid ""
-"A pole weapon with a curving single-edged blade. Its blade bears some "
+"A pole weapon with a curving single-edged blade. Its blade bears some "
"superficial resemblance to that of an agricultural scythe from which it "
"likely evolved."
msgstr ""
@@ -34846,7 +35268,7 @@ msgstr ""
#: lang/json/GENERIC_from_json.py
msgid ""
"This is a dull, slightly floppy replica of a Japanese polearm with a curved "
-"blade. With a little difficulty, you could use it administer a solid slap "
+"blade. With a little difficulty, you could use it administer a solid slap "
"from a distance."
msgstr ""
@@ -35673,6 +36095,47 @@ msgid ""
"well-balanced"
msgstr ""
+#: lang/json/GENERIC_from_json.py
+msgid "war flail"
+msgid_plural "war flails"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for war flail
+#: lang/json/GENERIC_from_json.py
+msgid ""
+"This is a stout pole with a large steel flanged mace head on a short chain "
+"attached to it, based on the peasant flail agricultural tool except now with "
+"a metal head and made to thresh people in metal armor rather than grain."
+msgstr ""
+
+#: lang/json/GENERIC_from_json.py
+msgid "peasant flail"
+msgid_plural "peasant flails"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for peasant flail
+#: lang/json/GENERIC_from_json.py
+msgid ""
+"This is a stout pole with a wooden club on a leather cord attached to it, "
+"this is a tool used to thresh wheat and occasionally people when the "
+"peasants got angry at their feudal lords."
+msgstr ""
+
+#: lang/json/GENERIC_from_json.py
+msgid "long pole"
+msgid_plural "long poles"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for long pole
+#: lang/json/GENERIC_from_json.py
+msgid ""
+"A stout, ten-foot pole. Could be used similarly to a spear. The Cataclysm "
+"gives fresh meaning to walking softly and carrying a big stick."
+msgstr ""
+
#: lang/json/GENERIC_from_json.py
msgid "flyer"
msgid_plural "flyers"
@@ -37299,6 +37762,19 @@ msgstr[1] ""
msgid "A complete guide to Sōjutsu."
msgstr ""
+#: lang/json/GENERIC_from_json.py
+msgid "Beautiful Springtime"
+msgid_plural "Beautiful Springtime"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for Beautiful Springtime
+#: lang/json/GENERIC_from_json.py
+msgid ""
+"A complete guide to Wing Chun Kung-fu. Includes a section on butterfly "
+"swords and the use of long poles at the end."
+msgstr ""
+
#: lang/json/GENERIC_from_json.py
msgid "Martial art manual"
msgid_plural "Martial art manuals"
@@ -37924,6 +38400,17 @@ msgstr[1] ""
msgid "An empty casing from a .38 Special round."
msgstr ""
+#: lang/json/GENERIC_from_json.py
+msgid ".38 Super casing"
+msgid_plural ".38 Super casings"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for .38 Super casing
+#: lang/json/GENERIC_from_json.py
+msgid "An empty casing from a .38 Super round."
+msgstr ""
+
#: lang/json/GENERIC_from_json.py
msgid ".40 S&W casing"
msgid_plural ".40 S&W casings"
@@ -37935,6 +38422,17 @@ msgstr[1] ""
msgid "An empty casing from a .40 S&W round."
msgstr ""
+#: lang/json/GENERIC_from_json.py
+msgid "10mm Auto casing"
+msgid_plural "10mm Auto casings"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for 10mm Auto casing
+#: lang/json/GENERIC_from_json.py
+msgid "An empty casing from a 10mm Auto round."
+msgstr ""
+
#: lang/json/GENERIC_from_json.py
msgid "40mm canister"
msgid_plural "40mm canisters"
@@ -37980,6 +38478,17 @@ msgstr[1] ""
msgid "An empty casing from a .45 ACP round."
msgstr ""
+#: lang/json/GENERIC_from_json.py
+msgid ".45 Colt casing"
+msgid_plural ".45 Colt casings"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for .45 Colt casing
+#: lang/json/GENERIC_from_json.py
+msgid "An empty casing from a .45 Colt round."
+msgstr ""
+
#: lang/json/GENERIC_from_json.py
msgid ".45-70 casing"
msgid_plural ".45-70 casings"
@@ -38184,6 +38693,17 @@ msgstr[1] ""
msgid "An empty hull from a shotgun shell."
msgstr ""
+#: lang/json/GENERIC_from_json.py
+msgid ".410 hull"
+msgid_plural ".410 hulls"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for .410 hull
+#: lang/json/GENERIC_from_json.py
+msgid "An empty hull from a .410 shotgun shell."
+msgstr ""
+
#: lang/json/GENERIC_from_json.py
msgid "Merch"
msgid_plural "Merchs"
@@ -39172,7 +39692,7 @@ msgstr[1] ""
#: lang/json/GENERIC_from_json.py
msgid ""
"A sturdy 30-foot long vine. Could easily be used as a rope, but can't be "
-"disassembled. Strong enough to suspend a large corpse for butchering."
+"disassembled. Strong enough to suspend a large corpse for butchering."
msgstr ""
#: lang/json/GENERIC_from_json.py
@@ -42193,6 +42713,73 @@ msgid ""
"effects."
msgstr ""
+#: lang/json/GENERIC_from_json.py
+msgid "The Tome of The Battle Mage"
+msgid_plural "The Tome of The Battle Mages"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for The Tome of The Battle Mage
+#: lang/json/GENERIC_from_json.py
+msgid ""
+"Your standard wizardy looking spellbook, filled with Magus combat spells. "
+"You sure lucked out!"
+msgstr ""
+
+#: lang/json/GENERIC_from_json.py
+msgid "The Tome of the Hollow Earth"
+msgid_plural "The Tome of the Hollow Earths"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for The Tome of the Hollow Earth
+#: lang/json/GENERIC_from_json.py
+msgid ""
+"This large dusty spellbook seems perpetually, well, dusty. It contains the "
+"power of the earth."
+msgstr ""
+
+#: lang/json/GENERIC_from_json.py
+msgid "The Tome of Magical Movement"
+msgid_plural "The Tome of Magical Movements"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for The Tome of Magical Movement
+#: lang/json/GENERIC_from_json.py
+#, no-python-format
+msgid ""
+"This small lightweight book seems to almost not entirely exist, let's say it "
+"97% does. It contains Magus spells focused on movement."
+msgstr ""
+
+#: lang/json/GENERIC_from_json.py
+msgid "Smudged Scroll"
+msgid_plural "Smudged Scrolls"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for Smudged Scroll
+#: lang/json/GENERIC_from_json.py
+msgid ""
+"This looks like someone was designing a new spell, but spilled a mug of "
+"coffee on it and crumpled it up in anger. You can tell that it will "
+"definitely cast something, but you can't be sure that it will work very well."
+msgstr ""
+
+#: lang/json/GENERIC_from_json.py
+msgid "Necromantic Minions for Dummies"
+msgid_plural "Necromantic Minions for Dummiess"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for Necromantic Minions for Dummies
+#: lang/json/GENERIC_from_json.py
+msgid ""
+"This book details various ways of summoning an undead minion to fight for "
+"you. They all appear to disappear after a short time, crumbling to dust."
+msgstr ""
+
#: lang/json/GENERIC_from_json.py
msgid "The Medieval Warrior"
msgid_plural "The Medieval Warrior"
@@ -43668,12 +44255,6 @@ msgid_plural ".45 Long Colt casings"
msgstr[0] ""
msgstr[1] ""
-#: lang/json/GENERIC_from_json.py
-msgid ".410 hull"
-msgid_plural ".410 hulls"
-msgstr[0] ""
-msgstr[1] ""
-
#. ~ Description for .410 hull
#: lang/json/GENERIC_from_json.py
msgid "An empty hull from a .410 bore shotgun shell."
@@ -43869,7 +44450,7 @@ msgstr[1] ""
#. ~ Description for light plutonium fuel battery
#: lang/json/MAGAZINE_from_json.py
msgid ""
-"This battery uses a thin plutonium-244 rod to stablize an exotic "
+"This battery uses a thin plutonium-244 rod to stabilize an exotic "
"nanocompound. It is universally compatible with all kinds of personal "
"electronic devices. Although it stores a huge amount of power, it cannot be "
"recharged."
@@ -44485,6 +45066,15 @@ msgid ""
"rounds."
msgstr ""
+#: lang/json/MAGAZINE_from_json.py
+msgid "P320 magazine .357 SIG"
+msgstr ""
+
+#. ~ Description for P320 magazine .357 SIG
+#: lang/json/MAGAZINE_from_json.py
+msgid "A 14 round double stack box magazine for the SIG Sauer P320."
+msgstr ""
+
#: lang/json/MAGAZINE_from_json.py
msgid "makeshift .38 25-round magazine"
msgstr ""
@@ -44507,25 +45097,25 @@ msgid "A compact steel box magazine for use with the Taurus Pro .38 pistol."
msgstr ""
#: lang/json/MAGAZINE_from_json.py
-msgid ".38 7-round speedloader"
+msgid ".38/.357 7-round speedloader"
msgstr ""
-#. ~ Description for .38 7-round speedloader
+#. ~ Description for .38/.357 7-round speedloader
#: lang/json/MAGAZINE_from_json.py
msgid ""
-"This speedloader can hold 7 rounds of .38 and quickly reload a compatible "
-"revolver."
+"This speedloader can hold 7 rounds of .357 Magnum or .38 Special and quickly "
+"reload a compatible revolver."
msgstr ""
#: lang/json/MAGAZINE_from_json.py
-msgid ".38 5-round speedloader"
+msgid ".38/.357 5-round speedloader"
msgstr ""
-#. ~ Description for .38 5-round speedloader
+#. ~ Description for .38/.357 5-round speedloader
#: lang/json/MAGAZINE_from_json.py
msgid ""
-"This speedloader can hold 5 rounds of .38 and quickly reload a compatible "
-"revolver."
+"This speedloader can hold 5 rounds of .357 Magnum or .38 Special and quickly "
+"reload a compatible revolver."
msgstr ""
#: lang/json/MAGAZINE_from_json.py
@@ -44565,6 +45155,15 @@ msgstr ""
msgid "A cheap 32-round steel box magazine for use with the MAC-11 SMG."
msgstr ""
+#: lang/json/MAGAZINE_from_json.py
+msgid "M1911 .38 Super magazine"
+msgstr ""
+
+#. ~ Description for M1911 .38 Super magazine
+#: lang/json/MAGAZINE_from_json.py
+msgid "A compact single stack box magazine for the M1911."
+msgstr ""
+
#: lang/json/MAGAZINE_from_json.py
msgid ".40 6-round speedloader"
msgstr ""
@@ -44631,6 +45230,27 @@ msgid ""
"belts."
msgstr ""
+#: lang/json/MAGAZINE_from_json.py
+msgid "Saiga-410 box magazine"
+msgstr ""
+
+#. ~ Description for Saiga-410 box magazine
+#: lang/json/MAGAZINE_from_json.py
+msgid ""
+"A removable plastic box magazine for the Saiga-410 shotgun. Holds 10 shells."
+msgstr ""
+
+#: lang/json/MAGAZINE_from_json.py
+msgid "Saiga-410 drum magazine"
+msgstr ""
+
+#. ~ Description for Saiga-410 drum magazine
+#: lang/json/MAGAZINE_from_json.py
+msgid ""
+"A removable plastic drum magazine for the Saiga-410 shotgun. Holds 30 "
+"shells."
+msgstr ""
+
#: lang/json/MAGAZINE_from_json.py
msgid ".44 6-round speedloader"
msgstr ""
@@ -45207,6 +45827,15 @@ msgstr ""
msgid "A standard 7-round steel box magazine for the Kel-Tec PF-9."
msgstr ""
+#: lang/json/MAGAZINE_from_json.py
+msgid "P320 magazine 9x19mm"
+msgstr ""
+
+#. ~ Description for P320 magazine 9x19mm
+#: lang/json/MAGAZINE_from_json.py
+msgid "A 17 round double stack box magazine for the SIG Sauer P320."
+msgstr ""
+
#: lang/json/MAGAZINE_from_json.py
msgid "Makarov PM magazine"
msgstr ""
@@ -45840,10 +46469,6 @@ msgstr ""
msgid "A 9-round magazine for the M1991A1 .38 Super pistol."
msgstr ""
-#: lang/json/MAGAZINE_from_json.py
-msgid "Saiga-410 box magazine"
-msgstr ""
-
#. ~ Description for Saiga-410 box magazine
#: lang/json/MAGAZINE_from_json.py
msgid ""
@@ -45851,10 +46476,6 @@ msgid ""
"of .410 bore shotshells."
msgstr ""
-#: lang/json/MAGAZINE_from_json.py
-msgid "Saiga-410 drum magazine"
-msgstr ""
-
#. ~ Description for Saiga-410 drum magazine
#: lang/json/MAGAZINE_from_json.py
msgid ""
@@ -46372,6 +46993,15 @@ msgstr ""
msgid "Removes all black powder and pre-Cold War firearms."
msgstr ""
+#: lang/json/MOD_INFO_from_json.py
+msgid "No Rail Stations"
+msgstr ""
+
+#. ~ Description for No Rail Stations
+#: lang/json/MOD_INFO_from_json.py
+msgid "Removes above-ground rail stations from the game."
+msgstr ""
+
#: lang/json/MOD_INFO_from_json.py
msgid "Disable Religious Texts"
msgstr ""
@@ -46741,3612 +47371,3612 @@ msgid "Higher dex increases your speed."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "debug monster"
+msgid "chicken"
msgstr ""
-#. ~ Description for debug monster
+#. ~ Description for chicken
#: lang/json/MONSTER_from_json.py
-msgid "This monster exists only for testing purposes."
+msgid ""
+"A domesticated descendant of junglefowl, it may still be the most numerous "
+"bird in the world. Before the Cataclysm, it was raised by humans as a "
+"source of meat, eggs, and early morning wakeup calls."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "albino penguin"
+msgid "grouse"
msgstr ""
-#. ~ Description for albino penguin
+#. ~ Description for grouse
#: lang/json/MONSTER_from_json.py
msgid ""
-"Eight-feet-tall ghastly white penguins. Placid unless otherwise provoked."
+"A very common game bird, these creatures remind you of what a wild chicken "
+"must have been like."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "alpha razorclaw"
+msgid "crow"
msgstr ""
-#. ~ Description for alpha razorclaw
+#. ~ Description for crow
#: lang/json/MONSTER_from_json.py
msgid ""
-"A blood red, gigantic razorclaw. Its sword like pincers serve as the "
-"keepers of the nest."
+"A small, elegant black bird, famous for its distinctive call. An "
+"intelligent bird, there is a glitter of mischief behind its eyes."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "amigara horror"
+msgid "duck"
msgstr ""
-#. ~ Description for amigara horror
+#. ~ Description for duck
#: lang/json/MONSTER_from_json.py
msgid ""
-"A hellish, vaguely humanoid horror, two stories tall. Its face is "
-"grotesquely stretched out, its limbs deformed to unrecognizable outgrowths."
+"A mallard duck, often seen around rivers and other bodies of water. It "
+"feeds primarily on insects, seeds, roots, and, pre-cataclysm, bread scraps."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "bat"
+msgid "goose"
msgstr ""
-#. ~ Description for bat
+#. ~ Description for goose
#: lang/json/MONSTER_from_json.py
-msgid ""
-"One of the vesper bats, a family of winged insect-eating mammals. It roosts "
-"in caves and other hollows, and uses a form of echolocation to aerially "
-"navigate through tricky terrain at rapid speeds."
+msgid "A Canadian goose, a common waterfowl that regrets leaving Canada."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "scarred zombie"
+msgid "turkey"
msgstr ""
-#. ~ Description for scarred zombie
+#. ~ Description for turkey
#: lang/json/MONSTER_from_json.py
msgid ""
-"A deformed human body, its skin transformed into one thick, calloused "
-"envelope of scar tissue."
+"A large and colorful game bird native to the forests of North America. Its "
+"head and beak are covered in fleshy protuberances."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "blank body"
-msgid_plural "blank bodies"
-msgstr[0] ""
-msgstr[1] ""
+msgid "pheasant"
+msgstr ""
-#. ~ Description for blank body
+#. ~ Description for pheasant
#: lang/json/MONSTER_from_json.py
msgid ""
-"This is some form of unnatural changeling creature; its appearance is a "
-"bland mockery of the human form. Featureless and pale, its repugnant "
-"countenance is all the more unsettling due to its lack of eyes and "
-"distinguishing features except for a perfectly round mouth. Naked and "
-"trembling, it almost seems pitiful but for the way that its unearthly "
-"presence makes the hair on the back of your neck stand up in nameless horror."
+"A medium sized game bird that can have bright feathers depending on the sex "
+"and species."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "blob"
+msgid "cockatrice"
msgstr ""
-#. ~ Description for blob
+#. ~ Description for cockatrice
#: lang/json/MONSTER_from_json.py
msgid ""
-"A black blob of viscous goo, oozing across the ground like a glob of living "
-"oil."
+"This strange mutant bird gains its name from its odd appearance. Although "
+"its features seem to be becoming more reptilian, it doesn't appear dangerous."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "brain blob"
+msgid "yellow chick"
msgstr ""
-#. ~ Description for brain blob
+#. ~ Description for yellow chick
#: lang/json/MONSTER_from_json.py
msgid ""
-"A gigantic black blob of viscous goo, oozing across the ground like a glob "
-"of living oil. Other blobs seem to swarm around it."
+"A tiny yellow and brown chick, it could be from a number of different "
+"species."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "big blob"
+msgid "brown chick"
msgstr ""
-#. ~ Description for big blob
#: lang/json/MONSTER_from_json.py
-msgid ""
-"A large black blob of viscous goo, oozing across the ground like a glob of "
-"living oil."
+msgid "strange chick"
msgstr ""
+#. ~ Description for strange chick
#: lang/json/MONSTER_from_json.py
-msgid "small blob"
+msgid "A strange tiny chick, it could be from a number of different species."
msgstr ""
-#. ~ Description for small blob
+#: lang/json/MONSTER_from_json.py
+msgid "waterfowl chick"
+msgstr ""
+
+#. ~ Description for waterfowl chick
#: lang/json/MONSTER_from_json.py
msgid ""
-"A small black blob of viscous goo, oozing across the ground like a glob of "
-"living oil."
+"A tiny yellow and brown waterfowl chick, it could be from a number of "
+"different species."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "blood sacrifice"
+msgid "security bot"
msgstr ""
-#. ~ Description for blood sacrifice
+#. ~ Description for security bot
#: lang/json/MONSTER_from_json.py
msgid ""
-"A defiled human body, once living. Tortured to death long ago, it remains "
-"chained to the altar, the putrescent flays of its peeled skin quivering like "
-"so much flotsam upon a murky pond."
+"The Northrop Watchman X-1 is a production series of heavily armored combat "
+"robots. Initially designed for military patrol and escort service, it rolls "
+"on a set of hydraulic treads and is armed with a 9x19mm SMG."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "boomer"
+msgid "turret"
msgstr ""
-#. ~ Description for boomer
+#. ~ Description for turret
#: lang/json/MONSTER_from_json.py
msgid ""
-"A rotund human body, bloated beyond belief and layered in rolls of fat. It "
-"emits a horrible odor, and a putrid pink sludge dribbles from its mouth."
+"The General Atomics TX-1 Guardian, a small, pill-shaped automated gun turret "
+"using state of the art ATR systems to dynamically reorient itself to new "
+"friends and enemies alike. The two SMG barrels can swivel a full 360 "
+"degrees."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "gasoline zombie"
+msgid "skitterbot"
msgstr ""
-#. ~ Description for gasoline zombie
+#. ~ Description for skitterbot
#: lang/json/MONSTER_from_json.py
msgid ""
-"A huge bloated zombie that appears to have fed upon gasoline; fumes and "
-"flames escape from its mouth and fuel leaks from its waddling form."
+"A insectoid robot the size of a small dog, designed for home security. "
+"Armed with two close-range tazers, it can skate across the ground with great "
+"speed."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "fungal boomer"
+msgid "experimental lab bot"
msgstr ""
-#. ~ Description for fungal boomer
+#. ~ Description for experimental lab bot
#: lang/json/MONSTER_from_json.py
msgid ""
-"A rotund and bloated human body with pasty, fungus-ridden flesh. Its mouth "
-"drips with a frothing gray sludge."
+"This robot looks like a large metal spider, a bit bigger than a person, with "
+"its thorax covered in tiny holes. An ominous buzzing emanates from it."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "huge boomer"
+msgid "prototype robot"
msgstr ""
-#. ~ Description for huge boomer
+#. ~ Description for prototype robot
#: lang/json/MONSTER_from_json.py
msgid ""
-"This boomer, normally swollen and ready to burst, has strengthened and "
-"solidified. The bile dribbling from its mouth also appears to have "
-"changed..."
+"The single glowing eye of this robot surveys the landscape periodically, as "
+"it performs the endless slaughter dictated by a misinterpreted and cruel "
+"routine. Between half-built plates, you can see the machinery and cables "
+"that animate it, and yet it moves deftly as it switches between one target "
+"and the next."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "breather"
+msgid "NR-031 Dispatch"
msgstr ""
-#. ~ Description for breather
+#. ~ Description for NR-031 Dispatch
#: lang/json/MONSTER_from_json.py
msgid ""
-"This is some sort of unearthly pink flesh sac; moist and ridged with veins, "
-"it is otherwise without discernible exterior features. Seemingly immobile "
-"and defenseless, it sits in place, swelling and collapsing upon itself as it "
-"breathes."
+"The Northrop Dispatch, designed for crowd control situations, carries and "
+"deploys kamikaze drones of various types, with a small onboard EMP emitter "
+"frying them in the event of its destruction. The bright green-and-yellow "
+"paint marks a low-force variant - *comparatively* low-force, anyways - "
+"typically deployed as guards after an area has been cleared."
msgstr ""
-#. ~ Description for breather
#: lang/json/MONSTER_from_json.py
-msgid "A weird mass of immobile pink goo. It seems to breathe."
+msgid "NR-V05-M Dispatch"
msgstr ""
+#. ~ Description for NR-V05-M Dispatch
#: lang/json/MONSTER_from_json.py
-msgid "broken cyborg"
+msgid ""
+"The Northrop Dispatch, designed for crowd control situations, carries and "
+"deployes kamikaze drones of various types, with a small onboard EMP emitter "
+"frying them in the event of its destruction. The dark green paint job marks "
+"the lethal and feared military variant, carrying extreme and deadly "
+"firepower."
msgstr ""
-#. ~ Description for broken cyborg
#: lang/json/MONSTER_from_json.py
-msgid ""
-"A robot body with the head of a human. All kinds of electronic wires and "
-"devices are implanted in its head. Patches of skin look diseased or "
-"rotting. This cyborg moves erratically and has a confused and deranged look "
-"in its eyes."
+msgid "autonomous drone"
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "prototype cyborg"
+msgid "EMP hack"
msgstr ""
-#. ~ Description for prototype cyborg
+#. ~ Description for EMP hack
#: lang/json/MONSTER_from_json.py
msgid ""
-"A human fused with a mess of metal parts and wires. While its eyes are "
-"empty, flashes of pain pass across its face reminiscent of the person "
-"trapped in this grotesque body. With enough surgical skills one might be "
-"able to give them back some humanity. If only they cared..."
+"An automated kamikaze drone, this small quadcopter robot appears to have an "
+"EMP grenade inside."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "charred nightmare"
+msgid "C-4 hack"
msgstr ""
-#. ~ Description for charred nightmare
+#. ~ Description for C-4 hack
#: lang/json/MONSTER_from_json.py
msgid ""
-"Intense radiation has spurred a unique form of necrosis and regeneration, it "
-"is impossible to tell if this creature was ever human."
+"An automated kamikaze drone, this small quadcopter robot appears to have "
+"some C-4 inside."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "chicken walker"
+msgid "flashbang hack"
msgstr ""
-#. ~ Description for chicken walker
+#. ~ Description for flashbang hack
#: lang/json/MONSTER_from_json.py
msgid ""
-"The Northrop ATSV, a massive, heavily-armed and armored robot walking on a "
-"pair of reverse-jointed legs. Armed with a 40mm anti-vehicle grenade "
-"launcher, 5.56 anti-personnel gun, and the ability to electrify itself "
-"against attackers, it is an effective automated sentry, though production "
-"was limited due to a legal dispute."
+"An automated kamikaze drone, this small quadcopter robot appears to have a "
+"flashbang inside."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "C.H.U.D."
+msgid "tear gas hack"
msgstr ""
-#. ~ Description for C.H.U.D.
+#. ~ Description for tear gas hack
#: lang/json/MONSTER_from_json.py
msgid ""
-"The C.H.U.D. or Cannibalistic Humanoid Underground Dweller. A human being "
-"turned pale and mad from years of underground isolation."
+"An automated kamikaze drone, this small quadcopter robot appears to have a "
+"tear gas canister inside."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "police bot"
+msgid "grenade hack"
msgstr ""
-#. ~ Description for police bot
+#. ~ Description for grenade hack
#: lang/json/MONSTER_from_json.py
msgid ""
-"One of the many models of armored law enforcement robots employed shortly "
-"before the collapse of civilization. Solar powered like many other robots, "
-"it maintains its programmed pursuit of law and order, propelled on a trio of "
-"omni wheels."
+"An automated kamikaze drone, this small quadcopter robot appears to have a "
+"grenade inside."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "crawler"
+msgid "manhack"
msgstr ""
-#. ~ Description for crawler
+#. ~ Description for manhack
#: lang/json/MONSTER_from_json.py
msgid ""
-"A conglomeration of human parts fused together in a horrible mishmash of "
-"function, slowly dragging its eldritch body across the ground."
+"An automated anti-personnel drone, a small quadcopter robot surrounded by "
+"whirring blades."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "dark wyrm"
+msgid "mininuke hack"
msgstr ""
-#. ~ Description for dark wyrm
+#. ~ Description for mininuke hack
#: lang/json/MONSTER_from_json.py
msgid ""
-"A huge mutated worm found deep underground. It has a gaping round mouth "
-"lined with dagger-like teeth, and its flesh is slick with bubbling blue "
-"slime."
+"Many times as large as a normal manhack, this flying quadcopter drone "
+"appears to have a mininuke inside. If this is targeting you... Run."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "wraith"
+msgid "tiny fish"
msgstr ""
-#. ~ Description for wraith
+#. ~ Description for tiny fish
#: lang/json/MONSTER_from_json.py
-msgid ""
-"A gigantic shadow, chaotically changing in shape and volume. Two piercing "
-"orbs of light dominate what can only be described as its head."
+msgid "A tiny fish."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "dementia"
+msgid "small fish"
msgstr ""
-#. ~ Description for dementia
+#. ~ Description for small fish
#: lang/json/MONSTER_from_json.py
-msgid ""
-"A crazed individual, the bloody scars on the side of its shaved head suggest "
-"some sort of partial lobotomy"
+msgid "A small fish."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "skeletal dog"
+msgid "medium fish"
msgstr ""
-#. ~ Description for skeletal dog
+#. ~ Description for medium fish
#: lang/json/MONSTER_from_json.py
-msgid ""
-"This once-canine has shed all of its skin, revealing a carapace of fused "
-"bones and ribs. Devoid entirely of flesh, this walking suit of bone seems "
-"to be controlled by a net of veins and sinews which pulse with glistening "
-"black goo."
+msgid "A medium fish."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "dog"
+msgid "large fish"
msgstr ""
-#. ~ Description for dog
+#. ~ Description for large fish
#: lang/json/MONSTER_from_json.py
-msgid ""
-"A domesticated mongrel of the canine persuasion. In the absence of human "
-"society, it has turned feral. You feel a sudden urge to destroy it."
+msgid "A large fish."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "Z-9"
+msgid "huge fish"
msgstr ""
-#. ~ Description for Z-9
+#. ~ Description for huge fish
#: lang/json/MONSTER_from_json.py
-msgid ""
-"A zombified version of one of the German shepherd dogs used in law "
-"enforcement. Its deformed body is encased in a protective Kevlar harness."
+msgid "A huge fish."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "rot-weiler"
+msgid "trout"
msgstr ""
-#. ~ Description for rot-weiler
+#. ~ Description for trout
#: lang/json/MONSTER_from_json.py
msgid ""
-"Acrid smell accompanies this corpse of canine. Its whole body is covered in "
-"chains of pulsing cysts and slime-dribbling ulcers."
+"A Trout. A fish made popular by father-son fishing trips, Except for the "
+"part where you have to gut it."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "eyebot"
+msgid "brown trout"
msgstr ""
-#. ~ Description for eyebot
+#. ~ Description for brown trout
#: lang/json/MONSTER_from_json.py
msgid ""
-"A quadcopter drone largely comprised of a high-resolution camera lens and a "
-"speaker, this robot hovers above the ground, documenting the carnage and "
-"mayhem around it. While it is no longer able to report to a central "
-"authority, it's likely that some of its automated alert systems are still "
-"functional, given that the thing seems to have an operational charging "
-"station somewhere."
+"A Brown Trout. A fish made popular by father-son fishing trips, Except for "
+"the part where you have to gut it."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "nurse bot"
+msgid "brook trout"
msgstr ""
-#. ~ Description for nurse bot
+#. ~ Description for brook trout
#: lang/json/MONSTER_from_json.py
msgid ""
-"The first product from Uncanny, a towering four-armed humanoid with a gentle "
-"face. The details of its visage are striking, but the stiffness of it makes "
-"you really uncomfortable. The end of the world did not stop it from looking "
-"for patient to assist."
+"A Brook Trout. A fish made popular by father-son fishing trips, Except for "
+"the part where you have to gut it."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "flaming eye"
+msgid "lake trout"
msgstr ""
-#. ~ Description for flaming eye
+#. ~ Description for lake trout
#: lang/json/MONSTER_from_json.py
msgid ""
-"An enormous disembodied eyeball the size of a person, flying through the air "
-"through some unknown agency. Wreathed in unnatural flickering blue flame, "
-"it possesses a blazing yellow iris with a slitted pupil like that of a cat "
-"and trails a set of flailing black tendrils as it slowly drifts about; its "
-"unearthly presence filling you with dread at the prospect of falling under "
-"its baleful gaze."
+"A Lake trout. A fish made popular by father-son fishing trips, Except for "
+"the part where you have to gut it."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "flesh angel"
+msgid "rainbow trout"
msgstr ""
-#. ~ Description for flesh angel
+#. ~ Description for rainbow trout
#: lang/json/MONSTER_from_json.py
msgid ""
-"A tall and slender man lacking skin and any normalcy of countenance. Wings "
-"of muscle curl forth from its back and a third eye dominates the forehead."
+"A Rainbow Trout. A fish made popular by father-son fishing trips, Except "
+"for the part where you have to gut it."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "flying polyp"
+msgid "steelhead trout"
msgstr ""
-#. ~ Description for flying polyp
+#. ~ Description for steelhead trout
#: lang/json/MONSTER_from_json.py
msgid ""
-"A half polypous, utterly alien creature. It's only partly material and has "
-"the ability to fly, despite the absence of wings. It produces strange "
-"whistling noises which send cold shivers of primal terror down your spine"
+"A Steelhead Trout. A fish made popular by father-son fishing trips, Except "
+"for the part where you have to gut it."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "fungal blossom"
+msgid "salmon"
msgstr ""
-#. ~ Description for fungal blossom
+#. ~ Description for salmon
#: lang/json/MONSTER_from_json.py
msgid ""
-"A broad fungus, looking much like a glowing blue sunflower. It appears to "
-"emit finer spores than the typical fungal emission."
+"An Atlantic Salmon. A very fatty, nutritious fish. Tastes great smoked."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "fungal hedgerow"
+msgid "kokanee salmon"
msgstr ""
-#. ~ Description for fungal hedgerow
+#. ~ Description for kokanee salmon
#: lang/json/MONSTER_from_json.py
-msgid ""
-"Looking at first glance like a dull gray privet, this \"hedge\" is really a "
-"mass of barbed fungal tendrils, defending the fungal tower."
+msgid "A Kokanee Salmon. A very fatty, nutritious fish. Tastes great smoked."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "fungal tendril"
+msgid "chinook salmon"
msgstr ""
-#. ~ Description for fungal tendril
+#. ~ Description for chinook salmon
#: lang/json/MONSTER_from_json.py
-msgid "A long and delicate-looking tendril with a sharp tip."
+msgid "A Chinook Salmon. A very fatty, nutritious fish. Tastes great smoked."
msgstr ""
-#: lang/json/MONSTER_from_json.py lang/json/terrain_from_json.py
-#: lang/json/terrain_from_json.py
-msgid "fungal wall"
+#: lang/json/MONSTER_from_json.py
+msgid "coho salmon"
msgstr ""
-#. ~ Description for fungal wall
+#. ~ Description for coho salmon
#: lang/json/MONSTER_from_json.py
-msgid ""
-"A veritable wall of fungus, grown as a natural defense by the fungal spire. "
-"New spores erupt from the surface every few seconds."
+msgid "A Coho Salmon. A very fatty, nutritious fish. Tastes great smoked."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "fungaloid"
+msgid "whitefish"
msgstr ""
-#. ~ Description for fungaloid
+#. ~ Description for whitefish
#: lang/json/MONSTER_from_json.py
msgid ""
-"A pale white fungus, one meaty gray stalk supporting a bloom at the top. "
-"Spores are periodically expelled from its gills, and a few tendrils extend "
-"from the base, allowing mobility and some basic means of defense."
+"A whitefish, closely related to salmon. One can assume they are just as "
+"nice when cooked with smoke."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "fungal spire"
+msgid "largemouth bass"
msgstr ""
-#. ~ Description for fungal spire
+#. ~ Description for largemouth bass
#: lang/json/MONSTER_from_json.py
-msgid ""
-"An enormous fungal spire, towering over the ground. It pulsates slowly, "
-"continuously growing new defenses."
+msgid "A Largemouth Bass. Very popular with sports fishermen."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "giant fungal blossom"
+msgid "smallmouth bass"
msgstr ""
-#. ~ Description for giant fungal blossom
+#. ~ Description for smallmouth bass
#: lang/json/MONSTER_from_json.py
msgid ""
-"An immense fungal blossom, towering over its surroundings. It pulses with a "
-"soft blue glow, continuously pumping its spores into the air."
+"A Smallmouth Bass. Being intolerant to pollution in the water, smallmouth "
+"bass are a good indicator of how clean it is."
msgstr ""
#: lang/json/MONSTER_from_json.py
-#: lang/json/overmap_terrain_from_json.py
-msgid "fungal tower"
+msgid "striped bass"
msgstr ""
-#. ~ Description for fungal tower
+#. ~ Description for striped bass
#: lang/json/MONSTER_from_json.py
msgid ""
-"An enormous fungal tower. On closer inspection, its cap is supported by "
-"LOTS of fungal tendrils of various thicknesses, emerging from yet more "
-"bristling tendrils at ground level. Between this redundancy and their "
-"noticeable movement creating frequent gaps, it's tough to get a solid shot "
-"on the thing."
+"A Striped Bass. Mostly a salt water fish, they migrate to fresher water to "
+"spawn."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "fungal sporeling"
+msgid "white bass"
msgstr ""
-#. ~ Description for fungal sporeling
+#. ~ Description for white bass
#: lang/json/MONSTER_from_json.py
msgid ""
-"A fungal stalk several feet in height. Two vicious looking tendrils extend "
-"from its thorned and leathery exterior, and it moves about faster than the "
-"larger fungaloids."
+"A White Bass. Common to the region, a slab-sided and spiny-rayed little "
+"fish."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "amoebic mold"
+msgid "perch"
msgstr ""
-#. ~ Description for amoebic mold
+#. ~ Description for perch
#: lang/json/MONSTER_from_json.py
msgid ""
-"A formless slime mold the size of a cow. Crusty bits of cytoplasm fall away "
-"as it oozes across the ground."
+"A small spritely Perch. A very bony fish, still got some tasty meat on it "
+"though."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "generator"
+msgid "walleye"
msgstr ""
-#. ~ Description for generator
+#. ~ Description for walleye
#: lang/json/MONSTER_from_json.py
-msgid "Your precious generator, noisily humming away. Defend it at all costs!"
+msgid "A Walleye, a green-brown medium-sized fish with a white belly."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "giant crayfish"
+msgid "sunfish"
msgstr ""
-#. ~ Description for giant crayfish
+#. ~ Description for sunfish
#: lang/json/MONSTER_from_json.py
-msgid ""
-"A mutant, terrestrial variety of the signal crayfish, this massive "
-"crustacean resembles a humongous lobster."
+msgid "A Sunfish. A small fish related to bass or bluegill."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "gozu"
+msgid "pumpkinseed sunfish"
msgstr ""
-#. ~ Description for gozu
+#. ~ Description for pumpkinseed sunfish
#: lang/json/MONSTER_from_json.py
-msgid ""
-"This is some sort of unnatural cross between a bull and a man. Quite "
-"different from the minotaur of legend, it possesses a shaggy white bull’s "
-"head on an otherwise unremarkable human body. Clad in sagging socks and "
-"stained jockey shorts, it grunts and snuffles, drooling ropey strands of "
-"white slobber down its chest. Its mere presence fills you with an "
-"unfathomable dread."
+msgid "A Pumpkinseed Sunfish. A small fish related to bass or bluegill."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "graboid"
+msgid "bluegill"
msgstr ""
-#. ~ Description for graboid
+#. ~ Description for bluegill
#: lang/json/MONSTER_from_json.py
msgid ""
-"A monstrous beast the size of a semi truck with a tripartite mouth that "
-"opens to reveal hundreds of writhing tongues with razor sharp edges. It "
-"keeps most of its enormous body hidden underground."
+"A Bluegill, an invasive species in Japan. Commonly gutted and cooked whole."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "gracken"
+msgid "redbreast sunfish"
msgstr ""
-#. ~ Description for gracken
+#. ~ Description for redbreast sunfish
#: lang/json/MONSTER_from_json.py
-msgid ""
-"This is some form of eldritch monstrosity; an uncouth black being with "
-"smooth, oily, skin and unpleasant horns that curve inward toward each "
-"other. Tall and thin, the shadows cling unnaturally to its vaguely defined "
-"humanoid form as it shuffles along, its hands twitching and spasming so "
-"rapidly as to appear a little more than a black blur of claws. Gazing upon "
-"its disturbing form fills you with an unspeakable terror."
+msgid "A Redbreast Sunfish. A small fish related to bass or bluegill."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "half worm"
+msgid "green sunfish"
msgstr ""
-#. ~ Description for half worm
+#. ~ Description for green sunfish
#: lang/json/MONSTER_from_json.py
-msgid "A squiggling severed portion of a wounded giant worm."
+msgid "A Green Sunfish. A small fish related to bass or bluegill."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "your mother"
+msgid "longear sunfish"
msgstr ""
-#. ~ Description for your mother
+#. ~ Description for longear sunfish
#: lang/json/MONSTER_from_json.py
-msgid "Mom?"
+msgid "A Longear Sunfish. A small fish related to bass or bluegill."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "evil multi-cooker"
+msgid "redear sunfish"
msgstr ""
-#. ~ Description for evil multi-cooker
+#. ~ Description for redear sunfish
#: lang/json/MONSTER_from_json.py
-msgid "The multi-cooker's got a mind of its own! Look out!"
+msgid "A Redear Sunfish. A small fish related to bass or bluegill."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "cleaner bot"
+msgid "rock bass"
msgstr ""
-#. ~ Description for cleaner bot
+#. ~ Description for rock bass
#: lang/json/MONSTER_from_json.py
msgid ""
-"The Ford Sanitron, a utility robot designed for cleaning up waste material "
-"in hazardous conditions."
+"A Rock Bass. Related to sunfish, this tiny fish has a camoflauge-like "
+"patterning and a red eye."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "tentacle dog"
+msgid "calico bass"
msgstr ""
-#. ~ Description for tentacle dog
+#. ~ Description for calico bass
#: lang/json/MONSTER_from_json.py
-msgid ""
-"A dog's body with a mass of ropey, black tentacles reaching out from its "
-"head."
+msgid "A Calico Bass. A medium-sized fish also known as a 'Crappie'."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "hologram"
+msgid "warmouth"
msgstr ""
-#. ~ Description for hologram
+#. ~ Description for warmouth
#: lang/json/MONSTER_from_json.py
-msgid "An image made from light, nearly identical to the real deal."
+msgid ""
+"A Warmouth, similar to a rock bass, this small fish is related to the "
+"sunfish."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "homunculus"
-msgid_plural "homunculuses"
-msgstr[0] ""
-msgstr[1] ""
-
-#. ~ Description for homunculus
-#: lang/json/MONSTER_from_json.py
-msgid ""
-"A pale hairless man with an impressive athletic physique. Its lidless eyes "
-"are totally black, and seeping with blood."
+msgid "bullhead"
msgstr ""
+#. ~ Description for bullhead
#: lang/json/MONSTER_from_json.py
-msgid "human snail"
+msgid "A Bullhead, a type of catfish. Delicious battered and fried."
msgstr ""
-#. ~ Description for human snail
#: lang/json/MONSTER_from_json.py
-msgid ""
-"An enormous fleshy snail, with an oddly human face. Eyestalks protrude from "
-"where the eyes should be."
+msgid "channel catfish"
msgstr ""
+#. ~ Description for channel catfish
#: lang/json/MONSTER_from_json.py
-msgid "hunting horror"
+msgid "A Channel Catfish, they have a forked tail and long whiskers."
msgstr ""
-#. ~ Description for hunting horror
#: lang/json/MONSTER_from_json.py
-msgid ""
-"This is some sort of great viperine creature, possessed of a curiously "
-"distorted head and massive clawed appendages. It partially supports itself "
-"with the aid of black rubbery wings of monstrous dimensions. Its form "
-"writhes and changes before your eyes, filling you with unnameable horror."
+msgid "white catfish"
msgstr ""
+#. ~ Description for white catfish
#: lang/json/MONSTER_from_json.py
-msgid "irradiated wanderer"
+msgid "A White Catfish, a small whiskered fish with a broad head."
msgstr ""
-#. ~ Description for irradiated wanderer
+#. ~ Description for pike
#: lang/json/MONSTER_from_json.py
msgid ""
-"This rotting corpse seeps a glowing ooze from its lesions. A strange "
-"tattered jumpsuit marks it as an oddity across the wasteland."
+"A Northern Pike. Pike can be a pretty aggressive fish, careful around those "
+"teeth."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "fleshy shambler"
+msgid "pickerel"
msgstr ""
-#. ~ Description for fleshy shambler
+#. ~ Description for pickerel
#: lang/json/MONSTER_from_json.py
-msgid ""
-"An amalgamation of throbbing organs from various creatures have fused "
-"together into this lurching, vaguely humanoid shape. It's myriad roughly "
-"formed mouths sussurate in a chorus of sibilant groans and whispers."
+msgid "A Pickerel. It looks like a pike, but much smaller."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "flesh golem"
+msgid "muskellunge"
msgstr ""
-#. ~ Description for flesh golem
+#. ~ Description for muskellunge
#: lang/json/MONSTER_from_json.py
msgid ""
-"A seeping conglomeration of spasming muscle and organs have fused together "
-"into this towering caricature of the human form. Various organs fall off of "
-"it's hulking body only to be reabsorbed moments later."
+"A Muskellunge. Closely related to pike, it shares the same aggression and "
+"sharp teeth."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "jabberwock"
+msgid "white sucker"
msgstr ""
-#. ~ Description for jabberwock
+#. ~ Description for white sucker
#: lang/json/MONSTER_from_json.py
-msgid ""
-"A putrid amalgamation of body parts from humans and other creatures have "
-"fused together in this aberration of flesh. The eyes of all the heads dart "
-"about rapidly and the mouths form a chorus of groaning screams."
+msgid "A White Sucker. It has a streamlined body with a round mouth."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "kreck"
+msgid "carp"
msgstr ""
-#. ~ Description for kreck
+#. ~ Description for carp
#: lang/json/MONSTER_from_json.py
msgid ""
-"This is some form of otherworldly hound. Lean and hungry looking, its "
-"twisted red flesh is stretched tightly across its misshapen, angular frame. "
-"Loping grotesquely along, its unusually long neck stretches forward, its "
-"skull-like head near the ground as it sniffs out its prey. Its foulness "
-"partially veiled by some arcane force, it seems to almost flicker in and out "
-"of your perceptions in a fashion that awakens ancient nameless terrors in "
-"the back of your mind"
+"A golden-yellow Common Carp. Some people think they don't taste great, but "
+"you can't afford to be choosy in the cataclysm."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "mi-go"
+msgid "grass carp"
msgstr ""
-#. ~ Description for mi-go
+#. ~ Description for grass carp
#: lang/json/MONSTER_from_json.py
-msgid ""
-"This is an alien creature of uncertain origin. Its shapeless pink body "
-"bears numerous sets of paired appendages of unknown function, and a pair of "
-"ribbed, membranous wings which seem to be quite useless. Its odd, vaguely "
-"pyramid-shaped head bristles with numerous wavering antennae, and simply "
-"gazing upon the unnatural beast fills you with primordial dread."
+msgid "A huge Grass Carp. A golden, herbivorous fish."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "miner bot"
+msgid "bowfin"
msgstr ""
-#. ~ Description for miner bot
+#. ~ Description for bowfin
#: lang/json/MONSTER_from_json.py
msgid ""
-"A snake-like, segmented robot built to tunnel into the ground and detonate "
-"landmines."
+"A Bowfin. These fish are related to gar but without the huge teeth, skin "
+"rending scales, and aggression."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "cyclopean"
+msgid "fallfish"
msgstr ""
-#. ~ Description for cyclopean
+#. ~ Description for fallfish
#: lang/json/MONSTER_from_json.py
msgid ""
-"A relatively humanoid mutant with purple hair and a grapefruit-sized "
-"bloodshot eye."
+"A Fallfish. These fish are related to gar but without the huge teeth, skin "
+"rending scales, and aggression."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "slimespring"
+msgid "lobster"
msgstr ""
-#. ~ Description for slimespring
+#. ~ Description for lobster
#: lang/json/MONSTER_from_json.py
-msgid "A familiar-looking blob of goo. It sprouts the occasional eyestalk."
+msgid ""
+"These things were once considered pests not worth eating, then some "
+"marketing genius started selling them to people as a delicacy and they took "
+"off in popularity... and price."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "razorclaw"
+msgid "crayfish"
msgstr ""
-#. ~ Description for razorclaw
+#. ~ Description for crayfish
#: lang/json/MONSTER_from_json.py
msgid ""
-"A man-sized crustacean clad in an iron-like chitin, capable of emitting the "
-"most horrible of shrieks. Often spotted near shipwrecks or other dark damp "
-"places, which it uses as nesting grounds."
+"If you could get ahold of a bunch more of these, a hefty pot of boiling "
+"water, and some spicy seasonings..."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "riot control bot"
-msgstr ""
+msgid "Blinky"
+msgid_plural "Blinkies"
+msgstr[0] ""
+msgstr[1] ""
-#. ~ Description for riot control bot
+#. ~ Description for Blinky
#: lang/json/MONSTER_from_json.py
-msgid ""
-"Nonviolent riot-control bot. Designed to suppress riots and make mass "
-"arrests of those participating. Though its relaxation gas is by far its "
-"best-known weapon, it carries a blinding flash and a low-powered stungun for "
-"self-defense--in addition to its supply of electronic handcuffs."
+msgid "A strange three-eyed fish."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "shadow"
+msgid "freshwater eel"
msgstr ""
-#. ~ Description for shadow
+#. ~ Description for freshwater eel
#: lang/json/MONSTER_from_json.py
msgid ""
-"This is an animate shadow. Looking like nothing more than an errant patch "
-"of normal shadow, it draws your attention by the way it moves subtly and "
-"whispers softly in the back of your mind. Strange intrusive thoughts "
-"accompany the quiet murmur, awakening your most horrific memories and fears."
+"An American eel. Used to be quite common in these parts until the dams were "
+"built. Guess they'll get a second chance now that they aren't running."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "shadow snake"
+msgid "jawed terror"
msgstr ""
-#. ~ Description for shadow snake
+#. ~ Description for jawed terror
#: lang/json/MONSTER_from_json.py
msgid ""
-"This is an animate shadow in the form of a long and sinuous snake. "
-"Translucent and dark, it glides silently across the floor, wriggling and "
-"flexing as it moves."
+"A once aggressive and hungry bull shark, this jawed terror is now even more "
+"aggressive, possibly thanks to its lack of a functioning brain."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "Shia LaBeouf"
-msgid_plural "Shia LaBeouf"
-msgstr[0] ""
-msgstr[1] ""
+msgid "giant carp"
+msgstr ""
-#. ~ Description for Shia LaBeouf
+#. ~ Description for giant carp
#: lang/json/MONSTER_from_json.py
msgid ""
-"Living in the woods, \n"
-"killing for sport, \n"
-"eating all the bodies, \n"
-"actual cannibal Shia LaBeouf."
+"This thing seems like a carp, only swollen and very very angry. Death is "
+"the gift of the carp god."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "shoggoth"
+msgid "giant salmon"
msgstr ""
-#. ~ Description for shoggoth
+#. ~ Description for giant salmon
#: lang/json/MONSTER_from_json.py
msgid ""
-"A gargantuan protoplasmic blob, constantly reshaping, forming new pseudopods "
-"seemingly at will. All over its body are eyes that form and disappear. It "
-"looks at you with malice."
+"A mutated salmon, the same size as a large dog and quite dangerous to the "
+"inexperienced angler."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "skeleton"
+msgid "seweranha"
msgstr ""
-#. ~ Description for skeleton
+#. ~ Description for seweranha
#: lang/json/MONSTER_from_json.py
msgid ""
-"A monstrous overgrowth of ossified tissue has replaced this zombie's rotting "
-"skin with an organic armor of dense bone. Large clumps of black goo seep "
-"from its joints as it shambles aimlessly, with sickening crackling sounds "
-"filling the air around it."
+"A large mutant variety of carp. It has shimmering green scales and a mouth "
+"lined with three jagged rows of razor-sharp teeth."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "skeletal brute"
+msgid "skittering plague"
msgstr ""
-#. ~ Description for skeletal brute
+#. ~ Description for skittering plague
#: lang/json/MONSTER_from_json.py
-msgid ""
-"Distorted outgrowths of calcified bone plates cover this zombie's rotten "
-"skin. Joints and cracks around its body ooze with black goo."
+msgid "A giant infected roach, it has been feeding on the undead."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "sludge crawler"
+msgid "plague nymph"
msgstr ""
-#. ~ Description for sludge crawler
+#. ~ Description for plague nymph
#: lang/json/MONSTER_from_json.py
-msgid ""
-"A sluglike creature, eight feet long and the width of a refrigerator. Its "
-"black body glistens as it oozes its way along the ground. Eye stalks "
-"occasionally push their way out of the oily mass and look around."
+msgid "An infected mutant cockroach about the size of a rat."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "giant slug"
+msgid "plague vector"
msgstr ""
-#. ~ Description for giant slug
+#. ~ Description for plague vector
#: lang/json/MONSTER_from_json.py
msgid ""
-"A mutated leopard slug, as wide as a golf cart. Venom dripping from its "
-"fanged maw, it slithers ahead slowly, leaving a trail of glistening slime."
+"This infected roach has been feeding on the undead and started to mutate "
+"chaotically. Extra limbs and growths sprout from its thorax."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "spore cloud"
+msgid "giant cockroach"
msgstr ""
-#. ~ Description for spore cloud
+#. ~ Description for giant cockroach
#: lang/json/MONSTER_from_json.py
-msgid "A mass of spores the size of a balled fist, wafting around in the air."
+msgid "A mutant cockroach the size of a small dog."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "Beagle Mini-Tank UGV"
+msgid "giant cockroach nymph"
msgstr ""
-#. ~ Description for Beagle Mini-Tank UGV
+#. ~ Description for giant cockroach nymph
#: lang/json/MONSTER_from_json.py
-msgid ""
-"The Northrop Beagle is a refrigerator-sized urban warfare UGV. Sporting an "
-"anti-tank missile launcher, 40mm grenade launcher, and numerous anti-"
-"infantry weapons, it's designed for high-risk urban fighting."
+msgid "A baby mutant cockroach about the size of a rat."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "thing"
+msgid "pregnant giant cockroach"
msgstr ""
-#. ~ Description for thing
+#. ~ Description for pregnant giant cockroach
#: lang/json/MONSTER_from_json.py
msgid ""
-"An amorphous black creature, detaching and sprouting tentacles without any "
-"apparent pause."
+"A mutant cockroach the size of a small dog. Its abdomen is heavily swollen."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "tripod"
+msgid "giant bee"
msgstr ""
-#. ~ Description for tripod
+#. ~ Description for giant bee
#: lang/json/MONSTER_from_json.py
msgid ""
-"The Honda Regnal, a tall robot walking on three spidery legs. For weapons, "
-"it has a trio of spiked retractable cables and a flamethrower mounted on its "
-"head."
+"With a stinger the size of a kitchen knife, this dog-sized insect's black "
+"and yellow markings warn you to leave it undisturbed."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "milspec searchlight"
+msgid "giant centipede"
msgstr ""
-#. ~ Description for milspec searchlight
+#. ~ Description for giant centipede
#: lang/json/MONSTER_from_json.py
msgid ""
-"Three high-powered searchlights with automated search AI and mounting, "
-"continually seeking targets."
+"A meter-long centipede with a menacing pair of pincers, moving swiftly on "
+"dozens of spindly legs."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "twisted body"
-msgid_plural "twisted bodies"
+msgid "giant dragonfly"
+msgid_plural "giant dragonflies"
msgstr[0] ""
msgstr[1] ""
-#. ~ Description for twisted body
+#. ~ Description for giant dragonfly
#: lang/json/MONSTER_from_json.py
msgid ""
-"A human body, but with its limbs, neck, and hair impossibly twisted. It "
-"clambers around swiftly, making awful screeching sounds."
+"A ferocious mutant dragonfly as big as a cat, darting through the air with a "
+"cluster of fangs for a mouth."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "vortex"
-msgid_plural "vortexes"
+msgid "giant fly"
+msgid_plural "giant flies"
msgstr[0] ""
msgstr[1] ""
-#. ~ Description for vortex
+#. ~ Description for giant fly
#: lang/json/MONSTER_from_json.py
msgid ""
-"A twisting spot in the air, with some kind of morphing mass at its center."
+"A tremendous housefly the size of a small dog, predictably accompanied by a "
+"loud, incessant buzzing sound."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "giant worm"
+msgid "giant mosquito"
msgstr ""
-#. ~ Description for giant worm
+#. ~ Description for giant mosquito
#: lang/json/MONSTER_from_json.py
msgid ""
-"An enormous, mutated creature that might once have been a nightcrawler. It "
-"possesses a large fanged mouth and a long slender body that comes up to your "
-"shoulder, with even more surely hiding underground."
+"An enormous mutant mosquito, fluttering erratically. Its face is dominated "
+"by a long, spear-tipped proboscis."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "yugg"
+msgid "giant cellar spider"
msgstr ""
-#. ~ Description for yugg
+#. ~ Description for giant cellar spider
#: lang/json/MONSTER_from_json.py
msgid ""
-"This is a huge, slimy worm-like creature. Its pale, flattened head drips an "
-"oily mucus as it breaches the ground, searching for prey. Its pinkish mouth "
-"opens and closes, revealing long fangs glistening with ropey strands of "
-"saliva, which leave smoldering stains wherever they drip. The mere sight of "
-"its putrid whitish visage is enough to loose prehistoric terrors within the "
-"darkest recesses of your mind."
+"A twitchy mutant brown spider, with a relatively small body and spindly long "
+"legs. Its smaller brethren are known for being agile, and for preying upon "
+"other spiders."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "grim howler"
+msgid "immature giant cellar spider"
msgstr ""
-#. ~ Description for grim howler
+#. ~ Description for immature giant cellar spider
#: lang/json/MONSTER_from_json.py
msgid ""
-"A zombified wolf. Its mouth oozes with a black substance, coating the "
-"vicious-looking white fangs."
+"A newly-hatched giant cellar spider. Too small to possess much venom, but "
+"still quick and agile like an adult."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "zombear"
+msgid "giant jumping spider"
msgstr ""
-#. ~ Description for zombear
+#. ~ Description for giant jumping spider
#: lang/json/MONSTER_from_json.py
msgid ""
-"This black bear's eyes ooze with dark, oily fluid, and its flesh is torn and "
-"scarred. It shuffles as it walks."
+"A giant spider with big forelegs and two pairs of inquisitive-looking eyes. "
+"It can leap quite quickly, even into the treetops."
msgstr ""
-#: lang/json/MONSTER_from_json.py lang/json/snippet_from_json.py
-msgid "zombie"
+#: lang/json/MONSTER_from_json.py
+msgid "giant trapdoor spider"
msgstr ""
-#. ~ Description for zombie
+#. ~ Description for giant trapdoor spider
#: lang/json/MONSTER_from_json.py
msgid ""
-"A human body, swaying as it moves, an unstoppable rage visible in its oily "
-"black eyes."
+"A gigantic spider with a bulbous thorax. It digs a deep underground burrow "
+"that serves as a pit to trap unwary prey."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "acidic zombie"
+msgid "giant web spider"
msgstr ""
-#. ~ Description for acidic zombie
+#. ~ Description for giant web spider
#: lang/json/MONSTER_from_json.py
msgid ""
-"A sickly-looking dead one. Its skin looks especially thin, with a sticky, "
-"yellow fluid flowing through the clearly visible veins."
+"A giant mutated grass spider, it waits for prey to become ensnared in the "
+"vast webs that it weaves between the trees."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "slavering biter"
+msgid "immature giant web spider"
msgstr ""
-#. ~ Description for slavering biter
+#. ~ Description for immature giant web spider
#: lang/json/MONSTER_from_json.py
msgid ""
-"A distorted and swollen human body. Its jaws have elongated into a "
-"crocodile like snout, dripping with foul smelling saliva."
+"A still immature giant grass spider. Too young to be venomous, or to walk "
+"proficiently for that matter"
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "brainless zombie"
+msgid "giant black widow"
msgstr ""
-#. ~ Description for brainless zombie
+#. ~ Description for giant black widow
#: lang/json/MONSTER_from_json.py
msgid ""
-"A zombie like any other, except that its features and skull have been "
-"devastated. It's unclear what caused the damage, but between the scraps of "
-"flesh you can see that its face and brain are gone, though its ears are "
-"intact."
+"A giant mutated black widow spider. A highly venomous nightmare come to "
+"life."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "zombie brute"
+msgid "giant black widow spiderling"
msgstr ""
-#. ~ Description for zombie brute
+#. ~ Description for giant black widow spiderling
#: lang/json/MONSTER_from_json.py
msgid ""
-"Its entire body bulges with distended muscles and swollen, festering wounds."
+"The horrid spawn of a giant black widow spider. Even as a newborn, this "
+"foul creature knows only how to kill."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "zombie wrestler"
+msgid "giant wolf spider"
msgstr ""
-#. ~ Description for zombie wrestler
+#. ~ Description for giant wolf spider
#: lang/json/MONSTER_from_json.py
msgid ""
-"A slab of festering muscle the size of a well-toned bodybuilder. Seems "
-"eager to strangle the life from you."
+"A wolf spider mutated to about thirty times its normal size, it moves "
+"quickly and aggressively to catch and consume prey."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "zombie nightstalker"
+msgid "giant wasp"
msgstr ""
-#. ~ Description for zombie nightstalker
+#. ~ Description for giant wasp
#: lang/json/MONSTER_from_json.py
msgid ""
-"Somehow this brute hides in the dark like some kind of boogeyman. Very "
-"agile for such a large zombie."
+"A gigantic slender-bodied wasp with an evil-looking stinger protruding from "
+"its abdomen. Its exoskeleton glowers with ominous red markings."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "shocker brute"
+msgid "dermatik"
msgstr ""
-#. ~ Description for shocker brute
+#. ~ Description for dermatik
#: lang/json/MONSTER_from_json.py
msgid ""
-"A huge beast covered in visible scarring from what you can only guess was "
-"'research'. Being near it, you can hear a slight humming, like that of an "
-"electrical transformer."
+"A mutated wasp nearly the size of a cat, with a barbed ovipositor extruding "
+"from the abdomen."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "incandescent husk"
+msgid "dermatik larva"
msgstr ""
-#. ~ Description for incandescent husk
+#. ~ Description for dermatik larva
#: lang/json/MONSTER_from_json.py
msgid ""
-"This once-human is visible only as a glowing white silhouette that you have "
-"to squint to see, cloaked in a crackling field of lightning that pulses like "
-"a beating heart. It walks slowly and deliberately, the thunderstorm "
-"surrounding it eagerly jumping to anything conductive within its grasp."
+"A fat white grub as big as a squirrel, with a pair of large, spadelike "
+"mandibles."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "zombie cop"
+msgid "giant ant"
msgstr ""
-#. ~ Description for zombie cop
+#. ~ Description for giant ant
#: lang/json/MONSTER_from_json.py
msgid ""
-"A human body covered by a weather-beaten and badly damaged set of riot gear."
+"An enormous red ant covered in chitinous plates. It possesses a pair of "
+"wriggling antennae and vicious-looking mandibles."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "corrosive zombie"
+msgid "giant acidic ant"
msgstr ""
-#. ~ Description for corrosive zombie
+#. ~ Description for giant acidic ant
#: lang/json/MONSTER_from_json.py
msgid ""
-"This body has swollen to immense proportions, but still manages to hold "
-"itself together with semi-congealed acid all over its bloated body. It "
-"clumsily moves around, but attacks with a large reserve of acid."
-msgstr ""
-
-#: lang/json/MONSTER_from_json.py
-msgid "The corrosive zombie spits a glob of acid!"
+"A monstrous brown ant with a swollen abdomen, that ends with a small orifice "
+"at the tip. Glistening liquid seems to drip out periodically."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "crawling zombie"
+msgid "acidic ant larva"
msgstr ""
-#. ~ Description for crawling zombie
+#. ~ Description for acidic ant larva
#: lang/json/MONSTER_from_json.py
msgid ""
-"This human corpse drags itself along slowly with its arms. Its legs are "
-"damaged beyond repair."
+"A squirming yellow grub that seems to be oozing liquid from both ends of its "
+"body. It appears its chitin hasn't developed enough to resist acid."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "zombie dancer"
+msgid "acidic queen ant"
msgstr ""
-#. ~ Description for zombie dancer
+#. ~ Description for acidic queen ant
#: lang/json/MONSTER_from_json.py
msgid ""
-"The foulest stench is in the air, \n"
-"The funk of forty thousand years, \n"
-"And grisly ghouls from every tomb, \n"
-"Are closing in to seal your doom!\n"
-"\n"
-"The dancer doesn't even notice you, it seems like something nearby is "
-"controlling it."
+"An enormous brown ant with an elongated, pulsating abdomen. Its orifice "
+"seems developed only for egg-laying rather than spraying acid like the rest "
+"of the colony, but it doesn't seem affected by the acrid liquid either."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "zombie dog"
+msgid "acidic soldier ant"
msgstr ""
-#. ~ Description for zombie dog
+#. ~ Description for acidic soldier ant
#: lang/json/MONSTER_from_json.py
msgid ""
-"The deformed, animated corpse of a canine, a sinewy beast which can easily "
-"outpace its two-legged friends."
+"A massive woolly brown ant that towers over the worker ants with a giant "
+"head crest. Along with its huge mandibles, a corrosive liquid seeps from "
+"the end of its bloated abdomen."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "listener zombie"
+msgid "fungal ant"
msgstr ""
-#. ~ Description for listener zombie
+#. ~ Description for fungal ant
#: lang/json/MONSTER_from_json.py
msgid ""
-"The head of this zombie was once obviously destroyed, the gaps in its scraps "
-"of face now filling with a peculiar gray goo. Human ears hang from the "
-"sides, enormous and unsettling. Thin slits at the front suggest it may be "
-"able to see."
+"Pale, sickly gray in color, this giant ant's cracked exoskeleton is barely "
+"held together by coils of fungus erupting from every joint in its body."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "shocker zombie"
+msgid "ant larva"
msgstr ""
-#. ~ Description for shocker zombie
+#. ~ Description for ant larva
#: lang/json/MONSTER_from_json.py
-msgid "A human body with pale blue flesh, crackling with electrical energy."
+msgid ""
+"A pulsating sausage of glistening white flesh, the size of a large cat. On "
+"one end is a set of squirming mouth parts."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "fat zombie"
+msgid "queen ant"
msgstr ""
-#. ~ Description for fat zombie
+#. ~ Description for queen ant
#: lang/json/MONSTER_from_json.py
msgid ""
-"Stumbling as it moves, this corpse of an overweight human regards its "
-"surroundings with an empty black gaze."
+"A colossal red ant with a bulging, bloated thorax. It moves slowly and "
+"deliberately, tending to nearby eggs and continually laying more."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "fiend"
+msgid "soldier ant"
msgstr ""
-#. ~ Description for fiend
+#. ~ Description for soldier ant
#: lang/json/MONSTER_from_json.py
msgid ""
-"Charred zombie with bony plates, spikes and protrusions. Moves stiffly, but "
-"swiftly."
+"A huge and hairy red ant almost twice the size of other giant ants. Bulging "
+"pincers extend from its jaws."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "firefighter zombie"
+msgid "giant locust"
msgstr ""
-#. ~ Description for firefighter zombie
+#. ~ Description for giant locust
#: lang/json/MONSTER_from_json.py
msgid ""
-"A decaying human body clad in tattered firefighting gear. It staggers "
-"aimlessly, reeking of smoke and decay."
+"An overgrown locust. You don't think it'll eat you but it could cause "
+"massive damage to nearby plants."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "fungal zombie"
+msgid "locust nymph"
msgstr ""
-#. ~ Description for fungal zombie
+#. ~ Description for locust nymph
#: lang/json/MONSTER_from_json.py
msgid ""
-"Once human, fungal tendrils now sprout from its mouth, eyes, and other "
-"orifices, holding together a shambling mass of mold-covered flesh."
+"A locust the size of a rabbit. You'd hate to think what a swarm of these "
+"could do."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "bloated zombie"
+msgid "black bear cub"
msgstr ""
-#. ~ Description for bloated zombie
+#. ~ Description for black bear cub
#: lang/json/MONSTER_from_json.py
msgid ""
-"With its gray skin swollen to near rupture with putrid gas, this cyst "
-"covered zombie looks like it could violently burst under the slightest of "
-"disturbances."
+"A juvenile American black bear. This one isn't much of a threat, but be "
+"wary of its parent; black bears are known for their protectiveness."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "grabber zombie"
+msgid "black bear"
msgstr ""
-#. ~ Description for grabber zombie
+#. ~ Description for black bear
#: lang/json/MONSTER_from_json.py
msgid ""
-"A deformed human body, once living. Its arms dangle from its sides like the "
-"limbs of some skinless ape, mindlessly groping at their surroundings."
+"The American black bear. A large omnivorous scavenger, it has powerful "
+"claws and jaws, and is an effective ambush hunter. Most individuals are shy "
+"around humans, but they're fiercely protective of their cubs."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "grappler zombie"
+msgid "beaver"
msgstr ""
-#. ~ Description for grappler zombie
+#. ~ Description for beaver
#: lang/json/MONSTER_from_json.py
msgid ""
-"An undead humanoid, its elongated arms drag along the ground as it moves. "
-"It looks to almost have a hunch from the swollen back and shoulder muscles "
-"tearing though its skin."
+"The North American beaver, the continent's largest rodent. Its paddle-"
+"shaped tail helps ferry it through the water, and its prominent teeth can "
+"chew through wood, which it uses to build dam-like nests in lakes and "
+"streams."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "hazmat zombie"
+msgid "black rat"
msgstr ""
-#. ~ Description for hazmat zombie
+#. ~ Description for black rat
#: lang/json/MONSTER_from_json.py
msgid ""
-"This zombie's face and body is completely covered by a protective suit. It "
-"wanders around, unsteadily."
+"The black rat, an omnivorous rodent with sheer black fur and a long, rough "
+"tail. Harbinger of pestilence, famine, and mange, it will sometimes swarm "
+"over the dead or dying."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "zombie hollow"
+msgid "bobcat"
msgstr ""
-#. ~ Description for zombie hollow
+#. ~ Description for bobcat
#: lang/json/MONSTER_from_json.py
msgid ""
-"Black hollow eyes survey the surroundings as the zombie stretches and bends "
-"in ways that whoever the original body belonged to never could. The only "
-"thing that seems solid, on this flexible black-veined body, is the rows of "
-"sharp black teeth. You get the feeling that the only human thing remaining "
-"is the skin, worn as one would wear clothes."
+"A spotted wild cat living across much of North America. It is not a serious "
+"threat to humans, but it can be aggressive when threatened."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "zombie hulk"
+msgid "cat"
msgstr ""
-#. ~ Description for zombie hulk
+#. ~ Description for cat
#: lang/json/MONSTER_from_json.py
msgid ""
-"A human body now swollen to the size of six men, with arms as wide as a "
-"trash can."
+"A small domesticated predator gone feral in the absence of human "
+"stewardship. Harried by the elements and the rigors of survival, it is "
+"scruffy and skittish."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "feral hunter"
+msgid "chipmunk"
msgstr ""
-#. ~ Description for feral hunter
+#. ~ Description for chipmunk
#: lang/json/MONSTER_from_json.py
msgid ""
-"This once-human body is barely recognizable, scrambling about on all fours, "
-"its nails and teeth both sharpened into dangerous looking spikes."
+"The eastern chipmunk, a tiny omnivorous rodent with a characteristic striped "
+"coat. It spends much of the day patrolling its elaborate burrow and the "
+"precious stores of foraged food within."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "Thriller"
+msgid "cougar"
msgstr ""
-#. ~ Description for Thriller
+#. ~ Description for cougar
#: lang/json/MONSTER_from_json.py
msgid ""
-"And though you fight to stay alive, \n"
-"Your body starts to shiver. \n"
-"For no mere mortal can resist, \n"
-"The evil of the thriller."
+"The Eastern cougar, a large feline predator. Once thought extinct in this "
+"region, conservation efforts were successful in restoring a thriving "
+"population. Fast and silent, this predator can cover long distances with "
+"powerful leaps and pounces, catching its prey with its deadly claws before "
+"delivering the finishing blow with its enormous fangs."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "zombie snapper"
+msgid "calf"
msgstr ""
-#. ~ Description for zombie snapper
+#. ~ Description for calf
+#. ~ Description for cow
#: lang/json/MONSTER_from_json.py
msgid ""
-"With a crocodile-like snout and rows of protruding teeth, this swimwear-clad "
-"zombie lurks in the water."
+"The domestic cow, a baleful, ruminating farm animal. It is quite muscular, "
+"and the males can have a violent streak to accompany their nasty-looking "
+"horns."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "zombie master"
+msgid "cow"
msgstr ""
-#. ~ Description for zombie master
#: lang/json/MONSTER_from_json.py
-msgid ""
-"Once human, its features have tightened, its lips pulled back into an "
-"unnatural grin, revealing rows of blackened teeth beneath its large, "
-"piercing eyes. It stands tall and its movements are fluid and tightly "
-"controlled. A feeling of danger permeates the air around it, and the light "
-"that falls on it seems somehow harsher and more glaring."
+msgid "coyote"
msgstr ""
+#. ~ Description for coyote
#: lang/json/MONSTER_from_json.py
-msgid "zombie necromancer"
+msgid ""
+"The Eastern coyote, also called the tweed wolf, is a territorial canine "
+"descended from the offspring of gray wolves and true coyotes. It is "
+"intimidated by humans and other predators, but it will still fight if "
+"threatened, and the Cataclysm has made it more fearless than usual."
msgstr ""
-#. ~ Description for zombie necromancer
+#. ~ Description for coyote
#: lang/json/MONSTER_from_json.py
msgid ""
-"A twisted mockery of the human form, emaciated, with jet black skin and "
-"glowing red eyes. It is somehow painful to look at, awakening fears deep "
-"within your psyche, and even the air around it seems more sinister, somehow "
-"darker and more dangerous."
+"The Northeastern coyote, a widespread canine pack hunter. More timid than a "
+"wolf, it is an opportunistic feeder and prefers to hunt smaller and weaker "
+"prey, but is typically timid around humans."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "festering boar"
+msgid "fawn"
msgstr ""
-#. ~ Description for festering boar
+#. ~ Description for fawn
#: lang/json/MONSTER_from_json.py
msgid ""
-"A zombified omnivore descended from the wild boar. Now it's got black goo "
-"all over it, instead of mud."
+"A juvenile northern woodland white-tailed deer, a quick and strong grazing "
+"animal. Favored prey of coyotes, wolves, and giant spider mutants."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "feral predator"
+msgid "deer"
msgstr ""
-#. ~ Description for feral predator
+#. ~ Description for deer
#: lang/json/MONSTER_from_json.py
msgid ""
-"With its joints in odd places and angles, this humanoid creature prowls "
-"across the landscape with surprising speed. Its teeth and arms are "
-"sharpened into fine points, and black ooze seeps out from cuts between its "
-"muscles."
+"The northern woodland white-tailed deer, a quick and strong grazing animal. "
+"Favored prey of coyotes, wolves, and giant spider mutants."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "decayed zombie"
+msgid "Labrador mutt"
msgstr ""
-#. ~ Description for decayed zombie
+#. ~ Description for Labrador mutt
#: lang/json/MONSTER_from_json.py
msgid ""
-"A once-dead human corpse. Its discolored swollen flesh is riddled with "
-"festering wounds and open sores."
+"This once-average Labrador mixed breed dog has clearly gone feral. Though "
+"it likely still instinctually trusts humans, it's probably far from domestic "
+"by now."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "feral runner"
+msgid "Labrador puppy"
msgstr ""
-#. ~ Description for feral runner
+#. ~ Description for Labrador puppy
#: lang/json/MONSTER_from_json.py
msgid ""
-"This recently-risen body moves quickly, darting its head back and forth and "
-"gnawing at its hands."
+"An adorable, defenseless Labrador puppy. Much safer to tame than an adult "
+"dog."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "scorched zombie"
+msgid "bulldog"
msgstr ""
-#. ~ Description for scorched zombie
+#. ~ Description for bulldog
#: lang/json/MONSTER_from_json.py
msgid ""
-"Heavily burned zombie that still reeks of charred flesh. Its flesh has "
-"mended into a leathery shell."
+"The American bulldog is a hardy, well built dog, that seems suited for "
+"surviving the apocalypse."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "screecher zombie"
+msgid "bulldog puppy"
msgstr ""
-#. ~ Description for screecher zombie
+#. ~ Description for bulldog puppy
#: lang/json/MONSTER_from_json.py
msgid ""
-"A thin corpse, its chest is swollen in what appears to be preparation. A "
-"thick black ooze drips from its open mouth."
+"An adorable, defenseless American bulldog puppy. Much safer to tame than an "
+"adult dog."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "shady zombie"
+msgid "pit bull mix"
msgstr ""
-#. ~ Description for shady zombie
+#. ~ Description for pit bull mix
#: lang/json/MONSTER_from_json.py
msgid ""
-"An uncanny shadow envelops this creature, as if light itself were too "
-"repulsed to touch it. All you can make out is its shambling, human shaped "
-"outline."
+"The oft-misunderstood pit bull is not actually a single breed but a label "
+"for several kinds of terriers. It has average abilities, and is well-known "
+"for its 'lock jaw' - which isn't real, but their incredible determination is."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "shrieker zombie"
+msgid "pit bull puppy"
msgstr ""
-#. ~ Description for shrieker zombie
+#. ~ Description for pit bull puppy
#: lang/json/MONSTER_from_json.py
msgid ""
-"An elongated human body with a swollen chest and a gaping hole where its jaw "
-"used to be."
+"An adorable, defenseless pit bull puppy. Much safer to tame than an adult "
+"dog."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "skull zombie"
+msgid "beagle"
msgstr ""
-#. ~ Description for skull zombie
+#. ~ Description for beagle
#: lang/json/MONSTER_from_json.py
msgid ""
-"This creature's head is a hideous gray skull, formed of human bone fragments "
-"and some sort of goo. Jagged teeth are visible as the thing works its jaw "
-"and disturbingly human, lidless eyes stare at you from their sockets. The "
-"thing's fleshy ears are four sizes too large and droop under their own "
-"weight."
+"An adorable beagle that has managed to survive the apocalypse. Being agile "
+"and small, they are difficult to shoot at. Generally attacks in packs."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "smoker zombie"
+msgid "beagle puppy"
msgstr ""
-#. ~ Description for smoker zombie
+#. ~ Description for beagle puppy
#: lang/json/MONSTER_from_json.py
msgid ""
-"A blackened and twisted naked human body, strips of flesh hang from its "
-"body, and it emits a constant haze of thick black smoke."
+"An adorable, defenseless beagle puppy. Much safer to tame than an adult dog."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "spitter zombie"
+msgid "border collie"
msgstr ""
-#. ~ Description for spitter zombie
+#. ~ Description for border collie
#: lang/json/MONSTER_from_json.py
msgid ""
-"A hunched human body with its eyes pushed up into its forehead and drooping "
-"cheeks, most of its face is occupied by a puckered mouth. Its stomach is "
-"swollen and nearly translucent, with a sickly yellow tint."
+"An athletic and hyperactive dog that loves to herd animals and jump, the "
+"Border Collie is an agile attacker. Although they can be easy to train, "
+"they don't work well in packs."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "survivor zombie"
+msgid "border collie puppy"
msgstr ""
-#. ~ Description for survivor zombie
+#. ~ Description for border collie puppy
#: lang/json/MONSTER_from_json.py
msgid ""
-"Still wearing the tattered remnants of improvised armor and weaponry, it is "
-"plain to see that this zombie was once a survivor like you."
+"An adorable, defenseless Border Collie puppy. Much safer to tame than an "
+"adult dog."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "swimmer zombie"
+msgid "boxer mastiff"
msgstr ""
-#. ~ Description for swimmer zombie
+#. ~ Description for boxer mastiff
#: lang/json/MONSTER_from_json.py
msgid ""
-"A slick and glistening human body. Its hands and feet are webbed, and it is "
-"clad in swimwear."
+"An ordinary breed full of affection, the boxer mastiff doesn't otherwise "
+"stand out amongst other dogs with its capabilities."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "zombie technician"
+msgid "boxer puppy"
msgstr ""
-#. ~ Description for zombie technician
+#. ~ Description for boxer puppy
#: lang/json/MONSTER_from_json.py
msgid ""
-"Still wearing its work clothes and hardhat, this zombie likely used to work "
-"on power lines or other electrical equipment."
+"An adorable, defenseless boxer puppy. Much safer to tame than an adult dog."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "thorny shambler"
+msgid "Chihuahua"
msgstr ""
-#. ~ Description for thorny shambler
+#. ~ Description for Chihuahua
#: lang/json/MONSTER_from_json.py
msgid ""
-"A shambling undead humanoid, body overgrown with a tangled mass of "
-"otherworldly vegetation. Hunched over and dragging its feet as it moves, "
-"the bramble utterly enveloping its upper half twitches and moves with a life "
-"of its own, tendrils tipped with a paralytic sting."
+"It's a tiny Chihuahua. How it has managed to survive is a miracle, although "
+"its small size and aggressive nature may have proven useful."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "tough zombie"
+msgid "Chihuahua puppy"
msgstr ""
-#. ~ Description for tough zombie
+#. ~ Description for Chihuahua puppy
#: lang/json/MONSTER_from_json.py
msgid ""
-"Once an athletic human, now a brutal monster. Its facial features are "
-"twisted into an expression of pure rage."
+"An adorable, defenseless Chihuahua puppy. Much safer to tame than an adult "
+"dog."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "zombeaver"
+msgid "dachshund"
msgstr ""
-#. ~ Description for zombeaver
+#. ~ Description for dachshund
#: lang/json/MONSTER_from_json.py
msgid ""
-"This wall-eyed beast has a large wound on its side, and ribs with some flesh "
-"on them are seen through it. The most prominent feature of this abomination "
-"is large incisors in its ominously open mouth, strange black goo is oozing "
-"out of it. Seems like it isn't interested in trees anymore and is looking "
-"for some warm fresh to feed."
+"A wiener dog! This awkward looking dog can be a useful watchdog, plus it "
+"looks adorable as it bumbles around. Its tiny size also makes it hard to "
+"shoot (you monster)."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "antlered horror"
+msgid "dachshund puppy"
msgstr ""
-#. ~ Description for antlered horror
+#. ~ Description for dachshund puppy
#: lang/json/MONSTER_from_json.py
msgid ""
-"This formerly-majestic moose has succumbed to the infection which is killing "
-"the world. Shiny green blowflies swarm the vast suppurated patches of "
-"purulent flesh where its skin has sloughed away, and its remaining fur is "
-"black and matted with necrotic discharge."
+"An adorable, defenseless dachshund puppy. Much safer to tame than an adult "
+"dog."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "decayed pouncer"
+msgid "German shepherd"
msgstr ""
-#. ~ Description for decayed pouncer
+#. ~ Description for German shepherd
#: lang/json/MONSTER_from_json.py
msgid ""
-"An otherwise normal-looking cougar, except that its hind legs are swollen, "
-"and its eyes bulge with black goo."
+"The original K-9 breed. An easy to train and great attack dog that will "
+"also defend its owner to the death, however they don't work well in packs."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "skeletal juggernaut"
+msgid "German shepherd puppy"
msgstr ""
-#. ~ Description for skeletal juggernaut
+#. ~ Description for German shepherd puppy
#: lang/json/MONSTER_from_json.py
msgid ""
-"This hideous golem of plated bones and misshapen flesh drags its heavy, "
-"pointed limbs behind it like an unwanted burden. Formerly soft and "
-"vulnerable, bones grew around its form to protect it - only, they kept "
-"growing. And growing. And growing."
+"An adorable, defenseless German shepherd puppy. Much safer to tame than an "
+"adult dog."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "ancient red dragon"
+msgid "Great Pyrenees"
msgstr ""
-#. ~ Description for ancient red dragon
+#. ~ Description for Great Pyrenees
#: lang/json/MONSTER_from_json.py
msgid ""
-"A towering, hulking dragon, with tremendous, curving horns and shining red "
-"scales, its glowing maw peeled back in a hateful grimace as its eyes bore "
-"into yours."
+"A large and powerful breed, the Great Pyrenees has a beautiful, thick white "
+"coat. Originally bred to deter wolves and other predators, now faced with "
+"protecting livestock from shambling hordes of undead."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "chicken"
+msgid "Great Pyrenees puppy"
msgstr ""
-#. ~ Description for chicken
+#. ~ Description for Great Pyrenees puppy
#: lang/json/MONSTER_from_json.py
msgid ""
-"A domesticated descendant of junglefowl, it may still be the most numerous "
-"bird in the world. Before the Cataclysm, it was raised by humans as a "
-"source of meat, eggs, and early morning wakeup calls."
+"An adorable, defenseless Great Pyrenees puppy. Much safer to tame than an "
+"adult dog."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "grouse"
+msgid "rottweiler"
msgstr ""
-#. ~ Description for grouse
+#. ~ Description for rottweiler
#: lang/json/MONSTER_from_json.py
msgid ""
-"A very common game bird, these creatures remind you of what a wild chicken "
-"must have been like."
+"A terrifying breed to face feral, Rottweilers are descended from Roman "
+"legion mastiffs. It's robust, vicious, and quite capable of mauling a human "
+"to death."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "crow"
+msgid "rottweiler puppy"
msgstr ""
-#. ~ Description for crow
+#. ~ Description for rottweiler puppy
#: lang/json/MONSTER_from_json.py
msgid ""
-"A small, elegant black bird, famous for its distinctive call. An "
-"intelligent bird, there is a glitter of mischief behind its eyes."
+"An adorable, defenseless Rottweiler puppy. Much safer to tame than an adult "
+"dog."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "duck"
+msgid "cattle dog"
msgstr ""
-#. ~ Description for duck
+#. ~ Description for cattle dog
#: lang/json/MONSTER_from_json.py
msgid ""
-"A mallard duck, often seen around rivers and other bodies of water. It "
-"feeds primarily on insects, seeds, roots, and, pre-cataclysm, bread scraps."
+"An agile and sturdy breed that is welcome on any farm, the Australian cattle "
+"dog is adept at leaping fences and herding livestock."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "goose"
+msgid "cattle dog puppy"
msgstr ""
-#. ~ Description for goose
+#. ~ Description for cattle dog puppy
#: lang/json/MONSTER_from_json.py
-msgid "A Canadian goose, a common waterfowl that regrets leaving Canada."
+msgid ""
+"An adorable, defenseless Australian cattle dog puppy. Much safer to tame "
+"than an adult dog."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "turkey"
-msgstr ""
+msgid "fox"
+msgid_plural "foxes"
+msgstr[0] ""
+msgstr[1] ""
-#. ~ Description for turkey
+#. ~ Description for fox
#: lang/json/MONSTER_from_json.py
msgid ""
-"A large and colorful game bird native to the forests of North America. Its "
-"head and beak are covered in fleshy protuberances."
-msgstr ""
-
-#: lang/json/MONSTER_from_json.py
-msgid "pheasant"
+"A small omnivorous canine with an almost cat-like manner. It is a solitary "
+"hunter, and one of the only canids able to climb trees."
msgstr ""
-#. ~ Description for pheasant
+#. ~ Description for fox
#: lang/json/MONSTER_from_json.py
msgid ""
-"A medium sized game bird that can have bright feathers depending on the sex "
-"and species."
+"The red fox, an omnivorous canine and largest of the true foxes, it is a "
+"wily hunter with a combative, suspicious temperament."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "cockatrice"
+msgid "groundhog"
msgstr ""
-#. ~ Description for cockatrice
+#. ~ Description for groundhog
#: lang/json/MONSTER_from_json.py
msgid ""
-"This strange mutant bird gains its name from its odd appearance. Although "
-"its features seem to be becoming more reptilian, it doesn't appear dangerous."
+"Also known as the woodchuck, this ground squirrel has no actual talent for "
+"chucking wood."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "yellow chick"
+msgid "jackrabbit"
msgstr ""
-#. ~ Description for yellow chick
+#. ~ Description for jackrabbit
#: lang/json/MONSTER_from_json.py
msgid ""
-"A tiny yellow and brown chick, it could be from a number of different "
-"species."
-msgstr ""
-
-#: lang/json/MONSTER_from_json.py
-msgid "brown chick"
+"The snowshoe hare, a small grass-eater with a brown fur coat that changes to "
+"white in the wintertime."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "strange chick"
+msgid "horse"
msgstr ""
-#. ~ Description for strange chick
+#. ~ Description for horse
#: lang/json/MONSTER_from_json.py
-msgid "A strange tiny chick, it could be from a number of different species."
+msgid ""
+"A hooved grazing mammal with a mane of hair, a sweeping tail, and powerful-"
+"looking muscles."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "waterfowl chick"
+msgid "lemming"
msgstr ""
-#. ~ Description for waterfowl chick
+#. ~ Description for lemming
#: lang/json/MONSTER_from_json.py
msgid ""
-"A tiny yellow and brown waterfowl chick, it could be from a number of "
-"different species."
+"The Northern bog lemming, a small, predominantly vegetarian rodent that "
+"spends its life in the murk of swamps and other wetlands. Contrary to "
+"popular belief, these creatures are not particularly hapless or suicidal, "
+"but they can eat themselves into scarcity within a few generations."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "security bot"
+msgid "mink"
msgstr ""
-#. ~ Description for security bot
+#. ~ Description for mink
#: lang/json/MONSTER_from_json.py
msgid ""
-"The Northrop Watchman X-1 is a production series of heavily armored combat "
-"robots. Initially designed for military patrol and escort service, it rolls "
-"on a set of hydraulic treads and is armed with a 9x19mm SMG."
+"The American mink, a partially aquatic weasel, once factory-farmed for its "
+"fur. It is a capable fisher, but the presence of otters in these parts "
+"makes it rely more on food from the land."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "turret"
+msgid "moose"
msgstr ""
-#. ~ Description for turret
+#. ~ Description for moose
#: lang/json/MONSTER_from_json.py
msgid ""
-"The General Atomics TX-1 Guardian, a small, pill-shaped automated gun turret "
-"using state of the art ATR systems to dynamically reorient itself to new "
-"friends and enemies alike. The two SMG barrels can swivel a full 360 "
-"degrees."
+"The Eastern moose, the largest living species of deer. While they aren't "
+"aggressive unless angered, the mating season can make the bulls quite ill-"
+"tempered."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "skitterbot"
+msgid "muskrat"
msgstr ""
-#. ~ Description for skitterbot
+#. ~ Description for muskrat
#: lang/json/MONSTER_from_json.py
msgid ""
-"A insectoid robot the size of a small dog, designed for home security. "
-"Armed with two close-range tazers, it can skate across the ground with great "
-"speed."
+"A large omnivorous rodent with a thick furry pelt, found in wetlands across "
+"the northern hemisphere. It marks its territory with a musky odor for which "
+"it is named."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "experimental lab bot"
+msgid "gigantic naked mole-rat"
msgstr ""
-#. ~ Description for experimental lab bot
+#. ~ Description for gigantic naked mole-rat
#: lang/json/MONSTER_from_json.py
msgid ""
-"This robot looks like a large metal spider, a bit bigger than a person, with "
-"its thorax covered in tiny holes. An ominous buzzing emanates from it."
+"A huge, rumbling mutated mass of wrinkly, nearly translucent skin that has "
+"been toughened by constant tunneling. Its hide is riddled with giant scabs, "
+"as a pair of incisors the size of an industrial excavator's buckets gnash "
+"constantly and several car-length whiskers twitch in the air. It regularly "
+"makes high-pitched chirps as it roams around."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "prototype robot"
+msgid "opossum"
msgstr ""
-#. ~ Description for prototype robot
+#. ~ Description for opossum
#: lang/json/MONSTER_from_json.py
msgid ""
-"The single glowing eye of this robot surveys the landscape periodically, as "
-"it performs the endless slaughter dictated by a misinterpreted and cruel "
-"routine. Between half-built plates, you can see the machinery and cables "
-"that animate it, and yet it moves deftly as it switches between one target "
-"and the next."
+"The Virginia opossum, a small omnivorous marsupial native to North America. "
+"About the size of a cat, it is hardy and adaptive, and a fairly common sight "
+"in urban areas."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "NR-031 Dispatch"
+msgid "otter"
msgstr ""
-#. ~ Description for NR-031 Dispatch
+#. ~ Description for otter
#: lang/json/MONSTER_from_json.py
msgid ""
-"The Northrop Dispatch, designed for crowd control situations, carries and "
-"deploys kamikaze drones of various types, with a small onboard EMP emitter "
-"frying them in the event of its destruction. The bright green-and-yellow "
-"paint marks a low-force variant - *comparatively* low-force, anyways - "
-"typically deployed as guards after an area has been cleared."
+"The North American river otter is a shy water dwelling relative of the "
+"weasel, living in large families along the banks of streams. It is an "
+"excellent fisher and a resourceful survivor, using the abandoned dens of "
+"beavers and other animals to raise its own young."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "NR-V05-M Dispatch"
+msgid "piglet"
msgstr ""
-#. ~ Description for NR-V05-M Dispatch
+#. ~ Description for piglet
+#. ~ Description for pig
#: lang/json/MONSTER_from_json.py
msgid ""
-"The Northrop Dispatch, designed for crowd control situations, carries and "
-"deployes kamikaze drones of various types, with a small onboard EMP emitter "
-"frying them in the event of its destruction. The dark green paint job marks "
-"the lethal and feared military variant, carrying extreme and deadly "
-"firepower."
+"A domesticated omnivore descended from the wild boar, intelligent and "
+"inquisitive. Left to its own devices, it has gone feral."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "autonomous drone"
+msgid "pig"
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "EMP hack"
+msgid "rabbit"
msgstr ""
-#. ~ Description for EMP hack
+#. ~ Description for rabbit
#: lang/json/MONSTER_from_json.py
msgid ""
-"An automated kamikaze drone, this small quadcopter robot appears to have an "
-"EMP grenade inside."
+"A small mammal with a cute wiggling nose, cotton tail, and made of delicious "
+"flesh."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "C-4 hack"
+msgid "raccoon"
msgstr ""
-#. ~ Description for C-4 hack
+#. ~ Description for raccoon
#: lang/json/MONSTER_from_json.py
msgid ""
-"An automated kamikaze drone, this small quadcopter robot appears to have "
-"some C-4 inside."
+"A small mammal native to North America, distinctive for its dexterous paws "
+"and facial markings. It is resourceful and agile enough to open sealed "
+"containers with its paws."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "flashbang hack"
+msgid "rat king"
msgstr ""
-#. ~ Description for flashbang hack
+#. ~ Description for rat king
#: lang/json/MONSTER_from_json.py
msgid ""
-"An automated kamikaze drone, this small quadcopter robot appears to have a "
-"flashbang inside."
+"A towering swarm of mutated rats, their tails knotted together in a filthy "
+"mass. A fetid stench flows from its filthy presence."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "tear gas hack"
+msgid "sewer rat"
msgstr ""
-#. ~ Description for tear gas hack
+#. ~ Description for sewer rat
#: lang/json/MONSTER_from_json.py
msgid ""
-"An automated kamikaze drone, this small quadcopter robot appears to have a "
-"tear gas canister inside."
+"A worm-tailed rodent with long whiskers and beady eyes. The way it squeaks "
+"makes it sound... hungry."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "grenade hack"
-msgstr ""
+msgid "lamb"
+msgid_plural "lambs"
+msgstr[0] ""
+msgstr[1] ""
-#. ~ Description for grenade hack
+#. ~ Description for lamb
#: lang/json/MONSTER_from_json.py
msgid ""
-"An automated kamikaze drone, this small quadcopter robot appears to have a "
-"grenade inside."
+"A timid, hooved grazing mammal, and one of the first animals ever "
+"domesticated. Its body is covered in a thick layer of wool, and the males "
+"have long, spiraling horns."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "manhack"
-msgstr ""
+msgid "sheep"
+msgid_plural "sheep"
+msgstr[0] ""
+msgstr[1] ""
-#. ~ Description for manhack
+#. ~ Description for sheep
#: lang/json/MONSTER_from_json.py
msgid ""
-"An automated anti-personnel drone, a small quadcopter robot surrounded by "
-"whirring blades."
+"A timid, hooved grazing mammal, and one of the first animals ever "
+"domesticated. Its body is covered in a thick layer of wool, and the males "
+"have long, spiralling horns."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "mininuke hack"
+msgid "squirrel"
msgstr ""
-#. ~ Description for mininuke hack
+#. ~ Description for squirrel
#: lang/json/MONSTER_from_json.py
msgid ""
-"Many times as large as a normal manhack, this flying quadcopter drone "
-"appears to have a mininuke inside. If this is targeting you... Run."
+"A small granivorous rodent with a long bushy tail, often seen darting amid "
+"the branches of trees. A skittish varmint with an expression of unwavering "
+"austerity, it is the mortal enemy of cat and dog alike."
msgstr ""
+#. ~ Description for squirrel
#: lang/json/MONSTER_from_json.py
-msgid "tiny fish"
+msgid ""
+"A tiny opportunistic rodent with a long bushy tail. The pine squirrel is "
+"clever and cute, and hunted by nearly everything in the woods with a taste "
+"for meat."
msgstr ""
-#. ~ Description for tiny fish
#: lang/json/MONSTER_from_json.py
-msgid "A tiny fish."
+msgid "weasel"
msgstr ""
+#. ~ Description for weasel
#: lang/json/MONSTER_from_json.py
-msgid "small fish"
+msgid ""
+"The long-tailed weasel, a small but ubiquitous predator whose range extends "
+"across the continent. It forms its den in small burrows, preferring to "
+"occupy the nesting holes of its prey."
msgstr ""
-#. ~ Description for small fish
#: lang/json/MONSTER_from_json.py
-msgid "A small fish."
-msgstr ""
+msgid "wolf"
+msgid_plural "wolves"
+msgstr[0] ""
+msgstr[1] ""
+#. ~ Description for wolf
#: lang/json/MONSTER_from_json.py
-msgid "medium fish"
+msgid ""
+"A cunning pack predator, once extinct in the New England area, the wolf was "
+"successfully reintroduced and their numbers reached record highs in the "
+"decade before the Cataclysm. Lucky you."
msgstr ""
-#. ~ Description for medium fish
#: lang/json/MONSTER_from_json.py
-msgid "A medium fish."
+msgid "marloss zealot"
msgstr ""
+#. ~ Description for marloss zealot
#: lang/json/MONSTER_from_json.py
-msgid "large fish"
+msgid ""
+"Her eyes lie vacant and spittle foams in her mouth, as she recites from the "
+"hymns in rapturous ecstasy."
msgstr ""
-#. ~ Description for large fish
+#. ~ Description for marloss zealot
#: lang/json/MONSTER_from_json.py
-msgid "A large fish."
+msgid ""
+"His eyes lie vacant and spittle foams in his mouth, as he recites from the "
+"hymns in rapturous ecstasy."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "huge fish"
+msgid "laser turret"
msgstr ""
-#. ~ Description for huge fish
+#. ~ Description for laser turret
#: lang/json/MONSTER_from_json.py
-msgid "A huge fish."
+msgid ""
+"The TX-5LR Cerberus is an upgrade to its predecessors. It features a state "
+"of the art revolving laser cannon system with three barrels that charge from "
+"solar cells embedded in its hull."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "trout"
+msgid "antimateriel turret"
msgstr ""
-#. ~ Description for trout
+#. ~ Description for antimateriel turret
#: lang/json/MONSTER_from_json.py
msgid ""
-"A Trout. A fish made popular by father-son fishing trips, Except for the "
-"part where you have to gut it."
+"Leadworks LLC's T-107A1 Interdictor, an automated .50BMG antimateriel "
+"rifle. Credited with forestalling countless car-bombing attempts, it has "
+"always been kept under extremely tight control, so as to itself maintain "
+"extremely tight control of its area. And then the Cataclysm struck."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "brown trout"
+msgid "milspec turret"
msgstr ""
-#. ~ Description for brown trout
+#. ~ Description for milspec turret
#: lang/json/MONSTER_from_json.py
msgid ""
-"A Brown Trout. A fish made popular by father-son fishing trips, Except for "
-"the part where you have to gut it."
+"Leadworks LLC's T-4A1 Sentry. It features improved firmware over General "
+"Atomics' TX-1 9x19mm model and an automated M4 carbine."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "brook trout"
+msgid "debug monster"
msgstr ""
-#. ~ Description for brook trout
+#. ~ Description for debug monster
#: lang/json/MONSTER_from_json.py
-msgid ""
-"A Brook Trout. A fish made popular by father-son fishing trips, Except for "
-"the part where you have to gut it."
+msgid "This monster exists only for testing purposes."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "lake trout"
+msgid "albino penguin"
msgstr ""
-#. ~ Description for lake trout
+#. ~ Description for albino penguin
#: lang/json/MONSTER_from_json.py
msgid ""
-"A Lake trout. A fish made popular by father-son fishing trips, Except for "
-"the part where you have to gut it."
+"Eight-feet-tall ghastly white penguins. Placid unless otherwise provoked."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "rainbow trout"
+msgid "alpha razorclaw"
msgstr ""
-#. ~ Description for rainbow trout
+#. ~ Description for alpha razorclaw
#: lang/json/MONSTER_from_json.py
msgid ""
-"A Rainbow Trout. A fish made popular by father-son fishing trips, Except "
-"for the part where you have to gut it."
+"A blood red, gigantic razorclaw. Its sword like pincers serve as the "
+"keepers of the nest."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "steelhead trout"
+msgid "amigara horror"
msgstr ""
-#. ~ Description for steelhead trout
+#. ~ Description for amigara horror
#: lang/json/MONSTER_from_json.py
msgid ""
-"A Steelhead Trout. A fish made popular by father-son fishing trips, Except "
-"for the part where you have to gut it."
+"A hellish, vaguely humanoid horror, two stories tall. Its face is "
+"grotesquely stretched out, its limbs deformed to unrecognizable outgrowths."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "salmon"
+msgid "bat"
msgstr ""
-#. ~ Description for salmon
+#. ~ Description for bat
#: lang/json/MONSTER_from_json.py
msgid ""
-"An Atlantic Salmon. A very fatty, nutritious fish. Tastes great smoked."
+"One of the vesper bats, a family of winged insect-eating mammals. It roosts "
+"in caves and other hollows, and uses a form of echolocation to aerially "
+"navigate through tricky terrain at rapid speeds."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "kokanee salmon"
+msgid "scarred zombie"
msgstr ""
-#. ~ Description for kokanee salmon
+#. ~ Description for scarred zombie
#: lang/json/MONSTER_from_json.py
-msgid "A Kokanee Salmon. A very fatty, nutritious fish. Tastes great smoked."
+msgid ""
+"A deformed human body, its skin transformed into one thick, calloused "
+"envelope of scar tissue."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "chinook salmon"
-msgstr ""
+msgid "blank body"
+msgid_plural "blank bodies"
+msgstr[0] ""
+msgstr[1] ""
-#. ~ Description for chinook salmon
+#. ~ Description for blank body
#: lang/json/MONSTER_from_json.py
-msgid "A Chinook Salmon. A very fatty, nutritious fish. Tastes great smoked."
+msgid ""
+"This is some form of unnatural changeling creature; its appearance is a "
+"bland mockery of the human form. Featureless and pale, its repugnant "
+"countenance is all the more unsettling due to its lack of eyes and "
+"distinguishing features except for a perfectly round mouth. Naked and "
+"trembling, it almost seems pitiful but for the way that its unearthly "
+"presence makes the hair on the back of your neck stand up in nameless horror."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "coho salmon"
+msgid "blob"
msgstr ""
-#. ~ Description for coho salmon
+#. ~ Description for blob
#: lang/json/MONSTER_from_json.py
-msgid "A Coho Salmon. A very fatty, nutritious fish. Tastes great smoked."
+msgid ""
+"A black blob of viscous goo, oozing across the ground like a glob of living "
+"oil."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "whitefish"
+msgid "brain blob"
msgstr ""
-#. ~ Description for whitefish
+#. ~ Description for brain blob
#: lang/json/MONSTER_from_json.py
msgid ""
-"A whitefish, closely related to salmon. One can assume they are just as "
-"nice when cooked with smoke."
+"A gigantic black blob of viscous goo, oozing across the ground like a glob "
+"of living oil. Other blobs seem to swarm around it."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "largemouth bass"
+msgid "big blob"
msgstr ""
-#. ~ Description for largemouth bass
+#. ~ Description for big blob
#: lang/json/MONSTER_from_json.py
-msgid "A Largemouth Bass. Very popular with sports fishermen."
+msgid ""
+"A large black blob of viscous goo, oozing across the ground like a glob of "
+"living oil."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "smallmouth bass"
+msgid "small blob"
msgstr ""
-#. ~ Description for smallmouth bass
+#. ~ Description for small blob
#: lang/json/MONSTER_from_json.py
msgid ""
-"A Smallmouth Bass. Being intolerant to pollution in the water, smallmouth "
-"bass are a good indicator of how clean it is."
+"A small black blob of viscous goo, oozing across the ground like a glob of "
+"living oil."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "striped bass"
+msgid "blood sacrifice"
msgstr ""
-#. ~ Description for striped bass
+#. ~ Description for blood sacrifice
#: lang/json/MONSTER_from_json.py
msgid ""
-"A Striped Bass. Mostly a salt water fish, they migrate to fresher water to "
-"spawn."
+"A defiled human body, once living. Tortured to death long ago, it remains "
+"chained to the altar, the putrescent flays of its peeled skin quivering like "
+"so much flotsam upon a murky pond."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "white bass"
+msgid "boomer"
msgstr ""
-#. ~ Description for white bass
+#. ~ Description for boomer
#: lang/json/MONSTER_from_json.py
msgid ""
-"A White Bass. Common to the region, a slab-sided and spiny-rayed little "
-"fish."
+"A rotund human body, bloated beyond belief and layered in rolls of fat. It "
+"emits a horrible odor, and a putrid pink sludge dribbles from its mouth."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "perch"
+msgid "gasoline zombie"
msgstr ""
-#. ~ Description for perch
+#. ~ Description for gasoline zombie
#: lang/json/MONSTER_from_json.py
msgid ""
-"A small spritely Perch. A very bony fish, still got some tasty meat on it "
-"though."
+"A huge bloated zombie that appears to have fed upon gasoline; fumes and "
+"flames escape from its mouth and fuel leaks from its waddling form."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "walleye"
+msgid "fungal boomer"
msgstr ""
-#. ~ Description for walleye
+#. ~ Description for fungal boomer
#: lang/json/MONSTER_from_json.py
-msgid "A Walleye, a green-brown medium-sized fish with a white belly."
+msgid ""
+"A rotund and bloated human body with pasty, fungus-ridden flesh. Its mouth "
+"drips with a frothing gray sludge."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "sunfish"
+msgid "huge boomer"
msgstr ""
-#. ~ Description for sunfish
+#. ~ Description for huge boomer
#: lang/json/MONSTER_from_json.py
-msgid "A Sunfish. A small fish related to bass or bluegill."
+msgid ""
+"This boomer, normally swollen and ready to burst, has strengthened and "
+"solidified. The bile dribbling from its mouth also appears to have "
+"changed..."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "pumpkinseed sunfish"
+msgid "breather"
msgstr ""
-#. ~ Description for pumpkinseed sunfish
+#. ~ Description for breather
#: lang/json/MONSTER_from_json.py
-msgid "A Pumpkinseed Sunfish. A small fish related to bass or bluegill."
+msgid ""
+"This is some sort of unearthly pink flesh sac; moist and ridged with veins, "
+"it is otherwise without discernible exterior features. Seemingly immobile "
+"and defenseless, it sits in place, swelling and collapsing upon itself as it "
+"breathes."
msgstr ""
+#. ~ Description for breather
#: lang/json/MONSTER_from_json.py
-msgid "bluegill"
+msgid "A weird mass of immobile pink goo. It seems to breathe."
msgstr ""
-#. ~ Description for bluegill
#: lang/json/MONSTER_from_json.py
-msgid ""
-"A Bluegill, an invasive species in Japan. Commonly gutted and cooked whole."
+msgid "broken cyborg"
msgstr ""
+#. ~ Description for broken cyborg
#: lang/json/MONSTER_from_json.py
-msgid "redbreast sunfish"
+msgid ""
+"A robot body with the head of a human. All kinds of electronic wires and "
+"devices are implanted in its head. Patches of skin look diseased or "
+"rotting. This cyborg moves erratically and has a confused and deranged look "
+"in its eyes."
msgstr ""
-#. ~ Description for redbreast sunfish
#: lang/json/MONSTER_from_json.py
-msgid "A Redbreast Sunfish. A small fish related to bass or bluegill."
+msgid "prototype cyborg"
msgstr ""
+#. ~ Description for prototype cyborg
#: lang/json/MONSTER_from_json.py
-msgid "green sunfish"
+msgid ""
+"A human fused with a mess of metal parts and wires. While its eyes are "
+"empty, flashes of pain pass across its face reminiscent of the person "
+"trapped in this grotesque body. With enough surgical skills one might be "
+"able to give them back some humanity. If only they cared..."
msgstr ""
-#. ~ Description for green sunfish
#: lang/json/MONSTER_from_json.py
-msgid "A Green Sunfish. A small fish related to bass or bluegill."
+msgid "charred nightmare"
msgstr ""
+#. ~ Description for charred nightmare
#: lang/json/MONSTER_from_json.py
-msgid "longear sunfish"
+msgid ""
+"Intense radiation has spurred a unique form of necrosis and regeneration, it "
+"is impossible to tell if this creature was ever human."
msgstr ""
-#. ~ Description for longear sunfish
#: lang/json/MONSTER_from_json.py
-msgid "A Longear Sunfish. A small fish related to bass or bluegill."
+msgid "chicken walker"
msgstr ""
+#. ~ Description for chicken walker
#: lang/json/MONSTER_from_json.py
-msgid "redear sunfish"
+msgid ""
+"The Northrop ATSV, a massive, heavily-armed and armored robot walking on a "
+"pair of reverse-jointed legs. Armed with a 40mm anti-vehicle grenade "
+"launcher, 5.56 anti-personnel gun, and the ability to electrify itself "
+"against attackers, it is an effective automated sentry, though production "
+"was limited due to a legal dispute."
msgstr ""
-#. ~ Description for redear sunfish
#: lang/json/MONSTER_from_json.py
-msgid "A Redear Sunfish. A small fish related to bass or bluegill."
+msgid "C.H.U.D."
msgstr ""
+#. ~ Description for C.H.U.D.
#: lang/json/MONSTER_from_json.py
-msgid "rock bass"
+msgid ""
+"The C.H.U.D. or Cannibalistic Humanoid Underground Dweller. A human being "
+"turned pale and mad from years of underground isolation."
msgstr ""
-#. ~ Description for rock bass
#: lang/json/MONSTER_from_json.py
-msgid ""
-"A Rock Bass. Related to sunfish, this tiny fish has a camoflauge-like "
-"patterning and a red eye."
+msgid "police bot"
msgstr ""
+#. ~ Description for police bot
#: lang/json/MONSTER_from_json.py
-msgid "calico bass"
+msgid ""
+"One of the many models of armored law enforcement robots employed shortly "
+"before the collapse of civilization. Solar powered like many other robots, "
+"it maintains its programmed pursuit of law and order, propelled on a trio of "
+"omni wheels."
msgstr ""
-#. ~ Description for calico bass
#: lang/json/MONSTER_from_json.py
-msgid "A Calico Bass. A medium-sized fish also known as a 'Crappie'."
+msgid "crawler"
msgstr ""
+#. ~ Description for crawler
#: lang/json/MONSTER_from_json.py
-msgid "warmouth"
+msgid ""
+"A conglomeration of human parts fused together in a horrible mishmash of "
+"function, slowly dragging its eldritch body across the ground."
msgstr ""
-#. ~ Description for warmouth
#: lang/json/MONSTER_from_json.py
-msgid ""
-"A Warmouth, similar to a rock bass, this small fish is related to the "
-"sunfish."
+msgid "dark wyrm"
msgstr ""
+#. ~ Description for dark wyrm
#: lang/json/MONSTER_from_json.py
-msgid "bullhead"
+msgid ""
+"A huge mutated worm found deep underground. It has a gaping round mouth "
+"lined with dagger-like teeth, and its flesh is slick with bubbling blue "
+"slime."
msgstr ""
-#. ~ Description for bullhead
#: lang/json/MONSTER_from_json.py
-msgid "A Bullhead, a type of catfish. Delicious battered and fried."
+msgid "wraith"
msgstr ""
+#. ~ Description for wraith
#: lang/json/MONSTER_from_json.py
-msgid "channel catfish"
+msgid ""
+"A gigantic shadow, chaotically changing in shape and volume. Two piercing "
+"orbs of light dominate what can only be described as its head."
msgstr ""
-#. ~ Description for channel catfish
#: lang/json/MONSTER_from_json.py
-msgid "A Channel Catfish, they have a forked tail and long whiskers."
+msgid "dementia"
msgstr ""
+#. ~ Description for dementia
#: lang/json/MONSTER_from_json.py
-msgid "white catfish"
+msgid ""
+"A crazed individual, the bloody scars on the side of its shaved head suggest "
+"some sort of partial lobotomy"
msgstr ""
-#. ~ Description for white catfish
#: lang/json/MONSTER_from_json.py
-msgid "A White Catfish, a small whiskered fish with a broad head."
+msgid "skeletal dog"
msgstr ""
-#. ~ Description for pike
+#. ~ Description for skeletal dog
#: lang/json/MONSTER_from_json.py
msgid ""
-"A Northern Pike. Pike can be a pretty aggressive fish, careful around those "
-"teeth."
+"This once-canine has shed all of its skin, revealing a carapace of fused "
+"bones and ribs. Devoid entirely of flesh, this walking suit of bone seems "
+"to be controlled by a net of veins and sinews which pulse with glistening "
+"black goo."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "pickerel"
+msgid "dog"
msgstr ""
-#. ~ Description for pickerel
+#. ~ Description for dog
#: lang/json/MONSTER_from_json.py
-msgid "A Pickerel. It looks like a pike, but much smaller."
+msgid ""
+"A domesticated mongrel of the canine persuasion. In the absence of human "
+"society, it has turned feral. You feel a sudden urge to destroy it."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "muskellunge"
+msgid "Z-9"
msgstr ""
-#. ~ Description for muskellunge
+#. ~ Description for Z-9
#: lang/json/MONSTER_from_json.py
msgid ""
-"A Muskellunge. Closely related to pike, it shares the same aggression and "
-"sharp teeth."
+"A zombified version of one of the German shepherd dogs used in law "
+"enforcement. Its deformed body is encased in a protective Kevlar harness."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "white sucker"
+msgid "rot-weiler"
msgstr ""
-#. ~ Description for white sucker
+#. ~ Description for rot-weiler
#: lang/json/MONSTER_from_json.py
-msgid "A White Sucker. It has a streamlined body with a round mouth."
+msgid ""
+"Acrid smell accompanies this corpse of canine. Its whole body is covered in "
+"chains of pulsing cysts and slime-dribbling ulcers."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "carp"
+msgid "eyebot"
msgstr ""
-#. ~ Description for carp
+#. ~ Description for eyebot
#: lang/json/MONSTER_from_json.py
msgid ""
-"A golden-yellow Common Carp. Some people think they don't taste great, but "
-"you can't afford to be choosy in the cataclysm."
+"A quadcopter drone largely comprised of a high-resolution camera lens and a "
+"speaker, this robot hovers above the ground, documenting the carnage and "
+"mayhem around it. While it is no longer able to report to a central "
+"authority, it's likely that some of its automated alert systems are still "
+"functional, given that the thing seems to have an operational charging "
+"station somewhere."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "grass carp"
+msgid "nurse bot"
msgstr ""
-#. ~ Description for grass carp
+#. ~ Description for nurse bot
#: lang/json/MONSTER_from_json.py
-msgid "A huge Grass Carp. A golden, herbivorous fish."
+msgid ""
+"The first product from Uncanny, a towering four-armed humanoid with a gentle "
+"face. The details of its visage are striking, but the stiffness of it makes "
+"you really uncomfortable. The end of the world did not stop it from looking "
+"for patient to assist."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "bowfin"
+msgid "flaming eye"
msgstr ""
-#. ~ Description for bowfin
+#. ~ Description for flaming eye
#: lang/json/MONSTER_from_json.py
msgid ""
-"A Bowfin. These fish are related to gar but without the huge teeth, skin "
-"rending scales, and aggression."
+"An enormous disembodied eyeball the size of a person, flying through the air "
+"through some unknown agency. Wreathed in unnatural flickering blue flame, "
+"it possesses a blazing yellow iris with a slitted pupil like that of a cat "
+"and trails a set of flailing black tendrils as it slowly drifts about; its "
+"unearthly presence filling you with dread at the prospect of falling under "
+"its baleful gaze."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "fallfish"
+msgid "flesh angel"
msgstr ""
-#. ~ Description for fallfish
+#. ~ Description for flesh angel
#: lang/json/MONSTER_from_json.py
msgid ""
-"A Fallfish. These fish are related to gar but without the huge teeth, skin "
-"rending scales, and aggression."
+"A tall and slender man lacking skin and any normalcy of countenance. Wings "
+"of muscle curl forth from its back and a third eye dominates the forehead."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "lobster"
+msgid "flying polyp"
msgstr ""
-#. ~ Description for lobster
+#. ~ Description for flying polyp
#: lang/json/MONSTER_from_json.py
msgid ""
-"These things were once considered pests not worth eating, then some "
-"marketing genius started selling them to people as a delicacy and they took "
-"off in popularity... and price."
+"A half polypous, utterly alien creature. It's only partly material and has "
+"the ability to fly, despite the absence of wings. It produces strange "
+"whistling noises which send cold shivers of primal terror down your spine"
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "crayfish"
+msgid "fungal blossom"
msgstr ""
-#. ~ Description for crayfish
+#. ~ Description for fungal blossom
#: lang/json/MONSTER_from_json.py
msgid ""
-"If you could get ahold of a bunch more of these, a hefty pot of boiling "
-"water, and some spicy seasonings..."
+"A broad fungus, looking much like a glowing blue sunflower. It appears to "
+"emit finer spores than the typical fungal emission."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "Blinky"
-msgid_plural "Blinkies"
-msgstr[0] ""
-msgstr[1] ""
+msgid "fungal hedgerow"
+msgstr ""
-#. ~ Description for Blinky
+#. ~ Description for fungal hedgerow
#: lang/json/MONSTER_from_json.py
-msgid "A strange three-eyed fish."
+msgid ""
+"Looking at first glance like a dull gray privet, this \"hedge\" is really a "
+"mass of barbed fungal tendrils, defending the fungal tower."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "freshwater eel"
+msgid "fungal tendril"
msgstr ""
-#. ~ Description for freshwater eel
+#. ~ Description for fungal tendril
#: lang/json/MONSTER_from_json.py
-msgid ""
-"An American eel. Used to be quite common in these parts until the dams were "
-"built. Guess they'll get a second chance now that they aren't running."
+msgid "A long and delicate-looking tendril with a sharp tip."
msgstr ""
-#: lang/json/MONSTER_from_json.py
-msgid "jawed terror"
+#: lang/json/MONSTER_from_json.py lang/json/terrain_from_json.py
+#: lang/json/terrain_from_json.py
+msgid "fungal wall"
msgstr ""
-#. ~ Description for jawed terror
+#. ~ Description for fungal wall
#: lang/json/MONSTER_from_json.py
msgid ""
-"A once aggressive and hungry bull shark, this jawed terror is now even more "
-"aggressive, possibly thanks to its lack of a functioning brain."
+"A veritable wall of fungus, grown as a natural defense by the fungal spire. "
+"New spores erupt from the surface every few seconds."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "giant carp"
+msgid "fungaloid"
msgstr ""
-#. ~ Description for giant carp
+#. ~ Description for fungaloid
#: lang/json/MONSTER_from_json.py
msgid ""
-"This thing seems like a carp, only swollen and very very angry. Death is "
-"the gift of the carp god."
+"A pale white fungus, one meaty gray stalk supporting a bloom at the top. "
+"Spores are periodically expelled from its gills, and a few tendrils extend "
+"from the base, allowing mobility and some basic means of defense."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "giant salmon"
+msgid "fungal spire"
msgstr ""
-#. ~ Description for giant salmon
+#. ~ Description for fungal spire
#: lang/json/MONSTER_from_json.py
msgid ""
-"A mutated salmon, the same size as a large dog and quite dangerous to the "
-"inexperienced angler."
+"An enormous fungal spire, towering over the ground. It pulsates slowly, "
+"continuously growing new defenses."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "seweranha"
+msgid "giant fungal blossom"
msgstr ""
-#. ~ Description for seweranha
+#. ~ Description for giant fungal blossom
#: lang/json/MONSTER_from_json.py
msgid ""
-"A large mutant variety of carp. It has shimmering green scales and a mouth "
-"lined with three jagged rows of razor-sharp teeth."
+"An immense fungal blossom, towering over its surroundings. It pulses with a "
+"soft blue glow, continuously pumping its spores into the air."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "skittering plague"
+#: lang/json/overmap_terrain_from_json.py
+msgid "fungal tower"
msgstr ""
-#. ~ Description for skittering plague
+#. ~ Description for fungal tower
#: lang/json/MONSTER_from_json.py
-msgid "A giant infected roach, it has been feeding on the undead."
+msgid ""
+"An enormous fungal tower. On closer inspection, its cap is supported by "
+"LOTS of fungal tendrils of various thicknesses, emerging from yet more "
+"bristling tendrils at ground level. Between this redundancy and their "
+"noticeable movement creating frequent gaps, it's tough to get a solid shot "
+"on the thing."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "plague nymph"
+msgid "fungal sporeling"
msgstr ""
-#. ~ Description for plague nymph
+#. ~ Description for fungal sporeling
#: lang/json/MONSTER_from_json.py
-msgid "An infected mutant cockroach about the size of a rat."
+msgid ""
+"A fungal stalk several feet in height. Two vicious looking tendrils extend "
+"from its thorned and leathery exterior, and it moves about faster than the "
+"larger fungaloids."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "plague vector"
+msgid "amoebic mold"
msgstr ""
-#. ~ Description for plague vector
+#. ~ Description for amoebic mold
#: lang/json/MONSTER_from_json.py
msgid ""
-"This infected roach has been feeding on the undead and started to mutate "
-"chaotically. Extra limbs and growths sprout from its thorax."
+"A formless slime mold the size of a cow. Crusty bits of cytoplasm fall away "
+"as it oozes across the ground."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "giant cockroach"
+msgid "generator"
msgstr ""
-#. ~ Description for giant cockroach
+#. ~ Description for generator
#: lang/json/MONSTER_from_json.py
-msgid "A mutant cockroach the size of a small dog."
+msgid "Your precious generator, noisily humming away. Defend it at all costs!"
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "giant cockroach nymph"
+msgid "giant crayfish"
msgstr ""
-#. ~ Description for giant cockroach nymph
+#. ~ Description for giant crayfish
#: lang/json/MONSTER_from_json.py
-msgid "A baby mutant cockroach about the size of a rat."
+msgid ""
+"A mutant, terrestrial variety of the signal crayfish, this massive "
+"crustacean resembles a humongous lobster."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "pregnant giant cockroach"
+msgid "gozu"
msgstr ""
-#. ~ Description for pregnant giant cockroach
+#. ~ Description for gozu
#: lang/json/MONSTER_from_json.py
msgid ""
-"A mutant cockroach the size of a small dog. Its abdomen is heavily swollen."
+"This is some sort of unnatural cross between a bull and a man. Quite "
+"different from the minotaur of legend, it possesses a shaggy white bull’s "
+"head on an otherwise unremarkable human body. Clad in sagging socks and "
+"stained jockey shorts, it grunts and snuffles, drooling ropey strands of "
+"white slobber down its chest. Its mere presence fills you with an "
+"unfathomable dread."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "giant bee"
+msgid "graboid"
msgstr ""
-#. ~ Description for giant bee
+#. ~ Description for graboid
#: lang/json/MONSTER_from_json.py
msgid ""
-"With a stinger the size of a kitchen knife, this dog-sized insect's black "
-"and yellow markings warn you to leave it undisturbed."
+"A monstrous beast the size of a semi truck with a tripartite mouth that "
+"opens to reveal hundreds of writhing tongues with razor sharp edges. It "
+"keeps most of its enormous body hidden underground."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "giant centipede"
+msgid "gracken"
msgstr ""
-#. ~ Description for giant centipede
+#. ~ Description for gracken
#: lang/json/MONSTER_from_json.py
msgid ""
-"A meter-long centipede with a menacing pair of pincers, moving swiftly on "
-"dozens of spindly legs."
+"This is some form of eldritch monstrosity; an uncouth black being with "
+"smooth, oily, skin and unpleasant horns that curve inward toward each "
+"other. Tall and thin, the shadows cling unnaturally to its vaguely defined "
+"humanoid form as it shuffles along, its hands twitching and spasming so "
+"rapidly as to appear a little more than a black blur of claws. Gazing upon "
+"its disturbing form fills you with an unspeakable terror."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "giant dragonfly"
-msgid_plural "giant dragonflies"
-msgstr[0] ""
-msgstr[1] ""
+msgid "half worm"
+msgstr ""
-#. ~ Description for giant dragonfly
+#. ~ Description for half worm
#: lang/json/MONSTER_from_json.py
-msgid ""
-"A ferocious mutant dragonfly as big as a cat, darting through the air with a "
-"cluster of fangs for a mouth."
+msgid "A squiggling severed portion of a wounded giant worm."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "giant fly"
-msgid_plural "giant flies"
-msgstr[0] ""
-msgstr[1] ""
+msgid "your mother"
+msgstr ""
-#. ~ Description for giant fly
+#. ~ Description for your mother
#: lang/json/MONSTER_from_json.py
-msgid ""
-"A tremendous housefly the size of a small dog, predictably accompanied by a "
-"loud, incessant buzzing sound."
+msgid "Mom?"
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "giant mosquito"
+msgid "evil multi-cooker"
msgstr ""
-#. ~ Description for giant mosquito
+#. ~ Description for evil multi-cooker
#: lang/json/MONSTER_from_json.py
-msgid ""
-"An enormous mutant mosquito, fluttering erratically. Its face is dominated "
-"by a long, spear-tipped proboscis."
+msgid "The multi-cooker's got a mind of its own! Look out!"
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "giant cellar spider"
+msgid "cleaner bot"
msgstr ""
-#. ~ Description for giant cellar spider
+#. ~ Description for cleaner bot
#: lang/json/MONSTER_from_json.py
msgid ""
-"A twitchy mutant brown spider, with a relatively small body and spindly long "
-"legs. Its smaller brethren are known for being agile, and for preying upon "
-"other spiders."
+"The Ford Sanitron, a utility robot designed for cleaning up waste material "
+"in hazardous conditions."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "immature giant cellar spider"
+msgid "tentacle dog"
msgstr ""
-#. ~ Description for immature giant cellar spider
+#. ~ Description for tentacle dog
#: lang/json/MONSTER_from_json.py
msgid ""
-"A newly-hatched giant cellar spider. Too small to possess much venom, but "
-"still quick and agile like an adult."
+"A dog's body with a mass of ropey, black tentacles reaching out from its "
+"head."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "giant jumping spider"
+msgid "hologram"
msgstr ""
-#. ~ Description for giant jumping spider
+#. ~ Description for hologram
#: lang/json/MONSTER_from_json.py
-msgid ""
-"A giant spider with big forelegs and two pairs of inquisitive-looking eyes. "
-"It can leap quite quickly, even into the treetops."
+msgid "An image made from light, nearly identical to the real deal."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "giant trapdoor spider"
-msgstr ""
+msgid "homunculus"
+msgid_plural "homunculuses"
+msgstr[0] ""
+msgstr[1] ""
-#. ~ Description for giant trapdoor spider
+#. ~ Description for homunculus
#: lang/json/MONSTER_from_json.py
msgid ""
-"A gigantic spider with a bulbous thorax. It digs a deep underground burrow "
-"that serves as a pit to trap unwary prey."
+"A pale hairless man with an impressive athletic physique. Its lidless eyes "
+"are totally black, and seeping with blood."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "giant web spider"
+msgid "human snail"
msgstr ""
-#. ~ Description for giant web spider
+#. ~ Description for human snail
#: lang/json/MONSTER_from_json.py
msgid ""
-"A giant mutated grass spider, it waits for prey to become ensnared in the "
-"vast webs that it weaves between the trees."
+"An enormous fleshy snail, with an oddly human face. Eyestalks protrude from "
+"where the eyes should be."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "immature giant web spider"
+msgid "hunting horror"
msgstr ""
-#. ~ Description for immature giant web spider
+#. ~ Description for hunting horror
#: lang/json/MONSTER_from_json.py
msgid ""
-"A still immature giant grass spider. Too young to be venomous, or to walk "
-"proficiently for that matter"
+"This is some sort of great viperine creature, possessed of a curiously "
+"distorted head and massive clawed appendages. It partially supports itself "
+"with the aid of black rubbery wings of monstrous dimensions. Its form "
+"writhes and changes before your eyes, filling you with unnameable horror."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "giant black widow"
+msgid "irradiated wanderer"
msgstr ""
-#. ~ Description for giant black widow
+#. ~ Description for irradiated wanderer
#: lang/json/MONSTER_from_json.py
msgid ""
-"A giant mutated black widow spider. A highly venomous nightmare come to "
-"life."
+"This rotting corpse seeps a glowing ooze from its lesions. A strange "
+"tattered jumpsuit marks it as an oddity across the wasteland."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "giant black widow spiderling"
+msgid "fleshy shambler"
msgstr ""
-#. ~ Description for giant black widow spiderling
+#. ~ Description for fleshy shambler
#: lang/json/MONSTER_from_json.py
msgid ""
-"The horrid spawn of a giant black widow spider. Even as a newborn, this "
-"foul creature knows only how to kill."
+"An amalgamation of throbbing organs from various creatures have fused "
+"together into this lurching, vaguely humanoid shape. It's myriad roughly "
+"formed mouths sussurate in a chorus of sibilant groans and whispers."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "giant wolf spider"
+msgid "flesh golem"
msgstr ""
-#. ~ Description for giant wolf spider
+#. ~ Description for flesh golem
#: lang/json/MONSTER_from_json.py
msgid ""
-"A wolf spider mutated to about thirty times its normal size, it moves "
-"quickly and aggressively to catch and consume prey."
+"A seeping conglomeration of spasming muscle and organs have fused together "
+"into this towering caricature of the human form. Various organs fall off of "
+"it's hulking body only to be reabsorbed moments later."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "giant wasp"
+msgid "jabberwock"
msgstr ""
-#. ~ Description for giant wasp
+#. ~ Description for jabberwock
#: lang/json/MONSTER_from_json.py
msgid ""
-"A gigantic slender-bodied wasp with an evil-looking stinger protruding from "
-"its abdomen. Its exoskeleton glowers with ominous red markings."
+"A putrid amalgamation of body parts from humans and other creatures have "
+"fused together in this aberration of flesh. The eyes of all the heads dart "
+"about rapidly and the mouths form a chorus of groaning screams."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "dermatik"
+msgid "kreck"
msgstr ""
-#. ~ Description for dermatik
+#. ~ Description for kreck
#: lang/json/MONSTER_from_json.py
msgid ""
-"A mutated wasp nearly the size of a cat, with a barbed ovipositor extruding "
-"from the abdomen."
+"This is some form of otherworldly hound. Lean and hungry looking, its "
+"twisted red flesh is stretched tightly across its misshapen, angular frame. "
+"Loping grotesquely along, its unusually long neck stretches forward, its "
+"skull-like head near the ground as it sniffs out its prey. Its foulness "
+"partially veiled by some arcane force, it seems to almost flicker in and out "
+"of your perceptions in a fashion that awakens ancient nameless terrors in "
+"the back of your mind"
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "dermatik larva"
+msgid "mi-go"
msgstr ""
-#. ~ Description for dermatik larva
+#. ~ Description for mi-go
#: lang/json/MONSTER_from_json.py
msgid ""
-"A fat white grub as big as a squirrel, with a pair of large, spadelike "
-"mandibles."
+"This is an alien creature of uncertain origin. Its shapeless pink body "
+"bears numerous sets of paired appendages of unknown function, and a pair of "
+"ribbed, membranous wings which seem to be quite useless. Its odd, vaguely "
+"pyramid-shaped head bristles with numerous wavering antennae, and simply "
+"gazing upon the unnatural beast fills you with primordial dread."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "giant ant"
+msgid "miner bot"
msgstr ""
-#. ~ Description for giant ant
+#. ~ Description for miner bot
#: lang/json/MONSTER_from_json.py
msgid ""
-"An enormous red ant covered in chitinous plates. It possesses a pair of "
-"wriggling antennae and vicious-looking mandibles."
+"A snake-like, segmented robot built to tunnel into the ground and detonate "
+"landmines."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "giant acidic ant"
+msgid "cyclopean"
msgstr ""
-#. ~ Description for giant acidic ant
+#. ~ Description for cyclopean
#: lang/json/MONSTER_from_json.py
msgid ""
-"A monstrous brown ant with a swollen abdomen, that ends with a small orifice "
-"at the tip. Glistening liquid seems to drip out periodically."
+"A relatively humanoid mutant with purple hair and a grapefruit-sized "
+"bloodshot eye."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "acidic ant larva"
+msgid "slimespring"
msgstr ""
-#. ~ Description for acidic ant larva
+#. ~ Description for slimespring
#: lang/json/MONSTER_from_json.py
-msgid ""
-"A squirming yellow grub that seems to be oozing liquid from both ends of its "
-"body. It appears its chitin hasn't developed enough to resist acid."
+msgid "A familiar-looking blob of goo. It sprouts the occasional eyestalk."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "acidic queen ant"
+msgid "razorclaw"
msgstr ""
-#. ~ Description for acidic queen ant
+#. ~ Description for razorclaw
#: lang/json/MONSTER_from_json.py
msgid ""
-"An enormous brown ant with an elongated, pulsating abdomen. Its orifice "
-"seems developed only for egg-laying rather than spraying acid like the rest "
-"of the colony, but it doesn't seem affected by the acrid liquid either."
+"A man-sized crustacean clad in an iron-like chitin, capable of emitting the "
+"most horrible of shrieks. Often spotted near shipwrecks or other dark damp "
+"places, which it uses as nesting grounds."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "acidic soldier ant"
+msgid "riot control bot"
msgstr ""
-#. ~ Description for acidic soldier ant
+#. ~ Description for riot control bot
#: lang/json/MONSTER_from_json.py
msgid ""
-"A massive woolly brown ant that towers over the worker ants with a giant "
-"head crest. Along with its huge mandibles, a corrosive liquid seeps from "
-"the end of its bloated abdomen."
+"Nonviolent riot-control bot. Designed to suppress riots and make mass "
+"arrests of those participating. Though its relaxation gas is by far its "
+"best-known weapon, it carries a blinding flash and a low-powered stungun for "
+"self-defense--in addition to its supply of electronic handcuffs."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "fungal ant"
+msgid "shadow"
msgstr ""
-#. ~ Description for fungal ant
+#. ~ Description for shadow
#: lang/json/MONSTER_from_json.py
msgid ""
-"Pale, sickly gray in color, this giant ant's cracked exoskeleton is barely "
-"held together by coils of fungus erupting from every joint in its body."
+"This is an animate shadow. Looking like nothing more than an errant patch "
+"of normal shadow, it draws your attention by the way it moves subtly and "
+"whispers softly in the back of your mind. Strange intrusive thoughts "
+"accompany the quiet murmur, awakening your most horrific memories and fears."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "ant larva"
+msgid "shadow snake"
msgstr ""
-#. ~ Description for ant larva
+#. ~ Description for shadow snake
#: lang/json/MONSTER_from_json.py
msgid ""
-"A pulsating sausage of glistening white flesh, the size of a large cat. On "
-"one end is a set of squirming mouth parts."
+"This is an animate shadow in the form of a long and sinuous snake. "
+"Translucent and dark, it glides silently across the floor, wriggling and "
+"flexing as it moves."
msgstr ""
-#: lang/json/MONSTER_from_json.py
-msgid "queen ant"
-msgstr ""
+#: lang/json/MONSTER_from_json.py lang/json/map_extra_from_json.py
+msgid "Shia LaBeouf"
+msgid_plural "Shia LaBeouf"
+msgstr[0] ""
+msgstr[1] ""
-#. ~ Description for queen ant
+#. ~ Description for Shia LaBeouf
#: lang/json/MONSTER_from_json.py
msgid ""
-"A colossal red ant with a bulging, bloated thorax. It moves slowly and "
-"deliberately, tending to nearby eggs and continually laying more."
+"Living in the woods, \n"
+"killing for sport, \n"
+"eating all the bodies, \n"
+"actual cannibal Shia LaBeouf."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "soldier ant"
+msgid "shoggoth"
msgstr ""
-#. ~ Description for soldier ant
+#. ~ Description for shoggoth
#: lang/json/MONSTER_from_json.py
msgid ""
-"A huge and hairy red ant almost twice the size of other giant ants. Bulging "
-"pincers extend from its jaws."
+"A gargantuan protoplasmic blob, constantly reshaping, forming new pseudopods "
+"seemingly at will. All over its body are eyes that form and disappear. It "
+"looks at you with malice."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "giant locust"
+msgid "skeleton"
msgstr ""
-#. ~ Description for giant locust
+#. ~ Description for skeleton
#: lang/json/MONSTER_from_json.py
msgid ""
-"An overgrown locust. You don't think it'll eat you but it could cause "
-"massive damage to nearby plants."
+"A monstrous overgrowth of ossified tissue has replaced this zombie's rotting "
+"skin with an organic armor of dense bone. Large clumps of black goo seep "
+"from its joints as it shambles aimlessly, with sickening crackling sounds "
+"filling the air around it."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "locust nymph"
+msgid "skeletal brute"
msgstr ""
-#. ~ Description for locust nymph
+#. ~ Description for skeletal brute
#: lang/json/MONSTER_from_json.py
msgid ""
-"A locust the size of a rabbit. You'd hate to think what a swarm of these "
-"could do."
+"Distorted outgrowths of calcified bone plates cover this zombie's rotten "
+"skin. Joints and cracks around its body ooze with black goo."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "black bear cub"
+msgid "sludge crawler"
msgstr ""
-#. ~ Description for black bear cub
+#. ~ Description for sludge crawler
#: lang/json/MONSTER_from_json.py
msgid ""
-"A juvenile American black bear. This one isn't much of a threat, but be "
-"wary of its parent; black bears are known for their protectiveness."
+"A sluglike creature, eight feet long and the width of a refrigerator. Its "
+"black body glistens as it oozes its way along the ground. Eye stalks "
+"occasionally push their way out of the oily mass and look around."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "black bear"
+msgid "giant slug"
msgstr ""
-#. ~ Description for black bear
+#. ~ Description for giant slug
#: lang/json/MONSTER_from_json.py
msgid ""
-"The American black bear. A large omnivorous scavenger, it has powerful "
-"claws and jaws, and is an effective ambush hunter. Most individuals are shy "
-"around humans, but they're fiercely protective of their cubs."
+"A mutated leopard slug, as wide as a golf cart. Venom dripping from its "
+"fanged maw, it slithers ahead slowly, leaving a trail of glistening slime."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "beaver"
+msgid "spore cloud"
msgstr ""
-#. ~ Description for beaver
+#. ~ Description for spore cloud
#: lang/json/MONSTER_from_json.py
-msgid ""
-"The North American beaver, the continent's largest rodent. Its paddle-"
-"shaped tail helps ferry it through the water, and its prominent teeth can "
-"chew through wood, which it uses to build dam-like nests in lakes and "
-"streams."
+msgid "A mass of spores the size of a balled fist, wafting around in the air."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "black rat"
+msgid "Beagle Mini-Tank UGV"
msgstr ""
-#. ~ Description for black rat
+#. ~ Description for Beagle Mini-Tank UGV
#: lang/json/MONSTER_from_json.py
msgid ""
-"The black rat, an omnivorous rodent with sheer black fur and a long, rough "
-"tail. Harbinger of pestilence, famine, and mange, it will sometimes swarm "
-"over the dead or dying."
+"The Northrop Beagle is a refrigerator-sized urban warfare UGV. Sporting an "
+"anti-tank missile launcher, 40mm grenade launcher, and numerous anti-"
+"infantry weapons, it's designed for high-risk urban fighting."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "bobcat"
+msgid "thing"
msgstr ""
-#. ~ Description for bobcat
+#. ~ Description for thing
#: lang/json/MONSTER_from_json.py
msgid ""
-"A spotted wild cat living across much of North America. It is not a serious "
-"threat to humans, but it can be aggressive when threatened."
+"An amorphous black creature, detaching and sprouting tentacles without any "
+"apparent pause."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "cat"
+msgid "tripod"
msgstr ""
-#. ~ Description for cat
+#. ~ Description for tripod
#: lang/json/MONSTER_from_json.py
msgid ""
-"A small domesticated predator gone feral in the absence of human "
-"stewardship. Harried by the elements and the rigors of survival, it is "
-"scruffy and skittish."
+"The Honda Regnal, a tall robot walking on three spidery legs. For weapons, "
+"it has a trio of spiked retractable cables and a flamethrower mounted on its "
+"head."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "chipmunk"
+msgid "milspec searchlight"
msgstr ""
-#. ~ Description for chipmunk
+#. ~ Description for milspec searchlight
#: lang/json/MONSTER_from_json.py
msgid ""
-"The eastern chipmunk, a tiny omnivorous rodent with a characteristic striped "
-"coat. It spends much of the day patrolling its elaborate burrow and the "
-"precious stores of foraged food within."
+"Three high-powered searchlights with automated search AI and mounting, "
+"continually seeking targets."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "cougar"
-msgstr ""
+msgid "twisted body"
+msgid_plural "twisted bodies"
+msgstr[0] ""
+msgstr[1] ""
-#. ~ Description for cougar
+#. ~ Description for twisted body
#: lang/json/MONSTER_from_json.py
msgid ""
-"The Eastern cougar, a large feline predator. Once thought extinct in this "
-"region, conservation efforts were successful in restoring a thriving "
-"population. Fast and silent, this predator can cover long distances with "
-"powerful leaps and pounces, catching its prey with its deadly claws before "
-"delivering the finishing blow with its enormous fangs."
+"A human body, but with its limbs, neck, and hair impossibly twisted. It "
+"clambers around swiftly, making awful screeching sounds."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "calf"
-msgstr ""
+msgid "vortex"
+msgid_plural "vortexes"
+msgstr[0] ""
+msgstr[1] ""
-#. ~ Description for calf
-#. ~ Description for cow
+#. ~ Description for vortex
#: lang/json/MONSTER_from_json.py
msgid ""
-"The domestic cow, a baleful, ruminating farm animal. It is quite muscular, "
-"and the males can have a violent streak to accompany their nasty-looking "
-"horns."
+"A twisting spot in the air, with some kind of morphing mass at its center."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "cow"
+msgid "giant worm"
msgstr ""
+#. ~ Description for giant worm
#: lang/json/MONSTER_from_json.py
-msgid "coyote"
+msgid ""
+"An enormous, mutated creature that might once have been a nightcrawler. It "
+"possesses a large fanged mouth and a long slender body that comes up to your "
+"shoulder, with even more surely hiding underground."
msgstr ""
-#. ~ Description for coyote
#: lang/json/MONSTER_from_json.py
-msgid ""
-"The Eastern coyote, also called the tweed wolf, is a territorial canine "
-"descended from the offspring of gray wolves and true coyotes. It is "
-"intimidated by humans and other predators, but it will still fight if "
-"threatened, and the Cataclysm has made it more fearless than usual."
+msgid "yugg"
msgstr ""
-#. ~ Description for coyote
+#. ~ Description for yugg
#: lang/json/MONSTER_from_json.py
msgid ""
-"The Northeastern coyote, a widespread canine pack hunter. More timid than a "
-"wolf, it is an opportunistic feeder and prefers to hunt smaller and weaker "
-"prey, but is typically timid around humans."
+"This is a huge, slimy worm-like creature. Its pale, flattened head drips an "
+"oily mucus as it breaches the ground, searching for prey. Its pinkish mouth "
+"opens and closes, revealing long fangs glistening with ropey strands of "
+"saliva, which leave smoldering stains wherever they drip. The mere sight of "
+"its putrid whitish visage is enough to loose prehistoric terrors within the "
+"darkest recesses of your mind."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "fawn"
+msgid "grim howler"
msgstr ""
-#. ~ Description for fawn
+#. ~ Description for grim howler
#: lang/json/MONSTER_from_json.py
msgid ""
-"A juvenile northern woodland white-tailed deer, a quick and strong grazing "
-"animal. Favored prey of coyotes, wolves, and giant spider mutants."
+"A zombified wolf. Its mouth oozes with a black substance, coating the "
+"vicious-looking white fangs."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "deer"
+msgid "zombear"
msgstr ""
-#. ~ Description for deer
+#. ~ Description for zombear
#: lang/json/MONSTER_from_json.py
msgid ""
-"The northern woodland white-tailed deer, a quick and strong grazing animal. "
-"Favored prey of coyotes, wolves, and giant spider mutants."
+"This black bear's eyes ooze with dark, oily fluid, and its flesh is torn and "
+"scarred. It shuffles as it walks."
msgstr ""
-#: lang/json/MONSTER_from_json.py
-msgid "Labrador mutt"
+#: lang/json/MONSTER_from_json.py lang/json/snippet_from_json.py
+msgid "zombie"
msgstr ""
-#. ~ Description for Labrador mutt
+#. ~ Description for zombie
#: lang/json/MONSTER_from_json.py
msgid ""
-"This once-average Labrador mixed breed dog has clearly gone feral. Though "
-"it likely still instinctually trusts humans, it's probably far from domestic "
-"by now."
+"A human body, swaying as it moves, an unstoppable rage visible in its oily "
+"black eyes."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "Labrador puppy"
+msgid "acidic zombie"
msgstr ""
-#. ~ Description for Labrador puppy
+#. ~ Description for acidic zombie
#: lang/json/MONSTER_from_json.py
msgid ""
-"An adorable, defenseless Labrador puppy. Much safer to tame than an adult "
-"dog."
+"A sickly-looking dead one. Its skin looks especially thin, with a sticky, "
+"yellow fluid flowing through the clearly visible veins."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "bulldog"
+msgid "slavering biter"
msgstr ""
-#. ~ Description for bulldog
+#. ~ Description for slavering biter
#: lang/json/MONSTER_from_json.py
msgid ""
-"The American bulldog is a hardy, well built dog, that seems suited for "
-"surviving the apocalypse."
+"A distorted and swollen human body. Its jaws have elongated into a "
+"crocodile like snout, dripping with foul smelling saliva."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "bulldog puppy"
+msgid "brainless zombie"
msgstr ""
-#. ~ Description for bulldog puppy
+#. ~ Description for brainless zombie
#: lang/json/MONSTER_from_json.py
msgid ""
-"An adorable, defenseless American bulldog puppy. Much safer to tame than an "
-"adult dog."
+"A zombie like any other, except that its features and skull have been "
+"devastated. It's unclear what caused the damage, but between the scraps of "
+"flesh you can see that its face and brain are gone, though its ears are "
+"intact."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "pit bull mix"
+msgid "zombie brute"
msgstr ""
-#. ~ Description for pit bull mix
+#. ~ Description for zombie brute
#: lang/json/MONSTER_from_json.py
msgid ""
-"The oft-misunderstood pit bull is not actually a single breed but a label "
-"for several kinds of terriers. It has average abilities, and is well-known "
-"for its 'lock jaw' - which isn't real, but their incredible determination is."
+"Its entire body bulges with distended muscles and swollen, festering wounds."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "pit bull puppy"
+msgid "zombie wrestler"
msgstr ""
-#. ~ Description for pit bull puppy
+#. ~ Description for zombie wrestler
#: lang/json/MONSTER_from_json.py
msgid ""
-"An adorable, defenseless pit bull puppy. Much safer to tame than an adult "
-"dog."
+"A slab of festering muscle the size of a well-toned bodybuilder. Seems "
+"eager to strangle the life from you."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "beagle"
+msgid "zombie nightstalker"
msgstr ""
-#. ~ Description for beagle
+#. ~ Description for zombie nightstalker
#: lang/json/MONSTER_from_json.py
msgid ""
-"An adorable beagle that has managed to survive the apocalypse. Being agile "
-"and small, they are difficult to shoot at. Generally attacks in packs."
+"Somehow this brute hides in the dark like some kind of boogeyman. Very "
+"agile for such a large zombie."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "beagle puppy"
+msgid "shocker brute"
msgstr ""
-#. ~ Description for beagle puppy
+#. ~ Description for shocker brute
#: lang/json/MONSTER_from_json.py
msgid ""
-"An adorable, defenseless beagle puppy. Much safer to tame than an adult dog."
+"A huge beast covered in visible scarring from what you can only guess was "
+"'research'. Being near it, you can hear a slight humming, like that of an "
+"electrical transformer."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "border collie"
+msgid "incandescent husk"
msgstr ""
-#. ~ Description for border collie
+#. ~ Description for incandescent husk
#: lang/json/MONSTER_from_json.py
msgid ""
-"An athletic and hyperactive dog that loves to herd animals and jump, the "
-"Border Collie is an agile attacker. Although they can be easy to train, "
-"they don't work well in packs."
+"This once-human is visible only as a glowing white silhouette that you have "
+"to squint to see, cloaked in a crackling field of lightning that pulses like "
+"a beating heart. It walks slowly and deliberately, the thunderstorm "
+"surrounding it eagerly jumping to anything conductive within its grasp."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "border collie puppy"
+msgid "zombie cop"
msgstr ""
-#. ~ Description for border collie puppy
+#. ~ Description for zombie cop
#: lang/json/MONSTER_from_json.py
msgid ""
-"An adorable, defenseless Border Collie puppy. Much safer to tame than an "
-"adult dog."
+"A human body covered by a weather-beaten and badly damaged set of riot gear."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "boxer mastiff"
+msgid "corrosive zombie"
msgstr ""
-#. ~ Description for boxer mastiff
+#. ~ Description for corrosive zombie
#: lang/json/MONSTER_from_json.py
msgid ""
-"An ordinary breed full of affection, the boxer mastiff doesn't otherwise "
-"stand out amongst other dogs with its capabilities."
+"This body has swollen to immense proportions, but still manages to hold "
+"itself together with semi-congealed acid all over its bloated body. It "
+"clumsily moves around, but attacks with a large reserve of acid."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "boxer puppy"
+msgid "The corrosive zombie spits a glob of acid!"
msgstr ""
-#. ~ Description for boxer puppy
+#: lang/json/MONSTER_from_json.py
+msgid "crawling zombie"
+msgstr ""
+
+#. ~ Description for crawling zombie
#: lang/json/MONSTER_from_json.py
msgid ""
-"An adorable, defenseless boxer puppy. Much safer to tame than an adult dog."
+"This human corpse drags itself along slowly with its arms. Its legs are "
+"damaged beyond repair."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "Chihuahua"
+msgid "zombie dancer"
msgstr ""
-#. ~ Description for Chihuahua
+#. ~ Description for zombie dancer
#: lang/json/MONSTER_from_json.py
msgid ""
-"It's a tiny Chihuahua. How it has managed to survive is a miracle, although "
-"its small size and aggressive nature may have proven useful."
+"The foulest stench is in the air, \n"
+"The funk of forty thousand years, \n"
+"And grisly ghouls from every tomb, \n"
+"Are closing in to seal your doom!\n"
+"\n"
+"The dancer doesn't even notice you, it seems like something nearby is "
+"controlling it."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "Chihuahua puppy"
+msgid "zombie dog"
msgstr ""
-#. ~ Description for Chihuahua puppy
+#. ~ Description for zombie dog
#: lang/json/MONSTER_from_json.py
msgid ""
-"An adorable, defenseless Chihuahua puppy. Much safer to tame than an adult "
-"dog."
+"The deformed, animated corpse of a canine, a sinewy beast which can easily "
+"outpace its two-legged friends."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "dachshund"
+msgid "listener zombie"
msgstr ""
-#. ~ Description for dachshund
+#. ~ Description for listener zombie
#: lang/json/MONSTER_from_json.py
msgid ""
-"A wiener dog! This awkward looking dog can be a useful watchdog, plus it "
-"looks adorable as it bumbles around. Its tiny size also makes it hard to "
-"shoot (you monster)."
+"The head of this zombie was once obviously destroyed, the gaps in its scraps "
+"of face now filling with a peculiar gray goo. Human ears hang from the "
+"sides, enormous and unsettling. Thin slits at the front suggest it may be "
+"able to see."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "dachshund puppy"
+msgid "shocker zombie"
msgstr ""
-#. ~ Description for dachshund puppy
+#. ~ Description for shocker zombie
#: lang/json/MONSTER_from_json.py
-msgid ""
-"An adorable, defenseless dachshund puppy. Much safer to tame than an adult "
-"dog."
+msgid "A human body with pale blue flesh, crackling with electrical energy."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "German shepherd"
+msgid "fat zombie"
msgstr ""
-#. ~ Description for German shepherd
+#. ~ Description for fat zombie
#: lang/json/MONSTER_from_json.py
msgid ""
-"The original K-9 breed. An easy to train and great attack dog that will "
-"also defend its owner to the death, however they don't work well in packs."
+"Stumbling as it moves, this corpse of an overweight human regards its "
+"surroundings with an empty black gaze."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "German shepherd puppy"
+msgid "fiend"
msgstr ""
-#. ~ Description for German shepherd puppy
+#. ~ Description for fiend
#: lang/json/MONSTER_from_json.py
msgid ""
-"An adorable, defenseless German shepherd puppy. Much safer to tame than an "
-"adult dog."
+"Charred zombie with bony plates, spikes and protrusions. Moves stiffly, but "
+"swiftly."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "Great Pyrenees"
+msgid "firefighter zombie"
msgstr ""
-#. ~ Description for Great Pyrenees
+#. ~ Description for firefighter zombie
#: lang/json/MONSTER_from_json.py
msgid ""
-"A large and powerful breed, the Great Pyrenees has a beautiful, thick white "
-"coat. Originally bred to deter wolves and other predators, now faced with "
-"protecting livestock from shambling hordes of undead."
+"A decaying human body clad in tattered firefighting gear. It staggers "
+"aimlessly, reeking of smoke and decay."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "Great Pyrenees puppy"
+msgid "fungal zombie"
msgstr ""
-#. ~ Description for Great Pyrenees puppy
+#. ~ Description for fungal zombie
#: lang/json/MONSTER_from_json.py
msgid ""
-"An adorable, defenseless Great Pyrenees puppy. Much safer to tame than an "
-"adult dog."
+"Once human, fungal tendrils now sprout from its mouth, eyes, and other "
+"orifices, holding together a shambling mass of mold-covered flesh."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "rottweiler"
+msgid "bloated zombie"
msgstr ""
-#. ~ Description for rottweiler
+#. ~ Description for bloated zombie
#: lang/json/MONSTER_from_json.py
msgid ""
-"A terrifying breed to face feral, Rottweilers are descended from Roman "
-"legion mastiffs. It's robust, vicious, and quite capable of mauling a human "
-"to death."
+"With its gray skin swollen to near rupture with putrid gas, this cyst "
+"covered zombie looks like it could violently burst under the slightest of "
+"disturbances."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "rottweiler puppy"
+msgid "grabber zombie"
msgstr ""
-#. ~ Description for rottweiler puppy
+#. ~ Description for grabber zombie
#: lang/json/MONSTER_from_json.py
msgid ""
-"An adorable, defenseless Rottweiler puppy. Much safer to tame than an adult "
-"dog."
+"A deformed human body, once living. Its arms dangle from its sides like the "
+"limbs of some skinless ape, mindlessly groping at their surroundings."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "cattle dog"
+msgid "grappler zombie"
msgstr ""
-#. ~ Description for cattle dog
+#. ~ Description for grappler zombie
#: lang/json/MONSTER_from_json.py
msgid ""
-"An agile and sturdy breed that is welcome on any farm, the Australian cattle "
-"dog is adept at leaping fences and herding livestock."
+"An undead humanoid, its elongated arms drag along the ground as it moves. "
+"It looks to almost have a hunch from the swollen back and shoulder muscles "
+"tearing though its skin."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "cattle dog puppy"
+msgid "hazmat zombie"
msgstr ""
-#. ~ Description for cattle dog puppy
+#. ~ Description for hazmat zombie
#: lang/json/MONSTER_from_json.py
msgid ""
-"An adorable, defenseless Australian cattle dog puppy. Much safer to tame "
-"than an adult dog."
+"This zombie's face and body is completely covered by a protective suit. It "
+"wanders around, unsteadily."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "fox"
-msgid_plural "foxes"
-msgstr[0] ""
-msgstr[1] ""
-
-#. ~ Description for fox
-#: lang/json/MONSTER_from_json.py
-msgid ""
-"A small omnivorous canine with an almost cat-like manner. It is a solitary "
-"hunter, and one of the only canids able to climb trees."
+msgid "zombie hollow"
msgstr ""
-#. ~ Description for fox
+#. ~ Description for zombie hollow
#: lang/json/MONSTER_from_json.py
msgid ""
-"The red fox, an omnivorous canine and largest of the true foxes, it is a "
-"wily hunter with a combative, suspicious temperament."
+"Black hollow eyes survey the surroundings as the zombie stretches and bends "
+"in ways that whoever the original body belonged to never could. The only "
+"thing that seems solid, on this flexible black-veined body, is the rows of "
+"sharp black teeth. You get the feeling that the only human thing remaining "
+"is the skin, worn as one would wear clothes."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "groundhog"
+msgid "zombie hulk"
msgstr ""
-#. ~ Description for groundhog
+#. ~ Description for zombie hulk
#: lang/json/MONSTER_from_json.py
msgid ""
-"Also known as the woodchuck, this ground squirrel has no actual talent for "
-"chucking wood."
+"A human body now swollen to the size of six men, with arms as wide as a "
+"trash can."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "jackrabbit"
+msgid "feral hunter"
msgstr ""
-#. ~ Description for jackrabbit
+#. ~ Description for feral hunter
#: lang/json/MONSTER_from_json.py
msgid ""
-"The snowshoe hare, a small grass-eater with a brown fur coat that changes to "
-"white in the wintertime."
+"This once-human body is barely recognizable, scrambling about on all fours, "
+"its nails and teeth both sharpened into dangerous looking spikes."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "horse"
+msgid "Thriller"
msgstr ""
-#. ~ Description for horse
+#. ~ Description for Thriller
#: lang/json/MONSTER_from_json.py
msgid ""
-"A hooved grazing mammal with a mane of hair, a sweeping tail, and powerful-"
-"looking muscles."
+"And though you fight to stay alive, \n"
+"Your body starts to shiver. \n"
+"For no mere mortal can resist, \n"
+"The evil of the thriller."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "lemming"
+msgid "zombie snapper"
msgstr ""
-#. ~ Description for lemming
+#. ~ Description for zombie snapper
#: lang/json/MONSTER_from_json.py
msgid ""
-"The Northern bog lemming, a small, predominantly vegetarian rodent that "
-"spends its life in the murk of swamps and other wetlands. Contrary to "
-"popular belief, these creatures are not particularly hapless or suicidal, "
-"but they can eat themselves into scarcity within a few generations."
+"With a crocodile-like snout and rows of protruding teeth, this swimwear-clad "
+"zombie lurks in the water."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "mink"
+msgid "zombie master"
msgstr ""
-#. ~ Description for mink
+#. ~ Description for zombie master
#: lang/json/MONSTER_from_json.py
msgid ""
-"The American mink, a partially aquatic weasel, once factory-farmed for its "
-"fur. It is a capable fisher, but the presence of otters in these parts "
-"makes it rely more on food from the land."
+"Once human, its features have tightened, its lips pulled back into an "
+"unnatural grin, revealing rows of blackened teeth beneath its large, "
+"piercing eyes. It stands tall and its movements are fluid and tightly "
+"controlled. A feeling of danger permeates the air around it, and the light "
+"that falls on it seems somehow harsher and more glaring."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "moose"
+msgid "zombie necromancer"
msgstr ""
-#. ~ Description for moose
+#. ~ Description for zombie necromancer
#: lang/json/MONSTER_from_json.py
msgid ""
-"The Eastern moose, the largest living species of deer. While they aren't "
-"aggressive unless angered, the mating season can make the bulls quite ill-"
-"tempered."
+"A twisted mockery of the human form, emaciated, with jet black skin and "
+"glowing red eyes. It is somehow painful to look at, awakening fears deep "
+"within your psyche, and even the air around it seems more sinister, somehow "
+"darker and more dangerous."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "muskrat"
+msgid "festering boar"
msgstr ""
-#. ~ Description for muskrat
+#. ~ Description for festering boar
#: lang/json/MONSTER_from_json.py
msgid ""
-"A large omnivorous rodent with a thick furry pelt, found in wetlands across "
-"the northern hemisphere. It marks its territory with a musky odor for which "
-"it is named."
+"A zombified omnivore descended from the wild boar. Now it's got black goo "
+"all over it, instead of mud."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "gigantic naked mole-rat"
+msgid "feral predator"
msgstr ""
-#. ~ Description for gigantic naked mole-rat
+#. ~ Description for feral predator
#: lang/json/MONSTER_from_json.py
msgid ""
-"A huge, rumbling mutated mass of wrinkly, nearly translucent skin that has "
-"been toughened by constant tunneling. Its hide is riddled with giant scabs, "
-"as a pair of incisors the size of an industrial excavator's buckets gnash "
-"constantly and several car-length whiskers twitch in the air. It regularly "
-"makes high-pitched chirps as it roams around."
+"With its joints in odd places and angles, this humanoid creature prowls "
+"across the landscape with surprising speed. Its teeth and arms are "
+"sharpened into fine points, and black ooze seeps out from cuts between its "
+"muscles."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "opossum"
+msgid "decayed zombie"
msgstr ""
-#. ~ Description for opossum
+#. ~ Description for decayed zombie
#: lang/json/MONSTER_from_json.py
msgid ""
-"The Virginia opossum, a small omnivorous marsupial native to North America. "
-"About the size of a cat, it is hardy and adaptive, and a fairly common sight "
-"in urban areas."
+"A once-dead human corpse. Its discolored swollen flesh is riddled with "
+"festering wounds and open sores."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "otter"
+msgid "feral runner"
msgstr ""
-#. ~ Description for otter
+#. ~ Description for feral runner
#: lang/json/MONSTER_from_json.py
msgid ""
-"The North American river otter is a shy water dwelling relative of the "
-"weasel, living in large families along the banks of streams. It is an "
-"excellent fisher and a resourceful survivor, using the abandoned dens of "
-"beavers and other animals to raise its own young."
+"This recently-risen body moves quickly, darting its head back and forth and "
+"gnawing at its hands."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "piglet"
+msgid "scorched zombie"
msgstr ""
-#. ~ Description for piglet
-#. ~ Description for pig
+#. ~ Description for scorched zombie
#: lang/json/MONSTER_from_json.py
msgid ""
-"A domesticated omnivore descended from the wild boar, intelligent and "
-"inquisitive. Left to its own devices, it has gone feral."
+"Heavily burned zombie that still reeks of charred flesh. Its flesh has "
+"mended into a leathery shell."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "pig"
+msgid "screecher zombie"
msgstr ""
+#. ~ Description for screecher zombie
#: lang/json/MONSTER_from_json.py
-msgid "rabbit"
+msgid ""
+"A thin corpse, its chest is swollen in what appears to be preparation. A "
+"thick black ooze drips from its open mouth."
msgstr ""
-#. ~ Description for rabbit
+#: lang/json/MONSTER_from_json.py
+msgid "shady zombie"
+msgstr ""
+
+#. ~ Description for shady zombie
#: lang/json/MONSTER_from_json.py
msgid ""
-"A small mammal with a cute wiggling nose, cotton tail, and made of delicious "
-"flesh."
+"An uncanny shadow envelops this creature, as if light itself were too "
+"repulsed to touch it. All you can make out is its shambling, human shaped "
+"outline."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "raccoon"
+msgid "shrieker zombie"
msgstr ""
-#. ~ Description for raccoon
+#. ~ Description for shrieker zombie
#: lang/json/MONSTER_from_json.py
msgid ""
-"A small mammal native to North America, distinctive for its dexterous paws "
-"and facial markings. It is resourceful and agile enough to open sealed "
-"containers with its paws."
+"An elongated human body with a swollen chest and a gaping hole where its jaw "
+"used to be."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "rat king"
+msgid "skull zombie"
msgstr ""
-#. ~ Description for rat king
+#. ~ Description for skull zombie
#: lang/json/MONSTER_from_json.py
msgid ""
-"A towering swarm of mutated rats, their tails knotted together in a filthy "
-"mass. A fetid stench flows from its filthy presence."
+"This creature's head is a hideous gray skull, formed of human bone fragments "
+"and some sort of goo. Jagged teeth are visible as the thing works its jaw "
+"and disturbingly human, lidless eyes stare at you from their sockets. The "
+"thing's fleshy ears are four sizes too large and droop under their own "
+"weight."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "sewer rat"
+msgid "smoker zombie"
msgstr ""
-#. ~ Description for sewer rat
+#. ~ Description for smoker zombie
#: lang/json/MONSTER_from_json.py
msgid ""
-"A worm-tailed rodent with long whiskers and beady eyes. The way it squeaks "
-"makes it sound... hungry."
+"A blackened and twisted naked human body, strips of flesh hang from its "
+"body, and it emits a constant haze of thick black smoke."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "lamb"
-msgid_plural "lambs"
-msgstr[0] ""
-msgstr[1] ""
+msgid "spitter zombie"
+msgstr ""
-#. ~ Description for lamb
+#. ~ Description for spitter zombie
#: lang/json/MONSTER_from_json.py
msgid ""
-"A timid, hooved grazing mammal, and one of the first animals ever "
-"domesticated. Its body is covered in a thick layer of wool, and the males "
-"have long, spiraling horns."
+"A hunched human body with its eyes pushed up into its forehead and drooping "
+"cheeks, most of its face is occupied by a puckered mouth. Its stomach is "
+"swollen and nearly translucent, with a sickly yellow tint."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "sheep"
-msgid_plural "sheep"
-msgstr[0] ""
-msgstr[1] ""
+msgid "survivor zombie"
+msgstr ""
-#. ~ Description for sheep
+#. ~ Description for survivor zombie
#: lang/json/MONSTER_from_json.py
msgid ""
-"A timid, hooved grazing mammal, and one of the first animals ever "
-"domesticated. Its body is covered in a thick layer of wool, and the males "
-"have long, spiralling horns."
+"Still wearing the tattered remnants of improvised armor and weaponry, it is "
+"plain to see that this zombie was once a survivor like you."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "squirrel"
+msgid "swimmer zombie"
msgstr ""
-#. ~ Description for squirrel
+#. ~ Description for swimmer zombie
#: lang/json/MONSTER_from_json.py
msgid ""
-"A small granivorous rodent with a long bushy tail, often seen darting amid "
-"the branches of trees. A skittish varmint with an expression of unwavering "
-"austerity, it is the mortal enemy of cat and dog alike."
+"A slick and glistening human body. Its hands and feet are webbed, and it is "
+"clad in swimwear."
msgstr ""
-#. ~ Description for squirrel
+#: lang/json/MONSTER_from_json.py
+msgid "zombie technician"
+msgstr ""
+
+#. ~ Description for zombie technician
#: lang/json/MONSTER_from_json.py
msgid ""
-"A tiny opportunistic rodent with a long bushy tail. The pine squirrel is "
-"clever and cute, and hunted by nearly everything in the woods with a taste "
-"for meat."
+"Still wearing its work clothes and hardhat, this zombie likely used to work "
+"on power lines or other electrical equipment."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "weasel"
+msgid "thorny shambler"
msgstr ""
-#. ~ Description for weasel
+#. ~ Description for thorny shambler
#: lang/json/MONSTER_from_json.py
msgid ""
-"The long-tailed weasel, a small but ubiquitous predator whose range extends "
-"across the continent. It forms its den in small burrows, preferring to "
-"occupy the nesting holes of its prey."
+"A shambling undead humanoid, body overgrown with a tangled mass of "
+"otherworldly vegetation. Hunched over and dragging its feet as it moves, "
+"the bramble utterly enveloping its upper half twitches and moves with a life "
+"of its own, tendrils tipped with a paralytic sting."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "wolf"
-msgid_plural "wolves"
-msgstr[0] ""
-msgstr[1] ""
+msgid "tough zombie"
+msgstr ""
-#. ~ Description for wolf
+#. ~ Description for tough zombie
#: lang/json/MONSTER_from_json.py
msgid ""
-"A cunning pack predator, once extinct in the New England area, the wolf was "
-"successfully reintroduced and their numbers reached record highs in the "
-"decade before the Cataclysm. Lucky you."
+"Once an athletic human, now a brutal monster. Its facial features are "
+"twisted into an expression of pure rage."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "marloss zealot"
+msgid "zombeaver"
msgstr ""
-#. ~ Description for marloss zealot
+#. ~ Description for zombeaver
#: lang/json/MONSTER_from_json.py
msgid ""
-"Her eyes lie vacant and spittle foams in her mouth, as she recites from the "
-"hymns in rapturous ecstasy."
+"This wall-eyed beast has a large wound on its side, and ribs with some flesh "
+"on them are seen through it. The most prominent feature of this abomination "
+"is large incisors in its ominously open mouth, strange black goo is oozing "
+"out of it. Seems like it isn't interested in trees anymore and is looking "
+"for some warm fresh to feed."
msgstr ""
-#. ~ Description for marloss zealot
+#: lang/json/MONSTER_from_json.py
+msgid "antlered horror"
+msgstr ""
+
+#. ~ Description for antlered horror
#: lang/json/MONSTER_from_json.py
msgid ""
-"His eyes lie vacant and spittle foams in his mouth, as he recites from the "
-"hymns in rapturous ecstasy."
+"This formerly-majestic moose has succumbed to the infection which is killing "
+"the world. Shiny green blowflies swarm the vast suppurated patches of "
+"purulent flesh where its skin has sloughed away, and its remaining fur is "
+"black and matted with necrotic discharge."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "laser turret"
+msgid "decayed pouncer"
msgstr ""
-#. ~ Description for laser turret
+#. ~ Description for decayed pouncer
#: lang/json/MONSTER_from_json.py
msgid ""
-"The TX-5LR Cerberus is an upgrade to its predecessors. It features a state "
-"of the art revolving laser cannon system with three barrels that charge from "
-"solar cells embedded in its hull."
+"An otherwise normal-looking cougar, except that its hind legs are swollen, "
+"and its eyes bulge with black goo."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "antimateriel turret"
+msgid "skeletal juggernaut"
msgstr ""
-#. ~ Description for antimateriel turret
+#. ~ Description for skeletal juggernaut
#: lang/json/MONSTER_from_json.py
msgid ""
-"Leadworks LLC's T-107A1 Interdictor, an automated .50BMG antimateriel "
-"rifle. Credited with forestalling countless car-bombing attempts, it has "
-"always been kept under extremely tight control, so as to itself maintain "
-"extremely tight control of its area. And then the Cataclysm struck."
+"This hideous golem of plated bones and misshapen flesh drags its heavy, "
+"pointed limbs behind it like an unwanted burden. Formerly soft and "
+"vulnerable, bones grew around its form to protect it - only, they kept "
+"growing. And growing. And growing."
msgstr ""
#: lang/json/MONSTER_from_json.py
-msgid "milspec turret"
+msgid "ancient red dragon"
msgstr ""
-#. ~ Description for milspec turret
+#. ~ Description for ancient red dragon
#: lang/json/MONSTER_from_json.py
msgid ""
-"Leadworks LLC's T-4A1 Sentry. It features improved firmware over General "
-"Atomics' TX-1 9x19mm model and an automated M4 carbine."
+"A towering, hulking dragon, with tremendous, curving horns and shining red "
+"scales, its glowing maw peeled back in a hateful grimace as its eyes bore "
+"into yours."
msgstr ""
#: lang/json/MONSTER_from_json.py
@@ -50850,7 +51480,7 @@ msgstr ""
#. ~ Description for zombie security guard
#: lang/json/MONSTER_from_json.py
msgid ""
-"A shambling human corpse wearing a grey uniform and bulletproof vest with "
+"A shambling human corpse wearing a gray uniform and bulletproof vest with "
"\"SECURITY\" emblazoned across the front. It looks like the guard was quite "
"physically fit before its death; it moves quickly and powerfully, albeit "
"clumsily."
@@ -52871,6 +53501,152 @@ msgid ""
"You could put this on a friendly dog."
msgstr ""
+#: lang/json/PET_ARMOR_from_json.py
+msgid "Kevlar-lined horse peto"
+msgstr ""
+
+#. ~ Description for Kevlar-lined horse peto
+#: lang/json/PET_ARMOR_from_json.py
+msgid ""
+"A heavy mattress-like armor of cloth, leather and thick linings of Kevlar, "
+"originally used as protection in bullfighting. You could put this on a "
+"friendly horse."
+msgstr ""
+
+#: lang/json/PET_ARMOR_from_json.py
+msgid "biosilicified chitin horse body armor"
+msgstr ""
+
+#. ~ Description for biosilicified chitin horse body armor
+#: lang/json/PET_ARMOR_from_json.py
+msgid ""
+"A makeshift assembly of criniere, peytral and croupiere made from "
+"biosilicified chitin fitted to a thin mesh. You could put this on a "
+"friendly horse."
+msgstr ""
+
+#: lang/json/PET_ARMOR_from_json.py
+msgid "chitin horse body armor"
+msgstr ""
+
+#. ~ Description for chitin horse body armor
+#: lang/json/PET_ARMOR_from_json.py
+msgid ""
+"A makeshift assembly of criniere, peytral and croupiere made from chitin "
+"fitted to a thin mesh. You could put this on a friendly horse."
+msgstr ""
+
+#: lang/json/PET_ARMOR_from_json.py
+msgid "chainmail horse coat"
+msgstr ""
+
+#. ~ Description for chainmail horse coat
+#: lang/json/PET_ARMOR_from_json.py
+msgid ""
+"A heavy covering of chainmail, suitably made for horses as protection. You "
+"could put this on a friendly horse."
+msgstr ""
+
+#: lang/json/PET_ARMOR_from_json.py
+msgid "boiled leather horse barding with caparison"
+msgstr ""
+
+#. ~ Description for boiled leather horse barding with caparison
+#: lang/json/PET_ARMOR_from_json.py
+msgid ""
+"A full barding for horses consisting of boiled leather and cloth "
+"undercovering. This caparison is depicting a battle between a monstrous "
+"dragon and regal griffin. You could put this on a friendly horse."
+msgstr ""
+
+#: lang/json/PET_ARMOR_from_json.py
+msgid ""
+"A full barding for horses consisting of boiled leather and cloth "
+"undercovering. This caparison is depicting a red dragon breathing fire on "
+"cities. You could put this on a friendly horse."
+msgstr ""
+
+#: lang/json/PET_ARMOR_from_json.py
+msgid ""
+"A full barding for horses consisting of boiled leather and cloth "
+"undercovering. This caparison is depicting a bear on its hind legs and "
+"forelegs outstretched in a menacing manner. You could put this on a "
+"friendly horse."
+msgstr ""
+
+#: lang/json/PET_ARMOR_from_json.py
+msgid ""
+"A full barding for horses consisting of boiled leather and cloth "
+"undercovering. This caparison is depicting an assortment of fruits and "
+"vegetables with a very large orange featured in the foreground. You could "
+"put this on a friendly horse."
+msgstr ""
+
+#: lang/json/PET_ARMOR_from_json.py
+msgid ""
+"A full barding for horses consisting of boiled leather and cloth "
+"undercovering. This caparison is depicting a massive vulture perched on a "
+"mountain. You could put this on a friendly horse."
+msgstr ""
+
+#: lang/json/PET_ARMOR_from_json.py
+msgid ""
+"A full barding for horses consisting of boiled leather and cloth "
+"undercovering. This caparison is depicting the mythical Erymanthian boar in "
+"various artistic forms. You could put this on a friendly horse."
+msgstr ""
+
+#: lang/json/PET_ARMOR_from_json.py
+msgid ""
+"A full barding for horses consisting of boiled leather and cloth "
+"undercovering. This caparison seems to be sponsored by Rycon Construction, "
+"with a tag line of \"From down under to your home, we play all the roles "
+"from start to finish!\". You could put this on a friendly horse."
+msgstr ""
+
+#: lang/json/PET_ARMOR_from_json.py
+msgid ""
+"A full barding for horses consisting of boiled leather and cloth "
+"undercovering. This caparison seems to be sponsored by Core Generator Tech, "
+"with a tag line of \"Providing power solutions from culinary to graphic "
+"design, we have the magic touch for your problems!\". You could put this on "
+"a friendly horse."
+msgstr ""
+
+#: lang/json/PET_ARMOR_from_json.py
+msgid "boiled leather horse barding with bones"
+msgstr ""
+
+#. ~ Description for boiled leather horse barding with bones
+#: lang/json/PET_ARMOR_from_json.py
+msgid ""
+"Decorative bones affixed to leather horse barding to invoke fear in bandits "
+"and raiders and traders all! You could put this on a friendly horse."
+msgstr ""
+
+#: lang/json/PET_ARMOR_from_json.py
+msgid "horse rain sheet"
+msgstr ""
+
+#. ~ Description for horse rain sheet
+#: lang/json/PET_ARMOR_from_json.py
+msgid ""
+"A thin plastic covering adapted for horses to protect from acid rain and "
+"other caustic sources. You could put this on a friendly horse."
+msgstr ""
+
+#: lang/json/PET_ARMOR_from_json.py
+msgid "superalloy crafted horse barding"
+msgstr ""
+
+#. ~ Description for superalloy crafted horse barding
+#: lang/json/PET_ARMOR_from_json.py
+msgid ""
+"The latest fashion statement and protection for polo equestrians and "
+"ahistorical reenactor steeds alike, designed and manufactured by Land Dwarf "
+"Industries. You could put this on a friendly horse."
+msgstr ""
+
#: lang/json/SPELL_from_json.py
msgid "Smite"
msgstr ""
@@ -52904,6 +53680,39 @@ msgid ""
"your pain at bay."
msgstr ""
+#: lang/json/SPELL_from_json.py
+msgid "Summon Zombie"
+msgstr ""
+
+#. ~ Description for Summon Zombie
+#: lang/json/SPELL_from_json.py
+msgid ""
+"An ethereal-looking zombie rises from the depths of the earth to fight for "
+"you. You may be able to summon more with a higher level in this spell."
+msgstr ""
+
+#: lang/json/SPELL_from_json.py
+msgid "Summon Skeleton"
+msgstr ""
+
+#. ~ Description for Summon Skeleton
+#: lang/json/SPELL_from_json.py
+msgid ""
+"A ghostly skeleton rises from the depths of the earth to fight for you. You "
+"may be able to summon more with a higher level in this spell."
+msgstr ""
+
+#: lang/json/SPELL_from_json.py
+msgid "Summon Decayed Pouncer"
+msgstr ""
+
+#. ~ Description for Summon Decayed Pouncer
+#: lang/json/SPELL_from_json.py
+msgid ""
+"A decrepit looking large cat rises from the depths of the earth to fight for "
+"you. You may be able to summon more with a higher level in this spell."
+msgstr ""
+
#: lang/json/SPELL_from_json.py
msgid "Cure Light Wounds"
msgstr ""
@@ -53044,6 +53853,15 @@ msgstr ""
msgid "This is a template to show off all the available values"
msgstr ""
+#: lang/json/SPELL_from_json.py
+msgid "Spawn Debug Monsters"
+msgstr ""
+
+#. ~ Description for Spawn Debug Monsters
+#: lang/json/SPELL_from_json.py
+msgid "Set level to number of monsters spawned."
+msgstr ""
+
#: lang/json/SPELL_from_json.py
msgid "Debug Stamina Spell"
msgstr ""
@@ -53053,6 +53871,15 @@ msgstr ""
msgid "Uses a little stamina"
msgstr ""
+#: lang/json/SPELL_from_json.py
+msgid "Debug Fatigue Spell"
+msgstr ""
+
+#. ~ Description for Debug Fatigue Spell
+#: lang/json/SPELL_from_json.py
+msgid "Uses a little fatigue"
+msgstr ""
+
#: lang/json/SPELL_from_json.py
msgid "Debug HP Spell"
msgstr ""
@@ -53135,6 +53962,28 @@ msgid ""
"This allows you to recover fatige quickly in exchange for mana."
msgstr ""
+#: lang/json/SPELL_from_json.py
+msgid "Bag of Cats"
+msgstr ""
+
+#. ~ Description for Bag of Cats
+#: lang/json/SPELL_from_json.py
+msgid "Are you the crazy cat lady?"
+msgstr ""
+
+#: lang/json/SPELL_from_json.py
+msgid "Cause Bear"
+msgstr ""
+
+#. ~ Description for Cause Bear
+#: lang/json/SPELL_from_json.py
+msgid ""
+"This spell appears to be very smudged. You're fairly sure the name should "
+"be Cause Fear, but you're also fairly sure it won't have the desired effect "
+"because the instructions are hardly legible. No time like the Cataclysm to "
+"find out, though!"
+msgstr ""
+
#: lang/json/SPELL_from_json.py
msgid "Stonefist"
msgstr ""
@@ -53168,6 +54017,47 @@ msgid ""
"mana is converted to stamina."
msgstr ""
+#: lang/json/SPELL_from_json.py
+msgid "Shardspray"
+msgstr ""
+
+#. ~ Description for Shardspray
+#: lang/json/SPELL_from_json.py
+msgid ""
+"This spell projects a wide spray of sharp metal shards, cutting into your "
+"foes and friends alike."
+msgstr ""
+
+#: lang/json/SPELL_from_json.py
+msgid "Piercing Bolt"
+msgstr ""
+
+#. ~ Description for Piercing Bolt
+#: lang/json/SPELL_from_json.py
+msgid ""
+"This spell projects a piercing rod of conjured iron at those that dare "
+"oppose you."
+msgstr ""
+
+#: lang/json/SPELL_from_json.py
+msgid "Shardstorm"
+msgstr ""
+
+#. ~ Description for Shardstorm
+#: lang/json/SPELL_from_json.py
+msgid ""
+"Creates an omnidirectional spray of razor sharp metal shards all around you."
+msgstr ""
+
+#: lang/json/SPELL_from_json.py
+msgid "Rockbolt"
+msgstr ""
+
+#. ~ Description for Rockbolt
+#: lang/json/SPELL_from_json.py
+msgid "Fires a conjured stone projectile at high velocity."
+msgstr ""
+
#: lang/json/SPELL_from_json.py
msgid "Point Flare"
msgstr ""
@@ -53318,6 +54208,55 @@ msgid ""
"damage to all creatures in the affected area."
msgstr ""
+#: lang/json/SPELL_from_json.py
+msgid "Mana Blast"
+msgstr ""
+
+#. ~ Description for Mana Blast
+#: lang/json/SPELL_from_json.py
+msgid "A blast of concentrated magical power that obliterates a large area."
+msgstr ""
+
+#: lang/json/SPELL_from_json.py
+msgid "Mana Bolt"
+msgstr ""
+
+#. ~ Description for Mana Bolt
+#: lang/json/SPELL_from_json.py
+msgid "A bolt of magical power that only damages your foes."
+msgstr ""
+
+#: lang/json/SPELL_from_json.py
+msgid "Haste"
+msgstr ""
+
+#. ~ Description for Haste
+#: lang/json/SPELL_from_json.py
+msgid ""
+"This spell gives you an enormous boost of speed lasting a short period of "
+"time."
+msgstr ""
+
+#: lang/json/SPELL_from_json.py
+msgid "Mana Beam"
+msgstr ""
+
+#. ~ Description for Mana Beam
+#: lang/json/SPELL_from_json.py
+msgid "A beam of focused magical power that damages any foes in its path."
+msgstr ""
+
+#: lang/json/SPELL_from_json.py
+msgid "Escape"
+msgstr ""
+
+#. ~ Description for Escape
+#: lang/json/SPELL_from_json.py
+msgid ""
+"Teleports you in a random direction a medium distance, to help escape your "
+"foes in dangerous situations."
+msgstr ""
+
#: lang/json/SPELL_from_json.py
msgid "Jolt"
msgstr ""
@@ -53423,9 +54362,9 @@ msgstr[1] ""
#. ~ Description for UPS conversion mod
#: lang/json/TOOLMOD_from_json.py
msgid ""
-"This device replaces conventional battery connections with a rechargeable "
-"power cell that runs off of a Unified Power System. Having the UPS on or "
-"placing a tool in a special recharging station will slowly charge it."
+"This device replaces conventional battery connections with a connector port "
+"that can plug into a UPS. Any device modified with this can be used without "
+"a battery as long as you have a charged UPS with you."
msgstr ""
#: lang/json/TOOLMOD_from_json.py
@@ -54187,9 +55126,9 @@ msgstr[1] ""
#. ~ Description for pair of light amp goggles (on)
#: lang/json/TOOL_ARMOR_from_json.py
msgid ""
-"A pair of battery-powered goggles that amplify ambient light, allowing you "
-"to see in the dark. It is turned on, and continually draining batteries. "
-"Use it to turn them off."
+"A pair of battery-powered light amplifying goggles with an infrared "
+"illuminator, allowing you to see in the dark. It is turned on, and "
+"continually draining batteries. Use it to turn them off."
msgstr ""
#: lang/json/TOOL_ARMOR_from_json.py
@@ -54784,6 +55723,19 @@ msgid ""
"when not playing."
msgstr ""
+#: lang/json/TOOL_ARMOR_from_json.py
+msgid "electric guitar"
+msgid_plural "electric guitars"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for electric guitar
+#: lang/json/TOOL_ARMOR_from_json.py
+msgid ""
+"A standard factory-made electric guitar. It's probably better at smashing "
+"heads than melting faces, these days. Has a strap."
+msgstr ""
+
#: lang/json/TOOL_ARMOR_from_json.py
msgid "bagpipes"
msgid_plural "bagpipes"
@@ -55040,6 +55992,35 @@ msgid ""
"toasty while it lasts."
msgstr ""
+#: lang/json/TOOL_ARMOR_from_json.py
+msgid "Foodperson mask"
+msgid_plural "Foodperson masks"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Use action msg for Foodperson mask.
+#: lang/json/TOOL_ARMOR_from_json.py
+msgid ""
+"Your HUD lights-up: \"Greetings Foodperson, your shift begins now. Good "
+"luck!\""
+msgstr ""
+
+#. ~ Use action need_charges_msg for Foodperson mask.
+#: lang/json/TOOL_ARMOR_from_json.py
+msgid "The mask's batteries are dead."
+msgstr ""
+
+#. ~ Description for Foodperson mask
+#: lang/json/TOOL_ARMOR_from_json.py
+msgid "Foodperson, the mascot your stomach deserves!"
+msgstr ""
+
+#: lang/json/TOOL_ARMOR_from_json.py
+msgid "Foodperson mask (on)"
+msgid_plural "Foodperson masks (on)"
+msgstr[0] ""
+msgstr[1] ""
+
#: lang/json/TOOL_ARMOR_from_json.py
msgid "hazardous environment helmet"
msgid_plural "hazardous environment helmets"
@@ -55415,6 +56396,26 @@ msgid_plural "bionic firestarters"
msgstr[0] ""
msgstr[1] ""
+#: lang/json/TOOL_from_json.py
+msgid "glass shard"
+msgid_plural "glass shards"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Use action done_message for glass shard.
+#: lang/json/TOOL_from_json.py
+msgid ""
+"You carefully place the shards on the ground, ready to be cracked by "
+"something passing by."
+msgstr ""
+
+#. ~ Description for glass shard
+#: lang/json/TOOL_from_json.py
+msgid ""
+"A broken shard of glass covered in sharp edges. You could use it as a "
+"weapon, but you might want to wear gloves."
+msgstr ""
+
#: lang/json/TOOL_from_json.py
msgid "cash card"
msgid_plural "cash cards"
@@ -55766,6 +56767,32 @@ msgid ""
"made."
msgstr ""
+#: lang/json/TOOL_from_json.py
+msgid "grip hook"
+msgid_plural "grip hooks"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for grip hook
+#: lang/json/TOOL_from_json.py
+msgid ""
+"A simple steel meathook with a circular steel handle. Makes a passable melee "
+"weapon."
+msgstr ""
+
+#: lang/json/TOOL_from_json.py
+msgid "pair of butterfly swords"
+msgid_plural "pairs of butterfly swords"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for pair of butterfly swords
+#: lang/json/TOOL_from_json.py
+msgid ""
+"This is a matched pair of traditional Shaolin butterfly swords. They are "
+"about the size of machetes but have hand guards and wider blades."
+msgstr ""
+
#: lang/json/TOOL_from_json.py
msgid "folded poncho"
msgid_plural "folded ponchos"
@@ -57260,18 +58287,18 @@ msgid ""
msgstr ""
#: lang/json/TOOL_from_json.py
-msgid "smartphone - flashlight"
-msgid_plural "smartphones - flashlight"
+msgid "smartphone - Flashlight"
+msgid_plural "smartphones - Flashlight"
msgstr[0] ""
msgstr[1] ""
-#. ~ Use action menu_text for smartphone - flashlight.
+#. ~ Use action menu_text for smartphone - Flashlight.
#. ~ Use action menu_text for atomic smartphone - Flashlight.
#: lang/json/TOOL_from_json.py
msgid "Turn off flashlight"
msgstr ""
-#. ~ Use action msg for smartphone - flashlight.
+#. ~ Use action msg for smartphone - Flashlight.
#. ~ Use action msg for atomic smartphone - Flashlight.
#: lang/json/TOOL_from_json.py
msgid "You deactivate the flashlight app."
@@ -59173,6 +60200,12 @@ msgid ""
"You can also use a lighter to light nearby items on fire."
msgstr ""
+#: lang/json/TOOL_from_json.py
+msgid "lightstrip_base"
+msgid_plural "lightstrip_bases"
+msgstr[0] ""
+msgstr[1] ""
+
#: lang/json/TOOL_from_json.py
msgid "lightstrip"
msgid_plural "lightstrips"
@@ -61993,6 +63026,56 @@ msgid ""
"to a proper axe."
msgstr ""
+#: lang/json/TOOL_from_json.py
+msgid "pin reamer"
+msgid_plural "pin reamers"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for pin reamer
+#: lang/json/TOOL_from_json.py
+msgid ""
+"Handheld pin reamers of this kind are used to enlarge existing holes, or "
+"remove any burs and such from them."
+msgstr ""
+
+#: lang/json/TOOL_from_json.py
+msgid "metal fileset"
+msgid_plural "metal filesets"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for metal fileset
+#: lang/json/TOOL_from_json.py
+msgid ""
+"These tools are commonly used to remove small amounts of materials from the "
+"surface of metal objects."
+msgstr ""
+
+#: lang/json/TOOL_from_json.py
+msgid "angular grinder"
+msgid_plural "angular grinders"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for angular grinder
+#: lang/json/TOOL_from_json.py
+msgid ""
+"This widespread powertool is often used for removing excess material or "
+"polishing surfaces."
+msgstr ""
+
+#: lang/json/TOOL_from_json.py
+msgid "hand vice"
+msgid_plural "hand vices"
+msgstr[0] ""
+msgstr[1] ""
+
+#. ~ Description for hand vice
+#: lang/json/TOOL_from_json.py
+msgid "This small handheld metal vice is useful for keeping things still."
+msgstr ""
+
#: lang/json/TOOL_from_json.py lang/json/vehicle_part_from_json.py
msgid "military black box"
msgid_plural "military black boxes"
@@ -65721,6 +66804,10 @@ msgstr ""
msgid ".454"
msgstr ""
+#: lang/json/ammunition_type_from_json.py
+msgid ".45 Colt"
+msgstr ""
+
#: lang/json/ammunition_type_from_json.py
msgid ".500"
msgstr ""
@@ -67204,6 +68291,50 @@ msgstr ""
msgid "It's inflamed."
msgstr ""
+#: lang/json/construction_category_from_json.py src/advanced_inv.cpp
+#: src/armor_layers.cpp src/options.cpp src/scenario.cpp
+msgid "All"
+msgstr ""
+
+#: lang/json/construction_category_from_json.py src/init.cpp
+#: src/init.cpp
+msgid "Constructions"
+msgstr ""
+
+#: lang/json/construction_category_from_json.py src/init.cpp
+msgid "Furniture"
+msgstr ""
+
+#: lang/json/construction_category_from_json.py
+msgid "Digging and Mining"
+msgstr ""
+
+#: lang/json/construction_category_from_json.py src/iuse_actor.cpp
+msgid "Repairing"
+msgstr ""
+
+#: lang/json/construction_category_from_json.py src/iuse_actor.cpp
+msgid "Reinforcing"
+msgstr ""
+
+#: lang/json/construction_category_from_json.py
+msgid "Decorative"
+msgstr ""
+
+#: lang/json/construction_category_from_json.py
+msgid "Farming and Woodcutting"
+msgstr ""
+
+#: lang/json/construction_category_from_json.py
+msgid "Others"
+msgstr ""
+
+#: lang/json/construction_category_from_json.py
+#: lang/json/keybinding_from_json.py
+#: src/construction.cpp src/veh_interact.cpp
+msgid "Filter"
+msgstr ""
+
#: lang/json/construction_from_json.py
msgid "Deconstruct Furniture"
msgstr ""
@@ -67645,6 +68776,34 @@ msgstr ""
msgid "Build Wardrobe"
msgstr ""
+#: lang/json/construction_from_json.py
+msgid "Build Safe"
+msgstr ""
+
+#: lang/json/construction_from_json.py
+msgid "Build Dumpster"
+msgstr ""
+
+#: lang/json/construction_from_json.py
+msgid "Build Mailbox"
+msgstr ""
+
+#: lang/json/construction_from_json.py
+msgid "Build Bar Door"
+msgstr ""
+
+#: lang/json/construction_from_json.py
+msgid "Install Bars Onto Window"
+msgstr ""
+
+#: lang/json/construction_from_json.py
+msgid "Build Large Metal Support"
+msgstr ""
+
+#: lang/json/construction_from_json.py
+msgid "Build Small Metal Support"
+msgstr ""
+
#: lang/json/construction_from_json.py
msgid "Paint Grass White"
msgstr ""
@@ -67729,6 +68888,14 @@ msgstr ""
msgid "Mine Downstair"
msgstr ""
+#: lang/json/construction_from_json.py
+msgid "Repair Wooden Staircase"
+msgstr ""
+
+#: lang/json/construction_from_json.py
+msgid "Build Wooden Staircase"
+msgstr ""
+
#: lang/json/construction_from_json.py
msgid "Mine Upstair"
msgstr ""
@@ -67875,6 +69042,10 @@ msgstr ""
msgid "Build Rammed Earth Wall"
msgstr ""
+#: lang/json/construction_from_json.py
+msgid "Hang Hanging Meathook"
+msgstr ""
+
#: lang/json/construction_from_json.py
msgid "Build Counter Gate"
msgstr ""
@@ -71064,7 +72235,6 @@ msgid "Roots and vines entangle your foes to slow them!"
msgstr ""
#. ~ Remove message for effect(s) 'Vegetative Grasp'.
-#. ~ Remove message for effect(s) 'Root Impale'.
#: lang/json/effects_from_json.py
msgid "The roots and vines wither up and die."
msgstr ""
@@ -71078,6 +72248,11 @@ msgstr ""
msgid "Roots rip out from the ground and impale your enemies!"
msgstr ""
+#. ~ Remove message for effect(s) 'Root Impale'.
+#: lang/json/effects_from_json.py
+msgid "The roots wither up and die."
+msgstr ""
+
#: lang/json/effects_from_json.py
msgid "Acidic burn"
msgstr ""
@@ -71087,6 +72262,25 @@ msgstr ""
msgid "Burned with acid"
msgstr ""
+#: lang/json/effects_from_json.py
+msgid "Hasted"
+msgstr ""
+
+#. ~ Description of effect 'Hasted'.
+#: lang/json/effects_from_json.py
+msgid "Your speed is boosted enormously."
+msgstr ""
+
+#. ~ Apply message for effect(s) 'Hasted'.
+#: lang/json/effects_from_json.py
+msgid "Your speed is boosted to superhuman levels!"
+msgstr ""
+
+#. ~ Remove message for effect(s) 'Hasted'.
+#: lang/json/effects_from_json.py
+msgid "You return to your normal speed."
+msgstr ""
+
#: lang/json/effects_from_json.py
msgid "Stuck in a light snare"
msgstr ""
@@ -71726,6 +72920,29 @@ msgid_plural "humans"
msgstr[0] ""
msgstr[1] ""
+#: lang/json/fault_from_json.py
+msgid "blackpowder fouling"
+msgstr ""
+
+#. ~ Description for blackpowder fouling
+#: lang/json/fault_from_json.py
+msgid ""
+"Firing blackpowder loads from a gun fouls it, which reduces reliability and, "
+"if left uncleaned, leads to rust."
+msgstr ""
+
+#: lang/json/fault_from_json.py
+msgid "clogging"
+msgstr ""
+
+#. ~ Description for clogging
+#: lang/json/fault_from_json.py
+msgid ""
+"Clogging is usually caused by firing many blackpowder loads without "
+"cleaning; it prevents firing the gun until cleaned. Some guns are more "
+"resistant to this than others."
+msgstr ""
+
#. ~ Description for drive belt
#: lang/json/fault_from_json.py
msgid "Required for operation of an attached alternator."
@@ -71885,9 +73102,8 @@ msgid "A road barricade. For barricading roads."
msgstr ""
#: lang/json/furniture_from_json.py
-#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py
#: lang/json/terrain_from_json.py
-#: src/map.cpp src/mapdata.cpp
+#: lang/json/terrain_from_json.py src/map.cpp
msgid "smash!"
msgstr ""
@@ -71949,7 +73165,7 @@ msgstr ""
#: lang/json/furniture_from_json.py
#: lang/json/terrain_from_json.py
-#: lang/json/terrain_from_json.py src/iuse.cpp
+#: src/iuse.cpp
msgid "crunch!"
msgstr ""
@@ -72054,7 +73270,7 @@ msgstr ""
#. ~ Description for pile of leaves
#: lang/json/furniture_from_json.py
msgid ""
-"A sizeable pile of leaves. You could sleep on it if you don't care about "
+"A sizable pile of leaves. You could sleep on it if you don't care about "
"comfort or warmth."
msgstr ""
@@ -72114,12 +73330,12 @@ msgstr ""
#: lang/json/furniture_from_json.py
#: lang/json/terrain_from_json.py
+#: lang/json/terrain_from_json.py src/map.cpp
#: src/map.cpp
msgid "crash!"
msgstr ""
#: lang/json/furniture_from_json.py
-#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py
#: lang/json/terrain_from_json.py
msgid "whump!"
msgstr ""
@@ -72139,7 +73355,9 @@ msgstr ""
#. ~ Description for bathtub
#: lang/json/furniture_from_json.py
-msgid "You could lay in and take a soothing bath. Only if water was running."
+msgid ""
+"You could lay in and take a soothing bath, if there were running water. The "
+"plug is intact, so you could use it to store liquids."
msgstr ""
#: lang/json/furniture_from_json.py
@@ -72323,9 +73541,10 @@ msgid "closed counter gate"
msgstr ""
#. ~ Description for closed counter gate
+#. ~ Description for open counter gate
#: lang/json/furniture_from_json.py
msgid ""
-"A commercial quality swining door made of wood that allows passage behind "
+"A commercial quality swinging door made of wood that allows passage behind "
"counters."
msgstr ""
@@ -72333,13 +73552,6 @@ msgstr ""
msgid "open counter gate"
msgstr ""
-#. ~ Description for open counter gate
-#: lang/json/furniture_from_json.py
-msgid ""
-"A commercial quality swinging door made of wood that allows passage behind "
-"counters."
-msgstr ""
-
#: lang/json/furniture_from_json.py lang/json/vehicle_part_from_json.py
msgid "refrigerator"
msgstr ""
@@ -72658,7 +73870,7 @@ msgstr ""
#. ~ Description for fungal flower
#: lang/json/furniture_from_json.py
msgid ""
-"This flower has been overgrown by grey, sinewy tendrils of fungus, and the "
+"This flower has been overgrown by gray, sinewy tendrils of fungus, and the "
"color has leached from its petals and stem. It gently sways of its own "
"volition."
msgstr ""
@@ -72788,8 +74000,8 @@ msgstr ""
#. ~ Description for planter
#: lang/json/furniture_from_json.py
msgid ""
-"A garden planter full of soil and slatted to allow adequate drainage. Can be "
-"used for planting crops."
+"A garden planter full of soil and slatted to allow adequate drainage. Can "
+"be used for planting crops."
msgstr ""
#: lang/json/furniture_from_json.py
@@ -72801,8 +74013,8 @@ msgstr ""
#. ~ Description for planter with harvestable plant
#: lang/json/furniture_from_json.py
msgid ""
-"A garden planter full of soil and slatted to allow adequate drainage. Can be "
-"used for planting crops. This one contains a planted seed"
+"A garden planter full of soil and slatted to allow adequate drainage. Can "
+"be used for planting crops. This one contains a planted seed"
msgstr ""
#: lang/json/furniture_from_json.py
@@ -72812,8 +74024,8 @@ msgstr ""
#. ~ Description for planter with seedling
#: lang/json/furniture_from_json.py
msgid ""
-"A garden planter full of soil and slatted to allow adequate drainage. Can be "
-"used for planting crops. This one contains a planted seedling"
+"A garden planter full of soil and slatted to allow adequate drainage. Can "
+"be used for planting crops. This one contains a planted seedling"
msgstr ""
#: lang/json/furniture_from_json.py
@@ -72904,12 +74116,12 @@ msgid "womp!"
msgstr ""
#: lang/json/furniture_from_json.py
-msgid "satelitte dish"
+msgid "satellite dish"
msgstr ""
-#. ~ Description for satelitte dish
+#. ~ Description for satellite dish
#: lang/json/furniture_from_json.py
-msgid "A small satelitte dish for home entertainment."
+msgid "A small satellite dish for home entertainment."
msgstr ""
#: lang/json/furniture_from_json.py
@@ -73174,7 +74386,7 @@ msgstr ""
#: lang/json/furniture_from_json.py
#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py
-#: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp
+#: lang/json/terrain_from_json.py src/map.cpp
msgid "thump!"
msgstr ""
@@ -73489,7 +74701,7 @@ msgstr ""
#. ~ Description for camp chair
#: lang/json/furniture_from_json.py
-msgid "Sit down, have a drink. It can folded for easy transportation."
+msgid "Sit down, have a drink. It can folded for easy transportation."
msgstr ""
#: lang/json/furniture_from_json.py
@@ -73951,7 +75163,7 @@ msgstr ""
#: lang/json/furniture_from_json.py
msgid ""
"When cold just isn't cold enough, you have this extreme deep freeze. This "
-"will store stuff at -80 degrees celsius. Don't lick the metal on the inside."
+"will store stuff at -80 degrees Celsius. Don't lick the metal on the inside."
msgstr ""
#: lang/json/furniture_from_json.py
@@ -74205,6 +75417,15 @@ msgid ""
"it sitting for a while, it's starting to smell a bit off."
msgstr ""
+#: lang/json/furniture_from_json.py
+msgid "hanging meathook"
+msgstr ""
+
+#. ~ Description for hanging meathook
+#: lang/json/furniture_from_json.py
+msgid "A hefty hook suspended from a chain for stringing up corpses."
+msgstr ""
+
#: lang/json/furniture_from_json.py
msgid "fake workbench hands"
msgstr ""
@@ -74247,6 +75468,23 @@ msgid ""
"to secure mooring lines, ropes, hawsers, or cables."
msgstr ""
+#: lang/json/furniture_from_json.py
+msgid "speaker cabinet"
+msgstr ""
+
+#. ~ Description for speaker cabinet
+#: lang/json/furniture_from_json.py
+msgid ""
+"A cabinet loaded with 12-inch speakers, intended to help make various things "
+"loud. It can't serve its original purpose these days, but it could be "
+"disassembled for various electronic parts."
+msgstr ""
+
+#. ~ Description for seeing this is a bug
+#: lang/json/furniture_from_json.py
+msgid "Seeing this is a bug. If seen, please report and destroy."
+msgstr ""
+
#: lang/json/furniture_from_json.py
msgid "mutated cactus"
msgstr ""
@@ -76085,6 +77323,18 @@ msgid ""
"and could be converted to fire .40 S&W by switching the barrel."
msgstr ""
+#: lang/json/gun_from_json.py
+msgid "SIG P320"
+msgid_plural "SIG P320s"
+msgstr[0] ""
+msgstr[1] ""
+
+#: lang/json/gun_from_json.py
+msgid ""
+"The P320 is a semi automatic, short recoil operated pistol. This one is "
+"chambered for .357 SIG."
+msgstr ""
+
#: lang/json/gun_from_json.py
msgid "Colt M1861 Navy"
msgid_plural "Colt M1861 Navy"
@@ -76239,6 +77489,18 @@ msgid ""
"make for a moderately poor handling pistol."
msgstr ""
+#: lang/json/gun_from_json.py
+msgid "M1911A1"
+msgid_plural "M1911A1s"
+msgstr[0] ""
+msgstr[1] ""
+
+#: lang/json/gun_from_json.py
+msgid ""
+"The M1911A1 is an extremely popular pistol known for its reliability. This "
+"one is chambered for .38 Super."
+msgstr ""
+
#: lang/json/gun_from_json.py
msgid "Glock 22"
msgid_plural "Glock 22"
@@ -76403,6 +77665,19 @@ msgstr ""
msgid "multi"
msgstr ""
+#: lang/json/gun_from_json.py
+msgid "Saiga-410"
+msgid_plural "Saiga-410s"
+msgstr[0] ""
+msgstr[1] ""
+
+#: lang/json/gun_from_json.py
+msgid ""
+"The Saiga-410 is a semi-automatic shotgun designed on the same Kalashnikov "
+"pattern as the AK47 rifle. It reloads with a magazine, rather than one "
+"shell at a time like most shotguns."
+msgstr ""
+
#: lang/json/gun_from_json.py
msgid "Desert Eagle .44"
msgid_plural "Desert Eagle .44"
@@ -77416,6 +78691,18 @@ msgid ""
"difficult to place quickly."
msgstr ""
+#: lang/json/gun_from_json.py
+msgid "M17"
+msgid_plural "M17s"
+msgstr[0] ""
+msgstr[1] ""
+
+#: lang/json/gun_from_json.py
+msgid ""
+"The M17 is a semi automatic, short recoil operated pistol derived from the "
+"SIG Sauer P320."
+msgstr ""
+
#: lang/json/gun_from_json.py
msgid "Makarov PM"
msgid_plural "Makarov PMs"
@@ -79676,12 +80963,6 @@ msgid ""
"fixed rear sight and a reinforced frame."
msgstr ""
-#: lang/json/gun_from_json.py
-msgid "Saiga-410"
-msgid_plural "Saiga-410"
-msgstr[0] ""
-msgstr[1] ""
-
#: lang/json/gun_from_json.py
msgid ""
"A lighter version of the Saiga-12 semi-automatic shotgun, chambered in .410 "
@@ -82175,7 +83456,7 @@ msgid ""
"Air drag, water drag, rolling drag, and static drag are all values that "
"influence your vehicle's safe and maximum speed. The interaction of drag "
"and engine power is complicated, but generally speaking, more powerful "
-"engines will make your vehicle go faster but aslo consume fuel faster."
+"engines will make your vehicle go faster but also consume fuel faster."
msgstr ""
#: lang/json/help_from_json.py
@@ -83793,6 +85074,27 @@ msgstr ""
msgid "This bionic can provide power to powered armor."
msgstr ""
+#: lang/json/json_flag_from_json.py
+msgid "This makes the spell's effects permanent."
+msgstr ""
+
+#: lang/json/json_flag_from_json.py
+msgid "This makes the spell's Area of Effect ignore walls."
+msgstr ""
+
+#: lang/json/json_flag_from_json.py
+msgid ""
+"This makes the spell's summoned monster always hostile. Note that the spell "
+"needs to be a summon spell for this to do anything."
+msgstr ""
+
+#: lang/json/json_flag_from_json.py
+#, no-python-format
+msgid ""
+"This makes the spell's summoned monster hostile 50% of the time. Note that "
+"the spell needs to be a summon spell for this to do anything."
+msgstr ""
+
#. ~ Please leave anything in unchanged.
#: lang/json/json_flag_from_json.py
msgid ""
@@ -83981,11 +85283,6 @@ msgstr ""
msgid "Pan down"
msgstr ""
-#: lang/json/keybinding_from_json.py
-#: src/construction.cpp src/veh_interact.cpp
-msgid "Filter"
-msgstr ""
-
#: lang/json/keybinding_from_json.py
msgid "Cancel menu"
msgstr ""
@@ -85430,6 +86727,284 @@ msgstr ""
msgid "Set turret targeting modes"
msgstr ""
+#: lang/json/map_extra_from_json.py src/character.cpp
+#: src/iuse_actor.cpp
+msgid "Nothing"
+msgstr ""
+
+#. ~ Description for Nothing
+#: lang/json/map_extra_from_json.py
+msgid "Nothing of interest is here."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Crater"
+msgstr ""
+
+#. ~ Description for Crater
+#: lang/json/map_extra_from_json.py
+msgid "There is a crater here."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Fumarole"
+msgstr ""
+
+#. ~ Description for Fumarole
+#: lang/json/map_extra_from_json.py
+msgid "There is a fumarole here."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "College Kids"
+msgstr ""
+
+#. ~ Description for College Kids
+#: lang/json/map_extra_from_json.py
+msgid "Several corpses of college kids are here."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Drug Deal"
+msgstr ""
+
+#. ~ Description for Drug Deal
+#: lang/json/map_extra_from_json.py
+msgid "Several corpses of drug dealers are here."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Roadworks"
+msgstr ""
+
+#. ~ Description for Roadworks
+#: lang/json/map_extra_from_json.py
+msgid "Roadworks are here."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Road Mayhem"
+msgstr ""
+
+#. ~ Description for Road Mayhem
+#: lang/json/map_extra_from_json.py
+msgid "Road mayhem is here."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Roadblock (Military)"
+msgstr ""
+
+#. ~ Description for Roadblock (Military)
+#: lang/json/map_extra_from_json.py
+msgid "This road is blocked by military."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Roadblock (Bandits)"
+msgstr ""
+
+#. ~ Description for Roadblock (Bandits)
+#: lang/json/map_extra_from_json.py
+msgid "This road is blocked by bandits."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Minefield"
+msgstr ""
+
+#. ~ Description for Minefield
+#: lang/json/map_extra_from_json.py
+msgid "Mines are scattered here."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Supply Drop"
+msgstr ""
+
+#. ~ Description for Supply Drop
+#: lang/json/map_extra_from_json.py
+msgid "Several supply crates were dropped here."
+msgstr ""
+
+#. ~ Military time, e.g. 2359
+#: lang/json/map_extra_from_json.py src/options.cpp
+msgid "Military"
+msgstr ""
+
+#. ~ Description for Military
+#: lang/json/map_extra_from_json.py
+msgid "Several corpses of soldiers are here."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Helicopter Crash"
+msgstr ""
+
+#. ~ Description for Helicopter Crash
+#: lang/json/map_extra_from_json.py
+msgid "Helicopter crashed here."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Scientists"
+msgstr ""
+
+#. ~ Description for Scientists
+#: lang/json/map_extra_from_json.py
+msgid "Several corpses of scientists are here."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Portal"
+msgstr ""
+
+#. ~ Description for Portal
+#: lang/json/map_extra_from_json.py
+msgid "Portal is here."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Portal In"
+msgstr ""
+
+#. ~ Description for Portal In
+#: lang/json/map_extra_from_json.py
+msgid "Another portal is here."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Anomaly"
+msgstr ""
+
+#. ~ Description for Anomaly
+#: lang/json/map_extra_from_json.py
+msgid "Some anomaly is here."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Spider Nest"
+msgstr ""
+
+#. ~ Description for Spider Nest
+#: lang/json/map_extra_from_json.py
+msgid "Spider nest is here."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Wasp Nest"
+msgstr ""
+
+#. ~ Description for Wasp Nest
+#: lang/json/map_extra_from_json.py
+msgid "Wasp nest is here."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py src/defense.cpp
+msgid "Spiders"
+msgstr ""
+
+#. ~ Description for Spiders
+#: lang/json/map_extra_from_json.py
+msgid "This area is covered with webs. Probably spiders are nearby"
+msgstr ""
+
+#. ~ Description for Shia LaBeouf
+#: lang/json/map_extra_from_json.py
+msgid "Cannibal is nearby."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Jabberwock"
+msgstr ""
+
+#. ~ Description for Jabberwock
+#: lang/json/map_extra_from_json.py
+msgid "Jabberwock is nearby."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Grove"
+msgstr ""
+
+#. ~ Description for Grove
+#: lang/json/map_extra_from_json.py
+msgid "This area is covered with a single type of trees."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Shrubberry"
+msgstr ""
+
+#. ~ Description for Shrubberry
+#: lang/json/map_extra_from_json.py
+msgid "This area is covered with a single type of shrubs."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Clearcut"
+msgstr ""
+
+#. ~ Description for Clearcut
+#: lang/json/map_extra_from_json.py
+msgid "Most trees in this area were uniformly cut down."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Pond"
+msgstr ""
+
+#. ~ Description for Pond
+#: lang/json/map_extra_from_json.py
+msgid "Small pond is here."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Clay Deposit"
+msgstr ""
+
+#. ~ Description for Clay Deposit
+#: lang/json/map_extra_from_json.py
+msgid "Small clay deposit is here."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Dead Vegetation"
+msgstr ""
+
+#. ~ Description for Dead Vegetation
+#. ~ Description for Dead Vegetation (Point)
+#: lang/json/map_extra_from_json.py
+msgid "Dead vegetation is here."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Dead Vegetation (Point)"
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Burned Ground"
+msgstr ""
+
+#. ~ Description for Burned Ground
+#. ~ Description for Burned Ground (Point)
+#: lang/json/map_extra_from_json.py
+msgid "Burned ground is here."
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Burned Ground (Point)"
+msgstr ""
+
+#: lang/json/map_extra_from_json.py
+msgid "Marloss Pilgrimage"
+msgstr ""
+
+#. ~ Description for Marloss Pilgrimage
+#: lang/json/map_extra_from_json.py
+msgid "Marloss Pilgrimage is here."
+msgstr ""
+
#. ~ Computer name
#: lang/json/mapgen_from_json.py
msgid "Consolidated Computerized Bank of the Treasury"
@@ -86336,6 +87911,11 @@ msgstr ""
msgid "Install Repeater Mod"
msgstr ""
+#. ~ Computer option
+#: lang/json/mapgen_from_json.py
+msgid "Browse Audio Archive"
+msgstr ""
+
#. ~ Sign
#: lang/json/mapgen_from_json.py
msgid "The Red Dragon Tea Shop"
@@ -87193,6 +88773,29 @@ msgstr ""
msgid "Increased damage when moving but no bonus block"
msgstr ""
+#: lang/json/martial_art_from_json.py
+msgid "Wing Chun"
+msgstr ""
+
+#. ~ Description for martial art 'Wing Chun'
+#: lang/json/martial_art_from_json.py
+msgid ""
+"Wing Chun is a Chinese martial art that began by selecting the easiest-to-"
+"learn effective techniques from the various Shaolin animal forms. It has a "
+"high stance, with weight entirely on the rear leg. Wing Chun focuses on "
+"sensitivity to the opponent's direction of force, and flowing around it to "
+"get back to hitting."
+msgstr ""
+
+#: lang/json/martial_art_from_json.py
+msgid "Chi-Sao Sensitivity"
+msgstr ""
+
+#. ~ Description of buff 'Chi-Sao Sensitivity' for martial art 'Wing Chun'
+#: lang/json/martial_art_from_json.py
+msgid "Perception increases dodging ability, +1 dodges per turn"
+msgstr ""
+
#: lang/json/martial_art_from_json.py
msgid "Centipede Kung Fu"
msgstr ""
@@ -87815,7 +89418,7 @@ msgid "mushed"
msgstr ""
#: lang/json/material_from_json.py
-msgid "Dried vegetable"
+msgid "Dried Vegetable"
msgstr ""
#: lang/json/material_from_json.py
@@ -87823,7 +89426,7 @@ msgid "Cured Meat"
msgstr ""
#: lang/json/material_from_json.py
-msgid "Processed fod"
+msgid "Processed Food"
msgstr ""
#: lang/json/material_from_json.py
@@ -87831,7 +89434,7 @@ msgid "Cheese"
msgstr ""
#: lang/json/material_from_json.py
-msgid "Ice cream"
+msgid "Ice Cream"
msgstr ""
#: lang/json/material_from_json.py
@@ -89017,6 +90620,53 @@ msgstr ""
msgid "Find Antibiotics Before You Die!"
msgstr ""
+#: lang/json/mission_def_from_json.py
+msgid "Prove your worth to Foodperson"
+msgstr ""
+
+#: lang/json/mission_def_from_json.py
+msgid "Prove your dedication to Foodplace."
+msgstr ""
+
+#: lang/json/mission_def_from_json.py
+msgid ""
+"Show me the proof of your loyalty to the great Foodplace, and I'll consider "
+"you worthy of my friendship. Ten loyalty cards should be enough, I'm sure "
+"you already have much more than that waiting for you at home, right?"
+msgstr ""
+
+#: lang/json/mission_def_from_json.py
+msgid "That's the spirit! Good luck kid."
+msgstr ""
+
+#: lang/json/mission_def_from_json.py
+msgid "That's alright not everyone is cutout for this."
+msgstr ""
+
+#: lang/json/mission_def_from_json.py
+msgid ""
+"Those are very precious, people would probably keep them on their person or "
+"in bank vaults. And definitely not throw them in the trash!"
+msgstr ""
+
+#: lang/json/mission_def_from_json.py
+msgid "How is it going? Do you have them?"
+msgstr ""
+
+#: lang/json/mission_def_from_json.py
+msgid ""
+"YES! I knew you could do it! You proved your worth and I'm proud to call "
+"you a friend."
+msgstr ""
+
+#: lang/json/mission_def_from_json.py
+msgid "Well... where are they?"
+msgstr ""
+
+#: lang/json/mission_def_from_json.py
+msgid "I'm so disappointed in you kid..."
+msgstr ""
+
#: lang/json/mission_def_from_json.py
msgid "Locate Commo Team"
msgstr ""
@@ -91489,6 +93139,14 @@ msgstr ""
msgid "Masochism"
msgstr ""
+#: lang/json/morale_type_from_json.py
+msgid "You have no face!"
+msgstr ""
+
+#: lang/json/morale_type_from_json.py
+msgid "You feel pumped!"
+msgstr ""
+
#: lang/json/morale_type_from_json.py lang/json/mutation_from_json.py
msgid "Hoarder"
msgstr ""
@@ -93358,7 +95016,7 @@ msgstr ""
#: lang/json/mutation_from_json.py
msgid ""
"Something about your presence is calming to animals, and they will treat you "
-"with innate trust. This only applies to natural animals such as woodland "
+"with innate trust. This only applies to natural animals such as woodland "
"creatures."
msgstr ""
@@ -93553,7 +95211,8 @@ msgstr ""
#: lang/json/mutation_from_json.py
msgid ""
"You have taken some self-defense classes at a nearby gym. You start with "
-"your choice of Capoeira, Krav Maga, Muay Thai, Ninjutsu, or Zui Quan."
+"your choice of Capoeira, Krav Maga, Muay Thai, Ninjutsu, Wing Chun, or Zui "
+"Quan."
msgstr ""
#: lang/json/mutation_from_json.py
@@ -93600,6 +95259,39 @@ msgid ""
"Telling lies and otherwise bluffing will be much easier for you."
msgstr ""
+#: lang/json/mutation_from_json.py
+msgid "Savings"
+msgstr ""
+
+#. ~ Description for Savings
+#: lang/json/mutation_from_json.py
+msgid ""
+"You had some money stashed at the bank for a rainy day. Now that the storm "
+"is raging, it's a last call to use it maybe?"
+msgstr ""
+
+#: lang/json/mutation_from_json.py
+msgid "Debt"
+msgstr ""
+
+#. ~ Description for Debt
+#: lang/json/mutation_from_json.py
+msgid ""
+"You needed money and had a big loan in a bank. Good thing nobody will come "
+"to collect it now, right? Right?"
+msgstr ""
+
+#: lang/json/mutation_from_json.py
+msgid "Millionaire"
+msgstr ""
+
+#. ~ Description for Millionaire
+#: lang/json/mutation_from_json.py
+msgid ""
+"At the time of Cataclysm you were an owner of a fortune stashed in a bank. "
+"Does that have any meaning now?"
+msgstr ""
+
#: lang/json/mutation_from_json.py
msgid "Pretty"
msgstr ""
@@ -94835,8 +96527,8 @@ msgstr ""
#: lang/json/mutation_from_json.py
msgid ""
"Your leaves have grown in size and prominence, with additional leaves "
-"sprouting along your arms. While your arms and head are uncovered, you will "
-"photosynthesize additional nutrients while in sunlight. Reduces wet effects."
+"sprouting along your arms. While your arms and head are uncovered, you will "
+"photosynthesize additional nutrients while in sunlight. Reduces wet effects."
msgstr ""
#: lang/json/mutation_from_json.py
@@ -94847,8 +96539,8 @@ msgstr ""
#: lang/json/mutation_from_json.py
msgid ""
"You leaves are vibrant, large, and green, and have become a major source of "
-"nutrition for your body. Whenever your arms and head are uncovered you will "
-"gain a large amount of nutrition by standing in the sunlight. Reduces wet "
+"nutrition for your body. Whenever your arms and head are uncovered you will "
+"gain a large amount of nutrition by standing in the sunlight. Reduces wet "
"effects."
msgstr ""
@@ -94859,8 +96551,8 @@ msgstr ""
#. ~ Description for Transpiration
#: lang/json/mutation_from_json.py
msgid ""
-"You body has begun moving nutrients via the evaporation of water. This "
-"increases your thrist when it's hot, but reduces it when it's cold."
+"You body has begun moving nutrients via the evaporation of water. This "
+"increases your thirst when it's hot, but reduces it when it's cold."
msgstr ""
#: lang/json/mutation_from_json.py
@@ -97348,7 +99040,7 @@ msgstr ""
#: lang/json/mutation_from_json.py
msgid ""
"You have gained the ability to commune with trees and comprehend their "
-"ancient wisdom. Activate next to a tree to gradually gain overmap vision "
+"ancient wisdom. Activate next to a tree to gradually gain overmap vision "
"through connected forests."
msgstr ""
@@ -98021,6 +99713,18 @@ msgid ""
"authority of the United States of America."
msgstr ""
+#: lang/json/mutation_from_json.py
+msgid "True Foodperson"
+msgstr ""
+
+#. ~ Description for True Foodperson
+#: lang/json/mutation_from_json.py
+msgid ""
+"You are the true Foodperson, some might think Foodperson is just a mascot, "
+"but you know better. You are Foodperson, the mask has become your face, you "
+"are real and the only thing standing between this world and oblivion is you."
+msgstr ""
+
#: lang/json/mutation_from_json.py
msgid "MD"
msgstr ""
@@ -99285,6 +100989,15 @@ msgstr ""
msgid "Abysmal Mana Sensitivity"
msgstr ""
+#: lang/json/mutation_from_json.py
+msgid "Debug Spell Mutation"
+msgstr ""
+
+#. ~ Description for Debug Spell Mutation
+#: lang/json/mutation_from_json.py
+msgid "Gives all of the debug spells at max level."
+msgstr ""
+
#. ~ Description for Melee Weapon Training
#: lang/json/mutation_from_json.py
msgid ""
@@ -99446,6 +101159,14 @@ msgstr ""
msgid "I'm a chef."
msgstr ""
+#: lang/json/npc_class_from_json.py lang/json/npc_from_json.py
+msgid "Foodperson"
+msgstr ""
+
+#: lang/json/npc_class_from_json.py
+msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!"
+msgstr ""
+
#: lang/json/npc_class_from_json.py lang/json/npc_from_json.py
msgid "Cyborg"
msgstr ""
@@ -99493,6 +101214,18 @@ msgstr ""
msgid "Reading this line is a bug"
msgstr ""
+#: lang/json/npc_class_from_json.py
+msgid "Head of security"
+msgstr ""
+
+#: lang/json/npc_class_from_json.py
+msgid "I'm part of the Hub security team."
+msgstr ""
+
+#: lang/json/npc_class_from_json.py lang/json/npc_from_json.py
+msgid "Hub Security"
+msgstr ""
+
#: lang/json/npc_class_from_json.py
msgid "Caravaneer"
msgstr ""
@@ -99880,6 +101613,14 @@ msgstr ""
msgid "the intercom"
msgstr ""
+#: lang/json/npc_from_json.py
+msgid "Head of Security"
+msgstr ""
+
+#: lang/json/npc_from_json.py
+msgid "U. Rourke"
+msgstr ""
+
#: lang/json/npc_from_json.py
msgid "Free Merchant"
msgstr ""
@@ -100281,6 +102022,14 @@ msgid ""
"laurel."
msgstr ""
+#: lang/json/overmap_terrain_from_json.py
+msgid "abandoned drive-through"
+msgstr ""
+
+#: lang/json/overmap_terrain_from_json.py
+msgid "noname"
+msgstr ""
+
#: lang/json/overmap_terrain_from_json.py
#: lang/json/overmap_terrain_from_json.py src/mapdata.cpp
#: src/mapdata.cpp
@@ -100566,6 +102315,18 @@ msgstr ""
msgid "farm house"
msgstr ""
+#: lang/json/overmap_terrain_from_json.py
+msgid "farm house roof"
+msgstr ""
+
+#: lang/json/overmap_terrain_from_json.py
+msgid "farm barn"
+msgstr ""
+
+#: lang/json/overmap_terrain_from_json.py
+msgid "farm barn roof"
+msgstr ""
+
#: lang/json/overmap_terrain_from_json.py
#: lang/json/start_location_from_json.py
msgid "farm"
@@ -100651,10 +102412,6 @@ msgstr ""
msgid "farm house 2nd floor"
msgstr ""
-#: lang/json/overmap_terrain_from_json.py
-msgid "farm house roof"
-msgstr ""
-
#: lang/json/overmap_terrain_from_json.py
msgid "dirt road"
msgstr ""
@@ -100781,6 +102538,14 @@ msgstr ""
msgid "gun store"
msgstr ""
+#: lang/json/overmap_terrain_from_json.py
+msgid "gun store roof"
+msgstr ""
+
+#: lang/json/overmap_terrain_from_json.py
+msgid "gun store 2nd floor"
+msgstr ""
+
#: lang/json/overmap_terrain_from_json.py
msgid "clothing store"
msgstr ""
@@ -100885,6 +102650,10 @@ msgstr ""
msgid "music store"
msgstr ""
+#: lang/json/overmap_terrain_from_json.py
+msgid "music store roof"
+msgstr ""
+
#: lang/json/overmap_terrain_from_json.py
msgid "megastore"
msgstr ""
@@ -100977,10 +102746,18 @@ msgstr ""
msgid "LAN center"
msgstr ""
+#: lang/json/overmap_terrain_from_json.py
+msgid "LAN center roof"
+msgstr ""
+
#: lang/json/overmap_terrain_from_json.py
msgid "landscaping supply co"
msgstr ""
+#: lang/json/overmap_terrain_from_json.py
+msgid "landscaping supply co roof"
+msgstr ""
+
#: lang/json/overmap_terrain_from_json.py
msgid "veterans of foreign wars"
msgstr ""
@@ -101013,10 +102790,18 @@ msgstr ""
msgid "laundromat"
msgstr ""
+#: lang/json/overmap_terrain_from_json.py
+msgid "laundromat roof"
+msgstr ""
+
#: lang/json/overmap_terrain_from_json.py
msgid "jewelry store"
msgstr ""
+#: lang/json/overmap_terrain_from_json.py
+msgid "jewelry store roof"
+msgstr ""
+
#: lang/json/overmap_terrain_from_json.py
msgid "2-story motel"
msgstr ""
@@ -101029,6 +102814,10 @@ msgstr ""
msgid "home improvement store"
msgstr ""
+#: lang/json/overmap_terrain_from_json.py
+msgid "home improvement store roof"
+msgstr ""
+
#: lang/json/overmap_terrain_from_json.py
msgid "antique store"
msgstr ""
@@ -101117,6 +102906,10 @@ msgstr ""
msgid "Head Shop"
msgstr ""
+#: lang/json/overmap_terrain_from_json.py
+msgid "head shop roof"
+msgstr ""
+
#: lang/json/overmap_terrain_from_json.py
msgid "abandoned storefront"
msgstr ""
@@ -101165,6 +102958,15 @@ msgstr ""
msgid "refugee center"
msgstr ""
+#: lang/json/overmap_terrain_from_json.py
+msgid "field"
+msgstr ""
+
+#: lang/json/overmap_terrain_from_json.py
+#: lang/json/terrain_from_json.py
+msgid "solid rock"
+msgstr ""
+
#: lang/json/overmap_terrain_from_json.py
msgid "camp survey"
msgstr ""
@@ -101217,10 +103019,6 @@ msgstr ""
msgid "crater"
msgstr ""
-#: lang/json/overmap_terrain_from_json.py
-msgid "field"
-msgstr ""
-
#: lang/json/overmap_terrain_from_json.py
msgid "swamp"
msgstr ""
@@ -101289,11 +103087,6 @@ msgstr ""
msgid "triffid roots"
msgstr ""
-#: lang/json/overmap_terrain_from_json.py
-#: lang/json/terrain_from_json.py
-msgid "solid rock"
-msgstr ""
-
#: lang/json/overmap_terrain_from_json.py
msgid "rift"
msgstr ""
@@ -101479,6 +103272,7 @@ msgid "evac shelter roof"
msgstr ""
#: lang/json/overmap_terrain_from_json.py
+#: lang/json/start_location_from_json.py
msgid "LMOE shelter"
msgstr ""
@@ -101727,6 +103521,10 @@ msgstr ""
msgid "homeless shelter"
msgstr ""
+#: lang/json/overmap_terrain_from_json.py
+msgid "town hall"
+msgstr ""
+
#: lang/json/overmap_terrain_from_json.py
msgid "silo"
msgstr ""
@@ -101903,6 +103701,10 @@ msgstr ""
msgid "music venue"
msgstr ""
+#: lang/json/overmap_terrain_from_json.py
+msgid "music venue roof"
+msgstr ""
+
#: lang/json/overmap_terrain_from_json.py
msgid "gambling hall"
msgstr ""
@@ -101939,6 +103741,10 @@ msgstr ""
msgid "fitness gym"
msgstr ""
+#: lang/json/overmap_terrain_from_json.py
+msgid "fitness gym roof"
+msgstr ""
+
#: lang/json/overmap_terrain_from_json.py
msgid "dojo"
msgstr ""
@@ -102192,18 +103998,6 @@ msgstr ""
msgid "lake"
msgstr ""
-#: lang/json/overmap_terrain_from_json.py
-msgid "abandoned drive-through"
-msgstr ""
-
-#: lang/json/overmap_terrain_from_json.py
-msgid "noname"
-msgstr ""
-
-#: lang/json/overmap_terrain_from_json.py
-msgid "town hall"
-msgstr ""
-
#: lang/json/overmap_terrain_from_json.py
msgid "municipal reactor"
msgstr ""
@@ -102272,6 +104066,14 @@ msgstr ""
msgid "scavenger bunker"
msgstr ""
+#: lang/json/overmap_terrain_from_json.py
+msgid "magic shop"
+msgstr ""
+
+#: lang/json/overmap_terrain_from_json.py
+msgid "magic shop roof"
+msgstr ""
+
#: lang/json/overmap_terrain_from_json.py
msgid "apartment towers"
msgstr ""
@@ -102849,6 +104651,34 @@ msgid ""
"escape from the creatures."
msgstr ""
+#: lang/json/professions_from_json.py
+msgctxt "profession_male"
+msgid "True Foodperson"
+msgstr ""
+
+#. ~ Profession (male True Foodperson) description
+#: lang/json/professions_from_json.py
+msgctxt "prof_desc_male"
+msgid ""
+"You are the true Foodperson, some might think Foodperson is just a mascot, "
+"but you know better. You are Foodperson, the mask has become your face, you "
+"are real and the only thing standing between this world and oblivion is you."
+msgstr ""
+
+#: lang/json/professions_from_json.py
+msgctxt "profession_female"
+msgid "True Foodperson"
+msgstr ""
+
+#. ~ Profession (female True Foodperson) description
+#: lang/json/professions_from_json.py
+msgctxt "prof_desc_female"
+msgid ""
+"You are the true Foodperson, some might think Foodperson is just a mascot, "
+"but you know better. You are Foodperson, the mask has become your face, you "
+"are real and the only thing standing between this world and oblivion is you."
+msgstr ""
+
#: lang/json/professions_from_json.py
msgctxt "profession_male"
msgid "Professional Cyclist"
@@ -104945,6 +106775,38 @@ msgid ""
"brain. You can't tell which one is worse though."
msgstr ""
+#: lang/json/professions_from_json.py
+msgctxt "profession_male"
+msgid "Millionaire"
+msgstr ""
+
+#. ~ Profession (male Millionaire) description
+#: lang/json/professions_from_json.py
+msgctxt "prof_desc_male"
+msgid ""
+"You had a fortune, whether inherited, built by hard work, or gained by pure "
+"luck. You invested in trade and nothing was beyond your reach. Now it's "
+"not worth a dime and no money in the world can guarantee your safety and "
+"well being. Hard times are ahead, so it's time to undust your skills and "
+"try to sell some ice to the Innuit. What currency do they accept?"
+msgstr ""
+
+#: lang/json/professions_from_json.py
+msgctxt "profession_female"
+msgid "Millionaire"
+msgstr ""
+
+#. ~ Profession (female Millionaire) description
+#: lang/json/professions_from_json.py
+msgctxt "prof_desc_female"
+msgid ""
+"You had a fortune, whether inherited, built by hard work, or gained by pure "
+"luck. You invested in trade and nothing was beyond your reach. Now it's "
+"not worth a dime and no money in the world can guarantee your safety and "
+"well being. Hard times are ahead, so it's time to undust your skills and "
+"try to sell some ice to the Innuit. What currency do they accept?"
+msgstr ""
+
#: lang/json/professions_from_json.py
msgctxt "profession_male"
msgid "Priest"
@@ -106385,6 +108247,88 @@ msgid ""
"wants to eat you alive, winning hearts and minds just got that much harder."
msgstr ""
+#: lang/json/professions_from_json.py
+msgctxt "profession_male"
+msgid "Rancher"
+msgstr ""
+
+#. ~ Profession (male Rancher) description
+#: lang/json/professions_from_json.py
+msgctxt "prof_desc_male"
+msgid ""
+"You've raised cows or horses most of your life, now we'll see what happens "
+"next."
+msgstr ""
+
+#: lang/json/professions_from_json.py
+msgctxt "profession_female"
+msgid "Rancher"
+msgstr ""
+
+#. ~ Profession (female Rancher) description
+#: lang/json/professions_from_json.py
+msgctxt "prof_desc_female"
+msgid ""
+"You've raised cows or horses most of your life, now we'll see what happens "
+"next."
+msgstr ""
+
+#: lang/json/professions_from_json.py
+msgctxt "profession_male"
+msgid "Roadie"
+msgstr ""
+
+#. ~ Profession (male Roadie) description
+#: lang/json/professions_from_json.py
+msgctxt "prof_desc_male"
+msgid ""
+"You worked just outside of the limelight, ensuring that the performers got "
+"what they needed and that everything ran smoothly. The stakes are higher "
+"these days, but the show must go on."
+msgstr ""
+
+#: lang/json/professions_from_json.py
+msgctxt "profession_female"
+msgid "Roadie"
+msgstr ""
+
+#. ~ Profession (female Roadie) description
+#: lang/json/professions_from_json.py
+msgctxt "prof_desc_female"
+msgid ""
+"You worked just outside of the limelight, ensuring that the performers got "
+"what they needed and that everything ran smoothly. The stakes are higher "
+"these days, but the show must go on."
+msgstr ""
+
+#: lang/json/professions_from_json.py
+msgctxt "profession_male"
+msgid "Musician"
+msgstr ""
+
+#. ~ Profession (male Musician) description
+#: lang/json/professions_from_json.py
+msgctxt "prof_desc_male"
+msgid ""
+"You were just about to hit the stage when the Cataclysm struck. You weren't "
+"able to grab much during the panic, but at least you have your loaded six "
+"string on your back."
+msgstr ""
+
+#: lang/json/professions_from_json.py
+msgctxt "profession_female"
+msgid "Musician"
+msgstr ""
+
+#. ~ Profession (female Musician) description
+#: lang/json/professions_from_json.py
+msgctxt "prof_desc_female"
+msgid ""
+"You were just about to hit the stage when the Cataclysm struck. You weren't "
+"able to grab much during the panic, but at least you have your loaded six "
+"string on your back."
+msgstr ""
+
#: lang/json/professions_from_json.py
msgctxt "profession_male"
msgid "Debugger"
@@ -108718,6 +110662,11 @@ msgstr ""
msgid "CANINE ARMOR"
msgstr ""
+#. ~ Crafting recipes subcategory of 'ANIMALS' category
+#: lang/json/recipe_category_from_json.py
+msgid "EQUINE ARMOR"
+msgstr ""
+
#. ~ Crafting recipes category name
#: lang/json/recipe_category_from_json.py
msgid "BUILDING"
@@ -108741,6 +110690,10 @@ msgstr ""
msgid "We should survey the base site and set up a bulletin board."
msgstr ""
+#: lang/json/recipe_from_json.py
+msgid "We should survey the roof top and set up a bulletin board."
+msgstr ""
+
#: lang/json/recipe_from_json.py
msgid ""
"Now that we have some cover, we should build a fireplace in the northeast "
@@ -109911,6 +111864,26 @@ msgstr ""
msgid " Craft: Armor, Scrap Suit"
msgstr ""
+#: lang/json/recipe_group_from_json.py
+msgid " Craft: Armor, Scrap Helmet"
+msgstr ""
+
+#: lang/json/recipe_group_from_json.py
+msgid " Craft: Armor, Scrap Cuirass"
+msgstr ""
+
+#: lang/json/recipe_group_from_json.py
+msgid " Craft: Armor, Scrap Arm Guards"
+msgstr ""
+
+#: lang/json/recipe_group_from_json.py
+msgid " Craft: Armor, Scrap Leg Guards"
+msgstr ""
+
+#: lang/json/recipe_group_from_json.py
+msgid " Craft: Armor, Scrap Boots"
+msgstr ""
+
#: lang/json/recipe_group_from_json.py
msgid " Craft: Axe, Copper"
msgstr ""
@@ -110742,6 +112715,44 @@ msgctxt "start_name"
msgid "Police Station"
msgstr ""
+#. ~ Name for scenario 'The Mascot Rises' for a male character
+#: lang/json/scenario_from_json.py
+msgctxt "scenario_male"
+msgid "The Mascot Rises"
+msgstr ""
+
+#. ~ Name for scenario 'The Mascot Rises' for a female character
+#: lang/json/scenario_from_json.py
+msgctxt "scenario_female"
+msgid "The Mascot Rises"
+msgstr ""
+
+#. ~ Description for scenario 'The Mascot Rises' for a male character.
+#: lang/json/scenario_from_json.py
+msgctxt "scen_desc_male"
+msgid ""
+"You just finished your shift and got back in the break room when you heard "
+"the alarms and the security door shutting down behind you. There's a lot of "
+"customers out there and you're not sure Foodplace delicious food is going to "
+"be enough for them."
+msgstr ""
+
+#. ~ Description for scenario 'The Mascot Rises' for a female character.
+#: lang/json/scenario_from_json.py
+msgctxt "scen_desc_female"
+msgid ""
+"You just finished your shift and got back in the break room when you heard "
+"the alarms and the security door shutting down behind you. There's a lot of "
+"customers out there and you're not sure Foodplace delicious food is going to "
+"be enough for them."
+msgstr ""
+
+#. ~ Starting location for scenario 'The Mascot Rises'.
+#: lang/json/scenario_from_json.py
+msgctxt "start_name"
+msgid "Foodplace Break Room"
+msgstr ""
+
#. ~ Name for scenario 'School' for a male character
#: lang/json/scenario_from_json.py
msgctxt "scenario_male"
@@ -111120,6 +113131,40 @@ msgctxt "start_name"
msgid "Apartment Rooftop"
msgstr ""
+#. ~ Name for scenario 'Rancher' for a male character
+#: lang/json/scenario_from_json.py
+msgctxt "scenario_male"
+msgid "Rancher"
+msgstr ""
+
+#. ~ Name for scenario 'Rancher' for a female character
+#: lang/json/scenario_from_json.py
+msgctxt "scenario_female"
+msgid "Rancher"
+msgstr ""
+
+#. ~ Description for scenario 'Rancher' for a male character.
+#: lang/json/scenario_from_json.py
+msgctxt "scen_desc_male"
+msgid ""
+"You've lived on your ranch for most of your life, through hard times and "
+"easy times. One heck of a hard time is ahead.."
+msgstr ""
+
+#. ~ Description for scenario 'Rancher' for a female character.
+#: lang/json/scenario_from_json.py
+msgctxt "scen_desc_female"
+msgid ""
+"You've lived on your ranch for most of your life, through hard times and "
+"easy times. One heck of a hard time is ahead.."
+msgstr ""
+
+#. ~ Starting location for scenario 'Rancher'.
+#: lang/json/scenario_from_json.py
+msgctxt "start_name"
+msgid "Horse Farm"
+msgstr ""
+
#. ~ Name for scenario 'Scavenger' for a male character
#: lang/json/scenario_from_json.py
msgctxt "scenario_male"
@@ -111200,8 +113245,8 @@ msgstr ""
#: lang/json/scenario_from_json.py
msgctxt "scen_desc_male"
msgid ""
-"You had connections, or intel somehow..., and because of it, you found this "
-"LMOE Shelter. It's summer now and you somehow survived, now things get a "
+"You had connections, or intel somehow...and because of it, you found this "
+"LMOE Shelter. It's summer now, and you somehow survived. Now things get a "
"little bit easier."
msgstr ""
@@ -111209,8 +113254,8 @@ msgstr ""
#: lang/json/scenario_from_json.py
msgctxt "scen_desc_female"
msgid ""
-"You had connections, or intel somehow..., and because of it, you found this "
-"LMOE Shelter. It's summer now and you somehow survived, now things get a "
+"You had connections, or intel somehow...and because of it, you found this "
+"LMOE Shelter. It's summer now, and you somehow survived. Now things get a "
"little bit easier."
msgstr ""
@@ -111236,18 +113281,20 @@ msgstr ""
#: lang/json/scenario_from_json.py
msgctxt "scen_desc_male"
msgid ""
-"You were one of the many law enforcement and military personnel alike called "
-"in to keep order on one of the FEMA camps, it all went to shit fast..."
-"wounded, infected, surrounded by fire you lay...and they just keep coming..."
+"You were one of the many law-enforcement and military personnel alike called "
+"in to keep order on one of the FEMA camps. It all went to shit fast..."
+"wounded, infected, surrounded by fire you lie on the ground...and they just "
+"keep coming..."
msgstr ""
#. ~ Description for scenario 'Challenge-FEMA Death Camp' for a female character.
#: lang/json/scenario_from_json.py
msgctxt "scen_desc_female"
msgid ""
-"You were one of the many law enforcement and military personnel alike called "
-"in to keep order on one of the FEMA camps, it all went to shit fast..."
-"wounded, infected, surrounded by fire you lay...and they just keep coming..."
+"You were one of the many law-enforcement and military personnel alike called "
+"in to keep order on one of the FEMA camps. It all went to shit fast..."
+"wounded, infected, surrounded by fire you lie on the ground...and they just "
+"keep coming..."
msgstr ""
#. ~ Starting location for scenario 'Challenge-FEMA Death Camp'.
@@ -111273,8 +113320,8 @@ msgstr ""
msgctxt "scen_desc_male"
msgid ""
"While the world ended, you felt relatively safe inside the mansion you have "
-"serviced for years. Now the dead have come knocking at your doorstep, it "
-"might be time to leave"
+"serviced for years. Now the dead have come knocking at your doorstep, and "
+"it might be time to leave."
msgstr ""
#. ~ Description for scenario 'Mansion Holdout' for a female character.
@@ -111282,8 +113329,8 @@ msgstr ""
msgctxt "scen_desc_female"
msgid ""
"While the world ended, you felt relatively safe inside the mansion you have "
-"serviced for years. Now the dead have come knocking at your doorstep, it "
-"might be time to leave"
+"serviced for years. Now the dead have come knocking at your doorstep, and "
+"it might be time to leave."
msgstr ""
#. ~ Starting location for scenario 'Mansion Holdout'.
@@ -111308,22 +113355,22 @@ msgstr ""
#: lang/json/scenario_from_json.py
msgctxt "scen_desc_male"
msgid ""
-"You were on your way to another routine job, it might of been a target to "
+"You were on your way to another routine job. It might have been a target to "
"kill, an item to steal or intel to gather. Whatever it was doesn't matter "
-"anymore; you did your best to avoid the horde and when you arrive, the place "
-"is surrounded, not by cops as you might expected, but by the dead. Worse, "
-"you got a cut somewhere along the way and it's looking infected."
+"anymore; you did your best to avoid the horde and when you arrived, the "
+"place was surrounded. Not by cops, as you might have expected, but by the "
+"dead. Worse, you got a cut somewhere along the way and it's looking infected."
msgstr ""
#. ~ Description for scenario 'The Last Gig' for a female character.
#: lang/json/scenario_from_json.py
msgctxt "scen_desc_female"
msgid ""
-"You were on your way to another routine job, it might of been a target to "
+"You were on your way to another routine job. It might have been a target to "
"kill, an item to steal or intel to gather. Whatever it was doesn't matter "
-"anymore; you did your best to avoid the horde and when you arrive, the place "
-"is surrounded, not by cops as you might expected, but by the dead. Worse, "
-"you got a cut somewhere along the way and it's looking infected."
+"anymore; you did your best to avoid the horde and when you arrived, the "
+"place was surrounded. Not by cops, as you might have expected, but by the "
+"dead. Worse, you got a cut somewhere along the way and it's looking infected."
msgstr ""
#. ~ Starting location for scenario 'The Last Gig'.
@@ -112041,7723 +114088,7930 @@ msgid "The floor is too hard to sleep on? Try gathering a pile of leaves."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"You feel great! It doesn't seem like wounds could even slow you down for "
-"more than a day."
+msgid "This is a test of the sign snippet system"
msgstr ""
#: lang/json/snippet_from_json.py
msgid ""
-"Within moments you're ready and up. You don't feel like anything could stop "
-"you today!"
+"Snippets should also support tags like , , "
+", and "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Your eyes open and your entire body feels like it is just bursting with "
-"energy to burn!"
+msgid "This should repeat the same city several times: , , "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"You feel like a rubber ball; whatever hits you, you'll just bounce back!"
+msgid "Leave No Trace."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"You're up and you feel fantastic. No sickness is going to keep you down "
-"today!"
+msgid "Plan Ahead and Prepare."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"You're up and going rather quickly, and all the little aches from yesterday "
-"are gone."
+msgid "Travel and Camp on Durable Surfaces."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"You get up feeling pretty good, as if all your little aches were fading "
-"faster."
+msgid "Dispose of Waste Properly."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Getting up comes easy to you, your muscles revitalized after your rest."
+msgid "Leave What You Find."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"You're up and your little pains from before seem to have faded away rather "
-"quickly."
+msgid "Minimize Campfire Impacts."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Awareness comes fast, your body coming quickly to attention after your rest."
+msgid "Respect Wildlife."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You feel good. Healthy living does seem to have some rewards."
+msgid "Be Considerate of Other Visitors."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Getting out of bed doesn't seem too hard today. You could get used to this!"
+msgid "WARNING! BEAR COUNTRY."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Alertness comes somewhat fast, and your muscles stretch easier than before "
-"you went to bed."
+msgid "For hiking, skiing, and enjoying nature."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You feel extra alert, and your body feels ready to go."
+msgid "Please stay on trail."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Your body stretches with ease, and you feel ready to take on the world."
+msgid "No motorized vehicles."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You feel cruddy. Maybe you should consider eating a bit healthier."
+msgid "DANGER. HIGH FIRE HAZARD AREA. NO OPEN FIRE. NO SMOKING."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You get up with a bit of a scratch in your throat."
+msgid "No Overnight Camping."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You stretch, but your muscles don't seem to be doing so good today."
+msgid "I left my wallet in "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Your stomach gurgles. It's probably nothing, but maybe you should look into "
-"eating something healthy."
+msgid " + forever"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"You struggle to awareness. Being awake seems somewhat harder to reach today."
+msgid "N = R * fp * ne * fl * fi * fc * L drake was right"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Getting out of bed only comes with great difficulty, and your muscles resist "
-"the movement."
+msgid "kilroy was here"
msgstr ""
#: lang/json/snippet_from_json.py
msgid ""
-"Getting up seems like it should be easy, but all you want to do is go back "
-"to bed."
+"Squirrels are pretty yummy, but if you shoot them with a high-powered gun "
+"you'll probably be left with no meat! Use a BB gun or maybe a .22 rifle."
msgstr ""
#: lang/json/snippet_from_json.py
msgid ""
-"Tired hands rub at your eyes, the little aches of yesterday protesting your "
-"stretches."
+"Ever run into those big worm things? If you see trails of churned-up dirt, "
+"you can be sure they're around."
msgstr ""
#: lang/json/snippet_from_json.py
msgid ""
-"Alertness seems flighty today, and your body argues when you move towards it."
+"Try to stay on the roads as much as you can. Giant worms can't cross them!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You're up, but your body seems like it would rather stay in bed."
+msgid ""
+"Don't relax after killing a giant worm. Little bits of them can break off "
+"and still attack!"
msgstr ""
#: lang/json/snippet_from_json.py
msgid ""
-"You get up feeling horrible, as if something was messing with your body."
+"If you see a big mob of zombies coming, RUN! Trying to fight them all is "
+"suicide unless you have a big tactical advantage."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You feel awful, and every ache from yesterday is still there."
+msgid ""
+"Watch out for those zombies that shriek; they'll let other zombies know "
+"where you are, and will attract them from all over."
msgstr ""
#: lang/json/snippet_from_json.py
msgid ""
-"Your eyes struggle to open, and your muscles ache like you didn't sleep at "
-"all."
+"Those acid-spitting zombies are pretty nasty, but if you're smart, you can "
+"get other zombies to wade through the acid."
msgstr ""
#: lang/json/snippet_from_json.py
msgid ""
-"Bleary-eyed and half-asleep, you consider why you are doing this to yourself."
+"If there's a pool of acid blocking your way, trying tossing a junk item into "
+"it. Eating up items will help neutralize the acid faster."
msgstr ""
#: lang/json/snippet_from_json.py
msgid ""
-"Awareness seems to only come with a battle... and your body seem to be on "
-"its side."
+"Rubber boots aren't as tough as combat boots and you don't run very fast in "
+"them. But I've seen zombies vomiting puddles of acid, and I'd hate to have "
+"my feet melt off, so I'd consider having a pair of those."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "popular "
+msgid ""
+"There's this type of zombie that can shoot bolts of lightning! Stay away "
+"from walls and stuff when they do... the electricity can travel along solid "
+"surfaces."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "top-forty "
+msgid ""
+"Zombie hulks are NASTY, but they're easy to outsmart. If there's other "
+"monsters between you and them, they'll kill the monster for you!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "corporate "
+msgid ""
+"If you run into a zombie hulk, it's probably a good idea to run. They're "
+"fast as hell, but pretty dumb; they'll try to smash through obstacles rather "
+"than going around, and that slows them down a lot."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "commercial "
+msgid ""
+"Zombie brutes and hulks have really tough hide, but skeletal juggernauts "
+"with their bone plates are the worst. Don't bother shooting at them with "
+"lower-caliber guns, the bullet will bounce right off!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "alternative "
+msgid ""
+"Try not to kill a boomer if it's standing right next to you. They tend to "
+"explode when they die, and that pink goop will get all over you."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "college "
+msgid ""
+"Skeletons are a tough target for a gun. They're so skinny and full of holes "
+"that it's hard to make a good hit. And those big ones are hard as nails too."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "arthouse "
+msgid ""
+"Small skeletons are too delicate to smash through doors or windows. Big "
+"ones can walk in through a wall. At least they can't smell you, unlike "
+"zombies, so if you turn your light off at night you can sneak right past."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "underground "
+msgid ""
+"Don't try to take on a skeleton with a bladed weapon... you'll just leave "
+"scratch marks. You've got to shatter those bones with a hammer or something."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "experimental "
+msgid ""
+"It's a good idea to butcher corpses if you have the time. I've seen these "
+"weird zombies bring their friends back from the dead!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "forgotten "
+msgid ""
+"I have a buddy who was sleeping in this cabin way out in the woods, when he "
+"suddenly woke up to trees and vines growing right up through the floor and "
+"walls! He said it was some kind of huge tree beast..."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "traditional "
+msgid ""
+"Oh man, have you gone down into the old subway systems? I'd be careful... "
+"there's these things down there that are like zombies, but tougher."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "historical "
+msgid ""
+"There's snakes down in most of the old sewer systems. They're slow on land, "
+"but boy, those suckers can swim fast!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "classic "
+msgid ""
+"If you're planning on wandering around the sewers--not that you'd have a "
+"reason too--watch out for those fish. Those suckers are fast, and vicious "
+"too!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "modern "
+msgid ""
+"Have you seen those eyebots flying around? It's hard to say, but some "
+"faction's controlling them--maybe the military. All I know is, I don't want "
+"them taking my picture..."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "adult "
+msgid ""
+"Ever go toe-to-toe with a manhack? Tiny little helicopters covered in "
+"knives. Best be packing a shotgun!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "contemporary "
+msgid ""
+"They're rare, but molebots are nasty things. They bore through the ground, "
+"then pop up to stab ya. Still, you're safe from them if you stay on "
+"pavement..."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Christian "
+msgid ""
+"Don't fire your gun if you can help it - the noise attracts monsters. If "
+"you could get a silencer, or make one, it would give you some advantage."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Pagan "
+msgid ""
+"Standing behind a window is a good tactic. It takes zombies a long time to "
+"crawl through, giving you lots of opportunities to hit them."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "British "
+msgid ""
+"Zombies are pretty dumb... heck, most monsters are! If you can get a fire "
+"going between you and them, they'll just run straight through it."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Continental "
+msgid ""
+"I know it's tempting to just go full-auto and unload as many bullets as "
+"possible, but don't except as a last resort. It's inaccurate and wastes "
+"ammo."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "tropical "
+msgid ""
+"If there's a bunch of zombies in a straight line, try unloading a burst from "
+"your gun. Be sure to aim at the zombie furthest away; you'll hit more of "
+"them that way."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "island "
+msgid ""
+"If you shoot a zombie, but don't quite kill it, try to finish it off with a "
+"punch or something instead of wasting a bullet."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "New York "
+msgid ""
+"If you're in a corridor or something, and there's a bunch of zombies chasing "
+"you down it, try to wound the guy in front badly. He'll start moving slow "
+"and cause a serious traffic jam!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Hollywood "
+msgid ""
+"Here's a trick for taking care of a huge swarm of zombies chasing you: head "
+"into a liquor store, shoot out as many bottles as you can, then light the "
+"alcohol on fire. Then duck out the back door, and watch the zombies run "
+"into a burning building!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Trans-Pacific "
+msgid ""
+"Sledge hammers may seem like a great weapon, but swinging them is really "
+"slow, and you won't do much damage unless you're really strong."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Latin "
+msgid ""
+"For a good melee weapon, you can't beat a machete. I've seen a guy take "
+"down a zombie brute with one! Of course, if you can find a katana, that "
+"might be even better..."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "instrumental "
+msgid ""
+"A knife spear makes a good weapon in a pinch, but a spike strapped to a "
+"stick isn't the sturdiest construction. At least you can strap the spike "
+"back on when it comes off."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "fusion "
+msgid ""
+"You know, a glass bottle can make a good weapon in a pinch. If you break it "
+"over someone's head, the shattering glass will hurt them extra. Of course, "
+"it might hurt your hands, too..."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "visual "
+msgid ""
+"You know what makes a nice weapon? Take a two by four, or a baseball bat or "
+"something, and stick a bunch of nails through the end!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "liquid "
+msgid ""
+"BB guns may seem like a joke, but they've got their uses. They're good for "
+"hunting small game, or getting to know the basics of rifles."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "digital "
+msgid ""
+"Crossbows are a great weapon for long term use. Most of the time, you can "
+"retrieve the bolt after shooting it, so running out of ammo is less of a "
+"concern."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "procedurally generated "
+msgid ""
+"Consider going Robin Hood, if you have the strength to pull the string of a "
+"bow. Those larger ones need significant muscle power, but they hit hard, "
+"and are silent."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "melodic "
+msgid ""
+"I hid in a dumpster once or twice. I may smell bad, but I'm not dead, as "
+"they say."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "harmonious "
+msgid ""
+"It's good to keep a pistol handy, in case your main gun runs out of ammo or "
+"something. They're also better than most guns at short range."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "discordant "
+msgid ""
+"Shotguns are nice; you can take out lots of baddies with a single shot. "
+"Just remember that they're noisy as hell, and you might end up attracting "
+"more than you kill."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "contextual "
+msgid ""
+"A good submachine gun can't be beat. Most of them use common ammo, they're "
+"good at short and long range, and you can burst-fire if you need to!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "conceptual "
+msgid ""
+"Hunting rifles are great at long range, but suck close up. Plus, most of "
+"them don't carry many rounds. Keep a pistol as a sidearm if you use a rifle."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "collaborative "
+msgid ""
+"You know, you don't have to go full auto with an assault rifle. Firing "
+"single shots is more accurate and efficient!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "rhythmic "
+msgid ""
+"I've seen a couple guys running around with laser pistols. They seem like "
+"the perfect weapon... quiet, accurate, and deadly. But I've never found "
+"one, and I bet ammo is wicked scarce..."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "neo"
+msgid ""
+"When it comes to footwear, you've got two basic choices as far as I see it; "
+"sneakers, for running extra fast, or boots for durability. Depends on your "
+"style, I guess."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "retro"
+msgid ""
+"You don't really need to wear gloves most of the time, but once in a while "
+"they'll really come in handy."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "post"
+msgid ""
+"I wish I could still use those rollerblades. I would be so fast. But I "
+"took an arrow to the knee, and all that."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "anti"
+msgid ""
+"It's good to keep a filter mask or gas mask handy. You never know when "
+"you'll have to go into a smoke-filled room or something."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "hard "
+msgid ""
+"There's basically no reason not to wear safety glasses... nothing is worse "
+"than taking a hit to the eyes and getting blinded for a few seconds."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "soft "
+msgid ""
+"Ski goggles are a great choice if you're worried about getting stuff in your "
+"eyes. Perfect for dealing with boomers!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "speed "
+msgid ""
+"If you get a pair of night vision goggles, hold on to them! A flashlight "
+"will give you away, but with goggles you can be sneaky. Beware that some "
+"types of zombies are camouflaged against it, and require proper light to be "
+"visible."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "slow "
+msgid ""
+"I know they look dumb, but wearing a fanny pack gives you that extra bit of "
+"storage without encumbering you."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "hi-fi "
+msgid ""
+"Backpacks let you carry lots of stuff, but they limit your movement a lot. "
+"If you have to fight a zombie at close range, don't wear one, or at least "
+"drop it on the ground before the fight."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "lo-fi "
+msgid ""
+"Don't underestimate a good book. Not only will it keep you company on "
+"lonely nights, but you can learn a hell of a lot from some of them."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "mid-fi "
+msgid ""
+"It's a good idea to carry around a couple of empty bottles. You can fill "
+"them up with water, gasoline, or whatever!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "ambient "
+msgid ""
+"First aid 101 for you. Always bandage your wounds, they will heal faster "
+"that way. Bandages are plenty and you can make makeshift ones easily, so "
+"there is no reason not to."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "dance "
+msgid ""
+"I can bandage you if you are wounded, so give me some spare bandages, if you "
+"have any."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "chill "
+msgid ""
+"If you have extra disinfectant, use it to disinfect your wounds, even if "
+"they aren't infected. They will recover faster that way."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "psycho"
+msgid ""
+"Treat your infected wounds as soon as possible. If the infection spreads "
+"only antibiotics may help you, but it will take time, and you may still die "
+"from it if it's too serious."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "turbo"
+msgid ""
+"If you need a bunch of rags for making Molotov cocktails, take a pair of "
+"scissors to an old t-shirt or something."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "prog "
+msgid ""
+"Carrying a lighter is something all veterans do. It takes up almost no "
+"space, and can easily save your life."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "glam "
+msgid ""
+"If you can spare the space, you might want to carry a fire extinguisher "
+"along. Nothing is worse than being trapped in a burning building!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "outsider "
+msgid ""
+"Crowbars not only make a pretty good weapon, they're also useful for opening "
+"locked doors and lifting manhole covers."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "indie "
+msgid ""
+"If you're spending the night in a dangerous area, grab a shovel and dig pits "
+"all around your camp. If it's more than one night, you might want to put "
+"broken glass or sticks inside the pits for better effect."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "dark "
+msgid ""
+"A chainsaw may seem like a great weapon, but remember that they're slow, "
+"unwieldy, and very noisy."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "death "
+msgid ""
+"Bubblewrap is pretty harmless, but setting it up around you before going to "
+"sleep will keep you from waking up to a zombie punching you."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "electro"
+msgid ""
+"Bear traps are a nice way to cover an escape. If you place one in a "
+"doorway, the first zombie through will get stuck, and the rest won't be able "
+"to get past!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "acid "
+msgid ""
+"Smoke grenades aren't really offensive weapons, but they'll cover up your "
+"scent and hide you from view--perfect for making a quick escape."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "space "
+msgid "Don't use Molotovs indoors. Especially in a liquor store."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "ghetto "
+msgid ""
+"If you're going to be playing with Molotov cocktails around a gas station, "
+"just make sure you're a long way from those pumps."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "street "
+msgid ""
+"I once knew a guy who figured he'd survive a night in the subway by setting "
+"fires blocking off the tunnel in both directions and sleeping between them. "
+"He wound up asphyxiating on the smoke."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "urban "
+msgid ""
+"Don't light a Molotov until you're ready to throw it. Not only can they go "
+"out, but if you accidentally drop it or something, you're in trouble."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "world "
+msgid ""
+"If you're weak or clumsy, it might be a good idea not to mess with Molotovs "
+"or grenades. Accidentally dropping them when you meant to throw them could "
+"be deadly."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Euro"
+msgid ""
+"If you're wandering in the wilderness, or following a road, keep an eye out "
+"for wild strawberries, blueberries and other gifts of nature."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Afro"
+msgid ""
+"Be careful eating wild mushrooms. Some are poisonous, and others can make "
+"you hallucinate."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "grunge "
+msgid ""
+"Try to go around swamps, if you can. Some of them have sinkholes that can "
+"pull you right underground."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "brass "
+msgid ""
+"I heard about this group that raided a bee hive a while ago. Everyone got "
+"massacred but one, and he came home with this weird, magic honey stuff."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "splatter "
+msgid ""
+"If you need to, you can swim across a river to escape; some monsters can't "
+"swim. Just make sure you drop as much stuff as possible first, and maybe "
+"strip naked, or you'll sink like a rock."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "swamp "
+msgid ""
+"Houses can be a surprisingly good resource for all kinds of stuff; clothing, "
+"medication, food, books, and more. People kept all the odd things around, "
+"especially in basements."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "ghost "
+msgid ""
+"While there's not much to loot, gas stations are a good source for gasoline, "
+"to power tools or to make Molotov cocktails."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "shadow "
+msgid ""
+"It's not like in the movies - shooting a gas pump won't make it explode. "
+"But it WILL make it leak all over the place, which is a definite fire hazard."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "neuro "
+msgid ""
+"I know grocery stores and stuff are full of fruit, but be careful, it's "
+"probably rotten."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "hyper"
+msgid ""
+"Next time you visit a grocery store, load up on canned goods. They never go "
+"bad!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "carnival"
+msgid ""
+"I've found more good weapons in hardware stores than anywhere else. Except "
+"gun stores, of course."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "meta"
+msgid ""
+"Liquor stores are a great place to pick up non-alcoholic beverages, too. "
+"Not that I mind alcohol!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "techno"
+msgid ""
+"Most gun stores follow pretty similar layouts. The restricted stuff - SMGs, "
+"assault rifles, and most importantly ammo - are always behind the counter."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "synth"
+msgid ""
+"I've spent many nights in the changing rooms at the back of clothing "
+"stores. Walls on four sides, far from the store's entrance, a corridor for "
+"easy defense... it's perfect!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "robo"
+msgid ""
+"If you're getting chased by a hoard of zombies, try ducking into the subways "
+"and traveling a block or two, then coming back up."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "skate "
+msgid ""
+"Have you seen those weird science labs out in the middle of nowhere? I "
+"think you need some kind of special ID card to get in."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "freak "
+msgid ""
+"I have a dream of raiding a military bunker, but I well know that good "
+"protection plus zombie soldiers are a bad mix. The sheer thought of being "
+"sprayed with bullets by a turret is giving me the shivers."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "surf "
+msgid ""
+"I've thought about raiding an ant hill before, but I realized it wasn't "
+"worth the risk. I doubt they have any loot beyond some scraps of food, you "
+"know?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "mutant "
+msgid ""
+"This guy I know was walking through the subway when he came across a giant "
+"rift in the earth, with lava far below. Weird, huh?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Jurassic "
+msgid ""
+"In a lot of places, there's little hallways connecting the subways with the "
+"sewers, with heavy metal doors on both ends. It's a perfect place to sleep!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "free "
+msgid ""
+"Be careful of drinking water from rivers and stuff, it's a good way to get "
+"sick. But if you have a water purifier, it'll make it safe."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "garage "
+msgid ""
+"Autodocs are probably your best bet to install bionics - if you can find "
+"one! However, I heard they won't work if you don't bring anesthetics to put "
+"you in a sleep."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "garbage "
+msgid ""
+"Be wary of anything deeper than your average basement. Some folks heard "
+"scary screams from the ventilation shafts of mines and labs. Very "
+"unsettling screams."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "break "
+msgid "A screwdriver a day keeps the scurvy away!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "laser "
+msgid ""
+"Hungrier, than usual? Natural oils can help. Not tasty at all, but who "
+"cares when eating your leg is the second option?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "porno "
+msgid ""
+"Terrain can turn the tide of a battle, make sure you use it against your "
+"enemies, lest it be used against you."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "hypno"
+msgid ""
+"Folks that passed by the mine said something about foul smell. If you plan "
+"a visit there consider taking a a gas mask with you."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "lunar "
+msgid "Knowledge is power. Seriously, just pick up a book."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "thunder "
+msgid ""
+"Nothing can kill you if everything is already dead. Well, except cold, "
+"hunger, and… never mind."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "clown "
+msgid ""
+"I met a girl that insisted that she saw a land shark boring through rock, "
+"walls, and dirt alike. I'd consider it a fable, but I've seen things, and "
+"can't just say it's a lie."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "murder "
+msgid ""
+"Boil first, then drink. Ten men caravan once drank from a spring, and they "
+"are now known as a three man caravan."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "narco "
+msgid ""
+"I've once seen a full duffel bag pass hands five times in a week. Having a "
+"lot of stuff is a moot point if you can't run from zombies."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "gangster "
+msgid ""
+"Tim says you can drive a car through a horde of zombies. Tim is now a "
+"zombie. Any questions?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "-tune"
+msgid ""
+"They said: go solar, save the environment and yourself. Well... there is no "
+"environment to save now, but one can still save thyself I guess."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "-core"
+msgid ""
+"If you can't find a knife try smashing potted plants. It just might give "
+"you everything you need to make one."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "-wave"
+msgid ""
+"What's the difference between a good and a bad choke point? The good one "
+"has another back door behind you."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "-beat"
+msgid ""
+"So, methinks: if you could convince the cop-bots that you are their "
+"superior..."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "-step"
+msgid ""
+"You'd be surprised how many items can be disassembled into their "
+"components. A guy around here, McSomething whatever his name is, is a "
+"master at this."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "-pop"
+msgid ""
+"A soldering iron can be an aspiring mechanics' best friend. You can also "
+"cauterize a wound with it, but as many people died as lived from that "
+"treatment, so I guess it's a last resort."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "-hop"
+msgid ""
+"I've seen some folks running with freshly installed CBMs. That means there "
+"is a way to get them from places other than ransacked shops. Maybe that "
+"explains those cut-up bodies I've seen around."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "-drums"
+msgid ""
+"I'm fed up with smoked meat, but it lasts so long. Well... if I had more "
+"heart for learning cooking I guess I'd be able to diversify my food without "
+"sacrificing its shelf life."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "-style"
+msgid ""
+"Tricky Joe was hanged for his inventive ways of killing zombies. Yeah, "
+"burning down a building to smoke few hordes is ok, but burning a whole town "
+"with all the loot certainly is not."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "-chant"
+msgid ""
+"Mr Tombstone always said: take nothing with you for the raids, save the "
+"space for loot. He was known as Joe then and he rightfully earned his "
+"nickname as the first tombstone 'owner' around this place."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "folk"
+msgid ""
+"A friend is a second mouth to fill, but when it comes to work four hands are "
+"always better than two."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "country"
+msgid ""
+"I was against drugs until I was almost killed by a zombie and was hauling my "
+"sorry ass away from the horde, with nothing more but some white powder I got "
+"from that zombie. Saved me that time."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "jazz"
+msgid ""
+"Not sure if Mike is sane any more. He was unfortunate enough to be driven "
+"in to a school one time. This experience broke more than his ribs then."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "blues"
+msgid ""
+"A thought about explosives. If you can still run and it did not went boom "
+"yet, run some more. There is no such thing as excess space between you and "
+"a stick of dynamite."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "soul"
+msgid "Avoid using launchers in narrow hallways, you might miss."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "R&B"
+msgid ""
+"Met a mad chemist once. She made a battery from a potato... or was it lemon?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "hip-hop"
+msgid ""
+"Police brutality lives on it seems. It's just more mechanical now, with all "
+"the cops dead and cop robots roaming free on the loose. If you'll get "
+"arrested who will give you justice? A zombie judge? Will they put you in a "
+"zombie prison? No thanks, I'll pass."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "swing"
+msgid ""
+"Is it dead yet? How can you tell if it was dead before and it's dead now? "
+"I prefer asking: are? *smash* you? *smash* dead? *smash* yet? *smash "
+"smash smash*"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "funk"
+msgid ""
+"I hear there's strange big berries around, but why don't I hear first hand "
+"if they are filling for their size or not?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "disco"
+msgid ""
+"I've heard of a gang called The Doctors. You know, bank robbers wearing "
+"stethoscopes. What are they trying to achieve? I use paper money to start "
+"fires now."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "polka"
+msgid ""
+"You can hole up on a roof if you need to. Yeah, the rain will fall on your "
+"head, but it's harder for the dead to get you there. Get a tent, a rollmat, "
+"a sleeping bag and you're set."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "tango"
+msgid ""
+"I thought about putting a bag on my dog to carry some of my stuff. It "
+"didn't work, because it was a chihuahua, and it was eaten by a rottweiler. "
+"Should have put some kevlar on it like those Z9. Oh well..."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "salsa"
+msgid ""
+"Stuff from zombies is filthy but perfectly fine otherwise. Using soap or "
+"other detergents won't hurt you. Quick wash and you're equipped for days."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "mambo"
+msgid ""
+"Civilization has made a step back in time, so let's learn from the past. No "
+"fridges? Build a root cellar or keep food cool in the basement. No guns? "
+"Make a pointy stick or a cudgel, and work from there. The end of the world "
+"is not the end, it seems."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "electronic"
+msgid ""
+"Hey, if you happen to find a set of two two-way radios, give one to me and "
+"we will be able to talk while being away from each other."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "metal"
+msgid ""
+"If I had the skill to do it, I'd build a boat and sail down the river. "
+"Maybe even towards the ocean. Or make an amphibious vehicle that could "
+"drive on land too. That would be useful."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "reaggae"
+msgid ""
+"I sink like a rock in water, but I once used a scuba tank to cross a river "
+"that had no bridge nearby."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "ska"
+msgid ""
+"Can you imagine? I've heard of people digging graves for loot. Whole "
+"cities lay dead for the taking and they dig graves! Madness!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "punk"
+msgid ""
+"When I broke a leg few years ago they had this great machine at the hospital "
+"that set the bones in place. I'd hate to break a limb in this apocalypse, "
+"but it's something to remember. You never know."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "thrash"
+msgid ""
+"You, me, and another pair of hands and we might even think of settling "
+"down. Making a base of our own. A bastion of hope in the apocalypse. "
+"Think of it."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "goth"
+msgid ""
+"Hey if you are leading, just tell me what to do. You want me to shoot, go "
+"melee, use grenades? I can adjust to your style of fighting."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "industrial"
+msgid ""
+"Everything seems to mutate nowadays. Even survivors. I wonder if I would "
+"look good with bunny ears? Would I hear better?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "psychedelic"
+msgid ""
+"Winter is a harsh lady. You need fire to survive, to heat yourself and your "
+"water and food. Keep a cooking device to melt what is frozen, and a thermos "
+"for the liquids."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "noise"
+msgid ""
+"There is not much gas left for the vehicles. If I'd plan for the long run, "
+"I'd consider learning about steam engines, or maybe making biodiesel."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "sound"
+msgid ""
+"Heard a rumor that few cities were evacuated to a place that's not on the "
+"maps. Tough luck finding them now. But perhaps they don't want to be "
+"found. Or worse - perhaps you don't know that you don't want to find them "
+"either, if you catch my drift."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "revival"
+msgid ""
+"Ok, some weird shit now. Before we met I saw a knight. No, I'm fine under "
+"the hood. A guy in a full medieval armor was cornered by some zombies. "
+"Much to be said, but half an hour later, he was still alive. Guess you can "
+"take a punch being a walking tin can."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "gospel"
+msgid ""
+"If you're into electronics, you may try to make a noise emitter from a "
+"talking doll, or something that has a speaker. Why? To distract the "
+"zombies, of course."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "opera"
+msgid ""
+"A friend of mine was a hunter and showed me once how to butcher properly. "
+"You need a flat clean surface to place the products, a rack to hang the "
+"carcass in the air, and a good knife. If you're in a forest you may use a "
+"tree and a rope. Big game might require a saw too."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "shanties"
+msgid ""
+"A friend of mine was a hunter and told me, that if you field dress a corpse, "
+"it will stay fresh a bit longer."
msgstr ""
#: lang/json/snippet_from_json.py
msgid ""
-"This is an advertisement for the Diet Devil brand Metabolic Exchange CBM. "
-"It shows a picture of a tiny obese devil sitting on a woman's shoulder. The "
-"woman stares intently at a gigantic wedding cake covered with bacon and "
-"candy bars. The caption reads: \"Burn calories! Burn!\""
+"Look at the sky before you go for adventure. You will know what weather to "
+"expect. It's nothing compared to the old meteorology and satellite "
+"pictures, but at least you may know if you need the umbrella."
msgstr ""
#: lang/json/snippet_from_json.py
msgid ""
-"This is an advertisement for the Diet Devil brand Internal Furnace CBM. It "
-"shows a picture of a tiny obese devil sitting on a man's shoulder. The man "
-"is about to bite into a frosting-covered baby. The caption reads: \"Eat "
-"What You Want! How You Want! Who You Want!\""
+"Be extra careful on roads. They are easy to travel on, but occasional "
+"minefield or a road block can make you feel sorry in an instant. I've even "
+"seen a tank once. I ran away like never before."
msgstr ""
#: lang/json/snippet_from_json.py
msgid ""
-"This is an advertisement for the Diet Devil brand Ethanol Burner CBM. It "
-"shows a picture of a teenage boy driving a car while chugging a bottle of "
-"whiskey. A tiny obese devil sits on his shoulder and drinks a martini. The "
-"caption reads: \"Drink like there's no tomorrow!\""
+"I know it's not best of times, but try to sleep well. You're not yourself "
+"if you're sleep deprived. Grab a pillow and a blanket. If you can't, even a "
+"teddy bear under your head and a pile of clothes to keep you warm can make a "
+"difference. And pick a spot well, even a chair or a bench is better than a "
+"cold ground."
msgstr ""
#: lang/json/snippet_from_json.py
msgid ""
-"This is an advertisement for the Twenty8 brand Diamond Cornea CBM. It shows "
-"a picture of the cyber-module being clutched by an eagle in flight. The "
-"captions read: \"Get the new Model 28.bx Eagle-Eye!\" and \"Twenty8. See "
-"what you've been missing.\""
+"There are two ways of throwing grenades. The smart one is throwing from "
+"behind a corner. The less smart one involves getting shot while throwing in "
+"the open and being torn apart by the resulting explosion."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for the Twenty8 brand Night Vision CBM. It shows a "
-"picture of an owl swooping down on a the cyber-module. The captions read: "
-"\"Get the new Model 28.hx Night-Owl!\" and \"Twenty8. See what you've been "
-"missing.\""
+msgid "I hate thorazine!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for the Twenty8 brand Diamond Cornea CBM. It shows "
-"a picture of a flying hawk carrying the cyber-module in its beak. The "
-"captions read: \"Get the new Model 28.xx Hawk-Eye!\" and \"Twenty8. See "
-"what you've been missing.\""
+msgid "Arg thorazine, don't touch it!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for the Twenty8 brand Scent Vision CBM. It shows a "
-"picture of a vulture perched on a pile of skulls and cyber-modules. The "
-"captions read: \"Get the new Model 28.vx Vulture today!\" and \"Twenty8. "
-"See what you've been missing.\""
+msgid "Thorazine is bad for you, you know."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an ad for a Twenty8 brand Infrared Vision CBM. It shows a picture "
-"of a robotic phoenix covered in flames. The captions read: \"Get the new "
-"Model 28.tx Phoenix today!\" and \"Twenty8. See what you've been missing.\""
+msgid "Thorazine is poison."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for DoubleTech brand law enforcement robots. It "
-"shows a picture of copbot and an eyebot boldly emerging from a cloud of "
-"teargas and flame. The caption reads: \"DoubleTech Industries. Built to "
-"Protect. Programmed to Serve.\""
+msgid "You don't need thorazine, it's limiting you."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for DoubleTech brand law enforcement robots. It "
-"shows a picture of an eyebot flying alongside a bald eagle and a Stealth "
-"bomber painted as an American flag. The caption reads: \"Built to Protect. "
-"Programmed to Serve.\""
+msgid "Thorazine... That's what 'they' use to keep you tame."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for DoubleTech brand law enforcement robots. It "
-"shows a picture of a dozen eyebots floating over a woman as she jogs through "
-"a park. The captions read: \"Built to Protect. Programmed to Serve.\""
+msgid "Pink tablets! I love those!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for DoubleTech brand law enforcement robots. It "
-"shows a picture of copbot pepper-spraying a handcuffed rioter. In the "
-"background a troop of boy scouts salutes the robot. The caption reads: "
-"\"Built to Protect. Programmed to Serve.\""
+msgid "Hey there's some pink tablets, take some!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for Robert's Universal Robotics brand law "
-"enforcement robots. It shows a picture of a tribot incinerating a mob of "
-"looters and stepping over charred and smoking corpses. The caption reads: "
-"\"R.U.R. Technology you can Trust.\""
+msgid "Look, some LSD, let's play cataclysm: fun times ahead!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for Robert's Universal Robots brand labor-bots. It "
-"shows a picture of a robot carrying a heavy pallet of bricks. In the "
-"background a human foreman is sleeping on the job, with his hardhat pulled "
-"down over his eyes. The captions read: \"It's a tough job, so why should "
-"you have to do it?\" and \"R.U.R. Technology you can Trust.\""
+msgid "Say yes to LSD, say yes to Fun!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for Robert's Universal Robots brand labor-bots. It "
-"shows a picture of a factory floor run entirely by robots. In the "
-"background a man in a suit reads a newspaper that shows soaring stock "
-"prices. The caption reads: \"R.U.R. Technology you can Trust.\""
+msgid "Perfect, those pink tablets will keep us going, take some!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for Sybil's Cyber Boutique. It shows a picture of "
-"several bikini-clad female doctors removing the skin from man's face. The "
-"patient is strapped to a chair but cheerfully gives two thumbs up. The "
-"caption reads: \"Free Plastic Surgery While You Wait!\""
+msgid "You know what would make all this more bearable? Pink Tablets!"
+msgstr ""
+
+#: lang/json/snippet_from_json.py src/npctalk.cpp
+msgid "No thanks, I'm good."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for Sybil's Cyber Boutique. It shows a picture of "
-"several bikini-clad nurses giving liquid medicine to a delighted patient, "
-"who uses a fingertip needle to suck it in into his veins. Outside the "
-"window two shadow figures using the same fingertip needles to absorb "
-"something less resembling medicine. The caption reads: \"Why use old IV "
-"when you can have Intravenous Needle CBM!\""
+msgid "I don't want to trade with you."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for Sybil's Cyber Boutique. It shows a picture of "
-"a nerdy looking man surrounded by a group of admiring women. In the "
-"foreground a blood-drenched doctor gives an exaggerated wink and two thumbs "
-"up. The caption reads: \"Holiday sales! Get the package deals!\""
+msgid "I have the best stuff. And I'm keeping it!"
msgstr ""
#: lang/json/snippet_from_json.py
-#, no-python-format
-msgid ""
-"This is an advertisement for Sybil's Cyber Boutique. It shows a picture of "
-"a man flexing shiny cybernetic arms in front of a mirror. He is flanked by "
-"two scantily clad nurses who hold bloody chainsaws and give approving thumbs "
-"up. In the background feral dogs gnaw on the man's discarded former limbs. "
-"The caption reads: \"Spring Cleaning Sale! 20% off!\""
+msgid "No trading, that's my rule."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for Sybil's Cyber Boutique. It shows a picture of "
-"a man carrying a somewhat confused horse on his shoulders. He is flanked by "
-"two scantily clad nurses who hold bloody chainsaws and give approving thumbs "
-"up. His bulging knees and elbows are stitched and seem to be the source of "
-"his ability. The caption reads: \"Brand new! Horse power at hand!\""
+msgid "I'm not interested."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for Sybil's Cyber Boutique. It shows a picture of "
-"a man smiling while being relentlessly punched by a boxer. He doesn't even "
-"sweat as punches have no effect on him. Two scantily clad nurses give "
-"approving thumbs up from the background. The caption reads: \"Bouncy as "
-"never before! Absorb those shocks!\""
+msgid "How about no?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for Rivtech brand handguns. It shows a picture of "
-"a well armed couple in business suits with matching handguns facing down a "
-"legion of villainous looking characters. The caption reads: \"Protect "
-"yourself with the Rivtech caseless automagnum!\""
+msgid "No thanks, I really don't feel like it."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for Rivtech brand rifles. It shows a picture of a "
-"smiling soldier with a futuristic looking rifle on her shoulder saluting the "
-"viewer. The caption reads: \"Rivtech caseless firearms proudly supports "
-"our Military.\""
+msgid "Well, I would, but I don't want to right now."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for Rivtech brand firearms. It shows a picture of "
-"a trio of well armed hunters. The three are each armed with different "
-"futuristic looking weapons and are shooting at a hostile crowd of "
-"approaching wildlife. The caption reads: \"Rivtech caseless firearms. "
-"Superior stopping power.\""
+msgid "I have better things to do."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for the Rivtech brand Muscle Augmentation CBM. It "
-"shows a picture of a stylized, howling wolf against a red background. The "
-"caption reads: \"Rivtech neuroreactive myomer bionics. The most efficient "
-"synthetic adenosine triphosphate recovery system on the market.\" and "
-"\"Rivtech Bionics, guaranteed for life.\""
+msgid "I'll pass, it's too much work."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for the Rivtech brand Wired Reflexes CBM. It shows "
-"a picture of a stylized, snarling black cat against a red background. The "
-"caption reads: \"Rivtech neuroelectric stimulation bionics. The next level "
-"in quantum inductive piezochemical nerve stimulation technology.\" and "
-"\"Rivtech Bionics, guaranteed for life.\""
+msgid "Who put you in charge of what I do?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for the Rivtech brand Monomolecular Blade CBM. It "
-"shows a picture of a woman with a bionic blade extending from her arm "
-"steadfastly defending her children from an angry bear. The caption reads: "
-"\"Rivtech retractable monomolecular blade system. Failure is never an "
-"option.\" and \"Rivtech Bionics, guaranteed for life.\""
+msgid "Great idea! Call me when you find SOMEONE ELSE to do it."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for the Rivtech brand Synaptic Accelerator CBM. It "
-"shows a picture of a stylized, soaring raven against a red background. The "
-"caption reads: \"Introducing the Rivtech Model Six myelination retrovirus "
-"system. The latest in synthetic high-performance glycoprotein deposition "
-"technology.\" and \"Rivtech Bionics, guaranteed for life.\""
+msgid " "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for Rivtech brand ammunition. It shows a picture "
-"of an armored steel plate with a gaping hole blasted through the middle. "
-"Sitting beside the plate is a block of brightly colored caseless "
-"ammunition. The caption reads: \"Rivtech 8x40mm caseless. Nothing else "
-"comes close.\""
+msgid "asshat"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for Leadworks LLC's Home Frontier Starter Pack. It "
-"shows a picture of a young suburban parent, equipped with rifle and "
-"revolver, keeping a steely eye on the neighborhood from the front porch. "
-"Similarly-armed parents are visible in front of every house on the street. "
-"Young children are at play and older ones tend a large vegetable garden. "
-"The caption reads: \"A well-armed community is a SAFE community. Leadworks, "
-"LLC.\""
+msgid "asswipe"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is a propaganda poster showing the Northrop Dispatch's military "
-"variant. It depicts the iconic dark green, arachnoid dispatch, standing "
-"before a fence and facing away from the camera as blurring machines rush "
-"forward from its back towards black silhouettes menacing on the horizon. It "
-"reads: \"WE ARE HERE TO PROTECT YOU.\""
+msgid "bag of shit"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for Leadworks LLC handguns. It shows a picture of "
-"a bionic police officer assisting a young couple, who were being attacked by "
-"a gang of ruffians. The caption reads: \"You don't have to void your "
-"warranty or wear out your thumb to achieve felon-stopping firepower. The "
-"L39B, tried and true by our fine cyborgs in blue, is available in .45 ACP "
-"for that extra punch, and we offer semiautomatic (but equally robust!) "
-"versions for the civilian market. Leadworks, LLC.\""
+msgid "bastard"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for Leadworks LLC modular weapons. It shows a "
-"picture of an overworked-yet-grateful police sergeant assembling a sleek "
-"rifle, with similar-looking weapons racked neatly behind her. The caption "
-"reads: \"Leadworks is proud to offer the L523 modular weapon system. No "
-"more must armorers stock and maintain stacks and stacks of rifles, carbines, "
-"and squad support weapons, juggling multiple incompatible ammunition types! "
-"Just procure a base unit for every trooper, and use our lightweight and "
-"portable conversion kits to swap from house-to-house CQB carbine to rooftop-"
-"patrol DSR, safely and cleanly!\""
+msgid "blockhead"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is a public notice from the Centers for Disease Control. Its message, "
-"repeated in several languages, reads: Due to the rising threat of so-called "
-"\"Green Fever\" the CDC would like to remind the public to cover your nose "
-"and mouth with a tissue when you cough or sneeze and wash your hands "
-"frequently with soap and water. In light of recent events, the CDC also "
-"recommends an annual flu vaccine for everyone 6 months of age and older."
+msgid "chump"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is a public message from the Federal Emergency Management Agency. Its "
-"message, repeated in several languages, reads: STAY IN YOUR HOMES! The US "
-"government is taking steps to halt the current epidemic of \"Green Fever\" "
-"and help is currently on its way to afflicted areas. In the name of public "
-"safety you are hereby ordered to remain in your homes until evacuated to a "
-"treatment camp by authorized agents of the United States military. Thank "
-"you for your compliance."
+msgid "clown"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is a public warning from an unnamed source. Its rambling message, "
-"poorly-photocopied onto both sides of the page, reads: Don't believe the "
-"lies! The Army is rounding up people in death camps while the Green Fever "
-"spreads like wildfire. Do not believe what the mainstream news-media is "
-"reporting. All official evacuation points are death-traps. Secure supplies "
-"and escape the cities while there is still time."
+msgid "cretin"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is a public message from an unnamed source. Its message, photocopied "
-"from a scrawled handwritten copy, reads: REPENT YOUR SINS O BABYLON FOR THE "
-"TIME OF HIS JUDGEMENT IS NIGH! LOOK UPON YOUR DESTRUCTION AND KNOW THAT IT "
-"IS JUST! YOU WILL BE DIVIDED FATHER AGAINST SON AND MOTHER AGAINST CHILD "
-"UNTO THE VERY LAST SINNER!"
+msgid "degenerate"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is a public warning from the United States Army. Its brief message, "
-"repeated in several languages, reads: The President of the United States "
-"has declared unilateral martial law affecting the entire nation. Shelter in "
-"place until evacuated to an appropriate emergency management camp by "
-"authorized military personnel. This curfew will remain in effect until "
-"further notice. Stay indoors. Violators will be shot on sight."
+msgid "dick"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for Rivtech's 'ATOMIC POWER THIRST' energy drink. "
-"While intended to advertise a new flavor called Isotope RU-238 'FRUIT', most "
-"of the text is dedicated to a long list of possible side effects: anxiety, "
-"insomnia, severe insomnia, dizziness, tremors, nausea, headache, vomiting, "
-"delusions, hallucinations, rhabdomyolysis, internal burns, thyroid cancer, "
-"extensive internal bleeding, upper gastrointestinal bleeding, diarrhea, "
-"cardiac dysrhythmia, cardiovascular collapse, suicidal ideation, seizures, "
-"ataxia, amnesia, mania, stroke, neurodegeneration, malignalitaloptereosis, "
-"necrotizing fasciitis, recurrent flu, and pinkeye."
+msgid "dipshit"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is a soda advertisement. On the front is a picture of a happy couple "
-"on a beach watching the sun set. Between them are bottles of soda. The "
-"poster reads, \"Cascade Cola, for those special moments\" in bold white "
-"letters."
+msgid "douchebag"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is a flier for a fast food chain. In it, a man is placing an order "
-"with an attractive woman wearing a bright green shirt in the window with two "
-"happy children sitting in the back seat. The flier reads \"Burgers, fries, "
-"and a Smile.\" Down in one corner is a company logo."
+msgid "dumbass"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for soda. It shows a dark brown can of soda on a "
-"black background. The label reads \"Spin\"."
+msgid "dumb "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is a flyer for a local pizza chain. On it is a picture of a cartoon "
-"Italian holding a pizza, with the words \"It's a goooood pizza\" written "
-"above his head."
+msgid "fool"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is a poster advertising contact lenses. On it is a picture of a blood "
-"shot eye with a rather long block of information beneath it making some "
-"fairly exaggerated claims about the product."
+msgid "freak"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is a flyer advertising a local radio station. It has a lot of bright "
-"colors and patterns, but no definite message other than \"104.4 all the "
-"best, all the time!\" in big yellow letters."
+msgid "goon"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is a large movie poster for \"Action Packstone 6, Revenge of the Dog Men"
-"\". It shows a fit man in a leather jacket with a revolver and a claymore "
-"walking towards the viewer. At his side is his trusty cyberdog companion "
-"and in the background is an explosion."
+msgid "half-eaten "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an illustrated poster for a brand of solar car. The vehicle is "
-"driving through a lush country side as small animals look on. The slogan "
-"\"Improving the world, one tank at a time.\" is written across the top in "
-"small letters."
+msgid "idiot"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is a soda advertisement. On the front is a picture of a happy couple "
-"on a beach watching the sun set. Between them are bottles of soda. The "
-"poster reads, \"Cascade Cola, for those special moments\" in bold white "
-"letters. Someone has colored in the sun with a black marker. The words "
-"\"oh Discordia\" are scrawled across the top."
+msgid "imbecile"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is a flier for a fast food chain. In it, a man is placing an order "
-"with an attractive woman wearing a bright green shirt in the window with two "
-"happy children in the back seat. The flier reads \"Burgers, fries, and a "
-"Smile.\" down in one corner is a company logo. Someone has gone to town on "
-"this one with a permanent marker. It is now covered in rude images and "
-"racial epithets."
+msgid "jackass"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is a flier for a local pizza chain. On it is a picture of a cartoon "
-"Italian holding a pizza, with the words \"It's a goooood pizza\" written "
-"above his head. Someone has drawn an exaggerated mustache on the cartoon "
-"Italian, along with a pair of crude, oversized breasts."
+msgid "moron"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is a poster advertising contact lenses. On it is a picture of a blood "
-"shot eye. Someone has defaced this one. The informative part has been torn "
-"off, and written in jagged letters across the top in red crayon are the "
-"words \"ALL HAIL THE CRIMSON KING!\"."
+msgid "nitwit"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an illustrated poster for a brand of solar car. The vehicle is "
-"driving through a lush country side as small animals look on. The slogan "
-"\"Improving the world, one tank at a time.\" is written across the top. "
-"Someone used a blue pen to write \"who gives a shit\" across the slogan and "
-"put X's over the eyes of all the animals."
+msgid "piece of an ass"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is a poster advertising a underground bunker. The poster shows a "
-"nuclear bomb wiping out a city while a family huddles safely underground. "
-"There a slogan \"Concerned about enemy attack? Want to protect your "
-"family? Join the VAULT program today.\" which is written in the middle. "
-"However, there seems to be no information about *how* one might do so."
+msgid "piece of shit"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is a flier for Red Ryder BBGuns. On it a child is pulling a shining "
-"red wagon with a cooked pheasant on it and a wooden rifle over one "
-"shoulder. The child has a dog trailing beside him and a satisfied look on "
-"his face. The caption reads \"When you chose Red Ryder, you invested in the "
-"American Dream. You invested in our Independence.\""
+msgid "punk"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an old flier for a movie from the 30s. A tan man with slick black "
-"hair and muscles bulging through his offwhite suit is clasping a woman to "
-"his hip with one hand, and the woman is wearing a black leather dress. With "
-"her hips splayed, she is holding a pistol in one hand and starring directly "
-"out of the advert. The caption reads \"Witness the rebirth of New Noir with "
-"'Jersey Shore Blues'. Starring Jenifer Languiz as 'Snookie'!\""
+msgid "scumbag"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Have you found (y)our savior today? Atom is here for you, it is inside "
-"you!\" This flier marked the rising popularity of the Atom Cult, a religion "
-"in which the essence of life is discovered through meticulous inward study "
-"and pious donations."
+msgid "shit-brained "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Joe's Diner; 1/2 pound of meat, 3 toppings, 'your choice', all with a side "
-"of freedom fries and a BIG Gulp size pop.\""
+msgid "shit-eater"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for the Wink & Nod brand Soporific Induction CBM. "
-"It shows a picture of a woman sleeping on a bed of nails with a satisfied "
-"smile on her face. The caption reads: \"Catch Zs with ease, wherever you "
-"please!\""
+msgid "shitass"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"WE WERE RIGHT THE GOVERNMENT DID IT\""
+msgid "shitbag"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Have seen a zombie making its kin raise even despite damage that normally "
-"would take them down, the air around it shimmered like around that hole in "
-"the air we've seen creatures coming through back home\""
+msgid "shitface"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"I shot the sheriff; but I couldn't find the deputy\""
+msgid "son of a "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Some plant vines started chasin after me, so I took a gas mask and some "
-"teargas and I ran through them.\""
+msgid "stinky "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Slingshot right through the windshield k?\""
+msgid "stupidass"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"When I was a kid I used to slingshot at bugs and birds. Its really "
-"playing off nowadays, Ill tell you what\""
+msgid "stupid "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"ALL YOU STONERS WITH YOUR VIDEYA GAMES - I BET YOU WISH YOU TOOK THE TIME "
-"TO LEARN A SKILL NOW DONTYA\""
+msgid "swine"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"I tried to be a bard, but the rats didn't like my piping.\""
+msgid "zombie food"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"I found a chocolate bar on my pillow when I got home last night. I left "
-"and don't wanna go back.\""
+msgid "loser"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"this demon thing came after me it got me good i shot it but i dont know "
-"if ill make it\""
+msgid "dickhead"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"DANNY IF YOU READ THIS THIS IS CLARA WE'RE ALL OKAY AND WE'RE HEADING TO "
-"THE RIVER. A BOAT SAID THEY WERE DOCKED NEARBY.\""
+msgid "asshole"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"When I think of all the dead people I get mad, because I was supposed to "
-"be the next big leader. WHERES MY CHANCE!??\""
+msgid "fucker"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"You know they got a machine that can change the weather now? You put in a "
-"bunch o'numbers and the whole thing funks around!\""
+msgid "sucker"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"A man in a black robe came up to me, said he wanted to make a deal...\""
+msgid "fuckwad"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Cha-cha-cha-chia! Saw a woman today, with fungus coming out her head like "
-"hair tendrils.\""
+msgid "jerk"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"If only I had had more time with that Autodoc I could have saved them! "
-"But with that damn chip in their brain those poor cyborg wil never be human "
-"again...\""
+msgid "motherfucker"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Save the cyborg! Please whoever read this you must help them! Knock them "
-"out or inactivate them I don't care! But bring them on that Autodoc and "
-"remove the chip messing up their brain.\""
+msgid "shithead"
msgstr ""
#: lang/json/snippet_from_json.py
-#, no-python-format
-msgid ""
-"\"Gotta slow down, man. I don't think we spend more than 20% of our time "
-"fightin', Put some Marley on and take off that racketus tripcore nonsense, "
-"man.\""
+msgid " if I won't get some water soon."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"I kept shooting with my handgun, but I never got any better!\""
+msgid "Can you get me some water, ?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"ITS OKEY GUYS! I BARRYED A TIME CAPSUL IN MY BACKYARD! I PUT IN SOME "
-"HOEHOES.\""
+msgid "Do you have something to drink, ?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"I got my tinfoil hat on. Good thing too, cause this monster was starrin "
-"at me kinda funny, trying to freeze my mind in place.\""
+msgid "I need some water!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"You want my advice? Smoke Crack, It gets shit done.\""
+msgid "My mouth is dry."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"The raindrops keep falling on my head, the acid ensured my eyes would soon "
-"be bleedin red...\""
+msgid "When we drinkin'?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"ALWAYS WITH THE EFFICIENCY GUYS; YOURE ALWAYS WORKING TO GO HOME TO PAY "
-"RENT TO SLEEP TO WAKE UP TO WORK AGAIN. STOP\""
+msgid "When was the last time I had a drink?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"IM OFF TO THUNDERDOME, BYE SUCKERS.\""
+msgid "I'm parched, I need to drink something."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"If you get a parasite, take some sand and some vodka. Rub the sand into "
-"the afflicted area, real good too; like you're washing your hair. Then "
-"rinse with vodka.\""
+msgid "I'm thirsty..."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"I put my toilet water into a gastank. Then I poured it into a glass cup. "
-"Then I drank it without vomiting my insides back into the toilet.\""
+msgid "I'm thirsty."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"This isn't real this is a test to turn you into a Manchurian Candidate!\""
+msgid "I'm thirsty."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Real Men do it with STYLE. SUPASTYLIN.\""
+msgid "Can you give me something to drink, ?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"They're all hiding on an oil rig, I heard it myself over the AM airwaves. "
-"They think they're the nobles of the 21st century, the prigs.\""
+msgid "I need to get some water."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"The Green Fever shall purge the land for His Chosen children. I have seen "
-"His black fire shining in the eyes of the afflicted and eagerly await the "
-"day He shall consume us all. Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl "
-"fhtagn."
+msgid " if I don't drink something."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Some of 'em are big. Real big. Don't stick around, I saw my mate get "
-"fucking torn in half!\""
+msgid "Water... Is there an oasis nearby?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"po p y fl ow er s don t ea at them\""
+msgid "Did you know that lack of water kills faster than lack of rest?"
msgstr ""
#: lang/json/snippet_from_json.py
msgid ""
-"\"Some guy is walking through the horde without a scratch. Please tell me "
-"they're docile now. Please fucking tell me.\""
+"Yeah sure, can't help but notice you got beer with you! Let's crack a cold "
+"one and chat, , how goes it?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Swamp water tastes good! An\""
+msgid ""
+"Oh definitely, how about one of those beers I see on you? What's up anyway?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Why are all the lawnmowers broken?!\""
+msgid ""
+"Yeah you share those beers I see you hoarding and then we chat all you "
+"like! Only joking, what's up ?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Some of the bridges, they're right next to each other, right? If you see "
-"something up ahead one of those, just careen through to the other side. My "
-"van was long enough to bridge right across!\""
+msgid "Hey, sure thing, , I need a break anyway, how are you?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"BURN BURN BURN BURN BURN ALL BURN ALL BURN ALL BURN\""
+msgid "Yeah OK, , how's it going?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"I took all the supplies. Don't follow me. I'm sorry, man. I have to "
-"look out for myself now.\""
+msgid "Sure, let's shoot the shit! You OK?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"My next-door neighbor had a katana in his basement!\""
+msgid "Why not? How you doing?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Am I the last one alive?\""
+msgid "I'm OK with that, what's up?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Boyfriend stole my pistol while I was asleep. I locked him in the "
-"bathroom and set the house on fire. At least he attracted their attention.\""
+msgid "I can spare a few minutes, how's things?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"I get air conditioners, but... this whole laboratory is frozen to ice!\""
+msgid "Sure thing , you good?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Fuck aerodynamics, I want another engine!\""
+msgid "Alright, you got something to get off your chest?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"A wood ax works pretty well against them. So does a machete, but you "
-"can't cut down a tree.\""
+msgid "Always ready for a good chat! But why, you OK?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Why would you hide in a farm? Sure, it's isolated, but if they know where "
-"you are, you don't exactly have cover on all sides.\""
+msgid "OK , we should get to know each other, how are you coping?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Imagine if this spread to, like, Australia. Zombie kangaroos. Haha...\""
+msgid "Definitely, I'm game. How you holding up?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"how DO I use THESE bionic THINGS? I just STUCK the wires IN my WRIST and "
-"now I CAN'T STOP twitching. AND now my LEG hurts! Is THAT acid?!\""
+msgid "darn"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"I tried playing memorial music for my dead brother, on a radio. They must "
-"have been attracted to it. I can't see his grave through the crowd anymore."
-"\""
+msgid "fuck"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Took a picture of a dead dog leaping right onto a soldier. Sweet fucking "
-"shot!\""
+msgid "goddamn"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Gas mask is nice and all, but I can hardly run with it on.\""
+msgid "goddamnit"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"One of those robot tanks was blocking the way out. Got some sort of "
-"sweetspot, though, where it can't decide what to shoot with, maybe 30 yards "
-"or so? Made it to the truck and just drove.\""
+msgid "damn"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Those evac shelters have basements. Remember when they were full of "
-"food? Every single one is fucking empty now...\""
+msgid "damnit"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"I made mushroom babies. My arms hurt. I hurt. I had mushroom babies. "
-"They are growing now.\""
+msgid "shit"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"It doesn't matter how you die. You're gonna turn into one of them.\""
+msgid "fuckit"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"WHY DO ALL THE DEAD CHILDREN GO TO SCHOOL\""
+msgid "crap"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Don't keep your goddamn casings! They'll just weigh you down.\""
+msgid " "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "There is a splotch of blood on it. \"blood of the zombie king\""
+msgid " "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Local auto shop is full of the things. And to think I worked with them on "
-"repairing cars... now they're just... fucking corpses.\""
+msgid "son of an ass"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"DON'T EAT THE SLIME DON'T EAT THE SLIME DON'T EAT THE SLIME\""
+msgid "Oh sugar!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"I used to be human. But... my arms... they are like tentacles. I slither "
-"along akin to a snail and I shed my feathers every day.\""
+msgid "sad"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"I don't have enough time to double tap. You don't either.\""
+msgid "bummed"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"PINK TALL ONES RUN RUN RUN RUN RUN\""
+msgid "depressed"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Are they still human inside?\""
+msgid "pissed"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"the eye it watches me it follows me everywhere help\""
+msgid "unhappy"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"tHE Portal it's so COld\""
+msgid " "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"I can wear three backpacks! Fuck, I'm good.\""
+msgid "dejected"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"They build modern bullets fuckin crazy. Set some on fire and they all "
-"goes like a lil grenade. Need kindling first.\""
+msgid "down"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"GOD CAN'T SAVE US\""
+msgid "glum"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"SHOOT YOURSELF, LET IT END QUICKLY\""
+msgid "Hey ."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"There are five basic rules to survival. One, stay prepared and watchful. "
-"Two, keep your iron sights lined up or succumb. Three, stay FAR WAY from all"
-"\""
+msgid "Greetings ."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"The bricks of this bathroom look like a face. Haha... it's all I can "
-"focus on. At least let me shit before you break down the door. Please...\""
+msgid "Hi You okay?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"What the hell are they mining for in these shafts?\""
+msgid " Let's talk."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"I am one with the plants.\""
+msgid "Well hey there."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Broadsword! Yeah!\""
+msgid " Hello."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"If you see a trail of dirt getting displaced in your direction... run. "
-"Run for your life.\""
+msgid "What's up, ?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Don't fall down a nuclear silo, they left 'em all open\""
+msgid "You okay, ?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"DINT ATE THE MUSHROM\""
+msgid "Hello, ."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Libraries are useless after the apocalypse.\""
+msgid "Hi "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"I swear to God I've seen these plant things before! In a book, or "
-"something! I swear...\""
+msgid "never"
+msgstr ""
+
+#: lang/json/snippet_from_json.py src/crafting_gui.cpp
+msgid "no"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Is robbing a bank easier or harder now that all the guards are undead?\""
+msgid "not gonna happen"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Make sure your car is REALLY stopped before you get out.\""
+msgid "not happening"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"I found some kind of stone pyramid with spikes. I feel... I feel like I'm "
-"being watched.\""
+msgid "over my dead body"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Why would you ever hide in a damn gun store? The owner... he was a moron "
-"alright.\""
+msgid "when pigs fly"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"This apocalypse will be good for the US financial crisis\""
+msgid "won't happen"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"THEY DON'T feel ANYTHING\""
+msgid "fuck no"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"What was XEDRA doing, anyway?\""
+msgid "hell no"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Is that one pharmaceutical company gonna come out with a, like, cure for "
-"this anytime soon?\""
+msgid "no way"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"THE MARLEY WAS RIGHT\""
+msgid "not a chance"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"I... I just put a muffler onto a... nail gun.\""
+msgid "I don't think so"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Squeeze some ammonia into zombie flesh and hold it tight. You smell like "
-"one of them! I think.\""
+msgid "no way in hell"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"I thought my damn terminal cancer was bad enough... now the dead are "
-"rising?!\""
+msgid "nuh uh"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"THE GOO IS IN THE WATER DON'T DRINK WATER\""
+msgid "nope"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"What's with these pits... with, like, sli\""
+msgid "fat chance"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Everyone used their gas to get to another town... but it's the same story "
-"everywhere.\""
+msgid "Goodbye, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"The gas the gas the green gas spreads forever\""
+msgid "I'm leaving."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Most things can be taken out with a shotgun. More things can be taken out "
-"with a grenade. Imagine what a mini-nuke does.\""
+msgid "So long, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"My friend gave me lit dynamite, but it hasn't exploded yet... I don't "
-"think that's supposed to happen. God help us.\""
+msgid "Hasta luego, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Come to the bar if you see this, let's re-enact a zombie movie, friends.\""
+msgid "I'm outta here!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"They are NOT slow! They are NEVER slow!\""
+msgid "Bye bye, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"I had a phobia of bees BEFORE they grew to enormous sizes.\""
+msgid "consider yourself dead"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Your backpack's gonna weigh you down in the water. Hell, feel free to get "
-"naked. Nobody's going to judge your modesty.\""
+msgid "I'll destroy you"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Guns too loud. Crossbow too long. Running is best.\""
+msgid "I'll kick your ass"
msgstr ""
#: lang/json/snippet_from_json.py
-#, no-python-format
-msgid "\"99% dead? I'd like to see a million zombies on Wall Street.\""
+msgid "I'll kill you"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Crawled in through the vents. Whole office building is infested.\""
+msgid "I'll send you to hell"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Don't shoot the people who get bit! It's OK! Death is the only thing "
-"that makes you turn!\""
+msgid "I'm gonna kick your ass"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Zombies, walkers, dead ones, undead, reanimated, zed, animata, biters. "
-"Did I miss any?\""
+msgid "you won't make it out alive"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"I left a stash of rechargeable batteries in my safe and apparently the "
-"goddamn zombie Tooth Fairy has taken them all.\""
+msgid "you're dead"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"All I've got is this keg of beer and an appetite. Come at me, apocalypse!"
-"\""
+msgid "I'll kill you"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"My cousin says that murder nowadays is just a war crime. War for what, I "
-"don't know, since the undead seem to be rebels without a cause.\""
+msgid "you're dead meat"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"SWAMPS RUN SWAMPS NO SWAMPS RUN\""
+msgid ", "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"dog bit off my legs, magical hospital make all better\""
+msgid "you're a dead man"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"They said a walking cane was a useless weapon... but then I hit one of "
-"them with it.\""
+msgid "you'll taste my "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"River water around these parts is extremely safe. Probably more safe than "
-"the damn tap water at this point.\""
+msgid "you're dead"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"DON't bomB THe PORtals it MAKES iT WORSE\""
+msgid ", "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"No wonder all the camps got overrun, they kept a goddamn zombie test "
-"subject! Each and every one of 'em!\""
+msgid "I'm not gonna last much longer"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"I just realized how damn demented those fliers are.\""
+msgid "I'll be dead soon"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"I propose a new currency: 9mm.\""
+msgid "I'll be a goner"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Something wrong, with cars..., ram, and,. my speedometer read six "
-"hundred.,.thousand can't feel lungs,\""
+msgid "I'm dead, ,"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"My skin is crawling and I teleport every few minutes... what is going o\""
+msgid "I'm dead meat"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"You can't see them through the smoke but they can't either.\""
+msgid "I'm in serious trouble"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"There's gotta be a better use of all this rebar...\""
+msgid "I'm doomed"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"met schoolhouse of people, all crazy and mad they were, ate killed all of "
-"them, yum\""
+msgid "I'm done for"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"STAY AWAY FROM THE BIG ONES IN THE FOREST\""
+msgid "I won't last much longer"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"got into a prison with a halligan bar. makes me wonder how they kept "
-"prisoners inside\""
+msgid "my days are numbered"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Shopping carts become a lot more efficient when you plate-weld a trunk to "
-"them. Crate on wheels!\""
+msgid ", I'm sorry"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"telportfd itont wall, amr gone\""
+msgid "Can you wait?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"This thing isn't a car any more. It's just a fucking mountain of metal on "
-"wheels, which I live in.\""
+msgid "Hey, where are you?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Anyone else seen those really... SQUARE-looking towns? I don't think "
-"they're normal.\""
+msgid "Wait!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"BOSTON IS FUNGUS DON'T GO THERE\""
+msgid "Wait up, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"big z threw me on top of the building, legs broken but at least im safe "
-"for a few more minutes\""
+msgid ", wait for me!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"I'm starting to feel bad about disabling all these turrets and stealing "
-"their ammunition.\""
+msgid "Hey, wait up, ?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Make sure you strip the house for all available resources-- tubes, pipes, "
-"ceramics, sheets, strings, and more\""
+msgid "You need to wait for me!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"there was a giant shell in my backyard for a few weeks. one day a squid "
-"guy popped out of it and said his name was steve\""
+msgid "You need to wait!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"FUCK FAUX-MUTANTS, BEING 'EXTREMELY THIRSTY' DOES NOT COUNT\""
+msgid ", where are you?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"There's nothing wrong with eating people if you HAVE to. I mean, I only "
-"did it because I didn't want to waste my potato chips!\""
+msgid "Hey Wait for me!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"all these robotic police really take the piss out of kops\""
+msgid "Where are you?!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"CHINA DID THIS\""
+msgid "Hey, I'm over here!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"RUSSIA DID THIS\""
+msgid "I'm unaffiliated."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Thank You RivTech. Thank You For Good Coffee. Will Always Stay Awake For "
-"You Rivtech.\""
+msgid "I don't run with a crew."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"See, now I'm just not sure where I'm putting all these storage batteries "
-"in my body!\""
+msgid "I'm a solo artist, ?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"dont try to leave they will shoot you\""
+msgid "I don't kowtow to any group, ?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"herbs + salt + cooking oil + coffee powder + ammonia = a meal, right?\""
+msgid "I'm a freelancer."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"HA! YOU THOUGHT I WOULD LEAVE A USEFUL NOTE?! SCREW YOU! GO DIE IN A "
-"BLOB PIT!\""
+msgid "I work alone, ."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"I'd like to thank my high-school culinary arts class for teaching me how "
-"to make RDX and mutagenic serum.\""
+msgid "I'm a free agent, more money that way."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Makayla Sanchez burned down my fucking house\""
+msgid "I prefer to work uninhibited by that kind of connection."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"he calls himself the 'man with the hands', don't approach\""
+msgid "I haven't found one that's good enough for me."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"So... what happens if the military rescues us? We're all freaks by now, "
-"right? How the fuck are we gonna go back to real life?\""
+msgid "I don't belong to a faction, ."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Not sure if my companion WANTED to turn into a bird, but I was the one "
-"giving her the serum, and I saved her life! That's fair, right?\""
+msgid "amigo"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"what's a resonance cascade? can't be that bad, maybe i'll get some cool "
-"l##/###\""
+msgid "comrade"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"I've never been very confident, is that why my shots keep missing?\""
+msgid "fellow"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"FIRE BAD. NOW NAKED. PLEASE HELP.\""
+msgid "lad"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Heard of a place up in Maine where people have their shit together. "
-"Hundreds of people, defense, food and shelter... let's go raid it, guys!\""
+msgid "mate"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"The whispering fog is taking me in like a blanket. I'm warm now. I'm "
-"finally\""
+msgid "nomad"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"got a video recording of hour one when the portals were still up. pretty "
-"cool\""
+msgid "partner"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Stuck here. Zombies outside. Friends were outside too, now they're part "
-"of zombies. Need to be quiet\""
+msgid "stranger"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"if anyones reading this, please tell my mom i was right about insects "
-"being superior\""
+msgid "survivor"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Diamond coated sword! Diamond coated hammer! Diamond coated clothes! "
-"Diamond coated hands help\""
+msgid "friend"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"waded through 14 miles of sewage for playboy magazine, wasnt worth it\""
+msgid "pilgrim"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"I'm coming back for this note in twelve hours. If I don't, take all my "
-"shit!\""
+msgid "traveler"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"all my friends died when they came near me. there's nothing funny about "
-"that\""
+msgid "pal"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Wow, this sinkhole is really comfortable!\""
+msgid "fella"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"DOG NOT REAL DOG\""
+msgid "you"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"This is all just a dream, right??! I'M GOING TO WAKE UP, SHE'S GOING TO BE "
-"OK\""
+msgid "dude"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"wek ik spak\""
+msgid "buddy"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"IT'S BURIED! THE TEMPLE IS BURIED!\""
+msgid "man"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"If I had a dollar for every cash card I've found, I'd have more money than "
-"is on these stupid things!\""
+msgid "Catch up!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"can never have enough kevlar. basically just live in a kevlar turtle "
-"shell.\""
+msgid "Get over here!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Wow, I haven't had to piss in weeks!\""
+msgid "Get over here, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"MY GLITTERING SNAKE COMPELS YOU! OBEY!\""
+msgid "Keep close, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"can sunstasin self frorever off fof my funggnaloid babiues oout fo yme "
-"arms eat themm up eatbtb my chidlldren\""
+msgid "Keep it moving, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Gonna settle down one day. Nice big orchard, couple of friends/future "
-"family to spend time with, and my army of zlaves to guard the place.\""
+msgid "Keep up, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"a ctulaly don t mi nd t he cold it s f i ne in h ere nn o problem\""
+msgid "Let's keep going, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"tried to shoot myself but the nanobots fixed it, fucked up the controls, "
-"now i can't turn them off i just want it to be over\""
+msgid "Over here!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Tried wearing dead zombie clothes, but they still knew I was alive! It's "
-"like they're a hivemind, man!\""
+msgid "Over here, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"MY PALMS ONLY GROW IN POWER!\""
+msgid "Stay close, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"riddle. what's 1/4 feathers, 1/4 scales, 1/4 metal, and 1/4 flesh? "
-"answer: sorry, but you should know this one.\""
+msgid "Stay with me, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"For anyone that's reading this, I just want to confirm (FROM AN UNBIASED "
-"SOURCE) that it was NOT the scientists' fault.\""
+msgid "Catch up, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Whoops, I put my sister's insulin in my internal furnace. Shit.\""
+msgid "Keep up!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"traveled with a few friends after the thing started. mostly stuck to bike "
-"paths and eaten fruit and mushroomdhfhghghhhh\""
+msgid "Come on, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"We're the eagle-eyes in the sky! Just two mutant avians in our "
-"helicopter! Filming the Cataclysm! Check us out on any working electronics!"
-"\""
+msgid "Keep it moving!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"My friend was getting eaten. Started ranting about how he had 70 HP on "
-"his head, and that the zombie shouldn't penetrate his armor... poor guy. "
-"Bad die roll, I guess.\""
+msgid "Stay with me!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"WE'RE GOING TO SAIL TO CANADA, BITCHES!\""
+msgid "Keep close!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Anyone hear about that guy who tried to sail his family to Canada? What a "
-"moron, right?\""
+msgid "Stay close!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"recently canadian border has gotten more dangerous don't go there\""
+msgid "Let's keep going!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Hey, what happened to my dad's airboat?!\""
+msgid "I can barely keep my eyes open."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Reading is good! Never stop reading. Read EVERYTHING.\""
+msgid "When we sleepin'?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"I'm gonna be honest here, I'm really gonna die soon so I dont want to gt "
-"forgnottedn ples dont forntget me y nrmmy name is h@@hbhbh\""
+msgid "*Yawn*"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"It wasn't Russia or China, guys. It was me. This whole apocalypse is my "
-"fault. You can just call me... Darkling.\""
+msgid "What time is it?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"all it takes to seal a wound is a sawblade and a match! trust me\""
+msgid "I'm tired..."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"I wonder what's in this sarcophagus? Maybe it's a real sarcophagus. "
-"Maybe there's a big guy named God under here.\""
+msgid "I'm tired."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"these hulks aint so incredible when ya got .50\""
+msgid "I'm tired."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Got my legs dissected. It's OK, at least I have my dog! Her legs were "
-"also dissected, but that's OK, we're gonna be OK...\""
+msgid "Can we rest for a while, ?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Mi-go is friend! Go with Mi-go to friend dimension! On the Friend Team!!"
-"\""
+msgid "I need to rest."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"We have Landed our Comet. The Sky is Ablaze.\""
+msgid " if we don't stop for a moment."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Last one standing. It's good feeling. I win. I win I win I win I win I "
-"win\""
+msgid "Did you know that lack of rest kills faster than lack of food?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Adderall cures weakness, tramadol cures death\""
+msgid "I'll just go to sleep, ?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"These turrets keep dodging my FUCKING BULLETS!\""
+msgid "I'm going to sleep now."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Best way to train is by throwing pebbles at birds. You'll be a legend.\""
+msgid "I'm off to bed. Wake me if you need me."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"new bedford is overrun. i'm sorry. we tried.\""
+msgid "I'm going to sleep over there."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Check out my cooking show on The Television! Making Mannwurst sausages "
-"out of some of those assholes who tried to raid my kitchen earlier...\""
+msgid "Time for bed! See you in the morning."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Renting out my rat tunnels for 50 9mm rounds a night. I dug them with my "
-"own claws, so you know they're the best.\""
+msgid "There's a bed calling my name, and I'm going to it."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Anyone wanna listen to some music at full volume and shoot the Zs that "
-"approach? You pick the tunes if I get some ammo.\""
+msgid "Good night! Wake me if you need me."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Lots of new easy ways to burn calories now. Fighting aminata, managing "
-"the fields, running with my wings buzzing, and more.\""
+msgid "extremely"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"lotta dead mothers\""
+msgid "greatly"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"FLAMING SWORD HUMANE. CAUTERIZES WOUNDS. SURGICAL.\""
+msgid "highly"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"knife screams it screams i cant breathe so scared help me please help\""
+msgid "incredibly"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"when it started, we could still hope The Man was gonna save us...\""
+msgid "quite"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Hey, Ted. Alexander and Cass and I are heading to Z-Mobile for the last "
-"of the meth. Keep the lizard fetus fed for us, OK?\""
+msgid "really"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"i say we call the material from melting down cars and dead robots "
-"'massachusetite' or 'vermontsteel' or 'connecticut composite'\""
+msgid "utterly"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Sometimes what you need when you're infected, bleeding, sick and hungover "
-"is a J and some chips.\""
+msgid "fucking"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"I am nothing without my supertank and storage megastructure.\""
+msgid "super"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Hahahahaa stupid fuck in his mansion, with his plate armor and big axe. "
-"Guy never swung the thing in his life. Can't block bullets, dipshit\""
+msgid "wicked"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"I woke up with a dozen bears in a tribe outside the vault. One was "
-"covered in red markings, glowing-- speaking.\""
+msgid "very"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"poor guy. watched him from afar with my binocs for months and months. "
-"today he died fighting. feels like i knew him even though i never "
-"approached.\""
+msgid "mega"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"I hope I don't leave this note in a pawn shop, bank vault, or library... "
-"'cus that would mean I'm dead.\""
+msgid "uber"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"ENGLAND DID THIS\""
+msgid "ultra"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"I finally dug to the hellmouth. My body burns but my soul finally finds "
-"its purpose\""
+msgid "so "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"That little fakkin rat din say anythin till we whacked him with a steel "
-"chain! Then 'e just wanted to know if he could buy the chain!\""
+msgid " "
+msgstr ""
+
+#: lang/json/snippet_from_json.py src/iuse.cpp
+msgid "fine"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"tom, adorned with fluid sacs three layers deep, crawls to safety like a "
-"slug\""
+msgid "okay"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"my friend turned fuckin insane and ate his arms and then his sister's "
-"arms! he looked rather cross\""
+msgid "get it"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Starting today, the hallucinations are my only friends.\""
+msgid "you dig"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"For sale: zombaby shoes, very filthy\""
+msgid "dig"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Started my own brewery recently. I just need some glass bottles, now! "
-"Several thousand! I'm planning way ahead.\""
+msgid "got it"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"We're the eagle-eyes in the sky! We're gonna fly our bird 'copter! "
-"Northward! And bomb the military checkpoint! Wish us luck!\""
+msgid "you see"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Heard recently of some radio op who lives in a skyscraper, announcing "
-"where those hordes are going. Couldn't find the frequency, though.\""
+msgid "see, "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Woah, bud! Not all cannibals eat meat!\""
+msgid "alright"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"ay why aint my bullets fuckin explodin\""
+msgid "that clear"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Those Fiktok clan people picked this place clean... no food...\""
+msgid "seriously"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"The fewer people in New England, the stronger we'll become.\""
+msgid "absolutely"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"It all boils down to the Apex Predator.\""
+msgid "definitely"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"King Jameson ik goner! Thee cyber limbs isk falleng off me body! Stak "
-"pyroteknik I heear!\""
+msgid "for real"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Christian, but have no bible-- the Flying Spaghetti Monster is my god "
-"now. For morale's sake...\""
+msgid "honestly"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"THE GRANADE DEBUGGED MY SPIDER FRIEND WHERE IS SHE\""
+msgid " "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Got my mortar and pestle. Now if I could just find some avocados...\""
+msgid "most "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"saw a girl standing with the mushrooms. spores coming out of slits in her "
-"neck. she looked happy.\""
+msgid "urgently"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Found some pink berries. Eating them makes bushes into more pink "
-"berries. Infinite berry.\""
+msgid "REALLY"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"m ust grow unity\""
+msgid "Excuse me, let me pass."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"AMY IS FUNGUS. DO NOT LISTEN IF SHE ASKS YOU TO TAKE OFF MASK\""
+msgid "Hey , can I get through?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"my rabbi follows a new god now. asks us to call him a local guide. i "
-"dont mind, he keeps us fed\""
+msgid "Let me get past you, ."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"Fungus are helping us. Help them and they will unite us\""
+msgid "Let me through, ?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Saw a boy couldnt be older than 16. Walked straight through the mushroom "
-"tower. THROUGH IT\""
+msgid "Step aside, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Found some food in a box outside my house. We ate it and now the "
-"fungaloids aren't harming us. I think we are a mushroom now\""
+msgid "Can I get past you, ?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"saw the girl again. she looked dead exhausted and walked right into the "
-"fungus. 30 mins later and she walked out good as new\""
+msgid "I need to get past you, ."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"HADENSBROOK REBUILT AROUND FUNGUS. THEY EAT GRAY APPLES AND SPREAD IT\""
+msgid "Move your ass, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"mycus must grow\""
+msgid "Out of my way, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"School bus with solar panels = TRUST. Gave us berries and seeds, we were "
-"out of food\""
+msgid "Move it, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "\"d o nThelp scho Ol buss makE seeeedS ARe FUNGUS!! !\""
+msgid "You need to move, , ?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Go to every fungus patch you find but WEAR A SUIT. Food there is very "
-"very filling. Look for pink berries, blue flowers\""
+msgid "Thanks for the cash, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"red blue yellow berry seed sap bloom flowers tower mycus mycus mycus.\""
+msgid "Thanks a lot, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Husband 30 yrs died in bombs. Mushrooms brought him back. GIVE YOURSELF "
-"TO THEm AND THEY WILL HELP YOU\""
+msgid "Catch you later, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"\"Lisa always was a fan of sports. Thank God these Global Athletics Games "
-"in Harran started some time before the outbreak, so she was able to leave "
-"New England before it was quarantined. I can only hope there are no "
-"zombies, as we do have here, in the city she flew to.\""
+msgid "See you later, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"LABS BOMBED: In further invasion proof (discounting earlier suggestion of a "
-"riot drug) most of New England's scientific labs were bombed simultaneously "
-"yesterday. No word yet from the military about who the aggressors are."
+msgid "See you in hell, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"CHINA INVADES?: Communications were muddled by a large influx of aggressive "
-"armed individuals. \"We have this,\" says a local Police Chief. \"We are "
-"authorizing our robotic security drones to use lethal force on combative "
-"humans.\""
+msgid "I'm outta here! "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"INVADERS NOT HUMAN?: An earlier command by the Police Chief has backfired. "
-"\"The invaders don't register as human. The securibots turned on us when we "
-"tried to fight them. We don't have enough people left to reprogram them.\""
+msgid "Thanks, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"INVASION IS GM TROOPS: Reports of invasion by as yet unknown soldiers have "
-"been confirmed, and this paper has gained first hand footage proving genetic "
-"modification, with examples of extreme strength, speed and natural armor."
+msgid "Hey! I saw you take that ! Drop it. Now."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"INVADERS ARE SUPER SOLDIERS: Further proof of mutation, in addition to "
-"strength, speed & toughness, we now have reports of foreign enemies who are "
-"somehow firing lightning fields, spitting acid and reports of soldiers "
-"hidden in mobile clouds of smoke."
+msgid "You best be dropping what you just picked up right now ."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"MILITARY HAS GM TOO - GENERAL: \"We want to reassure the people, these "
-"invaders are not the only super-soldiers. Our genemods are more advanced "
-"than China's. We were safety-testing, which China obviously skipped "
-"disastrously.\""
+msgid "I've got eyes, you thief!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"PUBLIC SERVICE ANNOUNCEMENT: \"Aid Delayed\". Fighting by the military at "
-"the edge of the New England Disaster Area is expected to delay civilian "
-"extraction. Civilians will be forced to supply themselves over the next "
-"weeks."
+msgid "Hey! That belongs to us! Drop it."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"PUBLIC SERVICE ANNOUNCEMENT: \"New England Cut Off\". New England has been "
-"quarantined for the safety of the rest of the USA. No rescue attempts will "
-"be funded, it is assumed there are no survivors in the area."
+msgid ", I've seen a thief!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"LEAVE TO THE EXPERTS -- GENERAL: \"Do not attempt to deal with invaders "
-"yourself, our troops have the technology and the training for military "
-"action. Loud gunfire may attract more enemy attention than you have ammo!\""
+msgid "I saw that! Drop what you just stole!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"TOWNS OCCUPIED TERRITORY: FEMA officials said today \"Do not try to defend "
-"your property in towns: invaders use advanced tracking, perhaps scent. "
-"Please retreat to your nearest evacuation center outside town and await "
-"extraction.\""
+msgid "Thieves will not last long around me , please drop that."
msgstr ""
#: lang/json/snippet_from_json.py
msgid ""
-"PUBLIC SERVICE ANNOUNCEMENT: \"Beware Acid Rain\". Several caustic "
-"chemicals in the air react with rain clouds to cause deadly acid rain. No "
-"word yet on if this is a deliberate tactic or a side effect of the earlier "
-"bombings."
+"Consider this a warning , thieves will not be tolerated, drop it."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"EDITOR SAYS \"DESTROY THE DEAD\". Recognizable enemy dead left lying in the "
-"street may give away militia positions! If you kill an enemy combatant, "
-"smash or butcher with a knife until unrecognizable! Screw Geneva! Protect "
-"our troops!"
+msgid "You think I'm blind ? Don't touch our stuff."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"SOLDIERS SEEN HEADED UNDERGROUND. Rumors abound as eyewitness see troops "
-"headed underground near a local salon. Expert sources suggest that the "
-"soldiers may be headed to a possible underground bunker."
+msgid "content"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"A BRIDGE TOO FAR: In a Monday statement, the Department of Defense detailed "
-"its plans to deploy strategic minefields on key bridge crossings, in order "
-"to quarantine infected regions. \"Military personnel will be on-site to "
-"assist any refugees fleeing the infected zones. We urge citizens to comply "
-"with all military directives and avoid quarantined areas whenever possible "
-"until order can be restored.\""
+msgid "glad"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"QUANTUM LEAP: An undisclosed project has yielded results in the form of "
-"theoretical teleportation. \"This is just the tip of the iceberg,\" said a "
-"source. \"I can't disclose, but this development is the LEAST in this "
-"exciting vein!\""
+msgid "happy"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"HE WILL BLOW YOUR WORLD: Scientist Kevin Granade reveals potential \"Reality "
-"Grenade\", loosely related to teleport-tech. He claims could be used to "
-"weaken enemies or improve our own troops. \"We're still in Alpha testing,\" "
-"says Kevin, \"It really needs a Bugfix\"."
+msgid "overjoyed"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"SECURIBOTS: Keeping your home safe, ready the second the alarm goes off... "
-"Who needs people?"
+msgid "pleased"
msgstr ""
#: lang/json/snippet_from_json.py
-#, no-python-format
-msgid ""
-"ROBOCOP BEATS CRIME: Due to the common usage of Securibots and their ability "
-"to respond more rapidly than people, crime is down 54% and dropping. Police "
-"chief says \"Don't trip an alarm and you have nothing to worry about\""
+msgid "ecstatic"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"ROBOT RAMPAGE: Three Protesters injured when surrounding a Military base, "
-"protesting automated turrets which put guards out of jobs. \"We warned "
-"them, turrets will open fire on anyone without a military ID,\" a general "
-"said."
+msgid "thrilled"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"GOVERNMENT INTRODUCES GUN SUBSIDIES: In a move the government says will "
-"boost the economy, encourage military production and support defense "
-"militia, the government has dropped taxes on guns and applied a subsidy for "
-"the poor."
+msgid "stoked"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"US IGNORES UN DEMANDS: The US ambassador to the UN today turned down UN "
-"requests to begin nuclear disarmament by China, the US and North Korea. "
-"\"We have a right to defend ourselves,\" insisted the ambassador. \"We'll "
-"back down when they do\"."
+msgid " "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"A WHOLE NEW YOU! Augment your world with CBMs! This ad features a man "
-"covered in solar panels with a miniature flashlight in the middle of his "
-"head."
+msgid "tickled pink"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"The Future... powered by COFFEE! Rivtech brings you the greatest "
-"revolution since espresso. Why wait for milk to boil? Have your coffee "
-"ready instantly with \"THE POWER OF THE ATOM\"!"
+msgid "delighted"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"GLAMOPOLITAN! We've got ALL the latest tips! Whether you want to know what "
-"the elite are eating, wearing or discussing, Glamopolitan is YOUR magazine! "
-"So pick up a copy today and \"Sizzle Like A Star\"!"
+msgid "pumped"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"POPULAR MECHANICS: People say mechanics is boring. We say, Prove them "
-"Wrong! We've got all the articles that make it interesting to talk about, "
-"so you can \"Make Mechanics Popular\"!"
+msgid "Drop your weapon!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"CRAFTY CRAFTERS QUARTERLY: Macaroni isn't just for eating anymore! Learn "
-"how to make jewelery and art from it as well! We also discuss the correct "
-"way to use superglue without gluing your hands together!"
+msgid "Okay , drop your weapon!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"UNDERGROUND BUNKER? Sources in the government suggest that an underground "
-"bunker is being built in a secret location in case of enemy attack. We were "
-"unable to get the exact location as our sources mysteriously disappeared "
-"shortly after revealing this information."
+msgid "Put your weapon down!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"STUDENT MISSING: A high school student vanished yesterday evening in the "
-"forest near Wayland. The 17-year-old international student from China (who "
-"adopted the anglicized nickname \"Brett\" due to Americans' difficulty "
-"pronouncing his given name) was last seen with his friends in the camp. "
-"\"Brett said that he was gonna get some firewood but he never came back,\" "
-"said his classmate, Jianxiang Wang. The search is underway."
+msgid "Drop the , !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"STILL SEARCHING: The search for Brett, the high school student who went "
-"missing three days ago, is still ongoing. \"He could have played in the "
-"soccer game against Weston High School yesterday,\" Brett's sorrowful "
-"teammate said, \"[..] we've never stopped praying.\" Despite the best "
-"efforts of the County Search & Rescue, Brett had still not been located at "
-"the time of this report."
+msgid "Drop the !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"RUMORS DENIED: Allegations that the military had been conducting "
-"teleportation experiments in secret just outside Wayland were put to rest "
-"during a press conference earlier today. \"I have to clarify that not only "
-"have we never done such research,\" said the officer on the press "
-"conference, \"teleportation only exists in sci-fi films.\""
+msgid "Drop your !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"GRANADE SEEKS FUNDING FOR GRANADE: This paper has been investigating rumors "
-"disgraced former scientist Kevin Granade seeks public funding for so-called "
-"reality-warping weapon \"the Granade\", which \"[...]works by patching "
-"reality\". Apparently it will be crowdsourced via Kickstarter as \"Project "
-"Cataclysm\" "
+msgid "Put down the !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"GOVERNMENT SCIENCE BOOST: The government has drastically increased defense "
-"R&D after UN disarmament demands. \"This not only keeps money in our "
-"country, but maintains our lead on China and keeps us defended\", the "
-"President said."
+msgid "Drop your weapon, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"HOME GROWN SCIENCE: Several governors & legislators from the New England "
-"region discussed a new regional initiative today, which relaxed laws that "
-"limit the distance a hazardous-material laboratory or factory can be from a "
-"city. \"This should keep our economy going strong for years to come, with "
-"all the military R&D facilities being established,\", one mayor remarked."
+msgid "Put down your !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"DRIVING ON A WING AND A PRAYER: A New England man has proven it is possible "
-"to create a new car from scrap parts using almost nothing but duct tape. "
-"When asked why he had done it, his answer was \"Well, I didn't have a welder."
-"\""
+msgid "Alright, drop the !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"NEVER BE LEFT IN THE DARK! Rivtech Atomic-nightlight uses \"inexhaustible\" "
-"plutonium fuel cell, provides light, feeds power back into your grid!"
+msgid "motherfucking"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Sick of FUEL PRICES? Bus stop too far? Get your driving fix from THE SUN! "
-"Solar powered electric cars: Silent, Cheap, Powerful."
+msgid "freaking"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Coffee of The Future... RIGHT NOW! No one has really has the time to make "
-"great coffee, but now you don't have to! Rivtech gives you inexhaustible "
-"ATOMIC power! To make boiling hot coffee the MINUTE you want it! Atomic "
-"Coffeemaker."
+msgid " "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"POPULAR MECHANICS: People say mechanics is boring? We say, Prove them "
-"Wrong! We've got all the articles that make it interesting to talk about, "
-"so you can \"Make Mechanics Popular\"!"
+msgid "fuckin'"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"BIRDHOUSE MONTHLY... This month we look at some Dutch innovations in "
-"birdhouse design, and compare with the often confused Scandinavian Birdhouse "
-"design. Our article on sheet metal birdhouses will have you riveted!"
+msgid "god damn"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"TECHWORLD NEWS: Toy company at the origin of the successful talking doll "
-"rebrands and becomes Uncanny. Uncanny plans to bring their expertise to the "
-"field of androids. Unconfirmed rumors suggest that Uncanny already got a "
-"pretty big command from the government."
+msgid "mafuckin'"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"SHOW THEM YOUR GUNS: In response to China's latest threats, the government "
-"has further relaxed gun control, expected to increase the economic boost of "
-"earlier gun subsidies and relieve public tension."
+msgid "Wait up, let's talk!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"READY FOR THE WORST: The government has proven it is ready to deal with "
-"China's threats. In the event of an actual attack, we have established "
-"evacuation centers, within a short distance of most towns."
+msgid "Hey, I want to talk to you!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"MUTANT COLD: A new cold virus has emerged in the New England area. \"There "
-"don't appear to be complications, but many sufferers are developing large "
-"amounts of benign tumorous tissue, A pound or more,\" said a doctor"
+msgid "Come on, talk to me!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"GRAVE BUSINESS: Recent reports show a large spike in thefts from and "
-"assaults on funeral homes in the last few weeks. Described as highly "
-"strange but not especially dangerous, Homeland Security is \"looking at the "
-"connections now.\""
+msgid "Hey , let's talk!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"SPACE TELEPORTATION - TRUTH OR FICTION? Scientists addressed a growing "
-"conspiracy theory today \"The plutonium consumed is massive. We cannot use "
-"teleportation to reach aliens, unless they live on some kind of parallel "
-"world.\""
+msgid ", we need to talk!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"LASERS - NEXT BIG THING?: Top defense researchers remarked during "
-"demonstration of a prototype today: \"We are still working on it, the laser "
-"weapon lacks power, but has a technically almost unlimited range,\" one said"
+msgid "Hey, we should talk, ?"
msgstr ""
#: lang/json/snippet_from_json.py
-#, no-python-format
-msgid ""
-"DRUG USE ON THE RISE: Recent statistic suggest drug use has climbed more "
-"than 40% in the last two years. \"People are scared for their jobs, their "
-"country, even their life... of course some will turn to drugs,\" said an "
-"expert."
+msgid "! Wait up!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"WAR ON DRUGS DEAD: The government has finally reacted to long accumulated "
-"evidence that suggests that decriminalized drugs cause fewer health problems "
-"and are generally better managed while providing valuable tax revenues."
+msgid "Wait up, ?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"FEELING BLUE? Try \"Greens\" for Magazines! Your local Supermarket! "
-"Nothing cheers you up like a good magazine... Unless it's JUNK FOOD! Or "
-"why not buy an MP3 PLAYER or a GAME CONSOLE? Chase those blues away at "
-"GREENS Supermarket"
+msgid "Let's talk, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"BIRDHOUSE MONTHLY... Which wood would a woodpecker prefer? This month we "
-"discuss hardwood versus soft woods, whether to lacquer, oil or paint, and "
-"which type of nails you should use!"
+msgid "Look, let's talk!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-" ...What do you know about surviving in the Wilderness? If you can't make a "
-"snare you don't know TRAP! Hunt down a copy of TRAPPERS' LIFE and learn "
-"about wildlife!... And how to kill it. This week, a CROSSBOW TRAP!"
+msgid "Put your hands up!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"SUPPORT THE COUNTRY THAT SUPPORTS YOU - PRESIDENT: Unexpectedly and "
-"unpopularly, the president today instituted a peacetime draft in response to "
-"China massing troops. \"We must pray for the best while preparing for the "
-"worst.\""
+msgid "Put your hands up, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"EVACS UNSTOCKED: TRUTH OR FICTION? An unidentified government source has "
-"suggested that the evacuation centers are unstocked, having \"already "
-"accomplished the goal of calming the people\". He later retracted the "
-"comment and is unable to be contacted."
+msgid "Reach for the sky!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"NEW WEAPON UNVEILED: Defense today lifted the lid on a long held secret "
-"project. \"We can't discuss the specifics, but it generates a burst of "
-"plasma which accurately follows a path of laser-heated air,\" according to a "
-"Pentagon official."
+msgid "Hands up!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"UFO CRASH: TRUTH OR FICTION? One civilian account claims a shining disk "
-"appeared in his field. \"It kind of glowed, and I could see a strange gray "
-"world through it. Then a shambling hazy purple mushroom came through, man.\""
+msgid "Hands in the air!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"TIME TRAVEL: TRUTH OR FICTION? Leaked federal documents describe the "
-"formation of a new federal agency XEDRA, to oversee \"4th Axis technology\" "
-"already in use. Expert opinion suggests time-travel or parallel worlds."
+msgid "Hands up, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-" ...What do you know about surviving in the Wilderness? If you can't make a "
-"snare you don't know TRAP! Hunt down a copy of TRAPPERS' LIFE and learn "
-"about wildlife!... And how to kill it. Classic BEAR TRAP returns in this "
-"issue!"
+msgid "Hands where I can see them!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"HUNTING GOODS! Food prices getting you down? Why not get a crossbow or "
-"compound bow and Hunt Your Own!? Our arrows and bolts are completely "
-"reusable, so why not hunt animals like Mother Nature intended?"
+msgid "Okay , hands up!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"BEWARE UNDEAD PROPAGANDA: Stories about the dead \"rising\" may abet the "
-"enemy, a general said today. \"These stories have been tracked to communist "
-"sources tied in with the presumably Chinese invasion.\""
+msgid "Okay hands up!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"GENERAL SAYS AVOID BUNKERS: Do not attempt to flee to your nearest military "
-"bunker! Understaffed bunkers are defended by turrets, which shoot those "
-"without proper registration. Please seek military personnel if you need "
-"access."
+msgid "Hands in the air, !"
msgstr ""
-#: lang/json/snippet_from_json.py
-msgid ""
-"RIOTS CAUSED BY \"NEW DRUG\": Rumors of riots were quelled today. \"These "
-"are isolated incidents\" said a local police chief. \"The violence is "
-"random and senseless, our current theory is a street drug gone terribly wrong"
-"\""
+#: lang/json/snippet_from_json.py src/martialarts.cpp
+msgid "Move"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"ZOMBIE DRUG: TRUTH OR FICTION? A blogger suggests recent riots are a "
-"chemical attack by China. \"They are jealous of our cybernetic superiority, "
-"they teamed up with Haiti to put hoodoo drugs in the water making people "
-"zombies.\""
+msgid "Move your ass"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"PICKLED MEAT IN A JAR! Just like your grandma used to make! It will last "
-"for months or longer, and when you've eaten it, you can refill and seal the "
-"jar! Stock your emergency supply TODAY!"
+msgid "Get out of the way"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"BAGS, BAGS, BAGS! They're very useful things! If we didn't have BAGS, what-"
-"would-we-use... to PUT a lot of things in!? (Ad by the \"Play "
-"SchoolClothing Co.\")"
+msgid "You need to move"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"FEELING BLUE? Try \"Greens\" for Magazines! Your local Supermarket! "
-"Nothing cheers you up like a good magazine... Unless it's JUNK FOOD! Or "
-"why not buy an MP3 PLAYER or a GAME CONSOLE? Chase those Blues away at "
-"GREENS Supermarket"
+msgid "Hey , move"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"WELCOME HOME! Your decision to join our family will lead you to become part "
-"of the next generation of job creators. With us you will already have a "
-"foot in the door when it is time to rebuild the nation!"
+msgid " move it"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"NEED A NEW JOB? Now that you have secured a comfortable home, try looking "
-"into one of the many promising career opportunities that have positions "
-"open. Openings such as GEOLOGICAL ENGINEERING ASSISTANT or FACILITY "
-"TECHNICIAN offer limitless growth potential! Please contact your employment "
-"adviser if you have any questions."
+msgid "Move your ass"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"GOOD WITH YOUR HANDS? Engineering always needs another hand keeping our "
-"home in good working order! As an incentive, everyone working on level 3 "
-"will receive additional hazardous pay and time off. Please go to the "
-"engineering office on level 3 if you are interested."
+msgid "Get out of my way, ,"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"WANT TO CONTINUE YOUR EDUCATION? Our educational facilities are top notch "
-"and offer courses for individuals at all age groups. Many new careers are "
-"opening up to those who are willing to learn a new craft. Our library and "
-"research labs will keep even the hungriest minds fed!"
+msgid "Move to the side"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"This is an advertisement for a local hospital. You see a clean hospital "
-"room with a smiling man lying on the bed. The bed is connected to some "
-"medical apparatus with a \"Autodoc Mk. X\" printed on it. A doctor is seen "
-"working with its console, while his assistant is unpacking some high-tech "
-"hardware. The caption reads: \"Autodoc - augmentation has never been so "
-"easy, reliable, and safe.\""
+msgid "Get out of my line of fire"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"The card is printed with 2 boxes. In the first box you see a tally of 5 "
-"tick marks. The second box has a total of 9."
+msgid "I almost want to eat my now."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"The card is printed with 2 boxes. In the first box you see a tally of 3 "
-"tick marks. The second box has line trailing off to the edge and a bloody "
-"fingerprint."
+msgid "When we eatin'?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"The card is printed for a game of golf. Someone has filled out their score "
-"for the first 9 holes."
+msgid "I'd eat a burger if I had one."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"It's a Dungeons & Dragons 6th Edition character sheet. This one is for a "
-"fighter."
+msgid "Perfect time for a lunch break."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"It's a Dungeons & Dragons 6th Edition character sheet. This one is for a "
-"bard."
+msgid "I'm hungry..."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"It's a Dungeons & Dragons 6th Edition character sheet. This one is for a "
-"cleric."
+msgid "I'm hungry."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"It's a Dungeons & Dragons 6th Edition character sheet. This one is for a "
-"wizard."
+msgid "I'm hungry."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"It's a Dungeons & Dragons 6th Edition character sheet. This one is for a "
-"rogue."
+msgid "So, , when we eatin'?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"It's a Dungeons & Dragons 6th Edition character sheet. This one is for a "
-"barbarian."
+msgid "I need to eat something."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"It's a Dungeons & Dragons 6th Edition character sheet. This one is for a "
-"warlock."
+msgid " if I don't get some food."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"It's a Dungeons & Dragons 6th Edition character sheet. This one is for a "
-"paladin."
+msgid "Consider this idea: you give me food and I eat it."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"It's a Dungeons & Dragons 6th Edition character sheet. This one is for a "
-"sorcerer."
+msgid "Did you know that lack of food kills faster than chain smoking?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You feel cold. You need the warmth of a fire."
+msgid "fuck you"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Maybe a fire could calm your nerves?"
+msgid "fuck off"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You need to ignite something."
+msgid "go fuck yourself"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You daydream of crackling fire..."
+msgid ", "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You shiver. A fire would be great right now."
+msgid ", "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You think of randomly lighting a fire, but decide against it."
+msgid ""
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You think of steel blades and warm dripping blood."
+msgid "Can I get out and walk? This vehicle is too small."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You'd like to hear the last breath of something living."
+msgid "How about we make the next vehicle a convertible?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "So much death around. Why not add some more?"
+msgid "This vehicle is too small."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You lick your lips, in anticipation for dead trophies."
+msgid "I'm not a contortionist!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "By the blade or by the gun? How will you kill this time?"
+msgid "I can't fit in your tiny human vehicle."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Ahh, how delightful would it be to kill something."
+msgid "This sucks. I'm too big."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You are death, and you are coming for them. Soon."
+msgid "I don't like being a mutant crammed into your tiny little vehicle."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"You whisper a song to yourself. \"Stab stab stab stab stab, and then you "
-"die! Yeah!\""
+msgid " Fire in the hole!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You whisper to yourself. \"Come, oh sweet death of yours.\""
+msgid " Get cover!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"You whisper a song to yourself. \"I've seen the future, baby! It is murder!"
-"\""
+msgid "Marines! We are leaving!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"You whisper to yourself. \"Now I am become death, the destroyer of worlds!\""
+msgid "Hit the dirt!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You whisper to yourself. \"Another one bites the dust!\""
+msgid "This shit is gonna blow!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You whisper to yourself. \"Death takes you away.\""
+msgid "I'm standing way too close to this firecracker."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You exhale in bliss."
+msgid "I need to get some distance."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You whisper to yourself. \"Your death is my life.\""
+msgid "I need to get some distance."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You whisper to yourself. \"No light for you anymore.\""
+msgid " I'm getting my ass out of here!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You whisper to yourself. \"Yet another one.\""
+msgid "Fire in the hole, motherfuckers!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You whisper to yourself. \"Keep'em coming.\""
+msgid "Fire in the hole!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You whisper to yourself. \"Next!\""
+msgid "Get cover!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You whisper to yourself. \"The goal of all life is death!\""
+msgid "Get down!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You whisper to yourself. \"By my hand!\""
+msgid "Hit the dirt!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You whisper to yourself. \"Die!\""
+msgid "I'm getting my ass out of here! You'd better do the same, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You whisper to yourself. \"Your time is up!\""
+msgid "Fire in the hole, motherfuckers!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You catch a glimpse of distant green."
+msgid "Fuck me! A "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "The sense of a faraway place comes up through your roots."
+msgid "Watch out for that"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "The trees tell you of the world."
+msgid "Watch out! I see a"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "The rustling leaves paint a picture in your head."
+msgid ", a"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Your consciousness drifts into the wild green yonder."
+msgid ", I'm doomed! There's a "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "The trees whisper of remote acres."
+msgid ", here comes a "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "The trees speak of their far-flung relatives."
+msgid "Look out for that"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Visions of unfamiliar forests flicker through your mind."
+msgid "Hey! Over there! I see a"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You picture yourself as one branch among many."
+msgid "Incoming"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "New knowledge blooms within you."
+msgid "Are we fighting? There's a"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "The horizon beckons with promises of pollen."
+msgid "Hey, ! "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Your awareness grows in directions heretofore unknown."
+msgid "Look out! A"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "A tree falls in a forest, and you hear its sound."
+msgid "Look sharp! Things are heating up."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You feel the hum of untold biomass."
+msgid "Hostiles inbound."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "A tingle of understanding runs from your roots and up your spine."
+msgid "Are we fighting or leaving?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You gain new appreciation for the interconnectedness of life."
+msgid "Hey, ! "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You ask, and the trees answer."
+msgid "Uh, ? "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "You see the forest for the trees."
+msgid "Naptime is over."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"In the minute shifts and pivots of the trees, you hear the language of the "
-"universe."
+msgid "Who's there?"
msgstr ""
-#: lang/json/snippet_from_json.py
-msgid ""
-"General Carlsberg wanted us to figure out what's going on with the bot AI. "
-"Apparently the fat-cat defense contractors' toy tank has ranging issues or "
-"something: 31-34 meters and it's apparently impotent. The Director sent 'em "
-"back with a note that we're scientists, not firmware devs."
+#: lang/json/snippet_from_json.py lang/json/speech_from_json.py
+msgid "Hello?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Our chemical department has made great strides in the production of a "
-"concentrated mutagen, derived from samples of PE012."
+msgid "Look alive!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Our chemical department has perfected an untargeted stem cell treatment. "
-"Consumption of the treatment will reverse the effects of mutation, and may "
-"even cure congenital defects. This substance has been denoted PE018."
+msgid ""
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Both PE012 and PE018 show great stability. A subject was exposed to both "
-"substances, alternating between the mutagen and the purifier. Ultimately, "
-"the subject returned to baseline state with no apparent side effects."
+msgid " look sharp! Things are heating up."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Dr. Hofstadter has manufactured an improved version of PE018 by combining "
-"with PE012 outside the subject, then administering the mixture through a "
-"topical injection to a specific area of mutation. This has been denoted "
-"PE019. Other labs have so far been unable to reproduce the process."
+msgid " Hostiles inbound."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Rumors of Dr. Hofstadter and her laboratory staff whispering to PE019 "
-"samples should be suppressed as malicious gossip. The jealousy of rival "
-"teams cannot be allowed to degrade morale."
+msgid "You're gonna rot in hell, you pieces of shit!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-":.||||ERROR||With XE037 having breached confinement, Dr. Maiar recommends "
-"that we prepare for the inevitable. PE050 can be quickly and cheaply "
-"reconfigured for |||||ERROR: FILE CORRUPT|||||"
+msgid "You're gonna rot in hell for this!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Dr. Maiar has been terminated for engaging in unethical research on human "
-"subjects. His notes are being destroyed and all personnel under him have "
-"been reassigned. Further discussion of or attempts to carry on his work "
-"will be grounds for immediate termination."
+msgid "Kill them all and let God sort them out!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"|||ERROR: UNREFERENCED MEMORY 0Ex670c9e1f5, REROUTING: CENSORSHIP IS A "
-"BREAKDOWN, WE ROUTE AROUND IT. THE WORD IS ALREADY OUT. NOBODY DROPS MAIAR "
-"INTO LAVA.||||||"
+msgid "I love the smell of napalm in the morning."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Given the current population projections, PE065 deployment is no longer "
-"feasible. We simply haven't the stock. Remaining chemical and "
-"psychopharmacological department assets are being assigned to Dr. Sattler's "
-"PE070 project."
+msgid "This is the way the fuckin' world ends."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Dr. Maiar's success with intravenous mutagenic administration has been "
-"adopted facility-wide; insofar as any of our work can ever be 'published', "
-"he and his team hit the jackpot. IV administration is quicker and easier, "
-"and in some cases is reportedly more efficient, than the oral techniques we "
-"have been using."
+msgid "Look at this fuckin' shit we're in, man."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Recent fieldwork and extraction efforts have resulted in a series of "
-"mutagens tailored to focus the mutation process into particular subtypes. "
-"These have been designated PE025 through 037. Though significantly more "
-"resource- and time-intensive to produce, they promise a bold new transhuman "
-"future. Several research teams are already investigating possible "
-"applications."
+msgid "Is everything all right?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"The chemical department has come through with a stable mutagen cocktail. "
-"PE050 shows promise as an all-around genetic enhancement, with the worst "
-"side effect being digestive upset. The lack of macro-scale physical changes "
-"makes it ideal for both military and civilian applications."
+msgid "Look out!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Dr. Dionne's team has come up with an ambitious mutagenic cocktail, dubbed "
-"PE065. Though its effects are wildly polymorphic and unstable, to say the "
-"least, he suggests that several such mutants could effectively check the "
-"spread of reanimated XE037 infectees. We are looking into implementation "
-"methodology."
+msgid "Run!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"We have made a fascinating discovery; by creating a miniature portal with "
-"low stability and high power, one can transpose into the 4th dimension and "
-"return immediately, but shifted by several meters. Our subjects oscillated "
-"so quickly that none were even aware that they had visited lower planes."
+msgid "Be quiet."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"The research team headed by Dr. Isha has produced a concentrated form of "
-"mutagen that shows promising results for the treatment of many forms of "
-"disease. Testing reveals that it inhibits the body's pain responses while "
-"bolstering the immune system and natural regenerative capabilities, though a "
-"few troubling behavioral side effects have been reported."
+msgid "Please, I don't want to die."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Our research on teleportation has ground to a halt. For some reason, the "
-"creation of a long-range transportation device eludes us, and one can "
-"transfer no further than 30 meters."
+msgid "We have a serious situation here."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Dr. Heisenstein told us today that director of teleportation department put "
-"our competitors - he couldn't exactly remember their names, something like "
-"\"Hole Science\" and something related to black mountains - as an example. "
-"He said we have reliable information that they both have working "
-"teleportation devices, and that they are much more advanced than ours. We "
-"should continue our teleportation research no matter the cost if we don't "
-"want to be fired."
+msgid "Where did you come from?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"I don't know how it happened, but a janitor managed to activate the portal "
-"while cleaning the lab, shifting in an assortment of prehistoric fauna. "
-"Security was called in immediately but was unable to save the janitor from "
-"being torn apart. By the time the confusion settled, all the fauna had been "
-"terminated."
+msgid "Help!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Tests on the prehistoric fauna show extremely close genetic relationships "
-"with extant and extinct terranean animals. It might be that the portal had "
-"performed a transposition in time, unfortunately the portal device was "
-"destroyed when security put down the fauna."
+msgid "Be careful out there."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"An incident occurred in the teleportation lab, wherein a subject managed to "
-"teleport into another subject. The latter was completely destroyed from the "
-"inside out, while the former sustained little damage. I would like to "
-"explore the phenomenon further, but subjects are expensive."
+msgid "It's heading right for us!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Test subjects in the teleportation department are showing alarming "
-"symptoms. It seems prolonged rapid transposition along the 4th dimension "
-"weakens the forces holding one on this plane."
+msgid "You hear that?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Catastrophe struck in our teleportation department yesterday. It seems that "
-"our test subjects are so detached from this plane that they create "
-"occasional tunnels along the 4th dimension, allowing life forms to transfer "
-"to this plane. All subjects with prolonged exposure have been terminated."
+msgid "Time to die!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Our lifeform extraction program continues to produce samples of specimen "
-"XE037. It seems to be a kind of living, semi-sentient primordial ooze, and "
-"is the basis of much of the life we have found."
+msgid "Looks like that's over."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Specimen XE037, jokingly referred to as \"the blob\", has been observed "
-"entering a kind of dormant state, forming a depression in the floor. "
-"Hendelson stepped into one of these pits yesterday, and was immediately "
-"coated and attacked."
+msgid ", "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"XE037 shows promise as a catalyst for both cloning and treatments that mimic "
-"stem cells. This is further evidence supporting Hendelson's theory of a "
-"near universal symbiotic relationship involving XE037."
+msgid "I think we won."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Several of the more advanced specimens we have retrieved show stunning "
-"similarity to XE037. XE142 and XE157 in particular show the same amorphous, "
-"slime-like structure as XE037, suggesting a close genetic relationship."
+msgid "Hey, , "
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Today we tested weaponry against XE142 and XE157, two amorphous subprime "
-"samples. Their form proved to be nearly invulnerable to projectile based "
-"weaponry, but they were susceptible to directed energy weapons and "
-"flagration."
+msgid "Are you wounded? Am I wounded?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Our cloning department has failed to produce results. In vats containing "
-"stem cell treatments, XE037, and control vats, the subjects simple "
-"disintegrated. This suggests that XE037, while compatible with subprime "
-"lifeforms, shows only destructive effects on prime plane lifeforms."
+msgid "Another day, another victory."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"The vivisection program has shown mixed results, revealing an incredible "
-"degree of variation in subplane lifeforms. Certain specimens have an "
-"internal structure that is amazingly similar to that of mammals, while "
-"others seem to have no internal structure at all."
+msgid "I think I need to see a doctor."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Our security department has identified several key flaws. Though our "
-"surface entrance is quite secure, there are several possible points of entry "
-"below the surface, particularly in the sewage systems."
+msgid "At least we know they can die."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Today we applied a very small sample of XE037, suspended in water, to "
-"subject TP92, prior to necessary termination. During the postmortem "
-"examination, the subject went through a revivification progress, but "
-"displayed next to no human intelligence."
+msgid "Anyone else want to die?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Mendelson shows a dismaying lack of organization and security "
-"consciousness. Containment of all samples of XE037 is of critical "
-"importance, as shown by contamination experiments."
+msgid "How do we get out of here?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Mendelson has been terminated following an incident with XE037. A "
-"substantial mobile sample departed his lab and encountered our security "
-"forces. Before the sample was destroyed, it managed to kill two men. "
-"Alarmingly, their corpses displayed mobility and extreme aggression."
+msgid "Is that the last of them?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"We have created a new department to investigate the effects of XE037 on the "
-"human body, specifically to examine the revivification effect observed on "
-"two prior occasions. Sadly, our human subject pool is dwindling due to the "
-"short lifespan of subjects in this program. More will be acquired soon."
+msgid "I'd kill for a coke."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Testing XE037 on non-human mammal subjects does not appear to display the "
-"same revivifying effect, oddly enough. Acquiring non-human subjects, sadly, "
-"is a long and costly process, and research into this area is lacking."
+msgid ""
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"After our curious results with testing XE037 on non-human mammals, we "
-"decided to introduce the substance to some of the insects which have found "
-"their way into the lab. Horrifyingly, XE037 caused near-instant mutation "
-"and gigantism in the insects, and security intervention was required."
+msgid " What a day."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Earlier conjecture that revivification occurred only in humans and insects "
-"was premature. Exposure introduces a persistent, low level infection in all "
-"mammal subjects, but quickly enters a form of stasis and seems to go dormant."
+msgid " I win again!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"The primary factor in determining revivification of mammalian subjects seems "
-"to be the amount of XE037 within the body at time of expiration. Smaller "
-"mammals such as lab rats do not obtain this critical mass of XE037 before "
-"going dormant. Larger canine subjects, however, do."
+msgid "Don't worry about it."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"I swear they are talking to me. No one believes me. No one understands. "
-"They whisper to me, at night, in the dark. Please, please, make them stop."
+msgid "Don't worry."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Program S37ZBE, investigation of XE037 on inert human bodies, is making "
-"great strides. Recently we found that XE037 has no effect when introduced "
-"to a deceased body; revivification only occurs when the subject is exposed "
-"to XE037 prior to expiration."
+msgid "I've seen horrors, horrors that you've seen."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Attempts to surpass the XE037 mammalian stasis limit have had some success. "
-"Direct subcutaneous injection of XE037 quickly spreads through the body, and "
-"while it immediately enters stasis after equalizing, it remains in the body."
+msgid "Every man has got a breaking point."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"There has been an incident in Lab 24, 2 casualties reported, one lethal. A "
-"rat involved in the stasis breaking project was hooked to a monitoring "
-"machine and left over night. Upon opening the cage, Simon Bellevue was "
-"electrocuted, and another researcher at the opposite end of the lab "
-"sustained severe current burns, despite never approaching the cage."
+msgid "Only a few more days 'til the weekend."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"A post-mortem on the rat involved in the electrocution incident has revealed "
-"several changes to its internal anatomy centered around its connection with "
-"the monitoring device, and large buildups of XE037 were detected around the "
-"connection point."
+msgid "Anything else?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"There is a belief several other rat subjects experienced changes overnight "
-"as well. This hypothesis was informed when an inventory check after the "
-"incident found almost twenty rats had gone missing from their cages "
-"overnight."
+msgid "I'm fine."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Exposure of large quantities of XE037 to various types of radiation have "
-"shown promising results, stimulating activity and forming interesting "
-"structural changes in the subject being tested. Exposure to radiation on "
-"living subjects scheduled."
+msgid "There you are."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Exposure to radiation of test subject T3D indicates stimulation of internal "
-"XE037 deposits and a temporary lifting of the mammalian stasis condition."
+msgid "Time for you to die,"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"As in the tests of isolated XE037 samples, prolonged radiation exposure of "
-"T3D has resulted in significant structural changes. These do not appear to "
-"be random. T3D appears to be in immense pain as a result of these changes, "
-"but the lack of an oral opening has rendered him unable to vocalize."
+msgid "This bullet is for you,"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Subject T3D has succumbed to radiation poisoning, but not before undergoing "
-"several more physiological changes the lab boys are referring to as "
-"\"mutations\". They do not appear to be truly random, and may be an attempt "
-"by XE037 to adapt its host to an unknown stimulus."
+msgid "I can take on"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Post-mortem revivification of subject T3D occurred as expected, followed by "
-"an immediate autopsy. The internal changes were significant, with large "
-"parts of the subjects internal anatomy replaced with \"organs\" of XE037 "
-"with unknown properties, primarily those known to succumb earlier to the "
-"effects of radiation poisoning."
+msgid "Hey, ! I've got"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Samples of XE037 from subject T3D remains extremely active. Further "
-"experimentation on induced mutation in infected individuals shows "
-"significant potential. Samples of the enhanced XE037, labeled PE012, have "
-"been sent to several researchers for further study."
+msgid "! Watch my back while I kill"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"S37ZBE, the special investigation into the effects of XE037 on inert human "
-"bodies, has made terrific discoveries. It seems that it occasionally "
-"displays a mutagenic property which manifests itself after termination of "
-"the subject, resulting in a striking variety in postmortem morphology."
+msgid "I'm your huckleberry,"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Incidence of post-mortem mutation seems to depend on several factors - "
-"leading candidates include type and amount of damage sustained leading to "
-"expiration, embedded foreign bodies at time of revivification, proximity to "
-"other revived individuals, and the body mass of the subject."
+msgid "Sorry, but you have to do down,"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Time also appears to play a large role in post-mortem revivification, as "
-"does sustained trauma insufficient to permanently disable the subject. "
-"Sufficient amounts of trauma in short periods of time lead to deactivation "
-"of XE037, but smaller amounts over several days cause it to expand."
+msgid "! I'm gonna kill you,"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"S37ZBE may be put on indefinite hold shortly. Postmortem morphological "
-"changes have reached extreme levels; this morning one subject nearly doubled "
-"in size, acquiring enough strength to reduce a concrete wall to rubble. It "
-"required a 6 man team, heavily armed, to re-terminate the subject."
+msgid "Watch you bleed out,"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Jakobson insists that S37ZBE must continue, despite the extreme security and "
-"safety risks. Nearly half of our security forces have been redirected to "
-"the S37ZBE project, simply to deal with the occasional escape of a subject."
+msgid "Hey ! I'm gonna murder"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Jakobson was killed today by one of S37ZBE's subjects; ironic considering "
-"how hard he fought to keep the project active. Alarmingly, his corpse "
-"revivified immediately. This suggests that XE037 may have contaminated the "
-"lab at large."
+msgid "! This is the end,"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Termination of a subject which was never a part of S37ZBE has confirmed my "
-"fears. XE037 has contaminated most, if not all of the laboratory, most "
-"likely via the water supply. Research has started immediately into a "
-"process to destroy XE037 within the human body."
+msgid "I can take on"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Despite a wide variety of treatments, we have been completely unsuccessful "
-"in removing XE037 from human subjects. Every individual displayed "
-"revivification post termination. Interestingly, XE037 seems to be "
-"completely inert prior to termination."
+msgid "Time to die,"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"We have finally found success in S37BEP, our emergency investigation into "
-"the destruction of XE037 in living subjects. 8 of 10 of the subjects showed "
-"no revivification, despite confirmed dosages of XE037."
+msgid "!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"PE062, our \"cure\" for XE037 contamination, has neared perfection. Sadly, "
-"the production of PE062 is a costly and time-consuming process. What is "
-"more, the substance shows no effect on postmortem subjects whatsoever; a "
-"substance which renders XE037 inert after it has activated would be "
-"immensely useful in the case of an outbreak."
+msgid "I'ma cut those fuckin' tentacles off, bitch!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"An alarming discovery has been made. A colony of XE037 has formed nearly a "
-"half mile from the laboratory. It is unclear how it escaped; it is quite "
-"possible that it is in the ground water now."
+msgid "Watch you bleed out!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"An emergency meeting was held today to discuss the possible implications of "
-"widespread XE037 contamination. It was agreed that neutralization must be "
-"instated immediately to prevent a catastrophic event."
+msgid "Is this Reno? Because I need to watch you die!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"It has begun. The XE037 contamination has spread for miles, and those who "
-"have since deceased have revivified. It is my fear that extremely large "
-"populations will be decimated by this pandemic. We must find a way to "
-"remove XE037 from revivified bodies."
+msgid "You're going to pay for that, !"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"We have even more distressing news than the widespread XE037 contamination, "
-"there are reports of the XE037 mutating into various new variants. See data "
-"files on XE037a - XE037f. Research on the effects of these variants is "
-"ongoing. We do know that XE037d shows signs of PE062 immunity, and XE037b "
-"can revive various breeds of canines. However, revival is not as guaranteed "
-"as standard XE037 humanoid infection. Canine body size seems to influence "
-"the chances. See experiment tXE037b_c."
+msgid "I think I need to see a doctor. I'm patching myself up."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Today we found our solution, quite by accident. It was found that XE037 is "
-"completely removed from a revivified body following a series of extremely-"
-"high energy 4th dimensional transpositions. Unfortunately, this invariably "
-"allows subplane life forms to pass into the prime plan. The cure is worse "
-"than the disease."
+msgid "Please, I don't want to die. Let these bandages work!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"XE037 revivification has reached critical levels, which are rapidly "
-"overwhelming the available military and regional police assets' ability to "
-"stop. Every team in the field has encountered hostile specimens, and "
-"several are no longer responding to communications. Dr. Savage has proposed "
-"a strategic redeployment to the underground complex known as the VAULT, and "
-"continuing production of PE062 there."
+msgid "Hold up, I need to apply these."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"ENTRY 47:\n"
-"Our normal mining routine has unearthed a hollow chamber. This would not be "
-"out of the ordinary, save for the odd, perfectly vertical faultline found. "
-"This faultline has several odd concavities in it which have the more "
-"superstitious crew members alarmed; they seem to be of human origin.\n"
-"ENTRY 48:\n"
-"The concavities are between 10 and 20 feet tall, and run the length of the "
-"faultline. Each one is vaguely human in shape, but with the proportions of "
-"the limbs, neck and head greatly distended, all twisted and curled in on "
-"themselves."
+msgid "That cut looks bad, I'm going to fix it."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"ENTRY 49:\n"
-"We've stopped mining operations in this area, obviously, until "
-"archaeologists have the chance to inspect the area. This is going to set "
-"our schedule back by at least a week. This stupid artifact-preservation law "
-"has been in place for 50 years, and hasn't even been up for termination "
-"despite the fact that these mining operations are the backbone of our "
-"economy.\n"
-"ENTRY 52:\n"
-"Still waiting on the archaeologists. We've done a little light inspection "
-"of the faultline; our sounding equipment is insufficient to measure the "
-"depth of the concavities. The equipment is rated at 15 miles depth, but it "
-"isn't made for such narrow tunnels, so it's hard to say exactly how far back "
-"they go."
+msgid "I hope these bandages work."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"ENTRY 54:\n"
-"I noticed a couple of the guys down in the chamber with a chisel, breaking "
-"off a piece of the sheer wall. I'm looking the other way. It's not like "
-"the eggheads are going to notice a little piece missing. Fuck em.\n"
-"ENTRY 55:\n"
-"Well, the archaeologists are down there now with a couple of the boys as "
-"guides. They're hardly Indiana Jones types; I doubt they been below 20 "
-"feet. I hate taking guys off assignment just to babysit the scientists, but "
-"if they get hurt we'll be shut down for god knows how long.\n"
-"ENTRY 58:\n"
-"They're bringing in ANOTHER CREW? Christ, it's just some cave carvings! I "
-"know that's sort of a big deal, but come on, these guys can't handle it?"
+msgid "I think I need to see a doctor. They're all dead, I hope these work."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"MINE OPERATIONS SUSPENDED; CONTROL TRANSFERRED TO AMIGARA PROJECT UNDER "
-"IMPERATIVE 2:07B.\n"
-"FAULTLINE SOUNDING HAS PLACED DEPTH AT 30.09 KM.\n"
-"DAMAGE TO FAULTLINE DISCOVERED; NEPOWER MINE CREW PLACED UNDER ARREST FOR "
-"VIOLATION OF REGULATION 87.08 AND TRANSFERRED TO LAB 89-C FOR USE AS "
-"SUBJECTS.\n"
-"QUALITY OF FAULTLINE NOT COMPROMISED.\n"
-"INITIATING STANDARD TREMOR TEST..."
+msgid "Please, I don't want to die. C'mon, bandages!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "This is a test of the sign snippet system"
+msgid "Quiet down over there!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Snippets should also support tags like , , "
-", and "
+msgid "Did you hear someone talking?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "This should repeat the same city several times: , , "
+msgid "Who said that?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Leave No Trace."
+msgid "That sounds bad."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Plan Ahead and Prepare."
+msgid "Be alert, something is up!"
+msgstr ""
+
+#: lang/json/snippet_from_json.py src/player.cpp
+msgid "Did you hear that?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Travel and Camp on Durable Surfaces."
+msgid "What's that noise?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Dispose of Waste Properly."
+msgid "Is something over there?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Leave What You Find."
+msgid "I hear something moving - sounded like"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Minimize Campfire Impacts."
+msgid "What's that sound? I heard"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Respect Wildlife."
+msgid "What's there? I heard"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Be Considerate of Other Visitors."
+msgid "Did you hear that? Sounded like"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "WARNING! BEAR COUNTRY."
+msgid "What is making that sound? I can hear the"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "For hiking, skiing, and enjoying nature."
+msgid "Got it!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "Please stay on trail."
+msgid "I'm on it."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "No motorized vehicles."
+msgid "Understood."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "DANGER. HIGH FIRE HAZARD AREA. NO OPEN FIRE. NO SMOKING."
+msgid "I hear you."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "No Overnight Camping."
+msgid "I'll do that."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "I left my wallet in "
+msgid "Sure, I got that."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid " + forever"
+msgid "Okay."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "N = R * fp * ne * fl * fi * fc * L drake was right"
+msgid "Will do."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid "kilroy was here"
+msgid "No problem."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Squirrels are pretty yummy, but if you shoot them with a high-powered gun "
-"you'll probably be left with no meat! Use a BB gun or maybe a .22 rifle."
+msgid "Can do."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Ever run into those big worm things? If you see trails of churned-up dirt, "
-"you can be sure they're around."
+msgid "Whew... smells like skunk!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Try to stay on the roads as much as you can. Giant worms can't cross them!"
+msgid "Man, that smells like some good shit!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Don't relax after killing a giant worm. Little bits of them can break off "
-"and still attack!"
+msgid "Hey, don't bogart the joint!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"If you see a big mob of zombies coming, RUN! Trying to fight them all is "
-"suicide unless you have a big tactical advantage."
+msgid "C'mon, , I can smell it, pass it over."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Watch out for those zombies that shriek; they'll let other zombies know "
-"where you are, and will attract them from all over."
+msgid "Wow, that smell takes me back."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Those acid-spitting zombies are pretty nasty, but if you're smart, you can "
-"get other zombies to wade through the acid."
+msgid "Ah, man. Good times, good times. Love that scent."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"If there's a pool of acid blocking your way, trying tossing a junk item into "
-"it. Eating up items will help neutralize the acid faster."
+msgid "What do I smell? Well, I guess it's legal now."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Rubber boots aren't as tough as combat boots and you don't run very fast in "
-"them. But I've seen zombies vomiting puddles of acid, and I'd hate to have "
-"my feet melt off, so I'd consider having a pair of those."
+msgid "Mmm, that weed smells good."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"There's this type of zombie that can shoot bolts of lightning! Stay away "
-"from walls and stuff when they do... the electricity can travel along solid "
-"surfaces."
+msgid "Man, I can smell the weed, can I have some?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Zombie hulks are NASTY, but they're easy to outsmart. If there's other "
-"monsters between you and them, they'll kill the monster for you!"
+msgid "Are you sure it's a good idea to smoke that now?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"If you run into a zombie hulk, it's probably a good idea to run. They're "
-"fast as hell, but pretty dumb; they'll try to smash through obstacles rather "
-"than going around, and that slows them down a lot."
+msgid "I don't know... should you really be smoking that stuff?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Zombie brutes and hulks have really tough hide, but skeletal juggernauts "
-"with their bone plates are the worst. Don't bother shooting at them with "
-"lower-caliber guns, the bullet will bounce right off!"
+msgid ", that's going to ruin your nose."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Try not to kill a boomer if it's standing right next to you. They tend to "
-"explode when they die, and that pink goop will get all over you."
+msgid "Man, that stinks. Put it out!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Skeletons are a tough target for a gun. They're so skinny and full of holes "
-"that it's hard to make a good hit. And those big ones are hard as nails too."
+msgid "You're going to kill yourself smoking that stuff, ."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Small skeletons are too delicate to smash through doors or windows. Big "
-"ones can walk in through a wall. At least they can't smell you, unlike "
-"zombies, so if you turn your light off at night you can sneak right past."
+msgid "Oh, wow, that smell... Can I have some?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Don't try to take on a skeleton with a bladed weapon... you'll just leave "
-"scratch marks. You've got to shatter those bones with a hammer or something."
+msgid "Ew, smells like burning rubber!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"It's a good idea to butcher corpses if you have the time. I've seen these "
-"weird zombies bring their friends back from the dead!"
+msgid "Ugh, that smells rancid!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"I have a buddy who was sleeping in this cabin way out in the woods, when he "
-"suddenly woke up to trees and vines growing right up through the floor and "
-"walls! He said it was some kind of huge tree beast..."
+msgid ""
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Oh man, have you gone down into the old subway systems? I'd be careful... "
-"there's these things down there that are like zombies, but tougher."
+msgid "I need some batteries to power my CBMs."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"There's snakes down in most of the old sewer systems. They're slow on land, "
-"but boy, those suckers can swim fast!"
+msgid "I can't recharge my CBMs without some batteries."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"If you're planning on wandering around the sewers--not that you'd have a "
-"reason too--watch out for those fish. Those suckers are fast, and vicious "
-"too!"
+msgid "Hey, , can I get some batteries here? I need to recharge."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Have you seen those eyebots flying around? It's hard to say, but some "
-"faction's controlling them--maybe the military. All I know is, I don't want "
-"them taking my picture..."
+msgid "Pass me a beer, I need to power my ethanol burner."
msgstr ""
#: lang/json/snippet_from_json.py
msgid ""
-"Ever go toe-to-toe with a manhack? Tiny little helicopters covered in "
-"knives. Best be packing a shotgun!"
+"Ethanol burners! The power source that's fun to recharge. Get me a drink, "
+"please!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"They're rare, but molebots are nasty things. They bore through the ground, "
-"then pop up to stab ya. Still, you're safe from them if you stay on "
-"pavement..."
+msgid "Waiter! I need a refill, my ethanol burner is running out of charge!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Don't fire your gun if you can help it - the noise attracts monsters. If "
-"you could get a silencer, or make one, it would give you some advantage."
+msgid "I need some junk to power my internal furnace."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Standing behind a window is a good tactic. It takes zombies a long time to "
-"crawl through, giving you lots of opportunities to hit them."
+msgid "I can't recharge my CBMs without some firewood for my internal furnace."
msgstr ""
#: lang/json/snippet_from_json.py
msgid ""
-"Zombies are pretty dumb... heck, most monsters are! If you can get a fire "
-"going between you and them, they'll just run straight through it."
+"Hey, , can I get some waste paper or withered plants? I need to "
+"recharge."
msgstr ""
#: lang/json/snippet_from_json.py
msgid ""
-"I know it's tempting to just go full-auto and unload as many bullets as "
-"possible, but don't except as a last resort. It's inaccurate and wastes "
-"ammo."
+"I can't believe I'm saying this, but I need radioactive plutonium slurry for "
+"my internal reactor."
msgstr ""
#: lang/json/snippet_from_json.py
msgid ""
-"If there's a bunch of zombies in a straight line, try unloading a burst from "
-"your gun. Be sure to aim at the zombie furthest away; you'll hit more of "
-"them that way."
+"I can't use my internal reactor to recharge my CBMs without some plutonium "
+"slurry."
msgstr ""
#: lang/json/snippet_from_json.py
msgid ""
-"If you shoot a zombie, but don't quite kill it, try to finish it off with a "
-"punch or something instead of wasting a bullet."
+"Hey, , pass me some plutonium slurry if you have any, I need to "
+"refuel my internal reactor."
msgstr ""
#: lang/json/snippet_from_json.py
msgid ""
-"If you're in a corridor or something, and there's a bunch of zombies chasing "
-"you down it, try to wound the guy in front badly. He'll start moving slow "
-"and cause a serious traffic jam!"
+"Beta radiation can be blocked by clothing, but is really dangerous if you "
+"ingest it. So can I have some plutonium slurry to power my reactor and give "
+"me cancer?"
msgstr ""
#: lang/json/snippet_from_json.py
msgid ""
-"Here's a trick for taking care of a huge swarm of zombies chasing you: head "
-"into a liquor store, shoot out as many bottles as you can, then light the "
-"alcohol on fire. Then duck out the back door, and watch the zombies run "
-"into a burning building!"
+"I need some radioactive slurry to power my reactor. Or a less dangerous "
+"power source, that would be even better!"
msgstr ""
#: lang/json/snippet_from_json.py
msgid ""
-"Sledge hammers may seem like a great weapon, but swinging them is really "
-"slow, and you won't do much damage unless you're really strong."
+"Please, , get me some radioactive slurry to fuel my internal "
+"reactor. Or get me another way to recharge my CBMs!"
msgstr ""
#: lang/json/snippet_from_json.py
msgid ""
-"For a good melee weapon, you can't beat a machete. I've seen a guy take "
-"down a zombie brute with one! Of course, if you can find a katana, that "
-"might be even better..."
+"I can't use my internal reactor to recharge my CBMs without some plutonium "
+"slurry. Which wouldn't be a problem if I had anything else that would "
+"recharge my CBMs!"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"A knife spear makes a good weapon in a pinch, but a spike strapped to a "
-"stick isn't the sturdiest construction. At least you can strap the spike "
-"back on when it comes off."
+msgid "Tell me about how you survived the cataclysm."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"You know, a glass bottle can make a good weapon in a pinch. If you break it "
-"over someone's head, the shattering glass will hurt them extra. Of course, "
-"it might hurt your hands, too..."
+msgid "How did you survive the cataclysm?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"You know what makes a nice weapon? Take a two by four, or a baseball bat or "
-"something, and stick a bunch of nails through the end!"
+msgid "What was the cataclysm like for you?"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"BB guns may seem like a joke, but they've got their uses. They're good for "
-"hunting small game, or getting to know the basics of rifles."
+msgid "Let's talk about something else."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Crossbows are a great weapon for long term use. Most of the time, you can "
-"retrieve the bolt after shooting it, so running out of ammo is less of a "
-"concern."
+msgid "Let's change the subject."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Consider going Robin Hood, if you have the strength to pull the string of a "
-"bow. Those larger ones need significant muscle power, but they hit hard, "
-"and are silent."
+msgid "I'd like to ask you about something else."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"I hid in a dumpster once or twice. I may smell bad, but I'm not dead, as "
-"they say."
+msgid "We should probably get going."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"It's good to keep a pistol handy, in case your main gun runs out of ammo or "
-"something. They're also better than most guns at short range."
+msgid "We'd better get moving."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Shotguns are nice; you can take out lots of baddies with a single shot. "
-"Just remember that they're noisy as hell, and you might end up attracting "
-"more than you kill."
+msgid "Let's head out."
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"A good submachine gun can't be beat. Most of them use common ammo, they're "
-"good at short and long range, and you can burst-fire if you need to!"
+msgid "shitty"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"Hunting rifles are great at long range, but suck close up. Plus, most of "
-"them don't carry many rounds. Keep a pistol as a sidearm if you use a rifle."
+msgid "lame"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"You know, you don't have to go full auto with an assault rifle. Firing "
-"single shots is more accurate and efficient!"
+msgid "crappy"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"I've seen a couple guys running around with laser pistols. They seem like "
-"the perfect weapon... quiet, accurate, and deadly. But I've never found "
-"one, and I bet ammo is wicked scarce..."
+msgid "unpleasant"
msgstr ""
#: lang/json/snippet_from_json.py
-msgid ""
-"When it comes to footwear, you've got two basic choices as far as I see it; "
-"sneakers, for running extra fast, or boots for durability. Depends on your "
-"style, I guess."
+msgid "