diff --git a/.travis.yml b/.travis.yml index 3ef838336f46b..b87495ff7326a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -197,7 +197,7 @@ jobs: compiler: clang addons: &clang60 apt: - packages: ["clang-6.0", "g++-multilib", "libc6-dbg", "g++-6", "libsdl2-dev", "libsdl2-ttf-dev", "libsdl2-image-dev", "libsdl2-mixer-dev"] + packages: ["clang-6.0", "g++-multilib", "libc6-dbg", "g++-6", "libsdl2-dev", "libsdl2-ttf-dev", "libsdl2-image-dev", "libsdl2-mixer-dev", "libpulse-dev", "libpulse0=1:8.0-0ubuntu3.10", "libpulse-mainloop-glib0=1:8.0-0ubuntu3.10"] sources: [*apt_sources, llvm-toolchain-xenial-6.0] - env: CLANG=clang++-7 diff --git a/CMakeLists.txt b/CMakeLists.txt index 30cd27aa63a00..e09dd28c2312d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,6 +19,7 @@ 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(JSON_FORMAT "Build JSON formatter" "OFF") 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") @@ -354,6 +355,9 @@ if (NOT MSVC) add_subdirectory(src/chkjson) endif() add_subdirectory(tests) +if (JSON_FORMAT) + add_subdirectory(tools/format) +endif() if (CATA_CLANG_TIDY_PLUGIN) add_subdirectory(tools/clang-tidy-plugin) endif() diff --git a/Makefile b/Makefile index 5de0d18afdd6a..a99c7e495562e 100644 --- a/Makefile +++ b/Makefile @@ -101,6 +101,9 @@ DEBUGSYMS = -g #OTHERS = -O3 #DEFINES = -DNDEBUG +# Tells ccache to keep comments, as they can be meaningful to the compiler (as to suppress warnings). +export CCACHE_COMMENTS=1 + # Disable debug. Comment this out to get logging. #DEFINES = -DENABLE_LOGGING diff --git a/build-scripts/build.sh b/build-scripts/build.sh index 74807d81cd0d8..cc9172489bd68 100755 --- a/build-scripts/build.sh +++ b/build-scripts/build.sh @@ -145,7 +145,7 @@ then cd android # Specify dumb terminal to suppress gradle's constatnt output of time spent building, which # fills the log with nonsense. - TERM=dumb ./gradlew assembleRelease -Pj=$num_jobs -Plocalize=false -Pabi32=false -Pabi64=true -Pdeps=/home/travis/build/CleverRaven/Cataclysm-DDA/android/app/deps.zip + TERM=dumb ./gradlew assembleRelease -Pj=$num_jobs -Plocalize=false -Pabi_arm_32=false -Pabi_arm_64=true -Pdeps=/home/travis/build/CleverRaven/Cataclysm-DDA/android/app/deps.zip else make -j "$num_jobs" RELEASE=1 CCACHE=1 BACKTRACE=1 CROSS="$CROSS_COMPILATION" LINTJSON=0 diff --git a/build-scripts/mod_test_blacklist b/build-scripts/mod_test_blacklist index c08830f779ff7..5fcc595c4ac3b 100644 --- a/build-scripts/mod_test_blacklist +++ b/build-scripts/mod_test_blacklist @@ -1,7 +1,5 @@ -aftershock blazemod crt_expansion -generic_guns Graphical_Overmap mapgen_demo more_locations diff --git a/data/json/construction.json b/data/json/construction.json index b2e1932d5b9d6..68e487e31e6d2 100644 --- a/data/json/construction.json +++ b/data/json/construction.json @@ -3236,5 +3236,16 @@ "components": [ [ [ "log", 1 ] ] ], "pre_special": "check_empty", "post_terrain": "f_logstool" + }, + { + "type": "construction", + "description": "Build Decorative Tree", + "category": "FURN", + "required_skills": [ [ "fabrication", 0 ] ], + "time": "20 m", + "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 1 } ] ], + "components": [ [ [ "stick", 4 ], [ "log", 1 ] ], [ [ "nail", 20 ] ], [ [ "pine_bough", 8 ] ] ], + "pre_special": "check_empty", + "post_terrain": "f_decorative_tree" } ] diff --git a/data/json/flags.json b/data/json/flags.json index b95695769f0ec..d3d58bb655d66 100644 --- a/data/json/flags.json +++ b/data/json/flags.json @@ -391,6 +391,12 @@ "//": "Prevents the item from participating in the encumbrance system when worn.", "info": "It seems partially intangible, and can occupy the same space as other things when worn." }, + { + "id": "SHEATH_AXE", + "type": "json_flag", + "context": [ "GENERIC", "TOOL" ], + "//": "This item can be stored in a sheath of the appropriate size." + }, { "id": "SHEATH_KNIFE", "type": "json_flag", diff --git a/data/json/furniture_and_terrain/furniture-decorative.json b/data/json/furniture_and_terrain/furniture-decorative.json index e4a2b4098c47c..7d06035f2e94a 100644 --- a/data/json/furniture_and_terrain/furniture-decorative.json +++ b/data/json/furniture_and_terrain/furniture-decorative.json @@ -205,5 +205,39 @@ { "item": "pipe", "count": [ 0, 1 ] } ] } + }, + { + "type": "furniture", + "id": "f_winter_wreath", + "name": "pine wreath", + "description": "A decorative wreath for the winter holidays.", + "symbol": "o", + "color": "light_green", + "move_cost_mod": -1, + "required_str": 10, + "flags": [ "PLACE_ITEM" ] + }, + { + "type": "furniture", + "id": "f_decorative_tree", + "name": "decorative tree", + "description": "A decorative tree for the winter holidays.", + "symbol": "+", + "color": "light_green", + "looks_like": "t_tree_pine", + "move_cost_mod": -1, + "required_str": 10, + "flags": [ "BLOCKSDOOR", "PLACE_ITEM", "EASY_DECONSTRUCT" ], + "bash": { + "str_min": 20, + "str_max": 40, + "sound": "smash!", + "sound_fail": "thump.", + "items": [ + { "item": "pine_bough", "count": [ 4, 6 ] }, + { "item": "nail", "count": [ 5, 14 ] }, + { "item": "stick", "count": [ 1, 3 ] } + ] + } } ] diff --git a/data/json/itemgroups/SUS/domestic.json b/data/json/itemgroups/SUS/domestic.json index 2e6c025c0863d..34b11cd597c70 100644 --- a/data/json/itemgroups/SUS/domestic.json +++ b/data/json/itemgroups/SUS/domestic.json @@ -609,35 +609,63 @@ ] }, { - "id": "SUS_bathroom_toiletries", + "id": "SUS_bathroom_sink", "type": "item_group", "//": "SUS item groups are collections that contain a reasonable realistic distribution of items that might spawn in a given storage furniture.", - "//2": "This is a category for all the items which appear in bathrooms, which are NOT immediately useful medicines. This list is created in part to not ruin player's chances of finding antibiotics, antifungals and asprin, as it suppliments the current bathroom drops instead of replacing. Item probabilities are loosely based on how likely families would take an item with them when evacuating.", + "//2": "This group is for a bathroom sink.", "subtype": "collection", "entries": [ { "item": "soap_holder", "prob": 40 }, - { "item": "soap", "count": [ 1, 4 ], "prob": 60 }, + { "item": "soap", "count": [ 1, 4 ], "prob": 90 }, + { "item": "razor_shaving", "count": [ 1, 2 ], "prob": 20 }, { "item": "bleach", "prob": 15 }, { "item": "ammonia", "prob": 20 }, - { "item": "razor_shaving", "count": [ 1, 2 ], "prob": 75 }, - { "item": "shavingkit", "prob": 1 }, - { "item": "mirror", "prob": 25 }, - { "item": "toothbrush_plain", "count": [ 1, 3 ], "prob": 45 }, - { "item": "hairbrush", "count": [ 1, 2 ], "prob": 60 }, + { "item": "toothbrush_plain", "count": [ 1, 3 ], "prob": 45 } + ] + }, + { + "id": "SUS_hair_drawer", + "type": "item_group", + "//": "SUS item groups are collections that contain a reasonable realistic distribution of items that might spawn in a given storage furniture.", + "//2": "This group is for a drawer for haircare tools.", + "subtype": "collection", + "entries": [ + { "item": "hairbrush", "count": [ 1, 2 ], "prob": 90 }, + { "item": "comb_pocket", "count": [ 1, 2 ], "prob": 75 }, { "item": "curler_hair", "prob": 25 }, - { "item": "string_floss", "count": [ 1, 2 ], "prob": 50 }, - { "item": "comb_pocket", "count": [ 1, 2 ], "prob": 55 }, - { "item": "plunger_toilet", "prob": 90 }, - { "item": "plunger_futuristic", "prob": 20 }, - { "item": "cu_pipe", "prob": 10 }, - { "item": "hose", "prob": 10 }, - { "item": "sponge", "count": [ 1, 3 ], "prob": 75 }, - { "item": "candle", "count": [ 1, 2 ], "prob": 20 }, - { "item": "matches", "prob": 10 }, - { "item": "toilet_paper", "prob": 80 }, { "item": "hair_dryer", "prob": 60 }, - { "item": "curling_iron", "prob": 50 }, - { "item": "brush_toilet", "prob": 75 } + { "item": "curling_iron", "prob": 20 } + ] + }, + { + "id": "SUS_toilet", + "type": "item_group", + "//": "SUS item groups are collections that contain a reasonable realistic distribution of items that might spawn in a given storage furniture.", + "//2": "This group is for things you often find stored on or next to a toilet.", + "subtype": "collection", + "entries": [ + { "distribution": [ { "item": "plunger_toilet", "prob": 90 }, { "item": "plunger_futuristic", "prob": 10 } ] }, + { "item": "brush_toilet", "prob": 75 }, + { "item": "toilet_paper", "prob": 80 } + ] + }, + { + "id": "SUS_bathroom_cabinet", + "type": "item_group", + "//": "SUS item groups are collections that contain a reasonable realistic distribution of items that might spawn in a given storage furniture.", + "//2": "This group is for a bathroom cabinet.", + "subtype": "collection", + "entries": [ + { "item": "soap", "count": [ 1, 4 ], "prob": 70 }, + { + "distribution": [ { "item": "razor_shaving", "count": [ 1, 2 ], "prob": 50 }, { "item": "shavingkit", "prob": 50 } ], + "prob": 75 + }, + { "item": "mirror", "prob": 25 }, + { "item": "string_floss", "count": [ 1, 2 ], "prob": 60 }, + { "item": "sponge", "count": [ 1, 3 ], "prob": 75 }, + { "collection": [ { "item": "candle", "count": [ 1, 2 ] }, { "item": "matches" } ], "prob": 20 }, + { "item": "toilet_paper", "prob": 80 } ] } ] diff --git a/data/json/itemgroups/item_groups.json b/data/json/itemgroups/item_groups.json index 951751203405c..ec01d32cda91a 100644 --- a/data/json/itemgroups/item_groups.json +++ b/data/json/itemgroups/item_groups.json @@ -1407,6 +1407,7 @@ [ "10gal_hat", 4 ], [ "bb", 8 ], [ "bolt_steel", 7 ], + [ "bolt_cf", 5 ], [ "bbgun", 10 ], [ "crossbow", 2 ], [ "mag_survival", 40 ], @@ -2315,6 +2316,7 @@ [ "hat_boonie", 10 ], [ "helmet_riot", 25 ], [ "bolt_steel", 7 ], + [ "bolt_cf", 5 ], [ "shot_00", 8 ], [ "shot_flechette", 3 ], [ "20x66_shot", 4 ], diff --git a/data/json/itemgroups/main.json b/data/json/itemgroups/main.json index ed5a13cb02d33..68292fdaddb19 100644 --- a/data/json/itemgroups/main.json +++ b/data/json/itemgroups/main.json @@ -260,7 +260,8 @@ [ "arrow_field_point_fletched", 50 ], [ "arrow_cf", 100 ], [ "bolt_wood", 100 ], - [ "bolt_wood_bodkin", 50 ] + [ "bolt_wood_bodkin", 50 ], + [ "bolt_cf", 100 ] ] } ] diff --git a/data/json/itemgroups/monster_drops_advtech.json b/data/json/itemgroups/monster_drops_advtech.json index 899a5234a9a66..809ca9705e7a2 100644 --- a/data/json/itemgroups/monster_drops_advtech.json +++ b/data/json/itemgroups/monster_drops_advtech.json @@ -66,53 +66,6 @@ "id": "molebot", "items": [ [ "spiked_plate", 15 ], [ "hard_plate", 30 ], [ "robot_controls", 5 ] ] }, - { - "type": "item_group", - "id": "tripod", - "items": [ - { "item": "flamethrower", "prob": 1, "charges-min": 0, "charges-max": 3000 }, - [ "kevlar_plate", 10 ], - [ "ceramic_armor", 15 ], - [ "alloy_plate", 10 ], - [ "robot_controls", 3 ] - ] - }, - { - "type": "item_group", - "id": "chickenbot", - "items": [ - [ "robot_controls", 5 ], - [ "ai_module", 5 ], - [ "sensor_module", 5 ], - [ "memory_module", 5 ], - [ "pathfinding_module", 5 ], - [ "identification_module", 5 ], - [ "reverse_jointed_legs", 40 ], - [ "chickenbot_chassis", 40 ], - [ "targeting_module", 5 ], - [ "gun_module", 30 ], - [ "mark19", 5 ], - [ "tazer", 5 ], - [ "m249", 5 ], - [ "storage_battery", 5 ], - [ "plut_cell", 5 ], - [ "mil_plate", 2 ] - ] - }, - { - "type": "item_group", - "id": "tankbot", - "items": [ - [ "tazer", 3 ], - { "item": "flamethrower", "prob": 1, "charges-min": 0, "charges-max": 3000 }, - [ "556", 8 ], - [ "alloy_plate", 10 ], - [ "kevlar_plate", 10 ], - [ "ceramic_armor", 10 ], - [ "hard_plate", 30 ], - [ "robot_controls", 5 ] - ] - }, { "type": "item_group", "id": "turret", diff --git a/data/json/itemgroups/obsolete.json b/data/json/itemgroups/obsolete.json index 32b5b44c2004d..800f7daf46b92 100644 --- a/data/json/itemgroups/obsolete.json +++ b/data/json/itemgroups/obsolete.json @@ -13,5 +13,52 @@ "id": "elec_parts", "type": "item_group", "items": [ { "group": "supplies_electronics", "prob": 100 } ] + }, + { + "type": "item_group", + "id": "chickenbot", + "items": [ + [ "robot_controls", 5 ], + [ "ai_module", 5 ], + [ "sensor_module", 5 ], + [ "memory_module", 5 ], + [ "pathfinding_module", 5 ], + [ "identification_module", 5 ], + [ "reverse_jointed_legs", 40 ], + [ "chickenbot_chassis", 40 ], + [ "targeting_module", 5 ], + [ "gun_module", 30 ], + [ "mark19", 5 ], + [ "tazer", 5 ], + [ "m249", 5 ], + [ "storage_battery", 5 ], + [ "plut_cell", 5 ], + [ "mil_plate", 2 ] + ] + }, + { + "type": "item_group", + "id": "tankbot", + "items": [ + [ "tazer", 3 ], + { "item": "flamethrower", "prob": 1, "charges-min": 0, "charges-max": 3000 }, + [ "556", 8 ], + [ "alloy_plate", 10 ], + [ "kevlar_plate", 10 ], + [ "ceramic_armor", 10 ], + [ "hard_plate", 30 ], + [ "robot_controls", 5 ] + ] + }, + { + "type": "item_group", + "id": "tripod", + "items": [ + { "item": "flamethrower", "prob": 1, "charges-min": 0, "charges-max": 3000 }, + [ "kevlar_plate", 10 ], + [ "ceramic_armor", 15 ], + [ "alloy_plate", 10 ], + [ "robot_controls", 3 ] + ] } ] diff --git a/data/json/itemgroups/science_and_tech.json b/data/json/itemgroups/science_and_tech.json index 0713a26dd4110..0d53fcb60660a 100644 --- a/data/json/itemgroups/science_and_tech.json +++ b/data/json/itemgroups/science_and_tech.json @@ -139,12 +139,9 @@ [ "schematics_eyebot", 50 ], [ "schematics_secubot", 50 ], [ "schematics_skitterbot", 50 ], - [ "schematics_chickenbot", 5 ], [ "schematics_hazmatbot", 50 ], [ "schematics_riotbot", 50 ], [ "schematics_sciencebot", 10 ], - [ "schematics_tankbot", 5 ], - [ "schematics_tripod", 5 ], [ "schematics_molebot", 20 ], [ "schematics_dispatch", 25 ], [ "schematics_dispatch_military", 20 ], diff --git a/data/json/itemgroups/tools.json b/data/json/itemgroups/tools.json index fcdc7a39561b4..1fa7712c9e83a 100644 --- a/data/json/itemgroups/tools.json +++ b/data/json/itemgroups/tools.json @@ -16,7 +16,8 @@ [ "hand_drill", 20 ], [ "nailgun", 100 ], [ "chisel", 10 ], - [ "toolbox", 15 ] + [ "toolbox", 12 ], + [ "toolbox_workshop", 3 ] ] }, { @@ -30,7 +31,8 @@ [ "elec_jackhammer", 40 ], [ "metal_smoother", 90 ], [ "jackhammer", 40 ], - [ "toolbox", 25 ], + [ "toolbox", 20 ], + [ "toolbox_workshop", 5 ], [ "recharge_station", 10 ], [ "angular_grinder", 30 ] ] @@ -193,7 +195,8 @@ { "group": "tools_common", "prob": 100 }, { "group": "tools_lighting", "prob": 50 }, { "group": "tools_tailor", "prob": 50 }, - [ "toolbox", 5 ] + [ "toolbox", 4 ], + [ "toolbox_workshop", 1 ] ] }, { diff --git a/data/json/items/armor.json b/data/json/items/armor.json index 4a7fdbea46677..3600d44c8f6df 100644 --- a/data/json/items/armor.json +++ b/data/json/items/armor.json @@ -745,6 +745,32 @@ "material_thickness": 1, "flags": [ "VARSIZE", "WATER_FRIENDLY", "SKINTIGHT" ] }, + { + "id": "axe_ring", + "type": "ARMOR", + "name": "axe ring holster", + "description": "A combination of leather and a metal ring to hold an axe on your waist.", + "weight": "130 g", + "volume": "600 ml", + "price": 3000, + "material": [ "leather", "steel" ], + "symbol": "[", + "looks_like": "sheath", + "color": "brown", + "covers": [ "TORSO" ], + "coverage": 5, + "encumbrance": 2, + "material_thickness": 1, + "use_action": { + "type": "holster", + "holster_prompt": "Sheath axe", + "holster_msg": "You sheath your %s", + "max_volume": "3250 ml", + "draw_cost": 10, + "flags": [ "SHEATH_AXE" ] + }, + "flags": [ "NONCONDUCTIVE", "WAIST", "OVERSIZE", "WATER_FRIENDLY" ] + }, { "id": "b_shorts", "type": "ARMOR", diff --git a/data/json/items/book/electronics.json b/data/json/items/book/electronics.json index 80b15457a23ef..12a2e587f3225 100644 --- a/data/json/items/book/electronics.json +++ b/data/json/items/book/electronics.json @@ -270,13 +270,6 @@ "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" }, - { - "id": "schematics_chickenbot", - "type": "BOOK", - "name": { "str": "chicken walker schematics", "str_pl": "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.", - "copy-from": "schematics_generic" - }, { "id": "schematics_hazmatbot", "type": "BOOK", @@ -305,20 +298,6 @@ "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" }, - { - "id": "schematics_tankbot", - "type": "BOOK", - "name": { "str": "tank drone schematics", "str_pl": "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.", - "copy-from": "schematics_generic" - }, - { - "id": "schematics_tripod", - "type": "BOOK", - "name": { "str": "tripod schematics", "str_pl": "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.", - "copy-from": "schematics_generic" - }, { "id": "schematics_dispatch", "type": "BOOK", diff --git a/data/json/items/corpses/inactive_bots.json b/data/json/items/corpses/inactive_bots.json index b70fa0b5a101b..b11bc4a1154cc 100644 --- a/data/json/items/corpses/inactive_bots.json +++ b/data/json/items/corpses/inactive_bots.json @@ -485,31 +485,6 @@ "skill2": "computer" } }, - { - "id": "bot_chickenbot", - "type": "TOOL", - "name": "inactive chicken walker", - "description": "This is an inactive chicken walker. Using this item involves placing it on the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm cartridge grenades in your inventory (if you wish to divide your ammunition, set aside whatever ammunition you do NOT want to give the robot) and turning it on. If reprogrammed and rewired successfully the chicken walker will then identify you as a friendly, roam around or follow you, and attack all enemies with a built-in firearm and grenade launcher.", - "weight": "120000 g", - "volume": "92500 ml", - "price": 50000000, - "to_hit": -3, - "bashing": 8, - "material": [ "steel" ], - "symbol": ";", - "color": "light_green", - "use_action": { - "type": "place_monster", - "monster_id": "mon_chickenbot", - "friendly_msg": "The chicken walker rises to its feet, sways away from you and begins surveying the area.", - "hostile_msg": "The chicken walker whirrs and aims directly at you. Take cover!", - "//": "Milspec, but was deployed in active service implying a reliable IFF", - "difficulty": 9, - "moves": 250, - "skill1": "electronics", - "skill2": "computer" - } - }, { "id": "bot_copbot", "looks_like": "broken_copbot", @@ -691,86 +666,6 @@ "skill2": "computer" } }, - { - "id": "bot_tankbot", - "looks_like": "broken_tankbot", - "type": "TOOL", - "name": "inactive tank drone", - "description": "This is an inactive Beagle Mini-Tank UGV. Using this item involves placing it on the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm cartridge grenades in your inventory (if you wish to divide your ammunition, set aside whatever ammunition you do NOT want to give the robot) and turning it on. If reprogrammed and rewired successfully the tank drone will then identify you as a friendly, roam around or follow you, and attack all enemies with a built-in firearm and grenade launcher.", - "weight": "200000 g", - "//": "cheating a bit with the volume due to lack of proper vehicle storage options", - "volume": "250 L", - "price": 100000000, - "to_hit": -3, - "bashing": 8, - "material": [ "steel" ], - "symbol": ";", - "color": "light_green", - "use_action": { - "type": "place_monster", - "monster_id": "mon_tankbot", - "friendly_msg": "The tank drone rolls out and begins acquiring targets.", - "hostile_msg": "The tank drone swivels its turret and aims directly at you. Don your brown pants!", - "//": "Milspec, clearly designed with little concern for collateral damage. What did you expect of a robo-tank?", - "difficulty": 10, - "moves": 500, - "skill1": "electronics", - "skill2": "computer" - } - }, - { - "id": "broken_chickenbot", - "looks_like": "broken_tripod", - "type": "TOOL", - "name": "inactive chicken walker", - "description": "This is an inactive chicken walker. Using this item involves placing it on the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm cartridge grenades in your inventory (if you wish to divide your ammunition, set aside whatever ammunition you do NOT want to give the robot) and turning it on. If reprogrammed and rewired successfully the tank drone will then identify you as a friendly, roam around or follow you, and attack all enemies with a built-in firearm and grenade launcher.", - "weight": "190000 g", - "//": "cheating a bit with the volume due to lack of proper vehicle storage options", - "volume": "250 L", - "price": 100000000, - "to_hit": -3, - "bashing": 8, - "material": [ "steel" ], - "symbol": ";", - "color": "light_green", - "use_action": { - "type": "place_monster", - "monster_id": "mon_chickenbot", - "friendly_msg": "The chicken bot rolls out and begins acquiring targets.", - "hostile_msg": "The chicken bot swivels its turret and aims directly at you. Don your brown pants!", - "//": "Milspec, clearly designed with little concern for collateral damage. What did you expect of a chicken walker?", - "difficulty": 10, - "moves": 500, - "skill1": "electronics", - "skill2": "computer" - } - }, - { - "id": "bot_tripod", - "looks_like": "broken_tripod", - "type": "TOOL", - "name": "inactive tripod", - "description": "This is an inactive Honda Regnal. Using this item involves placing it on the ground, wondering how it fuels its flamethrower and turning it on. If reprogrammed and rewired successfully the tribot will then identify you as an ally, roam around or follow you, and impale hostiles with its spiked cable weapons.", - "weight": "120000 g", - "volume": "92500 ml", - "price": 100000000, - "to_hit": -3, - "bashing": 8, - "material": [ "steel" ], - "symbol": ";", - "color": "light_green", - "use_action": { - "type": "place_monster", - "monster_id": "mon_tripod", - "friendly_msg": "The tribot rises to its feet and scans the area for contaminants.", - "hostile_msg": "The tribot glowers down at you and ignites its flamethrower. Turns out you hate the smell of napalm.", - "//": "No observed open deployment, likely a prototype or secret project", - "difficulty": 15, - "moves": 500, - "skill1": "electronics", - "skill2": "computer" - } - }, { "id": "bot_turret_searchlight", "type": "TOOL", diff --git a/data/json/items/crossbows.json b/data/json/items/crossbows.json index cdd1f20007dc9..06ce4388ebe0f 100644 --- a/data/json/items/crossbows.json +++ b/data/json/items/crossbows.json @@ -219,6 +219,28 @@ "count": 10, "effects": [ "RECOVER_45", "NOGIB" ] }, + { + "type": "AMMO", + "id": "bolt_cf", + "price": 2000, + "name": "carbon fiber hunting bolt", + "symbol": "=", + "color": "green", + "looks_like": "bolt_steel", + "description": "A fletched carbon fiber crossbow bolt shaft with an expanding broadhead tip. Deals impressive damage to targets. Stands a good chance of remaining intact once fired.", + "material": [ "kevlar_rigid", "steel" ], + "volume": "250 ml", + "weight": "30 g", + "bashing": 1, + "ammo_type": "bolt", + "prop_damage": 1.35, + "range": 4, + "dispersion": 50, + "loudness": 0, + "count": 10, + "stack_size": 10, + "effects": [ "RECOVER_30" ] + }, { "type": "AMMO", "id": "bolt_explosive", diff --git a/data/json/items/generic.json b/data/json/items/generic.json index 25ad3fd857d77..5409521be1f0e 100644 --- a/data/json/items/generic.json +++ b/data/json/items/generic.json @@ -1047,57 +1047,6 @@ "to_hit": -3, "flags": [ "TRADER_AVOID", "NO_REPAIR" ] }, - { - "type": "GENERIC", - "id": "broken_tripod", - "symbol": ",", - "color": "green", - "name": "broken tribot", - "category": "other", - "description": "A broken tribot. Now that its legs lie broken and immobile, the world seems a little less threatening. Could be gutted for parts.", - "price": 1000, - "material": [ "steel", "plastic" ], - "weight": "430000 g", - "volume": "187500 ml", - "bashing": 10, - "cutting": 6, - "to_hit": -2, - "flags": [ "TRADER_AVOID", "NO_REPAIR" ] - }, - { - "type": "GENERIC", - "id": "broken_tankbot", - "symbol": ",", - "color": "green", - "name": "broken tank drone", - "category": "other", - "description": "A broken tank drone. Still looks intimidating despite being permanently inoperative, possibly due to the sheer size and mass. Could be gutted for parts.", - "price": 1000, - "material": [ "steel", "plastic" ], - "weight": "1223850 g", - "volume": "875 L", - "bashing": 20, - "cutting": 15, - "to_hit": -3, - "flags": [ "TRADER_AVOID", "NO_REPAIR" ] - }, - { - "type": "GENERIC", - "id": "broken_chickenbot", - "symbol": ",", - "color": "green", - "name": "broken chickenbot", - "category": "other", - "description": "A broken chicken walker. Still looks intimidating despite being permanently inoperative, possibly due to the sheer size and mass. Could be gutted for parts.", - "price": 1000, - "material": [ "steel", "plastic" ], - "weight": "1023850 g", - "volume": "1100 L", - "bashing": 20, - "cutting": 15, - "to_hit": -3, - "flags": [ "TRADER_AVOID", "NO_REPAIR" ] - }, { "type": "GENERIC", "id": "broken_mech_recon", diff --git a/data/json/items/grenades.json b/data/json/items/grenades.json index f245a4b7080da..dfc92d1119f1a 100644 --- a/data/json/items/grenades.json +++ b/data/json/items/grenades.json @@ -285,7 +285,8 @@ "category": "weapons", "name": "pipe bomb", "description": "This is a section of a pipe filled with explosive materials. Use this item to light the fuse, which gives you five turns to get away from it before it detonates. You'll need a lighter or some matches to use it.", - "weight": "1298 g", + "weight": "730 g", + "//": "Only one third (410 g) of a whole pipe is being used", "volume": "500 ml", "price": 1500, "to_hit": 1, diff --git a/data/json/items/gun/454.json b/data/json/items/gun/454.json index 436d1bb6aa234..7398e6764dd45 100644 --- a/data/json/items/gun/454.json +++ b/data/json/items/gun/454.json @@ -15,7 +15,7 @@ "material": [ "steel", "plastic" ], "symbol": "(", "color": "light_gray", - "ammo": [ "454", "45colt" ], + "ammo": [ "454", "410shot", "45colt" ], "dispersion": 280, "durability": 8, "blackpowder_tolerance": 56, diff --git a/data/json/items/items_holiday.json b/data/json/items/items_holiday.json index 84507be637bd9..a8d7f1ca215fc 100644 --- a/data/json/items/items_holiday.json +++ b/data/json/items/items_holiday.json @@ -49,5 +49,20 @@ "menu_text": "Extinguish" }, "flags": [ "LIGHT_6", "TRADER_AVOID" ] + }, + { + "id": "decorative_wreath", + "type": "TOOL", + "name": "yule wreath", + "description": "This decorative wreath can be deployed as furniture to decorate for the winter holidays.", + "weight": "1814 g", + "volume": "4 L", + "price": 100, + "to_hit": -2, + "material": "wood", + "symbol": "0", + "color": "green", + "looks_like": "plate", + "use_action": { "type": "deploy_furn", "furn_type": "f_winter_wreath" } } ] diff --git a/data/json/items/melee.json b/data/json/items/melee.json index 2eecb98fd47b4..144c9e295d29e 100644 --- a/data/json/items/melee.json +++ b/data/json/items/melee.json @@ -63,7 +63,7 @@ "volume": "1 L", "bashing": 13, "cutting": 7, - "flags": [ "DURABLE_MELEE", "BELT_CLIP", "NONCONDUCTIVE" ], + "flags": [ "DURABLE_MELEE", "BELT_CLIP", "NONCONDUCTIVE", "SHEATH_AXE" ], "to_hit": 1, "category": "weapons", "qualities": [ [ "AXE", 2 ], [ "CUT", 1 ], [ "HAMMER", 2 ], [ "HAMMER_FINE", 1 ], [ "BUTCHER", 16 ] ] @@ -541,7 +541,7 @@ "price": 1050, "price_postapoc": 300, "material": [ "aluminum", "wood" ], - "flags": "NONCONDUCTIVE", + "flags": [ "NONCONDUCTIVE", "SHEATH_AXE" ], "techniques": [ "WBLOCK_1", "WIDE", "BRUTAL", "SWEEP" ], "weight": "2068 g", "volume": "3250 ml", @@ -563,7 +563,7 @@ "volume": "2500 ml", "bashing": 16, "cutting": 24, - "flags": [ "NONCONDUCTIVE" ], + "flags": [ "NONCONDUCTIVE", "SHEATH_AXE" ], "techniques": [ "WBLOCK_1", "BRUTAL", "SWEEP" ], "to_hit": 1, "category": "weapons", @@ -619,7 +619,7 @@ "color": "dark_gray", "qualities": [ [ "DIG", 2 ], [ "AXE", 1 ], [ "CUT", 1 ], [ "BUTCHER", -11 ], [ "COOK", 1 ] ], "techniques": [ "WBLOCK_1", "BRUTAL", "SWEEP" ], - "flags": [ "NEEDS_UNFOLD", "BELT_CLIP" ] + "flags": [ "NEEDS_UNFOLD", "BELT_CLIP", "SHEATH_AXE" ] }, { "id": "tazer", @@ -664,7 +664,7 @@ "color": "light_gray", "techniques": [ "WBLOCK_1", "BRUTAL", "SWEEP" ], "qualities": [ [ "AXE", 2 ], [ "BUTCHER", -20 ] ], - "flags": [ "DURABLE_MELEE", "NONCONDUCTIVE" ] + "flags": [ "DURABLE_MELEE", "NONCONDUCTIVE", "SHEATH_AXE" ] }, { "id": "ax", @@ -682,6 +682,6 @@ "color": "light_gray", "qualities": [ [ "AXE", 2 ], [ "BUTCHER", -36 ] ], "techniques": [ "WBLOCK_1", "BRUTAL", "SWEEP" ], - "flags": [ "NONCONDUCTIVE" ] + "flags": [ "NONCONDUCTIVE", "SHEATH_AXE" ] } ] diff --git a/data/json/items/obsolete.json b/data/json/items/obsolete.json index 907b1fe810ec6..9d277916da7da 100644 --- a/data/json/items/obsolete.json +++ b/data/json/items/obsolete.json @@ -1006,5 +1006,263 @@ "damage": 130, "recoil": 875, "extend": { "effects": [ "LARGE_BEANBAG" ] } + }, + { + "id": "schematics_chickenbot", + "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.", + "copy-from": "schematics_generic" + }, + { + "id": "schematics_tankbot", + "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.", + "copy-from": "schematics_generic" + }, + { + "id": "schematics_tripod", + "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.", + "copy-from": "schematics_generic" + }, + { + "id": "bot_chickenbot", + "type": "TOOL", + "name": "inactive chicken walker", + "description": "This is an inactive chicken walker. Using this item involves placing it on the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm cartridge grenades in your inventory (if you wish to divide your ammunition, set aside whatever ammunition you do NOT want to give the robot) and turning it on. If reprogrammed and rewired successfully the chicken walker will then identify you as a friendly, roam around or follow you, and attack all enemies with a built-in firearm and grenade launcher.", + "weight": "120000 g", + "volume": "92500 ml", + "price": 50000000, + "to_hit": -3, + "bashing": 8, + "material": [ "steel" ], + "symbol": ";", + "color": "light_green", + "use_action": { + "type": "place_monster", + "monster_id": "mon_chickenbot", + "friendly_msg": "The chicken walker rises to its feet, sways away from you and begins surveying the area.", + "hostile_msg": "The chicken walker whirrs and aims directly at you. Take cover!", + "//": "Milspec, but was deployed in active service implying a reliable IFF", + "difficulty": 9, + "moves": 250, + "skill1": "electronics", + "skill2": "computer" + } + }, + { + "id": "bot_tankbot", + "looks_like": "broken_tankbot", + "type": "TOOL", + "name": "inactive tank drone", + "description": "This is an inactive Beagle Mini-Tank UGV. Using this item involves placing it on the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm cartridge grenades in your inventory (if you wish to divide your ammunition, set aside whatever ammunition you do NOT want to give the robot) and turning it on. If reprogrammed and rewired successfully the tank drone will then identify you as a friendly, roam around or follow you, and attack all enemies with a built-in firearm and grenade launcher.", + "weight": "200000 g", + "//": "cheating a bit with the volume due to lack of proper vehicle storage options", + "volume": "250 L", + "price": 100000000, + "to_hit": -3, + "bashing": 8, + "material": [ "steel" ], + "symbol": ";", + "color": "light_green", + "use_action": { + "type": "place_monster", + "monster_id": "mon_tankbot", + "friendly_msg": "The tank drone rolls out and begins acquiring targets.", + "hostile_msg": "The tank drone swivels its turret and aims directly at you. Don your brown pants!", + "//": "Milspec, clearly designed with little concern for collateral damage. What did you expect of a robo-tank?", + "difficulty": 10, + "moves": 500, + "skill1": "electronics", + "skill2": "computer" + } + }, + { + "id": "broken_chickenbot", + "looks_like": "broken_tripod", + "type": "TOOL", + "name": "inactive chicken walker", + "description": "This is an inactive chicken walker. Using this item involves placing it on the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm cartridge grenades in your inventory (if you wish to divide your ammunition, set aside whatever ammunition you do NOT want to give the robot) and turning it on. If reprogrammed and rewired successfully the tank drone will then identify you as a friendly, roam around or follow you, and attack all enemies with a built-in firearm and grenade launcher.", + "weight": "190000 g", + "//": "cheating a bit with the volume due to lack of proper vehicle storage options", + "volume": "250 L", + "price": 100000000, + "to_hit": -3, + "bashing": 8, + "material": [ "steel" ], + "symbol": ";", + "color": "light_green", + "use_action": { + "type": "place_monster", + "monster_id": "mon_chickenbot", + "friendly_msg": "The chicken bot rolls out and begins acquiring targets.", + "hostile_msg": "The chicken bot swivels its turret and aims directly at you. Don your brown pants!", + "//": "Milspec, clearly designed with little concern for collateral damage. What did you expect of a chicken walker?", + "difficulty": 10, + "moves": 500, + "skill1": "electronics", + "skill2": "computer" + } + }, + { + "id": "bot_tripod", + "looks_like": "broken_tripod", + "type": "TOOL", + "name": "inactive tripod", + "description": "This is an inactive Honda Regnal. Using this item involves placing it on the ground, wondering how it fuels its flamethrower and turning it on. If reprogrammed and rewired successfully the tribot will then identify you as an ally, roam around or follow you, and impale hostiles with its spiked cable weapons.", + "weight": "120000 g", + "volume": "92500 ml", + "price": 100000000, + "to_hit": -3, + "bashing": 8, + "material": [ "steel" ], + "symbol": ";", + "color": "light_green", + "use_action": { + "type": "place_monster", + "monster_id": "mon_tripod", + "friendly_msg": "The tribot rises to its feet and scans the area for contaminants.", + "hostile_msg": "The tribot glowers down at you and ignites its flamethrower. Turns out you hate the smell of napalm.", + "//": "No observed open deployment, likely a prototype or secret project", + "difficulty": 15, + "moves": 500, + "skill1": "electronics", + "skill2": "computer" + } + }, + { + "type": "GENERIC", + "id": "broken_tripod", + "symbol": ",", + "color": "green", + "name": "broken tribot", + "category": "other", + "description": "A broken tribot. Now that its legs lie broken and immobile, the world seems a little less threatening. Could be gutted for parts.", + "price": 1000, + "material": [ "steel", "plastic" ], + "weight": "430000 g", + "volume": "187500 ml", + "bashing": 10, + "cutting": 6, + "to_hit": -2, + "flags": [ "TRADER_AVOID", "NO_REPAIR" ] + }, + { + "type": "GENERIC", + "id": "broken_tankbot", + "symbol": ",", + "color": "green", + "name": "broken tank drone", + "category": "other", + "description": "A broken tank drone. Still looks intimidating despite being permanently inoperative, possibly due to the sheer size and mass. Could be gutted for parts.", + "price": 1000, + "material": [ "steel", "plastic" ], + "weight": "1223850 g", + "volume": "875 L", + "bashing": 20, + "cutting": 15, + "to_hit": -3, + "flags": [ "TRADER_AVOID", "NO_REPAIR" ] + }, + { + "type": "GENERIC", + "id": "broken_chickenbot", + "symbol": ",", + "color": "green", + "name": "broken chickenbot", + "category": "other", + "description": "A broken chicken walker. Still looks intimidating despite being permanently inoperative, possibly due to the sheer size and mass. Could be gutted for parts.", + "price": 1000, + "material": [ "steel", "plastic" ], + "weight": "1023850 g", + "volume": "1100 L", + "bashing": 20, + "cutting": 15, + "to_hit": -3, + "flags": [ "TRADER_AVOID", "NO_REPAIR" ] + }, + { + "type": "GENERIC", + "id": "tripod_chassis", + "name": "tripod chassis", + "name_plural": "tripod chassis", + "description": "What's left when you remove all moving parts and electronics. It's the skeleton and armor of the tripod.", + "symbol": "c", + "color": "light_gray", + "weight": "40000 g", + "volume": "70000 ml", + "price": 200000, + "material": [ "steel" ], + "category": "spare_parts" + }, + { + "type": "GENERIC", + "id": "chickenbot_chassis", + "name": "chicken walker chassis", + "name_plural": "chicken walker chassis", + "description": "What's left when you remove all moving parts and electronics. It's the skeleton and armor of the chicken walker.", + "symbol": "c", + "color": "light_gray", + "weight": "60000 g", + "volume": "80000 ml", + "price": 300000, + "material": [ "steel" ], + "category": "spare_parts" + }, + { + "type": "GENERIC", + "id": "tankbot_chassis", + "name": "Beagle chassis", + "name_plural": "Beagle chassis", + "description": "What's left when you remove all moving parts and electronics. It's the skeleton and armor of the Beagle tank.", + "symbol": "c", + "color": "light_gray", + "weight": "150000 g", + "volume": "575000 ml", + "price": 1000000, + "material": [ "steel" ], + "category": "spare_parts" + }, + { + "id": "TANK", + "looks_like": "m79", + "type": "GUN", + "symbol": "(", + "color": "green", + "name": "Tankbot Main Gun", + "name_plural": "Tankbot Main Gun", + "description": "The 120mm cannon from a tankbot. If you have this, you'd best be debugging!", + "price": 99999999, + "material": "steel", + "skill": "launcher", + "ammo": "120mm", + "weight": "2500 g", + "volume": "2500 ml", + "bashing": 6, + "to_hit": -3, + "dispersion": 60, + "durability": 9, + "clip_size": 1, + "loudness": 300 + }, + { + "type": "GENERIC", + "id": "spidery_legs_big", + "name": "set of spidery legs", + "name_plural": "sets of spidery legs", + "description": "A set of big pointy legs, like the ones found under a tripod.", + "symbol": "W", + "color": "light_gray", + "weight": "40000 g", + "volume": "20 L", + "price": 200000, + "material": "steel", + "category": "spare_parts" } ] diff --git a/data/json/items/ranged.json b/data/json/items/ranged.json index f176c72a8eb4b..3da285fbdbe4e 100644 --- a/data/json/items/ranged.json +++ b/data/json/items/ranged.json @@ -203,28 +203,6 @@ [ "underbarrel mount", 1 ] ] }, - { - "id": "TANK", - "looks_like": "m79", - "type": "GUN", - "symbol": "(", - "color": "green", - "name": "Tankbot Main Gun", - "name_plural": "Tankbot Main Gun", - "description": "The 120mm cannon from a tankbot. If you have this, you'd best be debugging!", - "price": 99999999, - "material": "steel", - "skill": "launcher", - "ammo": "120mm", - "weight": "2500 g", - "volume": "2500 ml", - "bashing": 6, - "to_hit": -3, - "dispersion": 60, - "durability": 9, - "clip_size": 1, - "loudness": 300 - }, { "id": "plasma_rifle", "looks_like": "ar15", diff --git a/data/json/items/robot_parts.json b/data/json/items/robot_parts.json index 46f009b9e8d1d..e4038e17414b4 100644 --- a/data/json/items/robot_parts.json +++ b/data/json/items/robot_parts.json @@ -83,20 +83,6 @@ "description": "This system can operate most conventional weapons.", "copy-from": "robot_module_abstract" }, - { - "type": "GENERIC", - "id": "spidery_legs_big", - "name": "set of spidery legs", - "name_plural": "sets of spidery legs", - "description": "A set of big pointy legs, like the ones found under a tripod.", - "symbol": "W", - "color": "light_gray", - "weight": "40000 g", - "volume": "20 L", - "price": 200000, - "material": "steel", - "category": "spare_parts" - }, { "type": "GENERIC", "id": "spidery_legs_small", @@ -209,34 +195,6 @@ "material": [ "steel", "plastic" ], "category": "spare_parts" }, - { - "type": "GENERIC", - "id": "tripod_chassis", - "name": "tripod chassis", - "name_plural": "tripod chassis", - "description": "What's left when you remove all moving parts and electronics. It's the skeleton and armor of the tripod.", - "symbol": "c", - "color": "light_gray", - "weight": "40000 g", - "volume": "70000 ml", - "price": 200000, - "material": [ "steel" ], - "category": "spare_parts" - }, - { - "type": "GENERIC", - "id": "chickenbot_chassis", - "name": "chicken walker chassis", - "name_plural": "chicken walker chassis", - "description": "What's left when you remove all moving parts and electronics. It's the skeleton and armor of the chicken walker.", - "symbol": "c", - "color": "light_gray", - "weight": "60000 g", - "volume": "80000 ml", - "price": 300000, - "material": [ "steel" ], - "category": "spare_parts" - }, { "type": "GENERIC", "id": "copbot_chassis", @@ -263,19 +221,5 @@ "price": 100000, "material": [ "steel", "plastic" ], "category": "spare_parts" - }, - { - "type": "GENERIC", - "id": "tankbot_chassis", - "name": "Beagle chassis", - "name_plural": "Beagle chassis", - "description": "What's left when you remove all moving parts and electronics. It's the skeleton and armor of the Beagle tank.", - "symbol": "c", - "color": "light_gray", - "weight": "150000 g", - "volume": "575000 ml", - "price": 1000000, - "material": [ "steel" ], - "category": "spare_parts" } ] diff --git a/data/json/items/tools.json b/data/json/items/tools.json index e5d325d979edc..772ffb8685549 100644 --- a/data/json/items/tools.json +++ b/data/json/items/tools.json @@ -1466,7 +1466,7 @@ "color": "brown", "qualities": [ [ "AXE", 1 ], [ "BUTCHER", -44 ] ], "techniques": [ "WBLOCK_1", "BRUTAL", "SWEEP" ], - "flags": [ "NONCONDUCTIVE" ] + "flags": [ "NONCONDUCTIVE", "SHEATH_AXE" ] }, { "id": "copper_knife", @@ -1577,7 +1577,7 @@ "volume": "1 L", "bashing": 13, "cutting": 7, - "flags": [ "DURABLE_MELEE", "BELT_CLIP", "NONCONDUCTIVE" ], + "flags": [ "DURABLE_MELEE", "BELT_CLIP", "NONCONDUCTIVE", "SHEATH_AXE" ], "to_hit": 1, "qualities": [ [ "AXE", 2 ], [ "CUT", 1 ], [ "PRY", 2 ], [ "BUTCHER", 16 ] ] }, @@ -2270,7 +2270,7 @@ "color": "light_gray", "techniques": [ "WBLOCK_1", "BRUTAL", "SWEEP" ], "qualities": [ [ "AXE", 2 ], [ "PRY", 3 ], [ "BUTCHER", -30 ] ], - "flags": [ "DURABLE_MELEE", "NONCONDUCTIVE", "BELT_CLIP" ], + "flags": [ "DURABLE_MELEE", "NONCONDUCTIVE", "BELT_CLIP", "SHEATH_AXE" ], "use_action": "CROWBAR" }, { @@ -3244,7 +3244,7 @@ "techniques": [ "WBLOCK_1" ], "qualities": [ [ "HAMMER", 2 ], [ "HAMMER_FINE", 1 ], [ "PRY", 2 ] ], "use_action": "CROWBAR", - "flags": [ "DURABLE_MELEE", "BELT_CLIP" ] + "flags": [ "DURABLE_MELEE", "BELT_CLIP", "SHEATH_AXE" ] }, { "id": "jackhammer", @@ -3647,9 +3647,9 @@ "id": "makeshift_crowbar", "type": "TOOL", "name": "makeshift crowbar", - "description": "This is a pipe whose ends have been bent and hammered flat to resemble a crowbar. Use it to open locked doors without destroying them, or to lift manhole covers. You could also wield it to fight with, in a pinch.", - "weight": "762 g", - "volume": "1500 ml", + "description": "This is a pipe whose ends have been bent and hammered flat to resemble a crowbar. Use it to open locked crates without destroying them, or to lift manhole covers. You could also wield it to fight with, in a pinch.", + "weight": "1250 g", + "volume": "1 L", "price": 0, "to_hit": 2, "bashing": 12, @@ -3657,7 +3657,7 @@ "material": "steel", "symbol": ";", "color": "dark_gray", - "qualities": [ [ "PRY", 2 ], [ "HAMMER", 1 ] ], + "qualities": [ [ "PRY", 1 ], [ "HAMMER", 1 ] ], "use_action": "CROWBAR", "techniques": [ "WBLOCK_1" ], "flags": [ "BELT_CLIP" ] @@ -4526,7 +4526,7 @@ "color": "dark_gray", "use_action": "PICKAXE", "techniques": [ "WBLOCK_1" ], - "flags": [ "SPEAR", "DURABLE_MELEE", "NONCONDUCTIVE", "DIG_TOOL" ] + "flags": [ "SPEAR", "DURABLE_MELEE", "NONCONDUCTIVE", "DIG_TOOL", "SHEATH_AXE" ] }, { "id": "picklocks", @@ -4772,7 +4772,7 @@ "symbol": "/", "color": "light_gray", "qualities": [ [ "AXE", 1 ], [ "BUTCHER", -70 ] ], - "flags": [ "BELT_CLIP" ] + "flags": [ "BELT_CLIP", "SHEATH_AXE" ] }, { "id": "primitive_hammer", @@ -6335,6 +6335,38 @@ "material": "steel", "symbol": ";", "color": "red", + "qualities": [ + [ "CUT", 1 ], + [ "HAMMER", 3 ], + [ "SAW_M", 2 ], + [ "SAW_W", 2 ], + [ "AXE", 1 ], + [ "WRENCH", 2 ], + [ "SCREW", 1 ], + [ "PRY", 1 ], + [ "HAMMER_FINE", 1 ], + [ "SAW_M_FINE", 1 ], + [ "WRENCH_FINE", 1 ], + [ "SCREW_FINE", 1 ], + [ "BUTCHER", 11 ] + ], + "use_action": [ "HAMMER", "CROWBAR" ] + }, + { + "id": "toolbox_workshop", + "type": "TOOL", + "name": "workshop toolbox", + "name_plural": "workshop toolboxes", + "description": "This is a stout metal box containing a complete tool kit suitable for most household maintenance and construction activities, as well as additional tools used in workshops for advanced fabrication jobs.", + "looks_like": "toolbox", + "weight": "3994 g", + "volume": "2500 ml", + "price": 14099, + "to_hit": -2, + "bashing": 8, + "material": "steel", + "symbol": ";", + "color": "red", "qualities": [ [ "CUT", 1 ], [ "HAMMER", 3 ], @@ -7277,7 +7309,8 @@ "material": "stone", "symbol": ";", "color": "light_gray", - "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 6 ], [ "SAW_W", 1 ], [ "AXE", 1 ], [ "HAMMER", 1 ] ] + "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 6 ], [ "SAW_W", 1 ], [ "AXE", 1 ], [ "HAMMER", 1 ] ], + "flags": [ "SHEATH_AXE" ] }, { "id": "makeshift_axe", @@ -7285,7 +7318,8 @@ "type": "TOOL", "name": "metal hand axe", "description": "This is a chunk of steel with one edge hammered down to something resembling a cutting edge. It works passably well as an axe but really can't compare to a proper axe.", - "material": "steel" + "material": "steel", + "flags": [ "SHEATH_AXE" ] }, { "id": "pin_reamer", diff --git a/data/json/items/vehicle/wheel.json b/data/json/items/vehicle/wheel.json index 3f3090fd7a5ae..4b9654a0b14cc 100644 --- a/data/json/items/vehicle/wheel.json +++ b/data/json/items/vehicle/wheel.json @@ -152,6 +152,23 @@ "diameter": 4, "width": 1 }, + { + "id": "wheel_10", + "category": "veh_parts", + "type": "WHEEL", + "name": { "str": "set of wheels", "str_pl": "sets of wheels" }, + "description": "A set of four small wheels with tough rubber tires.", + "weight": "4 kg", + "volume": "4 L", + "price": 14000, + "bashing": 6, + "to_hit": -1, + "material": [ "steel", "plastic" ], + "symbol": "]", + "color": "dark_gray", + "diameter": 10, + "width": 4 + }, { "id": "wheel_metal", "category": "veh_parts", diff --git a/data/json/mapgen/city_blocks/city_block_2.json b/data/json/mapgen/city_blocks/city_block_2.json new file mode 100644 index 0000000000000..fdfb627b61eb6 --- /dev/null +++ b/data/json/mapgen/city_blocks/city_block_2.json @@ -0,0 +1,315 @@ +[ + { + "type": "mapgen", + "method": "json", + "om_terrain": [ [ "city_block2_1", "city_block2_2", "city_block2_3", "city_block2_4" ] ], + "weight": 250, + "object": { + "fill_ter": "t_floor", + "rows": [ + "..MMMsssMMMss|ooooo|+||~~$M|o+o|...sss...|o+o|M.M.X.s|oo|+|oo|s.X.M$~~$ss|ooooooooo|MMMsssMMMsss", + ".|ooo|+|ooo|s|y JE F|~~||| |o|sss>|o| yH|o|2 R|>|R 2 |--sssoRHy 2 |ooo|||ooo|--", + "-|2 3 |>| |--|4 ||!|!|| 4 | R|!|R |-->|o|y |2 yHR|s-", + "-| |!| |--| 9 |9 | ! ! |--s! | !ss", + "-| | | |--| | | %%| |%% |--s|E | R|>s", + "-| ! ! AA|--| | | %t|||t% |---|K | R|||", + "-| y|||%%Q YJJJ|--@ DLD R%%%%|%%%%R DD | * j|j * |---|K JA %%%%%%| l|", + "-| A AA Y|Ttj%Q n@--@ DLD R%tjT|Tjt%R LL | RR%TT|TT%RR @---|n J *7 | DLD J K@", + "-|JJJJJJ Q|T * i|--| * T|T * DD | %%%%%|%%%%% |---|i JA % | DLD AJ n@", + "-|Q Q|%%%%*% KKl|--@y %%%%%%|%%%%%% y| *7 |6 * |---|K % | DLD AJ i@", + "-|lKinKK Q|1 %*%%%|--|Y *8 |1 * Y|LD % | % AL|---|% %% % |y J K@", + "-|%%%%%% R| %7 |--|Q l% | %l Q|LD % | % AL@---|Q Q% %%%%%%|%%%%%% Q|", + "-|1 * R| % |--|Q K% | %K Q|LD % | %y AL|-;;|QQQ% *8 |1 * QQQ|", + "-| %%*%| % @--|Q K% | %K Q| %%%%%|%%%%% |-;S|%%%% % | %%*%|||", + "-@ %j t| % |--|KinK% | %KinK|Q *7 |6 * Y|-;;|jYt% % | %j t|S-", + "-| % ||@|@|||@|||--||@@||||@|||||@|||||@||Q K% | %Q K|--;@ * % | % y@;-", + "-| %TTy|S;;;;----------------;;S;S;;-------@Y K% | %Q K@--;|TTy% % | %YTT|;-", + "-||@|@|||@||;;--------------------;;;;;--------|lniK% | %linK|--;|||||||||@|||||@|||||||;-", + "--------;;;;;;---------------------------------||@|||||@|||@@||||@||----------------------------", + "----------------------------------------------------;;;;;S;;;-----------------------------------", + "------------------------------------------------------------------------------------------------", + "------------------------------------------------------------------------------------------------", + "------------------------------------------------------------------------------------------------", + "------------------------------------------------------------------------------------------------" + ], + "palettes": [ "city_block_foundation_palette" ], + "terrain": { "%": "t_wall_w" }, + "nested": { + "1": { + "chunks": [ + [ "bedroom_5x5_adult_N_1", 20 ], + [ "bedroom_5x5_adult_S_1", 20 ], + [ "bedroom_5x5_adult_W_1", 20 ], + [ "bedroom_5x5_adult_N_2", 20 ], + [ "bedroom_5x5_adult_E_2", 20 ], + [ "bedroom_5x5_adult_N_2", 20 ], + [ "bedroom_5x5_adult_N_2", 20 ], + [ "bedroom_5x5_adult_S_2", 20 ] + ] + }, + "2": { "chunks": [ [ "livingroom_5x5_E_1", 20 ], [ "livingroom_5x5_W_1", 20 ], [ "livingroom_5x5_E_2", 20 ] ] }, + "3": { "chunks": [ [ "bonus_room_3x3_4", 20 ], [ "bonus_room_3x3_N_6", 20 ], [ "bonus_room_3x3_N_8", 20 ] ] }, + "4": { + "chunks": [ + [ "livingroom_5x5_E_1", 20 ], + [ "livingroom_5x5_E_2", 20 ], + [ "bonus_room_3x3_5", 20 ], + [ "bonus_room_3x3_E_5", 20 ], + [ "bonus_room_2x2_1", 20 ] + ] + }, + "5": { + "chunks": [ + [ "bonus_room_3x3_E_5", 20 ], + [ "bonus_room_3x3_N_6", 20 ], + [ "bonus_room_3x3_S_6", 20 ], + [ "bonus_room_3x3_W_6", 20 ], + [ "bonus_room_3x3_N_8", 20 ], + [ "bonus_room_3x3_E_8", 20 ], + [ "bonus_room_3x3_E_6", 20 ] + ] + }, + "6": { + "chunks": [ + [ "bedroom_4x4_adult_1_W", 20 ], + [ "bedroom_4x4_adult_1_S", 20 ], + [ "bedroom_4x4_adult_2_N", 20 ], + [ "bedroom_4x4_adult_2_W", 20 ], + [ "bedroom_4x4_adult_2_E", 20 ], + [ "bedroom_4x4_adult_2_S", 20 ], + [ "bedroom_4x4_adult_3_S", 20 ], + [ "bedroom_4x4_adult_3_N", 20 ], + [ "bedroom_4x4_adult_3_E", 20 ], + [ "bedroom_4x4_adult_3_W", 20 ] + ] + }, + "7": { + "chunks": [ + [ "bedroom_4x4_adult_1_S", 20 ], + [ "bedroom_4x4_adult_3_S", 20 ], + [ "bedroom_4x4_adult_3_N", 20 ], + [ "bedroom_4x4_adult_3_E", 20 ], + [ "bedroom_4x4_adult_3_W", 20 ] + ] + }, + "8": { + "chunks": [ + [ "bedroom_5x5_adult_N_1", 20 ], + [ "bedroom_5x5_adult_S_1", 20 ], + [ "bedroom_5x5_adult_E_1", 20 ], + [ "bedroom_5x5_adult_N_2", 20 ], + [ "bedroom_5x5_adult_S_2", 20 ], + [ "bedroom_5x5_adult_E_2", 20 ], + [ "bedroom_5x5_adult_W_2", 20 ] + ] + }, + "9": { "chunks": [ [ "bonus_room_3x3_S_6", 20 ], [ "bonus_room_3x3_S_8", 20 ] ] } + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "combines candy shop front & back 9x9 front, 3x3 back crates.", + "nested_mapgen_id": "city_block_2_candy_shop", + "object": { + "mapgensize": [ 15, 15 ], + "place_nested": [ + { "chunks": [ "city_block_9x9_candy_shop_front" ], "x": 0, "y": 0 }, + { "chunks": [ "city_block_3x3_backroom_crates_candy" ], "x": 6, "y": 12 } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "//": "combines beauty shop front & back 9x9 front, 3x3 back crates.", + "nested_mapgen_id": "city_block_2_beauty_shop", + "object": { + "mapgensize": [ 15, 15 ], + "place_nested": [ + { "chunks": [ "city_block_9x9_beauty_shop_front" ], "x": 0, "y": 0 }, + { "chunks": [ "city_block_3x3_backroom_crates_beauty" ], "x": 6, "y": 12 } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "//": "combines beauty shop front & back 9x9 front, 3x3 back crates.", + "nested_mapgen_id": "city_block_2_vitamin_shop", + "object": { + "mapgensize": [ 15, 15 ], + "place_nested": [ + { "chunks": [ "city_block_9x9_vitamin_shop_front" ], "x": 0, "y": 0 }, + { "chunks": [ "city_block_3x3_backroom_crates_vitamin" ], "x": 6, "y": 12 } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "//": "combines cellphone shop front & back 9x9 front, 3x3 back crates.", + "nested_mapgen_id": "city_block_2_cellphone_shop", + "object": { + "mapgensize": [ 15, 15 ], + "place_nested": [ + { "chunks": [ "city_block_9x9_cellphone_shop_front" ], "x": 0, "y": 0 }, + { "chunks": [ "city_block_3x3_backroom_crates_cellphone" ], "x": 6, "y": 12 } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "//": "combines music shop front & back 9x9 front, 3x3 back crates.", + "nested_mapgen_id": "city_block_2_music_shop", + "object": { + "mapgensize": [ 15, 15 ], + "place_nested": [ + { "chunks": [ "city_block_9x9_music_shop_front" ], "x": 0, "y": 0 }, + { "chunks": [ "city_block_3x3_backroom_crates_music" ], "x": 6, "y": 12 } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "//": "combines electronics shop front & back 9x9 front, 3x3 back crates.", + "nested_mapgen_id": "city_block_2_electronics_shop", + "object": { + "mapgensize": [ 15, 15 ], + "place_nested": [ + { "chunks": [ "city_block_9x9_electronics_shop_front" ], "x": 0, "y": 0 }, + { "chunks": [ "city_block_3x3_backroom_crates_electronics" ], "x": 6, "y": 12 } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "//": "combines pizza shop front & back 9x9 front, 3x3 back crates.", + "nested_mapgen_id": "city_block_2_pizza_shop", + "object": { + "mapgensize": [ 15, 15 ], + "place_nested": [ + { "chunks": [ "city_block_9x9_pizza_shop_front" ], "x": 0, "y": 0 }, + { "chunks": [ "city_block_3x3_backroom_crates_pizza" ], "x": 6, "y": 12 } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "//": "combines general shop front & back 8x8 front, 4x4 back room.", + "nested_mapgen_id": "city_block_2_clothing_shop", + "object": { + "mapgensize": [ 12, 12 ], + "place_nested": [ + { "chunks": [ "city_block_8x8_clothing_shop_front" ], "x": 0, "y": 0 }, + { "chunks": [ "city_block_4x4_backroom_clothing" ], "x": 4, "y": 8 } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "//": "combines formal clothing shop front & back 8x8 front, 4x4 back room.", + "nested_mapgen_id": "city_block_2_formal_clothing_shop", + "object": { + "mapgensize": [ 12, 12 ], + "place_nested": [ + { "chunks": [ "city_block_8x8_formal_clothing_shop_front" ], "x": 0, "y": 0 }, + { "chunks": [ "city_block_4x4_backroom_clothing_formal" ], "x": 4, "y": 8 } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "//": "combines leather clothing shop front & back 8x8 front, 4x4 back room.", + "nested_mapgen_id": "city_block_2_leather_clothing_shop", + "object": { + "mapgensize": [ 12, 12 ], + "place_nested": [ + { "chunks": [ "city_block_8x8_leather_clothing_shop_front" ], "x": 0, "y": 0 }, + { "chunks": [ "city_block_4x4_backroom_clothing_leather" ], "x": 4, "y": 8 } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "//": "combines fur clothing shop front & back 8x8 front, 4x4 back room.", + "nested_mapgen_id": "city_block_2_fur_clothing_shop", + "object": { + "mapgensize": [ 12, 12 ], + "place_nested": [ + { "chunks": [ "city_block_8x8_fur_clothing_shop_front" ], "x": 0, "y": 0 }, + { "chunks": [ "city_block_4x4_backroom_clothing_fur" ], "x": 4, "y": 8 } + ] + } + } +] diff --git a/data/json/mapgen/collapsed_tower.json b/data/json/mapgen/collapsed_tower.json index 173c6c414ef3e..f0878bb330727 100644 --- a/data/json/mapgen/collapsed_tower.json +++ b/data/json/mapgen/collapsed_tower.json @@ -182,7 +182,7 @@ { "item": "cleaning", "x": [ 11, 11 ], "y": [ 21, 22 ], "chance": 60 }, { "item": "cleaning", "x": [ 15, 15 ], "y": [ 21, 22 ], "chance": 60 } ], - "place_monster": [ { "monster": "mon_tripod", "x": [ 12, 13 ], "y": [ 20, 23 ] } ], + "place_monster": [ { "monster": "mon_talon_m202a1", "x": [ 12, 13 ], "y": [ 20, 23 ] } ], "monster": { " ": { "monster": "mon_zombie_living_wall", "chance": 20 } }, "place_monsters": [ { "monster": "GROUP_COLLAPSED_TOWER", "x": [ 0, 23 ], "y": [ 0, 15 ], "density": 2.5 }, diff --git a/data/json/mapgen/house/house_inner_garden.json b/data/json/mapgen/house/house_inner_garden.json index ba19c5dd67965..542e3b906ea8f 100644 --- a/data/json/mapgen/house/house_inner_garden.json +++ b/data/json/mapgen/house/house_inner_garden.json @@ -16,12 +16,12 @@ "#h #~~~~~~U#", "## #~~~~~~U#", ".# +~~~~~~U#", - ".# y y8]888#8#88#8##", + ".# y y8]#88#888888##", ".###iL## #8sssssssssss#.", ".p#n 8s#3..3..sFs#.", ".M#K JA ]s.......sFs#.", ".^#QllJA 8s#......sFs#.", - "######## #8sSsssssssss#.", + "######## #8sssssssssss#.", "#y + y8]#8]#8]8888#.", "o 6 #R + 1 #.", "o #R #++#HLH #.", @@ -32,7 +32,15 @@ "........................" ], "palettes": [ "house_w_foundation_palette" ], - "terrain": { "8": "t_wall_glass", "#": "t_rock_wall", "]": "t_door_glass_c", "%": "t_wall_w" }, + "terrain": { + "8": "t_wall_glass", + "#": "t_rock_wall", + "]": "t_door_glass_c", + "%": "t_wall_w", + "F": "t_concrete", + "U": "t_thconc_floor", + "N": "t_thconc_floor" + }, "furniture": { "a": "f_displaycase" }, "place_vehicles": [ { "vehicle": "showroom_small_vehicles", "x": 17, "y": 5, "rotation": 270, "chance": 20, "status": 0 }, diff --git a/data/json/mapgen/lab/lab_floorplans_finale1level.json b/data/json/mapgen/lab/lab_floorplans_finale1level.json index d3b2e9bd026df..0a7db4fa0685a 100644 --- a/data/json/mapgen/lab/lab_floorplans_finale1level.json +++ b/data/json/mapgen/lab/lab_floorplans_finale1level.json @@ -131,8 +131,8 @@ }, "mapping": { "r": { "item": { "item": "standard_template_construct" } }, "R": { "item": { "item": "nanomaterial" } } }, "place_monster": [ - { "monster": "mon_tripod", "x": [ 1, 4 ], "y": [ 20, 22 ], "chance": 90 }, - { "monster": "mon_tripod", "x": [ 19, 20 ], "y": [ 20, 22 ], "chance": 90 }, + { "monster": "mon_secubot", "x": [ 1, 4 ], "y": [ 20, 22 ], "chance": 90 }, + { "monster": "mon_secubot", "x": [ 19, 20 ], "y": [ 20, 22 ], "chance": 90 }, { "monster": "mon_zombie_scientist", "x": [ 2, 20 ], "y": [ 1, 9 ], "chance": 90, "repeat": [ 1, 2 ] }, { "monster": "mon_mech_lifter", "x": 2, "y": 2, "chance": 50 } ] diff --git a/data/json/mapgen/necropolis/necropolisB3.json b/data/json/mapgen/necropolis/necropolisB3.json index 27e238ee8d03d..49c9cea1a881f 100644 --- a/data/json/mapgen/necropolis/necropolisB3.json +++ b/data/json/mapgen/necropolis/necropolisB3.json @@ -2,8 +2,7 @@ { "name": "GROUP_NECROPOLIS_ROBOT", "type": "monstergroup", - "default": "mon_chickenbot", - "monsters": [ { "monster": "mon_tankbot", "freq": 20, "cost_multiplier": 0 } ] + "default": "mon_secubot" }, { "name": "GROUP_NECROPOLIS_VAULT3", diff --git a/data/json/mapgen/nested/retail_nested.json b/data/json/mapgen/nested/retail_nested.json new file mode 100644 index 0000000000000..48f3c48b02fe2 --- /dev/null +++ b/data/json/mapgen/nested/retail_nested.json @@ -0,0 +1,1369 @@ +[ + { + "type": "mapgen", + "method": "json", + "//": "designed for spaces 9x9.", + "nested_mapgen_id": "city_block_9x9_candy_shop_front", + "object": { + "mapgensize": [ 9, 9 ], + "rotation": [ 0, 3 ], + "rows": [ + "LHL LHL", + " ", + "w L L L w", + "w L L L w", + "w L L L w", + "y ", + "MMM?MM Y", + " A ", + " VVV " + ], + "terrain": { " ": "t_floor", "?": "t_console_broken" }, + "furniture": { + "L": "f_table", + "H": "f_table", + "G": "f_table", + "M": "f_displaycase", + "w": "f_rack_wood", + "V": "f_glass_cabinet", + "Y": "f_trashcan", + "A": "f_stool", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ] + }, + "items": { + "H": [ { "item": "toy_store", "chance": 30, "repeat": [ 1, 2 ] } ], + "Y": [ { "item": "trash", "chance": 30, "repeat": [ 1, 2 ] } ], + "L": [ { "item": "candy_chocolate", "chance": 30, "repeat": [ 0, 4 ] } ], + "w": [ { "item": "candy_chocolate", "chance": 30, "repeat": [ 0, 4 ] } ], + "M": [ + { "item": "candy_chocolate", "chance": 30, "repeat": [ 0, 4 ] }, + { "item": "toy_store", "chance": 30, "repeat": [ 1, 2 ] } + ], + "V": [ + { "item": "candy_chocolate", "chance": 30, "repeat": [ 0, 4 ] }, + { "item": "toy_store", "chance": 30, "repeat": [ 1, 2 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 3x3 candy shop crates.", + "nested_mapgen_id": "city_block_3x3_backroom_crates_candy", + "object": { + "mapgensize": [ 3, 3 ], + "rotation": [ 0, 3 ], + "rows": [ + "z z", + " z", + "z z" + ], + "terrain": { "z": "t_floor" }, + "furniture": { "z": [ [ "f_cardboard_box", 5 ], "f_crate_c" ] }, + "items": { + "z": [ + { "item": "candy_chocolate", "chance": 30, "repeat": [ 1, 6 ] }, + { "item": "toy_store", "chance": 30, "repeat": [ 1, 6 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for spaces 9x9. Beauty and cosmetics shop.", + "nested_mapgen_id": "city_block_9x9_beauty_shop_front", + "object": { + "mapgensize": [ 9, 9 ], + "rotation": [ 0, 3 ], + "rows": [ + "HHH HHH", + " ....... ", + "w.L.L.L.w", + "w.L.L.L.w", + "w.L.L.L.w", + "y....... ", + "MMM?MM Y", + " A ", + " VVV " + ], + "terrain": { " ": "t_floor", "L": "t_carpet_yellow", ".": "t_carpet_yellow", "?": "t_console_broken" }, + "furniture": { + "L": "f_table", + "H": "f_table", + "G": "f_table", + "M": "f_displaycase", + "w": "f_rack", + "V": "f_glass_cabinet", + "Y": "f_trashcan", + "A": "f_stool", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ] + }, + "items": { + "H": [ { "item": "beauty", "chance": 30, "repeat": [ 1, 2 ] } ], + "Y": [ { "item": "beauty", "chance": 30, "repeat": [ 1, 2 ] } ], + "L": [ { "item": "beauty", "chance": 30, "repeat": [ 0, 4 ] } ], + "w": [ { "item": "beauty", "chance": 30, "repeat": [ 0, 4 ] } ], + "M": [ { "item": "beauty", "chance": 30, "repeat": [ 0, 4 ] } ], + "V": [ { "item": "beauty", "chance": 30, "repeat": [ 0, 4 ] } ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 3x3 beauty shop crates.", + "nested_mapgen_id": "city_block_3x3_backroom_crates_beauty", + "object": { + "mapgensize": [ 3, 3 ], + "rotation": [ 0, 3 ], + "rows": [ + "z z", + " z", + "z z" + ], + "terrain": { "z": "t_floor" }, + "furniture": { "z": [ [ "f_cardboard_box", 5 ], "f_crate_c" ] }, + "items": { "z": [ { "item": "beauty", "chance": 30, "repeat": [ 1, 6 ] } ] } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 9x9 vitamin shop.", + "nested_mapgen_id": "city_block_9x9_vitamin_shop_front", + "object": { + "mapgensize": [ 9, 9 ], + "rotation": [ 0, 3 ], + "rows": [ + "LHL LHL", + " ", + "V V V V V", + "V V V V V", + "V V V V V", + "y ", + "MMM?MM Y", + " A ", + "y VVV " + ], + "terrain": { + " ": "t_linoleum_white", + "L": "t_linoleum_white", + "H": "t_linoleum_white", + "V": "t_linoleum_white", + "M": "t_linoleum_white", + "A": "t_linoleum_white", + "y": "t_linoleum_white", + "Y": "t_linoleum_white", + "?": "t_console_broken" + }, + "furniture": { + "L": "f_table", + "H": "f_table", + "G": "f_table", + "M": "f_counter", + "V": "f_rack", + "Y": "f_trashcan", + "A": "f_stool", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ] + }, + "items": { + "H": [ { "item": "vitamin_shop", "chance": 30, "repeat": [ 1, 2 ] } ], + "Y": [ { "item": "trash", "chance": 30, "repeat": [ 1, 2 ] } ], + "L": [ { "item": "vitamin_shop", "chance": 30, "repeat": [ 0, 4 ] } ], + "M": [ { "item": "office", "chance": 30, "repeat": [ 0, 4 ] } ], + "V": [ { "item": "vitamin_shop", "chance": 30, "repeat": [ 0, 4 ] } ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 3x3 vitamin shop crates.", + "nested_mapgen_id": "city_block_3x3_backroom_crates_vitamin", + "object": { + "mapgensize": [ 3, 3 ], + "rotation": [ 0, 3 ], + "rows": [ + "z z", + " z", + "z z" + ], + "terrain": { "z": "t_floor" }, + "furniture": { "z": [ [ "f_cardboard_box", 5 ], "f_crate_c" ] }, + "items": { "z": [ { "item": "vitamin_shop", "chance": 30, "repeat": [ 1, 6 ] } ] } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 9x9 cellphone shop.", + "nested_mapgen_id": "city_block_9x9_cellphone_shop_front", + "object": { + "mapgensize": [ 9, 9 ], + "rotation": [ 0, 3 ], + "rows": [ + "GGy yGG", + " ....... ", + "V.LL.HH.V", + "V.LL.HH.V", + "V.LL.HH.V", + " ....... ", + "M?MM?M Y", + " A A ", + "y MMMM y" + ], + "terrain": { + " ": "t_linoleum_white", + "G": "t_linoleum_white", + "V": "t_linoleum_white", + "M": "t_linoleum_white", + "A": "t_linoleum_white", + "y": "t_linoleum_white", + "Y": "t_linoleum_white", + "H": "t_carpet_green", + "L": "t_carpet_green", + ".": "t_carpet_green", + "?": "t_console_broken" + }, + "furniture": { + "L": "f_table", + "H": "f_table", + "G": "f_displaycase", + "M": "f_counter", + "V": "f_rack", + "Y": "f_trashcan", + "A": "f_stool", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ] + }, + "items": { + "H": [ { "item": "elecsto_pcs", "chance": 30, "repeat": [ 1, 2 ] } ], + "G": [ { "item": "elecsto_persele", "chance": 30, "repeat": [ 1, 2 ] } ], + "Y": [ { "item": "trash", "chance": 30, "repeat": [ 1, 2 ] } ], + "L": [ { "item": "cell_shop", "chance": 30, "repeat": [ 0, 4 ] } ], + "M": [ { "item": "cell_shop", "chance": 30, "repeat": [ 0, 1 ] } ], + "V": [ { "item": "cell_shop", "chance": 30, "repeat": [ 0, 4 ] } ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 3x3 cellphone shop crates.", + "nested_mapgen_id": "city_block_3x3_backroom_crates_cellphone", + "object": { + "mapgensize": [ 3, 3 ], + "rotation": [ 0, 3 ], + "rows": [ + "z z", + " z", + "z z" + ], + "terrain": { "z": "t_floor" }, + "furniture": { "z": [ [ "f_cardboard_box", 5 ], "f_crate_c" ] }, + "items": { + "z": [ + { "item": "cell_shop", "chance": 30, "repeat": [ 1, 6 ] }, + { "item": "elecsto_pcs", "chance": 30, "repeat": [ 1, 6 ] }, + { "item": "elecsto_persele", "chance": 30, "repeat": [ 1, 6 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 9x9 music shop.", + "nested_mapgen_id": "city_block_9x9_music_shop_front", + "object": { + "mapgensize": [ 9, 9 ], + "rotation": [ 0, 3 ], + "rows": [ + "HHHy yHHH", + " ....... ", + "V.LL.GG.V", + "V.LL.GG.V", + "V.LL.GG.V", + " .......V", + "MMMM?M V", + " A ", + "y MMMM Y" + ], + "terrain": { " ": "t_floor", "G": "t_carpet_red", "L": "t_carpet_red", ".": "t_carpet_red", "?": "t_console_broken" }, + "furniture": { + "L": "f_table", + "H": "f_table", + "G": "f_displaycase", + "M": "f_counter", + "V": "f_bookcase", + "Y": "f_trashcan", + "A": "f_stool", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ] + }, + "items": { + "H": [ { "item": "musicstore_showpiece", "chance": 30, "repeat": [ 1, 2 ] } ], + "G": [ { "item": "mussto_windinst", "chance": 30, "repeat": [ 1, 2 ] } ], + "Y": [ { "item": "trash", "chance": 30, "repeat": [ 1, 2 ] } ], + "L": [ { "item": "mussto_stringinst", "chance": 30, "repeat": [ 0, 4 ] } ], + "M": [ { "item": "office", "chance": 30, "repeat": [ 0, 1 ] } ], + "V": [ { "item": "musicstore_showpiece", "chance": 30, "repeat": [ 0, 4 ] } ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 3x3 music shop crates.", + "nested_mapgen_id": "city_block_3x3_backroom_crates_music", + "object": { + "mapgensize": [ 3, 3 ], + "rotation": [ 0, 3 ], + "rows": [ + "z z", + " z", + "z z" + ], + "terrain": { "z": "t_floor" }, + "furniture": { "z": [ [ "f_cardboard_box", 5 ], "f_crate_c" ] }, + "items": { + "z": [ + { "item": "musicstore_showpiece", "chance": 30, "repeat": [ 0, 2 ] }, + { "item": "mussto_windinst", "chance": 30, "repeat": [ 0, 2 ] }, + { "item": "mussto_stringinst", "chance": 30, "repeat": [ 0, 2 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 9x9 electronics shop.", + "nested_mapgen_id": "city_block_9x9_electronics_shop_front", + "object": { + "mapgensize": [ 9, 9 ], + "rotation": [ 0, 3 ], + "rows": [ + "HHHy yHHH", + " ....... ", + "V.LL.LL.V", + "V.GG.GG.V", + "V.BB.BB.V", + " .......V", + "MMMM?M y", + " A ", + "y MMMM Y" + ], + "terrain": { + " ": "t_floor", + "G": "t_carpet_yellow", + "L": "t_carpet_yellow", + "B": "t_carpet_yellow", + ".": "t_carpet_yellow", + "?": "t_console_broken" + }, + "furniture": { + "L": "f_table", + "B": "f_table", + "H": "f_displaycase", + "G": "f_displaycase", + "M": "f_counter", + "V": "f_rack", + "Y": "f_trashcan", + "A": "f_stool", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ] + }, + "items": { + "H": [ { "item": "elecsto_pcs", "chance": 30, "repeat": [ 1, 2 ] } ], + "G": [ { "item": "elecsto_cameras", "chance": 30, "repeat": [ 1, 2 ] } ], + "Y": [ { "item": "trash", "chance": 30, "repeat": [ 1, 2 ] } ], + "L": [ { "item": "elecsto_entapl", "chance": 30, "repeat": [ 0, 4 ] } ], + "B": [ { "item": "elecsto_homapl", "chance": 30, "repeat": [ 0, 4 ] } ], + "M": [ { "item": "office", "chance": 30, "repeat": [ 0, 1 ] } ], + "V": [ + { "item": "elecsto_lights", "chance": 30, "repeat": [ 0, 4 ] }, + { "item": "elecsto_diy", "chance": 30, "repeat": [ 0, 4 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 3x3 electronics shop crates.", + "nested_mapgen_id": "city_block_3x3_backroom_crates_electronics", + "object": { + "mapgensize": [ 3, 3 ], + "rotation": [ 0, 3 ], + "rows": [ + "z z", + " z", + "z z" + ], + "terrain": { "z": "t_floor" }, + "furniture": { "z": [ [ "f_cardboard_box", 5 ], "f_crate_c" ] }, + "items": { + "z": [ + { "item": "elecsto_pcs", "chance": 30, "repeat": [ 0, 2 ] }, + { "item": "elecsto_cameras", "chance": 30, "repeat": [ 0, 2 ] }, + { "item": "elecsto_entapl", "chance": 30, "repeat": [ 0, 2 ] }, + { "item": "elecsto_homapl", "chance": 30, "repeat": [ 0, 2 ] }, + { "item": "elecsto_lights", "chance": 30, "repeat": [ 0, 2 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 9x9 pizza shop.", + "nested_mapgen_id": "city_block_9x9_pizza_shop_front", + "object": { + "mapgensize": [ 9, 9 ], + "rotation": [ 0, 3 ], + "rows": [ + "AAAY YMMM", + "MMM AAA", + "V ? ", + "B M R RR", + "i G L LL", + "B G R RR", + "s M ", + "F M R RR", + "Q RLyLL" + ], + "terrain": { + " ": "t_linoleum_gray", + "L": "t_linoleum_gray", + "R": "t_linoleum_gray", + "B": "t_linoleum_gray", + "G": "t_linoleum_gray", + "M": "t_linoleum_gray", + "F": "t_linoleum_gray", + "V": "t_linoleum_gray", + "Q": "t_linoleum_gray", + "Y": "t_linoleum_gray", + "y": "t_linoleum_gray", + "A": "t_linoleum_gray", + "s": "t_linoleum_gray", + "i": "t_linoleum_gray", + "?": "t_console_broken" + }, + "furniture": { + "L": "f_table", + "i": "f_oven", + "s": "f_sink", + "R": "f_bench", + "B": "f_counter", + "G": "f_displaycase", + "M": "f_counter", + "F": "f_glass_fridge", + "V": "f_rack", + "Q": "f_rack", + "Y": "f_trashcan", + "A": "f_stool", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ] + }, + "items": { + "B": [ { "item": "pizza_kitchen", "chance": 30, "repeat": [ 1, 2 ] } ], + "G": [ { "item": "pizza_display", "chance": 30, "repeat": [ 1, 2 ] } ], + "L": [ { "item": "pizza_table", "chance": 30, "repeat": [ 1, 2 ] } ], + "Y": [ { "item": "trash", "chance": 30, "repeat": [ 1, 2 ] } ], + "F": [ { "item": "pizza_fridge", "chance": 30, "repeat": [ 0, 4 ] } ], + "V": [ { "item": "pizza_display", "chance": 30, "repeat": [ 0, 4 ] } ], + "Q": [ { "item": "pizza_kitchen", "chance": 30, "repeat": [ 0, 1 ] } ], + "M": [ + { "item": "pizza_table", "chance": 30, "repeat": [ 0, 4 ] }, + { "item": "pizza_display", "chance": 30, "repeat": [ 0, 1 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 3x3 pizza shop crates.", + "nested_mapgen_id": "city_block_3x3_backroom_crates_pizza", + "object": { + "mapgensize": [ 3, 3 ], + "rotation": [ 0, 3 ], + "rows": [ + "z z", + " z", + "z z" + ], + "terrain": { "z": "t_floor" }, + "furniture": { "z": [ [ "f_cardboard_box", 5 ], "f_crate_c" ] }, + "items": { + "z": [ + { "item": "pizza_kitchen", "chance": 30, "repeat": [ 0, 2 ] }, + { "item": "pizza_table", "chance": 30, "repeat": [ 0, 2 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 8x8 clothing shop.", + "nested_mapgen_id": "city_block_8x8_clothing_shop_front", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + " BBB ", + " C GA b", + " C G?G ", + " d R", + " LdL ", + " C R", + " C QQVV ", + "|| |||||" + ], + "terrain": { " ": "t_floor", "?": "t_console_broken", "|": "t_brick_wall" }, + "furniture": { + "A": "f_stool", + "B": "f_counter", + "C": "f_table", + "G": "f_displaycase", + "b": "f_bigmirror", + "d": "f_mannequin", + "L": "f_table", + "Q": "f_rack_wood", + "R": "f_armchair", + "V": "f_rack_wood", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ] + }, + "items": { + "d": [ + { "item": "jackets", "chance": 40 }, + { "item": "pants", "chance": 100 }, + { "item": "shirts", "chance": 100 }, + { "item": "hatstore_accessories", "chance": 100 }, + { "item": "shoestore_shoes", "chance": 100 } + ], + "C": [ { "item": "shirts", "chance": 30, "repeat": [ 1, 2 ] } ], + "L": [ { "item": "pants", "chance": 30, "repeat": [ 1, 2 ] } ], + "Q": [ { "item": "bags", "chance": 30, "repeat": [ 1, 2 ] } ], + "V": [ { "item": "shoestore_shoes", "chance": 30, "repeat": [ 1, 2 ] } ], + "G": [ + { "item": "hatstore_accessories", "chance": 30, "repeat": [ 0, 4 ] }, + { "item": "jewelry_front", "chance": 30, "repeat": [ 0, 1 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 4x4 general clothing shop crates.", + "nested_mapgen_id": "city_block_4x4_backroom_clothing", + "object": { + "mapgensize": [ 4, 4 ], + "rotation": [ 0, 3 ], + "rows": [ + "z zz", + " z z", + "z z ", + "z z" + ], + "terrain": { "z": "t_floor" }, + "furniture": { "z": [ [ "f_cardboard_box", 5 ], "f_crate_c" ] }, + "items": { + "z": [ + { "item": "shirts", "chance": 30, "repeat": [ 1, 6 ] }, + { "item": "pants", "chance": 30, "repeat": [ 1, 6 ] }, + { "item": "jackets", "chance": 30, "repeat": [ 1, 6 ] }, + { "item": "hatstore_accessories", "chance": 30, "repeat": [ 1, 6 ] }, + { "item": "shoestore_shoes", "chance": 30, "repeat": [ 1, 6 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 4x4 general clothing backroom.", + "nested_mapgen_id": "city_block_4x4_backroom_clothing", + "object": { + "mapgensize": [ 4, 4 ], + "rotation": [ 0, 3 ], + "rows": [ + "CCCC", + " ", + " ", + "CC C" + ], + "terrain": { " ": "t_floor" }, + "furniture": { "C": "f_rack" }, + "items": { + "C": [ + { "item": "shirts", "chance": 30, "repeat": [ 1, 6 ] }, + { "item": "pants", "chance": 30, "repeat": [ 1, 6 ] }, + { "item": "jackets", "chance": 30, "repeat": [ 1, 6 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 8x8 formal clothing shop.", + "nested_mapgen_id": "city_block_8x8_formal_clothing_shop_front", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + " GGG ", + " e A b", + " C B?B ", + " d b", + " RCR ", + " b", + " b LLL ", + "|| |||||" + ], + "terrain": { " ": "t_floor", "?": "t_console_broken", "|": "t_brick_wall" }, + "furniture": { + "A": "f_stool", + "B": "f_counter", + "C": "f_table", + "G": "f_displaycase", + "b": "f_bigmirror", + "d": "f_mannequin", + "e": "f_mannequin", + "L": "f_wardrobe", + "R": "f_armchair" + }, + "items": { + "d": [ + { "item": "wedding_suits", "chance": 100 }, + { "item": "hatstore_accessories", "chance": 100 }, + { "item": "dress_shoes", "chance": 100 } + ], + "e": [ + { "item": "wedding_suits", "chance": 100 }, + { "item": "hatstore_accessories", "chance": 100 }, + { "item": "dress_shoes", "chance": 100 } + ], + "C": [ { "item": "dress_shoes", "chance": 30, "repeat": [ 1, 2 ] } ], + "L": [ { "item": "wedding_suits", "chance": 30, "repeat": [ 1, 2 ] } ], + "V": [ { "item": "shoestore_shoes", "chance": 30, "repeat": [ 1, 2 ] } ], + "G": [ + { "item": "neckties", "chance": 30, "repeat": [ 0, 4 ] }, + { "item": "accesories_personal_unisex", "chance": 30, "repeat": [ 0, 1 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 4x4 formal clothing shop crates.", + "nested_mapgen_id": "city_block_4x4_backroom_clothing_formal", + "object": { + "mapgensize": [ 4, 4 ], + "rotation": [ 0, 3 ], + "rows": [ + "z zz", + " z z", + "z z ", + "z z" + ], + "terrain": { "z": "t_floor" }, + "furniture": { "z": [ [ "f_cardboard_box", 5 ], "f_crate_c" ] }, + "items": { + "z": [ + { "item": "wedding_suits", "chance": 30, "repeat": [ 0, 6 ] }, + { "item": "hatstore_accessories", "chance": 30, "repeat": [ 0, 6 ] }, + { "item": "dress_shoes", "chance": 30, "repeat": [ 0, 6 ] }, + { "item": "neckties", "chance": 30, "repeat": [ 0, 6 ] }, + { "item": "accesories_personal_unisex", "chance": 30, "repeat": [ 0, 6 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 4x4 formal clothing backroom.", + "nested_mapgen_id": "city_block_4x4_backroom_clothing_formal", + "object": { + "mapgensize": [ 4, 4 ], + "rotation": [ 0, 3 ], + "rows": [ + "CCCC", + " ", + " ", + "CC C" + ], + "terrain": { " ": "t_floor" }, + "furniture": { "C": "f_rack" }, + "items": { + "C": [ + { "item": "wedding_suits", "chance": 30, "repeat": [ 0, 6 ] }, + { "item": "dress_shoes", "chance": 30, "repeat": [ 0, 6 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 4x4 formal clothing backroom.", + "nested_mapgen_id": "city_block_4x4_backroom_clothing_formal", + "object": { + "mapgensize": [ 4, 4 ], + "rotation": [ 0, 3 ], + "rows": [ + "CBBB", + "e Ad", + " ", + "bb C" + ], + "terrain": { " ": "t_floor", "?": "t_console_broken" }, + "furniture": { "A": "f_stool", "B": "f_workbench", "C": "f_rack_wood", "d": "f_mannequin", "e": "f_mannequin", "b": "f_bench" }, + "items": { + "C": [ { "item": "SUS_tailoring_materials", "chance": 30, "repeat": [ 1, 2 ] } ], + "d": [ { "item": "SUS_mannequin_formal_mens", "chance": 30 } ], + "e": [ { "item": "SUS_mannequin_dresses", "chance": 30 } ], + "B": [ + { "item": "SUS_tailoring_tool_drawer", "chance": 30, "repeat": [ 0, 1 ] }, + { "item": "SUS_tailoring_fasteners", "chance": 30, "repeat": [ 2, 6 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 8x8 leather clothing shop.", + "nested_mapgen_id": "city_block_8x8_leather_clothing_shop_front", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + " d B?B ", + " Q AB b", + " Q ", + " Q C G b", + " d C G ", + " b", + " b LLL ", + "|| |||||" + ], + "terrain": { " ": "t_floor", "?": "t_console_broken", "|": "t_brick_wall" }, + "furniture": { + "A": "f_stool", + "B": "f_counter", + "C": "f_table", + "G": "f_displaycase", + "b": "f_bigmirror", + "Q": "f_rack_wood", + "d": "f_mannequin", + "L": "f_wardrobe" + }, + "items": { + "d": [ + { "item": "leather_shop", "chance": 100 }, + { "item": "pants", "chance": 50 }, + { "item": "shirts", "chance": 50 }, + { "item": "leather_shop_accessories", "chance": 100 } + ], + "C": [ { "item": "leather_shop", "chance": 30, "repeat": [ 1, 2 ] } ], + "L": [ { "item": "leather_shop", "chance": 30, "repeat": [ 1, 2 ] } ], + "Q": [ { "item": "leather_shop", "chance": 30, "repeat": [ 1, 2 ] } ], + "G": [ + { "item": "leather_shop_accessories", "chance": 30, "repeat": [ 0, 4 ] }, + { "item": "accesories_personal_unisex", "chance": 30, "repeat": [ 0, 1 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 4x4 leather clothing shop crates.", + "nested_mapgen_id": "city_block_4x4_backroom_clothing_leather", + "object": { + "mapgensize": [ 4, 4 ], + "rotation": [ 0, 3 ], + "rows": [ + "z zz", + " z z", + "z z ", + "z z" + ], + "terrain": { "z": "t_floor" }, + "furniture": { "z": [ [ "f_cardboard_box", 5 ], "f_crate_c" ] }, + "items": { + "z": [ + { "item": "leather_shop", "chance": 30, "repeat": [ 1, 6 ] }, + { "item": "leather_shop_accessories", "chance": 30, "repeat": [ 1, 6 ] }, + { "item": "accesories_personal_unisex", "chance": 30, "repeat": [ 1, 6 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 4x4 leather clothing backroom.", + "nested_mapgen_id": "city_block_4x4_backroom_clothing_leather", + "object": { + "mapgensize": [ 4, 4 ], + "rotation": [ 0, 3 ], + "rows": [ + "CCCC", + " ", + " ", + "CC C" + ], + "terrain": { " ": "t_floor" }, + "furniture": { "C": "f_rack" }, + "items": { + "C": [ + { "item": "leather_shop", "chance": 30, "repeat": [ 0, 6 ] }, + { "item": "leather_shop_accessories", "chance": 30, "repeat": [ 0, 6 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 4x4 leather clothing backroom.", + "nested_mapgen_id": "city_block_4x4_backroom_clothing_leather", + "object": { + "mapgensize": [ 4, 4 ], + "rotation": [ 0, 3 ], + "rows": [ + "CBBB", + " Ad", + "A ", + "BB C" + ], + "terrain": { " ": "t_floor", "?": "t_console_broken" }, + "furniture": { "A": "f_stool", "B": "f_workbench", "C": "f_rack_wood", "d": "f_mannequin", "e": "f_mannequin", "b": "f_bench" }, + "items": { + "C": [ + { "item": "SUS_tailoring_materials", "chance": 10, "repeat": [ 1, 2 ] }, + { "item": "leather_shop_repair", "chance": 30, "repeat": [ 2, 6 ] } + ], + "d": [ + { "item": "leather_shop", "chance": 100 }, + { "item": "pants", "chance": 50 }, + { "item": "shirts", "chance": 50 }, + { "item": "leather_shop_accessories", "chance": 100 } + ], + "B": [ + { "item": "SUS_tailoring_tool_drawer", "chance": 30, "repeat": [ 0, 1 ] }, + { "item": "SUS_tailoring_fasteners", "chance": 30, "repeat": [ 2, 6 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 8x8 fur clothing shop.", + "nested_mapgen_id": "city_block_8x8_fur_clothing_shop_front", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + " d B?B ", + " L AB b", + " L ", + " L C G b", + " d C G ", + " b", + " b QQQ ", + "|| |||||" + ], + "terrain": { " ": "t_floor", "?": "t_console_broken", "|": "t_brick_wall" }, + "furniture": { + "A": "f_stool", + "B": "f_counter", + "C": "f_table", + "G": "f_displaycase", + "b": "f_bigmirror", + "Q": "f_rack_wood", + "d": "f_mannequin", + "L": "f_wardrobe" + }, + "items": { + "d": [ + { "item": "fancyfurs", "chance": 100 }, + { "item": "pants", "chance": 50 }, + { "item": "shirts", "chance": 50 }, + { "item": "dress_shoes", "chance": 100 } + ], + "C": [ { "item": "fancyfurs", "chance": 30, "repeat": [ 1, 2 ] } ], + "L": [ { "item": "fancyfurs", "chance": 30, "repeat": [ 1, 2 ] } ], + "Q": [ { "item": "fancyfurs", "chance": 30, "repeat": [ 1, 2 ] } ], + "G": [ + { "item": "neckties", "chance": 30, "repeat": [ 0, 4 ] }, + { "item": "jewelry_front", "chance": 30, "repeat": [ 0, 1 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 4x4 fur clothing shop crates.", + "nested_mapgen_id": "city_block_4x4_backroom_clothing_fur", + "object": { + "mapgensize": [ 4, 4 ], + "rotation": [ 0, 3 ], + "rows": [ + "z z", + " z ", + "z z ", + "z z" + ], + "terrain": { "z": "t_floor" }, + "furniture": { "z": [ [ "f_cardboard_box", 5 ], "f_crate_c" ] }, + "items": { + "z": [ + { "item": "fancyfurs", "chance": 30, "repeat": [ 1, 6 ] }, + { "item": "neckties", "chance": 30, "repeat": [ 1, 6 ] }, + { "item": "accesories_personal_unisex", "chance": 30, "repeat": [ 1, 6 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 4x4 fur clothing backroom.", + "nested_mapgen_id": "city_block_4x4_backroom_clothing_fur", + "object": { + "mapgensize": [ 4, 4 ], + "rotation": [ 0, 3 ], + "rows": [ + "CCCC", + " ", + " ", + "CC C" + ], + "terrain": { " ": "t_floor" }, + "furniture": { "C": "f_rack" }, + "items": { "C": [ { "item": "fancyfurs", "chance": 30, "repeat": [ 0, 6 ] } ] } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 4x4 fur clothing backroom.", + "nested_mapgen_id": "city_block_4x4_backroom_clothing_fur", + "object": { + "mapgensize": [ 4, 4 ], + "rotation": [ 0, 3 ], + "rows": [ + "CBBB", + " Ad", + "A ", + "BB C" + ], + "terrain": { " ": "t_floor", "?": "t_console_broken" }, + "furniture": { "A": "f_stool", "B": "f_workbench", "C": "f_rack_wood", "d": "f_mannequin", "e": "f_mannequin", "b": "f_bench" }, + "items": { + "C": [ + { "item": "SUS_tailoring_materials", "chance": 10, "repeat": [ 1, 2 ] }, + { "item": "SUS_fur_tailoring_materials", "chance": 30, "repeat": [ 2, 6 ] } + ], + "d": [ { "item": "SUS_mannequin_fur", "chance": 100 } ], + "B": [ + { "item": "SUS_tailoring_tool_drawer", "chance": 30, "repeat": [ 0, 1 ] }, + { "item": "SUS_tailoring_fasteners", "chance": 30, "repeat": [ 2, 6 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 5x5 shop backroom.", + "nested_mapgen_id": "city_block_5x5_backroom_shop", + "object": { + "mapgensize": [ 5, 5 ], + "rotation": [ 0, 3 ], + "rows": [ + "d G", + "L G", + "BA ", + "B zz", + "Cyz " + ], + "terrain": { " ": "t_floor", "?": "t_console_broken" }, + "furniture": { + "A": "f_chair", + "B": "f_desk", + "C": "f_rack", + "G": "f_locker", + "b": "f_bench", + "d": "f_filing_cabinet", + "L": "f_shredder", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ], + "z": [ [ "f_cardboard_box", 5 ], "f_crate_c" ] + }, + "items": { + "d": [ { "item": "office_paper", "chance": 25 } ], + "C": [ { "item": "cleaning", "chance": 30, "repeat": [ 1, 2 ] } ], + "B": [ { "item": "office", "chance": 30, "repeat": [ 1, 2 ] } ], + "G": [ { "item": "jackets", "chance": 30, "repeat": [ 0, 1 ] }, { "item": "bags", "chance": 30, "repeat": [ 0, 1 ] } ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 5x5 shop backroom.", + "nested_mapgen_id": "city_block_5x5_backroom_shop", + "object": { + "mapgensize": [ 5, 5 ], + "rotation": [ 0, 3 ], + "rows": [ + "y GG", + "b G", + "b z ", + " zz", + "CDF " + ], + "terrain": { " ": "t_floor", "?": "t_console_broken" }, + "furniture": { + "A": "f_chair", + "B": "f_desk", + "C": "f_rack", + "G": "f_locker", + "b": "f_bench", + "d": "f_filing_cabinet", + "L": "f_shredder", + "D": "f_vending_c", + "F": "f_vending_c", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ], + "z": [ [ "f_cardboard_box", 5 ], "f_crate_c" ] + }, + "vendingmachines": { "D": { "item_group": "vending_drink" }, "F": { "item_group": "vending_food" } }, + "items": { + "C": [ { "item": "cleaning", "chance": 30, "repeat": [ 1, 2 ] } ], + "G": [ { "item": "jackets", "chance": 30, "repeat": [ 0, 1 ] }, { "item": "bags", "chance": 30, "repeat": [ 0, 1 ] } ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 4x4 shop backroom.", + "nested_mapgen_id": "city_block_4x4_backroom_shop", + "object": { + "mapgensize": [ 4, 4 ], + "rotation": [ 0, 3 ], + "rows": [ + "FD d", + "G ", + "G ", + "ybb " + ], + "terrain": { " ": "t_floor", "?": "t_console_broken" }, + "furniture": { + "G": "f_locker", + "b": "f_bench", + "d": "f_filing_cabinet", + "D": "f_vending_c", + "F": "f_vending_c", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ] + }, + "vendingmachines": { "D": { "item_group": "vending_drink" }, "F": { "item_group": "vending_food" } }, + "items": { + "G": [ { "item": "jackets", "chance": 30, "repeat": [ 0, 1 ] }, { "item": "bags", "chance": 30, "repeat": [ 0, 1 ] } ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 4x4 shop backroom.", + "nested_mapgen_id": "city_block_4x4_backroom_shop", + "object": { + "mapgensize": [ 4, 4 ], + "rotation": [ 0, 3 ], + "rows": [ + "FD d", + "G ", + "G ", + "y C " + ], + "terrain": { " ": "t_floor", "?": "t_console_broken" }, + "furniture": { + "C": "f_rack", + "G": "f_sofa", + "d": "f_filing_cabinet", + "D": "f_vending_c", + "F": "f_vending_c", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ] + }, + "vendingmachines": { "D": { "item_group": "vending_drink" }, "F": { "item_group": "vending_food" } }, + "items": { + "C": [ { "item": "cleaning", "chance": 30, "repeat": [ 1, 2 ] } ], + "G": [ { "item": "jackets", "chance": 30, "repeat": [ 0, 1 ] }, { "item": "bags", "chance": 30, "repeat": [ 0, 1 ] } ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 4x4 shop backroom.", + "nested_mapgen_id": "city_block_4x4_backroom_shop", + "object": { + "mapgensize": [ 4, 4 ], + "rotation": [ 0, 3 ], + "rows": [ + "d L", + "B ", + "BA ", + "y GC" + ], + "terrain": { " ": "t_floor", "?": "t_console_broken" }, + "furniture": { + "A": "f_chair", + "B": "f_desk", + "C": "f_rack", + "G": "f_locker", + "d": "f_filing_cabinet", + "L": "f_shredder", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ] + }, + "items": { + "C": [ { "item": "cleaning", "chance": 30, "repeat": [ 1, 2 ] } ], + "B": [ { "item": "office", "chance": 30, "repeat": [ 1, 2 ] } ], + "G": [ { "item": "jackets", "chance": 30, "repeat": [ 0, 1 ] }, { "item": "bags", "chance": 30, "repeat": [ 0, 1 ] } ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 5x5 shop backroom.", + "nested_mapgen_id": "city_block_5x5_backroom_shop", + "object": { + "mapgensize": [ 5, 5 ], + "rotation": [ 0, 3 ], + "rows": [ + "d FD", + "G b ", + "G b z", + "G b ", + "yz CC" + ], + "terrain": { " ": "t_floor", "?": "t_console_broken" }, + "furniture": { + "A": "f_chair", + "B": "f_desk", + "C": "f_rack", + "G": "f_locker", + "b": "f_bench", + "d": "f_filing_cabinet", + "L": "f_shredder", + "D": "f_vending_c", + "F": "f_vending_c", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ], + "z": [ [ "f_cardboard_box", 5 ], "f_crate_c" ] + }, + "vendingmachines": { "D": { "item_group": "vending_drink" }, "F": { "item_group": "vending_food" } }, + "items": { + "C": [ { "item": "cleaning", "chance": 30, "repeat": [ 1, 2 ] } ], + "G": [ { "item": "jackets", "chance": 30, "repeat": [ 0, 1 ] }, { "item": "bags", "chance": 30, "repeat": [ 0, 1 ] } ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 5x5 shop backroom.", + "nested_mapgen_id": "city_block_5x5_backroom_shop", + "object": { + "mapgensize": [ 5, 5 ], + "rotation": [ 0, 3 ], + "rows": [ + "d FD", + "G ", + "G z", + "C ", + "yAAA " + ], + "terrain": { " ": "t_floor" }, + "furniture": { + "A": "f_sofa", + "C": "f_rack", + "G": "f_locker", + "d": "f_filing_cabinet", + "D": "f_vending_c", + "F": "f_vending_c", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ], + "z": [ [ "f_cardboard_box", 5 ], "f_crate_c" ] + }, + "vendingmachines": { "D": { "item_group": "vending_drink" }, "F": { "item_group": "vending_food" } }, + "items": { + "C": [ { "item": "cleaning", "chance": 30, "repeat": [ 1, 2 ] } ], + "G": [ { "item": "jackets", "chance": 30, "repeat": [ 0, 1 ] }, { "item": "bags", "chance": 30, "repeat": [ 0, 1 ] } ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 3x3 candy shop crates.", + "nested_mapgen_id": "city_block_3x3_backroom_crates_candy", + "object": { + "mapgensize": [ 3, 3 ], + "rotation": [ 0, 3 ], + "rows": [ + "z z", + " z", + "z z" + ], + "terrain": { "z": "t_floor" }, + "furniture": { "z": [ [ "f_cardboard_box", 5 ], "f_crate_c" ] }, + "items": { + "z": [ + { "item": "candy_chocolate", "chance": 30, "repeat": [ 1, 6 ] }, + { "item": "toy_store", "chance": 30, "repeat": [ 1, 6 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for restaurant spaces 14x14.", + "nested_mapgen_id": "city_block_14x14_restaurant", + "object": { + "mapgensize": [ 14, 14 ], + "rotation": [ 0, 3 ], + "rows": [ + " ", + " ", + "HLH HLH GG ", + "HLH HLH LL ", + " GG ", + "HLH HLH y ", + "HLH HLH GG ", + " LL ", + "|||||||| GG ", + "JJiRiJJ| || ", + "F n| |t ", + "F RRR l| * ", + "F * | ", + "YPPQQSY| |j " + ], + "terrain": { "?": "t_console_broken", "|": "t_brick_wall", "*": "t_door_c" }, + "furniture": { + "L": "f_table", + "H": "f_chair", + "G": "f_sofa", + "t": "f_toilet", + "j": "f_sink", + "P": "f_rack", + "S": "f_rack", + "Q": "f_rack", + "Y": "f_trashcan", + "A": "f_stool", + "i": "f_oven", + "F": "f_fridge", + "n": "f_sink", + "l": "f_dishwasher", + "J": "f_counter", + "R": "f_counter", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ] + }, + "items": { + "Y": [ { "item": "trash", "chance": 30, "repeat": [ 1, 2 ] } ], + "l": [ { "item": "restaur_sink", "chance": 30, "repeat": [ 1, 2 ] } ], + "n": [ { "item": "restaur_sink", "chance": 30, "repeat": [ 1, 2 ] } ], + "j": [ { "item": "restaur_bath", "chance": 30, "repeat": [ 1, 2 ] } ], + "i": [ { "item": "SUS_oven", "chance": 30, "repeat": [ 1, 2 ] } ], + "L": [ { "item": "restaur_table", "chance": 30, "repeat": [ 0, 4 ] } ], + "J": [ + { "item": "SUS_knife_drawer", "chance": 30, "repeat": [ 0, 4 ] }, + { "item": "restaur_kitchen", "chance": 30, "repeat": [ 1, 2 ] } + ], + "R": [ + { "item": "restaur_kitchen", "chance": 30, "repeat": [ 0, 4 ] }, + { "item": "diner_food", "chance": 30, "repeat": [ 1, 2 ] } + ], + "P": [ + { "item": "restaur_kitchen", "chance": 30, "repeat": [ 0, 4 ] }, + { "item": "restaur_rack", "chance": 30, "repeat": [ 1, 2 ] } + ], + "Q": [ + { "item": "restaur_kitchen", "chance": 30, "repeat": [ 0, 4 ] }, + { "item": "restaur_kitchen", "chance": 30, "repeat": [ 1, 2 ] } + ], + "S": [ + { "item": "groce_bread", "chance": 30, "repeat": [ 0, 4 ] }, + { "item": "restaur_kitchen", "chance": 30, "repeat": [ 1, 2 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for bar spaces 11x11.", + "nested_mapgen_id": "city_block_11x11_bar", + "object": { + "mapgensize": [ 11, 11 ], + "rotation": [ 0, 3 ], + "rows": [ + "y A xx ", + "F RRA xx ", + "n RA xx ", + "J RA ", + "J ARA LG ", + "F RA LLG ", + "F yGGG ", + "|| ||||||| ", + "t| |FFFllK ", + " * * K ", + "j|K|YnJK " + ], + "terrain": { " ": "t_null", "|": "t_brick_wall", "*": "t_door_c" }, + "furniture": { + "L": "f_table", + "x": "f_pool_table", + "G": "f_sofa", + "t": "f_toilet", + "j": "f_sink", + "Y": "f_trashcan", + "A": "f_stool", + "F": "f_glass_fridge", + "n": "f_sink", + "l": "f_dishwasher", + "J": "f_counter", + "R": "f_counter", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ] + }, + "items": { + "K": { "item": "keg_beer", "chance": 50 }, + "Y": [ { "item": "trash", "chance": 30, "repeat": [ 1, 2 ] } ], + "x": [ { "item": "pool_table", "chance": 30, "repeat": [ 1, 2 ] } ], + "l": [ { "item": "restaur_sink", "chance": 30, "repeat": [ 1, 2 ] } ], + "n": [ { "item": "restaur_sink", "chance": 30, "repeat": [ 1, 2 ] } ], + "j": [ { "item": "restaur_bath", "chance": 30, "repeat": [ 1, 2 ] } ], + "L": [ { "item": "bar_table", "chance": 30, "repeat": [ 0, 4 ] } ], + "J": [ + { "item": "liqstore_brew", "chance": 30, "repeat": [ 0, 4 ] }, + { "item": "bar_alcohol", "chance": 30, "repeat": [ 1, 2 ] } + ], + "R": [ { "item": "bar_table", "chance": 30, "repeat": [ 0, 4 ] } ], + "F": [ + { "item": "bar_alcohol", "chance": 30, "repeat": [ 0, 4 ] }, + { "item": "bar_fridge", "chance": 30, "repeat": [ 1, 2 ] } + ] + } + } + } +] diff --git a/data/json/mapgen_palettes/apartment.json b/data/json/mapgen_palettes/apartment.json index 4ce45b04f3ab6..ff2fcc03e34a6 100644 --- a/data/json/mapgen_palettes/apartment.json +++ b/data/json/mapgen_palettes/apartment.json @@ -83,12 +83,19 @@ "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": { + "subtype": "distribution", + "entries": [ + { "group": "magazines" }, + { "group": "SUS_fiction_bookcase" }, + { + "distribution": [ { "group": "SUS_tailoring_bookcase" }, { "group": "SUS_crafts_bookcase" }, { "group": "SUS_cooking_bookcase" } ] + } + ] + }, + "chance": 75 + }, "O": { "item": "oven", "chance": 70 }, "p": { "item": "mail", "chance": 30, "repeat": [ 2, 5 ] }, "r": [ { "item": "dresser", "chance": 30 }, { "item": "jackets", "chance": 60 } ], diff --git a/data/json/mapgen_palettes/city_block_palette.json b/data/json/mapgen_palettes/city_block_palette.json new file mode 100644 index 0000000000000..11ff96b47b26a --- /dev/null +++ b/data/json/mapgen_palettes/city_block_palette.json @@ -0,0 +1,122 @@ +[ + { + "type": "palette", + "id": "city_block_foundation_palette", + "furniture": { + "A": "f_stool", + "B": "f_beaded_door", + "D": "f_chair", + "E": "f_rack_coat", + "F": "f_bench", + "G": "f_bench", + "H": "f_armchair", + "I": "f_desk", + "J": "f_counter", + "K": "f_cupboard", + "L": "f_table", + "N": "f_workbench", + "O": "f_wardrobe", + "P": "f_locker", + "Q": "f_rack", + "R": "f_bookcase", + "T": "f_bathtub", + "U": "f_utility_shelf", + "W": "f_washer", + "X": "f_birdbath", + "Y": "f_trashcan", + "Z": "f_dryer", + "d": "f_shower", + "g": "f_water_heater", + "h": "f_fireplace", + "i": "f_oven", + "j": "f_sink", + "n": "f_sink", + "k": "f_woodstove", + "l": "f_fridge", + "m": "f_glass_fridge", + "p": [ "f_dumpster", "f_recycle_bin" ], + "r": "f_wood_keg", + "v": "f_safe_l", + "w": "f_rack_wood", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ], + "z": "f_metal_butcher_rack" + }, + "terrain": { + ".": [ [ "t_region_groundcover_urban", 10 ], "t_region_shrub_decorative" ], + "-": "t_open_air", + "p": "t_concrete", + "X": "t_region_groundcover_urban", + " ": "t_floor", + "|": "t_brick_wall", + "%": "t_wall_w", + "<": "t_stairs_up", + ">": "t_stairs_down", + "o": "t_laminated_glass", + "+": "t_laminated_door_glass_c", + "@": "t_window_domestic", + "*": [ [ "t_door_c", 10 ], [ "t_door_o", 5 ], [ "t_door_locked_interior", 3 ] ], + "!": [ [ "t_door_locked_peep", 2 ], "t_door_locked_alarm", [ "t_door_locked", 10 ], "t_door_c" ], + "s": "t_concrete", + "~": "t_pavement", + "#": "t_chainfence", + "u": "t_chaingate_l", + "x": [ [ "t_door_metal_pickable", 20 ], [ "t_door_metal_c", 5 ], [ "t_door_metal_c_peep", 3 ] ], + "C": "t_column", + "^": "t_gutter_downspout", + ",": "t_glass_railing", + ";": "t_grate", + "M": "t_region_shrub_decorative", + "S": "t_ladder_down", + "V": "t_ladder_up", + "?": "t_console_broken", + "$": [ [ "t_region_tree_fruit", 2 ], [ "t_region_tree_nut", 2 ], "t_region_tree_shade" ] + }, + "toilets": { "t": { } }, + "liquids": { "g": { "liquid": "water_clean", "amount": [ 0, 100 ] } }, + "items": { + "O": [ { "item": "wardrobe_mens", "chance": 50 }, { "item": "wardrobe_womens", "chance": 50, "repeat": [ 1, 2 ] } ], + "Q": [ + { "item": "preserved_food", "chance": 20, "repeat": [ 1, 2 ] }, + { "item": "dry_goods", "chance": 30, "repeat": [ 1, 2 ] }, + { "item": "pet_food", "chance": 30, "repeat": [ 1, 2 ] }, + { "item": "condiments", "chance": 30, "repeat": [ 1, 2 ] }, + { "item": "pantry_liquids", "chance": 10 } + ], + "K": [ + { "item": "dishes_utility", "chance": 30 }, + { "item": "condiments", "chance": 40, "repeat": [ 1, 2 ] }, + { "item": "SUS_knife_drawer", "chance": 20, "repeat": [ 1, 2 ] }, + { "item": "SUS_junk_drawer", "chance": 10, "repeat": [ 1, 2 ] }, + { "item": "SUS_cookware", "chance": 20 } + ], + "w": [ + { "item": "shower", "chance": 20 }, + { "item": "cleaning", "chance": 30, "repeat": [ 1, 2 ] }, + { "item": "bed", "chance": 30, "repeat": [ 1, 2 ] } + ], + "v": [ + { "item": "art", "chance": 5 }, + { "item": "gemstones", "chance": 10, "repeat": [ 3, 6 ] }, + { "item": "jewelry_front", "chance": 5, "repeat": [ 1, 4 ] }, + { "item": "drugdealer", "chance": 10, "repeat": [ 1, 2 ] }, + { "item": "maps", "chance": 2 } + ], + "U": [ + { "item": "home_hw", "chance": 20, "repeat": [ 1, 2 ] }, + { "item": "cleaning", "chance": 30, "repeat": [ 1, 2 ] }, + { "item": "mechanics", "chance": 10, "repeat": [ 1, 2 ] } + ], + "j": [ + { "item": "softdrugs", "chance": 45, "repeat": [ 1, 3 ] }, + { "item": "cleaning", "chance": 30, "repeat": [ 1, 2 ] }, + { "item": "harddrugs", "chance": 5 } + ], + "T": { "item": "shower", "chance": 30, "repeat": [ 1, 2 ] }, + "n": { "item": "SUS_kitchen_sink", "chance": 10, "repeat": [ 1, 2 ] }, + "i": { "item": "SUS_oven", "chance": 25, "repeat": [ 1, 2 ] }, + "l": { "item": "SUS_fridge", "chance": 30, "repeat": [ 1, 2 ] }, + "Y": { "item": "trash", "chance": 30, "repeat": [ 1, 2 ] }, + "R": { "item": "homebooks", "chance": 30, "repeat": [ 1, 2 ] } + } + } +] diff --git a/data/json/materials.json b/data/json/materials.json index 3d3c62ff3727b..83dd0f33d81b8 100644 --- a/data/json/materials.json +++ b/data/json/materials.json @@ -38,7 +38,7 @@ "elec_resist": 0, "chip_resist": 10, "repaired_with": "material_aluminium_ingot", - "dmg_adj": [ "dented", "bent", "smashed", "shattered" ], + "dmg_adj": [ "dented", "bent", "smashed", "destroyed" ], "bash_dmg_verb": "dented", "cut_dmg_verb": "scratched", "compacts_into": [ "material_aluminium_ingot", "aluminum_foil" ] diff --git a/data/json/monstergroups/monstergroups.json b/data/json/monstergroups/monstergroups.json index 4e1ab1dc23224..c93385f156532 100644 --- a/data/json/monstergroups/monstergroups.json +++ b/data/json/monstergroups/monstergroups.json @@ -2316,6 +2316,7 @@ { "monster": "mon_zombie_swimmer", "freq": 10, "cost_multiplier": 5 }, { "monster": "mon_zombie_static", "freq": 10, "cost_multiplier": 5 }, { "monster": "mon_zombie_survivor", "freq": 1, "cost_multiplier": 25 }, + { "monster": "mon_zombie_survivor_elite", "freq": 1, "cost_multiplier": 25, "starts": 60 }, { "monster": "mon_beekeeper", "freq": 1, "cost_multiplier": 5 }, { "monster": "mon_zombie_technician", "freq": 1, "cost_multiplier": 12 }, { "monster": "mon_zombie_runner", "freq": 20, "cost_multiplier": 5, "pack_size": [ 1, 4 ] }, @@ -4369,7 +4370,8 @@ { "monster": "mon_dog_zombie_rot", "freq": 5, "cost_multiplier": 2 }, { "monster": "mon_zombie_swimmer", "freq": 20, "cost_multiplier": 2 }, { "monster": "mon_zombie_static", "freq": 30, "cost_multiplier": 5 }, - { "monster": "mon_zombie_survivor", "freq": 1, "cost_multiplier": 25 } + { "monster": "mon_zombie_survivor", "freq": 1, "cost_multiplier": 25 }, + { "monster": "mon_zombie_survivor_elite", "freq": 1, "cost_multiplier": 25, "starts": 60 } ] }, { @@ -4391,7 +4393,8 @@ { "monster": "mon_dog_zombie_rot", "freq": 10, "cost_multiplier": 2 }, { "monster": "mon_zombie_swimmer", "freq": 20, "cost_multiplier": 2 }, { "monster": "mon_zombie_static", "freq": 30, "cost_multiplier": 5 }, - { "monster": "mon_zombie_survivor", "freq": 1, "cost_multiplier": 25 } + { "monster": "mon_zombie_survivor", "freq": 1, "cost_multiplier": 25 }, + { "monster": "mon_zombie_survivor_elite", "freq": 1, "cost_multiplier": 25, "starts": 60 } ] }, { @@ -4400,7 +4403,8 @@ "default": "mon_zombie", "monsters": [ { "monster": "mon_zombie_tough", "freq": 180, "cost_multiplier": 0 }, - { "monster": "mon_zombie_survivor", "freq": 400, "cost_multiplier": 0 } + { "monster": "mon_zombie_survivor", "freq": 400, "cost_multiplier": 0 }, + { "monster": "mon_zombie_survivor_elite", "freq": 20, "cost_multiplier": 25, "starts": 60 } ] }, { @@ -4423,6 +4427,7 @@ { "monster": "mon_zombie_swimmer", "freq": 20, "cost_multiplier": 2 }, { "monster": "mon_zombie_static", "freq": 30, "cost_multiplier": 5 }, { "monster": "mon_zombie_survivor", "freq": 1, "cost_multiplier": 25 }, + { "monster": "mon_zombie_survivor_elite", "freq": 1, "cost_multiplier": 25, "starts": 60 }, { "monster": "mon_zombie_runner", "freq": 130, "cost_multiplier": 3 } ] }, @@ -4445,7 +4450,8 @@ { "monster": "mon_dog_zombie_rot", "freq": 10, "cost_multiplier": 2 }, { "monster": "mon_zombie_swimmer", "freq": 20, "cost_multiplier": 2 }, { "monster": "mon_zombie_static", "freq": 180, "cost_multiplier": 5 }, - { "monster": "mon_zombie_survivor", "freq": 1, "cost_multiplier": 25 } + { "monster": "mon_zombie_survivor", "freq": 1, "cost_multiplier": 25 }, + { "monster": "mon_zombie_survivor_elite", "freq": 1, "cost_multiplier": 25, "starts": 60 } ] }, { @@ -4467,7 +4473,8 @@ { "monster": "mon_dog_zombie_rot", "freq": 10, "cost_multiplier": 2 }, { "monster": "mon_zombie_swimmer", "freq": 20, "cost_multiplier": 2 }, { "monster": "mon_zombie_static", "freq": 30, "cost_multiplier": 5 }, - { "monster": "mon_zombie_survivor", "freq": 1, "cost_multiplier": 25 } + { "monster": "mon_zombie_survivor", "freq": 1, "cost_multiplier": 25 }, + { "monster": "mon_zombie_survivor_elite", "freq": 1, "cost_multiplier": 25, "starts": 60 } ] }, { @@ -5161,6 +5168,7 @@ { "monster": "mon_zombie_swimmer", "freq": 10, "cost_multiplier": 5 }, { "monster": "mon_zombie_static", "freq": 10, "cost_multiplier": 5 }, { "monster": "mon_zombie_survivor", "freq": 1, "cost_multiplier": 25 }, + { "monster": "mon_zombie_survivor_elite", "freq": 1, "cost_multiplier": 25, "starts": 60 }, { "monster": "mon_beekeeper", "freq": 1, "cost_multiplier": 5 }, { "monster": "mon_zombie_technician", "freq": 1, "cost_multiplier": 12 }, { "monster": "mon_zombie_runner", "freq": 20, "cost_multiplier": 5, "pack_size": [ 1, 4 ] }, @@ -5186,6 +5194,7 @@ { "monster": "mon_zombie_hazmat", "freq": 10, "cost_multiplier": 3 }, { "monster": "mon_zombie_static", "freq": 10, "cost_multiplier": 5 }, { "monster": "mon_zombie_survivor", "freq": 1, "cost_multiplier": 25 }, + { "monster": "mon_zombie_survivor_elite", "freq": 1, "cost_multiplier": 25, "starts": 60 }, { "monster": "mon_zombie_technician", "freq": 1, "cost_multiplier": 12 }, { "monster": "mon_zombie_runner", "freq": 20, "cost_multiplier": 5, "pack_size": [ 1, 4 ] }, { "monster": "mon_zombie_brainless", "freq": 55, "cost_multiplier": 1 } @@ -5237,7 +5246,8 @@ { "monster": "mon_zombie_fat", "freq": 150, "cost_multiplier": 1 }, { "monster": "mon_zombie_wretched", "freq": 120, "cost_multiplier": 1 }, { "monster": "mon_zombie_crawler", "freq": 100, "cost_multiplier": 1 }, - { "monster": "mon_zombie_survivor", "freq": 70, "cost_multiplier": 1 } + { "monster": "mon_zombie_survivor", "freq": 70, "cost_multiplier": 1 }, + { "monster": "mon_zombie_survivor_elite", "freq": 10, "cost_multiplier": 1, "starts": 60 } ] }, { diff --git a/data/json/monstergroups/triffid.json b/data/json/monstergroups/triffid.json index 4a5b95dea3050..325a32845e862 100644 --- a/data/json/monstergroups/triffid.json +++ b/data/json/monstergroups/triffid.json @@ -10,7 +10,8 @@ { "monster": "mon_fungal_fighter", "freq": 160, "cost_multiplier": 0 }, { "monster": "mon_vinebeast", "freq": 160, "cost_multiplier": 10 }, { "monster": "mon_creeper_hub", "freq": 50, "cost_multiplier": 2 }, - { "monster": "mon_biollante", "freq": 50, "cost_multiplier": 2 } + { "monster": "mon_biollante", "freq": 50, "cost_multiplier": 2 }, + { "monster": "mon_triffid_flower", "freq": 25, "cost_multiplier": 4 } ] }, { diff --git a/data/json/monsters/monsters.json b/data/json/monsters/monsters.json index 0caa45d49a7bf..6769422fdd945 100644 --- a/data/json/monsters/monsters.json +++ b/data/json/monsters/monsters.json @@ -739,38 +739,6 @@ "death_function": [ "MELT" ], "flags": [ "SEES", "HEARS", "SMELLS", "STUMBLES", "WARM", "BASHES", "GROUP_BASH", "NOGIB", "POISON", "FILTHY" ] }, - { - "id": "mon_chickenbot", - "type": "MONSTER", - "name": "chicken walker", - "description": "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.", - "default_faction": "military", - "species": [ "ROBOT" ], - "diff": 20, - "volume": "92500 ml", - "weight": "120 kg", - "hp": 90, - "speed": 115, - "material": [ "steel" ], - "symbol": "R", - "color": "red", - "aggression": 100, - "morale": 100, - "melee_skill": 3, - "melee_dice": 3, - "melee_dice_sides": 3, - "melee_cut": 0, - "armor_bash": 18, - "armor_cut": 14, - "vision_day": 50, - "vision_night": 35, - "revert_to_itype": "bot_chickenbot", - "starting_ammo": { "40x46mm_m433": 100, "556": 1000 }, - "path_settings": { "max_dist": 10 }, - "special_attacks": [ [ "CHICKENBOT", 4 ] ], - "death_function": [ "BROKEN" ], - "flags": [ "SEES", "HEARS", "BASHES", "NO_BREATHE", "ELECTRONIC", "PRIORITIZE_TARGETS", "DROPS_AMMO" ] - }, { "id": "mon_chud", "type": "MONSTER", @@ -2796,48 +2764,6 @@ "upgrades": { "half_life": 10, "into": "mon_fungaloid" }, "flags": [ "STUMBLES", "FLIES", "POISON", "NO_BREATHE", "NOHEAD", "NOGIB" ] }, - { - "id": "mon_tankbot", - "type": "MONSTER", - "name": "Beagle Mini-Tank UGV", - "description": "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.", - "default_faction": "military", - "species": [ "ROBOT" ], - "diff": 30, - "volume": "875000 ml", - "weight": "200 kg", - "hp": 240, - "speed": 75, - "material": [ "steel" ], - "symbol": "R", - "color": "dark_gray", - "aggression": 100, - "morale": 100, - "melee_skill": 5, - "melee_dice": 5, - "melee_dice_sides": 5, - "melee_cut": 0, - "armor_bash": 90, - "armor_cut": 90, - "vision_day": 50, - "revert_to_itype": "bot_tankbot", - "starting_ammo": { "40x46mm_m433": 200, "556": 3000 }, - "path_settings": { "max_dist": 20 }, - "special_attacks": [ [ "MULTI_ROBOT", 3 ] ], - "death_function": [ "BROKEN" ], - "flags": [ - "SEES", - "HEARS", - "GOODHEARING", - "NOHEAD", - "BASHES", - "DESTROYS", - "NO_BREATHE", - "ELECTRONIC", - "PRIORITIZE_TARGETS", - "DROPS_AMMO" - ] - }, { "id": "mon_thing", "type": "MONSTER", @@ -2866,36 +2792,6 @@ "death_function": [ "MELT" ], "flags": [ "SMELLS", "HEARS", "NOHEAD", "BASHES", "GROUP_BASH", "SWIMS", "ATTACKMON", "PLASTIC", "ACIDPROOF", "NOGIB", "CLIMBS" ] }, - { - "id": "mon_tripod", - "type": "MONSTER", - "name": "tripod", - "description": "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.", - "default_faction": "military", - "species": [ "ROBOT" ], - "diff": 20, - "volume": "92500 ml", - "weight": "120 kg", - "hp": 80, - "speed": 90, - "material": [ "steel" ], - "symbol": "R", - "color": "white", - "aggression": 100, - "morale": 100, - "melee_skill": 10, - "melee_dice": 3, - "melee_dice_sides": 12, - "melee_cut": 6, - "armor_bash": 12, - "armor_cut": 8, - "path_settings": { "max_dist": 5 }, - "revert_to_itype": "bot_tripod", - "special_attacks": [ [ "FLAMETHROWER", 10 ] ], - "death_drops": { "groups": [ [ "robots", 4 ], [ "tripod", 1 ] ] }, - "death_function": [ "BROKEN" ], - "flags": [ "SEES", "HEARS", "GOODHEARING", "BASHES", "NO_BREATHE", "ELECTRONIC", "CLIMBS", "PRIORITIZE_TARGETS" ] - }, { "id": "mon_turret_searchlight", "type": "MONSTER", diff --git a/data/json/monsters/obsolete.json b/data/json/monsters/obsolete.json index 45e125c8c154d..1a55c325f7992 100644 --- a/data/json/monsters/obsolete.json +++ b/data/json/monsters/obsolete.json @@ -259,5 +259,109 @@ "death_function": [ "NORMAL" ], "flags": [ "SEES", "SMELLS", "FLIES", "VERMIN", "HIT_AND_RUN" ], "//": "id mon_wasp is already used, so changing would break tilests and other things" + }, + { + "id": "mon_tripod", + "type": "MONSTER", + "name": "tripod", + "description": "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.", + "default_faction": "military", + "species": [ "ROBOT" ], + "diff": 20, + "volume": "92500 ml", + "weight": "120 kg", + "hp": 80, + "speed": 90, + "material": [ "steel" ], + "symbol": "R", + "color": "white", + "aggression": 100, + "morale": 100, + "melee_skill": 10, + "melee_dice": 3, + "melee_dice_sides": 12, + "melee_cut": 6, + "armor_bash": 12, + "armor_cut": 8, + "path_settings": { "max_dist": 5 }, + "revert_to_itype": "bot_tripod", + "special_attacks": [ [ "FLAMETHROWER", 10 ] ], + "death_drops": { "groups": [ [ "robots", 4 ], [ "tripod", 1 ] ] }, + "death_function": [ "BROKEN" ], + "flags": [ "SEES", "HEARS", "GOODHEARING", "BASHES", "NO_BREATHE", "ELECTRONIC", "CLIMBS", "PRIORITIZE_TARGETS" ] + }, + { + "id": "mon_tankbot", + "type": "MONSTER", + "name": "Beagle Mini-Tank UGV", + "description": "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.", + "default_faction": "military", + "species": [ "ROBOT" ], + "diff": 30, + "volume": "875000 ml", + "weight": "200 kg", + "hp": 240, + "speed": 75, + "material": [ "steel" ], + "symbol": "R", + "color": "dark_gray", + "aggression": 100, + "morale": 100, + "melee_skill": 5, + "melee_dice": 5, + "melee_dice_sides": 5, + "melee_cut": 0, + "armor_bash": 90, + "armor_cut": 90, + "vision_day": 50, + "revert_to_itype": "bot_tankbot", + "starting_ammo": { "40x46mm_m433": 200, "556": 3000 }, + "path_settings": { "max_dist": 20 }, + "special_attacks": [ [ "MULTI_ROBOT", 3 ] ], + "death_function": [ "BROKEN" ], + "flags": [ + "SEES", + "HEARS", + "GOODHEARING", + "NOHEAD", + "BASHES", + "DESTROYS", + "NO_BREATHE", + "ELECTRONIC", + "PRIORITIZE_TARGETS", + "DROPS_AMMO" + ] + }, + { + "id": "mon_chickenbot", + "type": "MONSTER", + "name": "chicken walker", + "description": "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.", + "default_faction": "military", + "species": [ "ROBOT" ], + "diff": 20, + "volume": "92500 ml", + "weight": "120 kg", + "hp": 90, + "speed": 115, + "material": [ "steel" ], + "symbol": "R", + "color": "red", + "aggression": 100, + "morale": 100, + "melee_skill": 3, + "melee_dice": 3, + "melee_dice_sides": 3, + "melee_cut": 0, + "armor_bash": 18, + "armor_cut": 14, + "vision_day": 50, + "vision_night": 35, + "revert_to_itype": "bot_chickenbot", + "starting_ammo": { "40x46mm_m433": 100, "556": 1000 }, + "path_settings": { "max_dist": 10 }, + "special_attacks": [ [ "CHICKENBOT", 4 ] ], + "death_function": [ "BROKEN" ], + "flags": [ "SEES", "HEARS", "BASHES", "NO_BREATHE", "ELECTRONIC", "PRIORITIZE_TARGETS", "DROPS_AMMO" ] } ] diff --git a/data/json/monsters/triffid.json b/data/json/monsters/triffid.json index a6344e5f8527f..5a3950f0ecd04 100644 --- a/data/json/monsters/triffid.json +++ b/data/json/monsters/triffid.json @@ -257,6 +257,29 @@ "death_function": [ "NORMAL" ], "flags": [ "HEARS", "SMELLS", "NOHEAD", "CAN_DIG" ] }, + { + "id": "mon_triffid_flower", + "type": "MONSTER", + "name": "triffid flower", + "description": "A giant plant with a thick stalk adorned by a purple flower. Its petals are open with ominous shine in center.", + "default_faction": "triffid", + "species": [ "PLANT" ], + "diff": 4, + "volume": "100 L", + "weight": "150 kg", + "hp": 200, + "speed": 100, + "material": [ "veggy" ], + "symbol": "F", + "color": "magenta", + "aggression": 100, + "morale": 100, + "melee_cut": 0, + "harvest": "triffid_large", + "special_attacks": [ [ "SPIT_SAP", 3 ], [ "PARA_STING", 12 ] ], + "death_function": [ "NORMAL" ], + "flags": [ "NOHEAD", "IMMOBILE" ] + }, { "id": "mon_triffid_heart", "type": "MONSTER", diff --git a/data/json/monsters/zed_survivor.json b/data/json/monsters/zed_survivor.json new file mode 100644 index 0000000000000..e11684b72e341 --- /dev/null +++ b/data/json/monsters/zed_survivor.json @@ -0,0 +1,14 @@ +[ + { + "id": "mon_zombie_survivor_elite", + "type": "MONSTER", + "name": "veteran survivor zombie", + "description": "This zombie once was a survivor like you, and a pretty good one at that. Unfortunately they didn't make it, despite the custom-made, heavy armor pieces they wear and the gear that they are still lugging around.", + "copy-from": "mon_zombie_survivor", + "looks_like": "mon_zombie_survivor", + "color": "light_red_green", + "armor_bash": 15, + "armor_cut": 25, + "death_drops": "mon_zombie_survivor_elite_death_drops" + } +] diff --git a/data/json/mutations/mutations.json b/data/json/mutations/mutations.json index 26c235393844e..932266ca20252 100644 --- a/data/json/mutations/mutations.json +++ b/data/json/mutations/mutations.json @@ -2627,7 +2627,8 @@ "points": 2, "description": "Your body is simply immune to diseases. You will never catch an ambient disease.", "prereqs": [ "DISRESISTANT" ], - "category": [ "PLANT", "SLIME", "TROGLOBITE" ] + "category": [ "PLANT", "SLIME", "TROGLOBITE" ], + "flags": [ "NO_DISEASE" ] }, { "type": "mutation", @@ -4853,6 +4854,7 @@ "description": "Your hands have fused into quasi-paws. Fine manipulation is a challenge: permanent hand encumbrance of 10, difficulty with delicate craftwork, and your gloves don't fit. But they handle water better.", "encumbrance_always": [ [ "HAND_L", 10 ], [ "HAND_R", 10 ] ], "restricts_gear": [ "HAND_L", "HAND_R" ], + "craft_skill_bonus": [ [ "electronics", -2 ], [ "tailor", -2 ], [ "mechanics", -2 ] ], "types": [ "HANDS" ], "prereqs": [ "CLAWS", "CLAWS_RETRACT", "CLAWS_RAT" ], "cancels": [ "TALONS" ], @@ -4868,6 +4870,17 @@ "ugliness": 3, "mixed_effect": true, "description": "Your paws are much larger now. Manual dexterity is difficult: permanent hand encumbrance of 20, serious problems crafting, and no gloves. But you can swim more effectively.", + "craft_skill_bonus": [ + [ "electronics", -4 ], + [ "tailor", -4 ], + [ "mechanics", -4 ], + [ "firstaid", -2 ], + [ "computer", -2 ], + [ "traps", -2 ], + [ "fabrication", -2 ], + [ "cooking", -2 ], + [ "survival", -2 ] + ], "encumbrance_always": [ [ "HAND_L", 20 ], [ "HAND_R", 20 ] ], "restricts_gear": [ "HAND_L", "HAND_R" ], "types": [ "HANDS" ], diff --git a/data/json/npcs/robofac/NPC_ROBOFAC_INTERCOM.json b/data/json/npcs/robofac/NPC_ROBOFAC_INTERCOM.json index 6605d27f48e8e..e510f29f105dd 100644 --- a/data/json/npcs/robofac/NPC_ROBOFAC_INTERCOM.json +++ b/data/json/npcs/robofac/NPC_ROBOFAC_INTERCOM.json @@ -93,7 +93,7 @@ "has_generic_rewards": false, "followup": "MISSION_ROBOFAC_INTERCOM_2", "dialogue": { - "describe": "No, I said … [*You hear a short, muffled conversation from across the intercom*]/nWell, it seems we do have a use for you. It's dangerous and you are likely to die, but if you complete it we will allow you limited access to our resources.", + "describe": "…", "offer": "One of our scientists recently left the lab to perform a field test on a prototype robot, but failed to return, and has not been heard of since. Investigate the test and return with her and the prototype. Failing that, return with the data recorder that was attached to our prototype.", "accepted": "We appreciate your help, good luck.", "rejected": "Don't expect our help then.", @@ -330,9 +330,18 @@ { "text": "Wait! Maybe I can help you!", "condition": { "not": { "u_has_mission": "MISSION_ROBOFAC_INTERCOM_1" } }, - "topic": "TALK_MISSION_LIST" + "topic": "MISSION_ROBOFAC_INTERCOM_1_INTRODUCTION" }, { "text": "Alright, I'll leave", "topic": "TALK_DONE" } ] + }, + { + "id": "MISSION_ROBOFAC_INTERCOM_1_INTRODUCTION", + "type": "talk_topic", + "dynamic_line": "Theres nothing you could do for us, now leave before I'm forced to…\n[You hear a short, muffled conversation from across the intercom]\n\nthe intercom: Well, it seems we do have some use for you. It's a dangerous task, but if you complete it we will allow you limited trading access.", + "responses": [ + { "text": "Tell me about it.", "topic": "TALK_MISSION_OFFER" }, + { "text": "I'm not risking myself for a deal that bad.", "topic": "TALK_DONE" } + ] } ] diff --git a/data/json/obsolete_terrains.json b/data/json/obsolete_terrains.json index 9f500f559f41f..ff08cf793d1f9 100644 --- a/data/json/obsolete_terrains.json +++ b/data/json/obsolete_terrains.json @@ -274,6 +274,22 @@ "haz_sar", "haz_sar_entrance_b1", "haz_sar_b1", + "haz_sar_entrance_north", + "haz_sar_north", + "haz_sar_entrance_b1_north", + "haz_sar_b1_north", + "haz_sar_entrance_east", + "haz_sar_east", + "haz_sar_entrance_b1_east", + "haz_sar_b1_east", + "haz_sar_entrance_south", + "haz_sar_south", + "haz_sar_entrance_b1_south", + "haz_sar_b1_south", + "haz_sar_entrance_west", + "haz_sar_west", + "haz_sar_entrance_b1_west", + "haz_sar_b1_west", "house_base_north", "house_base_south", "house_base_east", diff --git a/data/json/overmap/multitile_city_buildings.json b/data/json/overmap/multitile_city_buildings.json index d39f219c916f1..6acd7d0a7817e 100644 --- a/data/json/overmap/multitile_city_buildings.json +++ b/data/json/overmap/multitile_city_buildings.json @@ -2399,6 +2399,21 @@ { "point": [ 0, 1, 3 ], "overmap": "homeless_1_0_roof_north" } ] }, + { + "type": "city_building", + "id": "city_block_2", + "locations": [ "land" ], + "overmaps": [ + { "point": [ 0, 0, 0 ], "overmap": "city_block2_1_north" }, + { "point": [ 0, 0, 1 ], "overmap": "city_block2_flr2_1_north" }, + { "point": [ 1, 0, 0 ], "overmap": "city_block2_2_north" }, + { "point": [ 1, 0, 1 ], "overmap": "city_block2_flr2_2_north" }, + { "point": [ 2, 0, 0 ], "overmap": "city_block2_3_north" }, + { "point": [ 2, 0, 1 ], "overmap": "city_block2_flr2_3_north" }, + { "point": [ 3, 0, 0 ], "overmap": "city_block2_4_north" }, + { "point": [ 3, 0, 1 ], "overmap": "city_block2_flr2_4_north" } + ] + }, { "type": "city_building", "id": "craft_shop", diff --git a/data/json/overmap/overmap_terrain/overmap_terrain_commercial.json b/data/json/overmap/overmap_terrain/overmap_terrain_commercial.json index a2419b1db3a94..c3a56648cab83 100644 --- a/data/json/overmap/overmap_terrain/overmap_terrain_commercial.json +++ b/data/json/overmap/overmap_terrain/overmap_terrain_commercial.json @@ -3188,5 +3188,61 @@ "name": "hunting supply store roof", "sym": "H", "color": "brown" + }, + { + "type": "overmap_terrain", + "id": "city_block2_1", + "name": "urban city block", + "copy-from": "generic_city_building", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "city_block2_2", + "name": "urban city block", + "copy-from": "generic_city_building", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "city_block2_3", + "name": "urban city block", + "copy-from": "generic_city_building", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "city_block2_4", + "name": "urban city block", + "copy-from": "generic_city_building", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "city_block2_flr2_1", + "name": "urban city block", + "copy-from": "generic_city_building", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "city_block2_flr2_2", + "name": "urban city block", + "copy-from": "generic_city_building", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "city_block2_flr2_3", + "name": "urban city block", + "copy-from": "generic_city_building", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "city_block2_flr2_4", + "name": "urban city block", + "copy-from": "generic_city_building", + "color": "light_blue" } ] diff --git a/data/json/overmap/overmap_terrain/overmap_terrain_waste_junk.json b/data/json/overmap/overmap_terrain/overmap_terrain_waste_junk.json index 5bab968600498..2959f76bfd649 100644 --- a/data/json/overmap/overmap_terrain/overmap_terrain_waste_junk.json +++ b/data/json/overmap/overmap_terrain/overmap_terrain_waste_junk.json @@ -172,40 +172,6 @@ "see_cost": 5, "flags": [ "RISK_HIGH" ] }, - { - "type": "overmap_terrain", - "id": "haz_sar_entrance", - "name": "hazardous waste sarcophagus", - "sym": "X", - "color": "pink", - "see_cost": 5, - "flags": [ "RISK_HIGH" ] - }, - { - "type": "overmap_terrain", - "id": "haz_sar", - "name": "hazardous waste sarcophagus", - "sym": "X", - "color": "pink", - "see_cost": 5 - }, - { - "type": "overmap_terrain", - "id": "haz_sar_entrance_b1", - "name": "hazardous waste sarcophagus", - "sym": "X", - "color": "pink", - "see_cost": 5, - "flags": [ "RISK_HIGH" ] - }, - { - "type": "overmap_terrain", - "id": "haz_sar_b1", - "name": "hazardous waste sarcophagus", - "sym": "X", - "color": "pink", - "see_cost": 5 - }, { "type": "overmap_terrain", "id": "sewer", diff --git a/data/json/professions.json b/data/json/professions.json index 63b33c143352a..b4eda0c9233a0 100644 --- a/data/json/professions.json +++ b/data/json/professions.json @@ -144,103 +144,177 @@ }, { "type": "profession_item_substitutions", - "substitutions": [ - { - "trait": "WOOLALLERGY", - "sub": [ - [ "blazer", "jacket_leather_red" ], - [ "hat_hunting", "hat_cotton", 2 ], - [ "hat_newsboy", "hat_cotton", 2 ], - [ "peacoat", "jacket_flannel" ], - [ "sweater", "sweatshirt" ], - [ "boots_winter", "boots_fur" ], - [ "cloak_wool", "cloak_leather" ], - [ "gloves_wool", "gloves_leather" ], - [ "socks_wool", "socks" ], - [ "kilt", "kilt_leather" ], - [ "mask_ski", "balclava" ] - ] - }, - { - "item": "sunglasses", - "sub": [ [ [ "HYPEROPIC" ], "fitover_sunglasses" ], [ [ "MYOPIC" ], "fitover_sunglasses" ] ] - }, - { - "item": "fancy_sunglasses", - "sub": [ [ [ "HYPEROPIC" ], "fitover_sunglasses" ], [ [ "MYOPIC" ], "fitover_sunglasses" ] ] - }, - { - "item": "hardtack", - "sub": [ [ [ "ANTIWHEAT" ], [ "MEATARIAN" ], "cornbread" ], [ [ "ANTIWHEAT", "MEATARIAN" ], "meat_cooked", 0.72 ] ] - }, - { "item": "gum", "sub": [ [ [ "ANTIJUNK" ], "nic_gum" ] ] }, - { - "item": "sandwich_pbj", - "sub": [ - [ [ "ANTIFRUIT" ], [ "ANTIWHEAT" ], "sandwich_pbh" ], - [ [ "ANTIWHEAT" ], [ "VEGETARIAN" ], "cracklins", 5.625 ], - [ [ "ANTIWHEAT", "VEGETARIAN" ], "boiled_egg" ] - ] - }, - { - "item": "granola", - "sub": [ - [ [ "ANTIFRUIT" ], [ "MEATARIAN" ], "pemmican", 0.838 ], - [ [ "ANTIFRUIT", "MEATARIAN" ], "jerky", 4 ], - [ [ "ANTIWHEAT" ], [ "ANTIFRUIT" ], "boiled_egg", 0.818 ] - ] - }, + "trait": "WOOLALLERGY", + "sub": [ + { "item": "blazer", "new": [ "jacket_leather_red" ] }, + { "item": "hat_hunting", "new": [ { "item": "hat_cotton", "ratio": 2 } ] }, + { "item": "hat_newsboy", "new": [ { "item": "hat_cotton", "ratio": 2 } ] }, + { "item": "peacoat", "new": [ "jacket_flannel" ] }, + { "item": "sweater", "new": [ "sweatshirt" ] }, + { "item": "boots_winter", "new": [ "boots_fur" ] }, + { "item": "cloak_wool", "new": [ "cloak_leather" ] }, + { "item": "gloves_wool", "new": [ "gloves_leather" ] }, + { "item": "socks_wool", "new": [ "socks" ] }, + { "item": "kilt", "new": [ "kilt_leather" ] }, + { "item": "mask_ski", "new": [ "balclava" ] } + ] + }, + { + "type": "profession_item_substitutions", + "item": "sunglasses", + "sub": [ + { "present": [ "HYPEROPIC" ], "new": [ "fitover_sunglasses" ] }, + { "present": [ "MYOPIC" ], "new": [ "fitover_sunglasses" ] } + ] + }, + { + "type": "profession_item_substitutions", + "item": "fancy_sunglasses", + "sub": [ + { "present": [ "HYPEROPIC" ], "new": [ "fitover_sunglasses" ] }, + { "present": [ "MYOPIC" ], "new": [ "fitover_sunglasses" ] } + ] + }, + { + "type": "profession_item_substitutions", + "item": "hardtack", + "sub": [ + { "present": [ "ANTIWHEAT" ], "absent": [ "MEATARIAN" ], "new": [ "cornbread" ] }, + { "present": [ "ANTIWHEAT", "MEATARIAN" ], "new": [ { "item": "meat_cooked", "ratio": 0.72 } ] } + ] + }, + { + "type": "profession_item_substitutions", + "item": "gum", + "sub": [ { "present": [ "ANTIJUNK" ], "new": [ "nic_gum" ] } ] + }, + { + "type": "profession_item_substitutions", + "item": "sandwich_pbj", + "sub": [ + { "present": [ "ANTIFRUIT" ], "absent": [ "ANTIWHEAT" ], "new": [ "sandwich_pbh" ] }, + { "present": [ "ANTIWHEAT" ], "absent": [ "VEGETARIAN" ], "new": [ { "item": "cracklins", "ratio": 5.625 } ] }, + { "present": [ "ANTIWHEAT", "VEGETARIAN" ], "new": [ "boiled_egg" ] } + ] + }, + { + "type": "profession_item_substitutions", + "item": "granola", + "sub": [ + { "present": [ "ANTIFRUIT" ], "absent": [ "MEATARIAN" ], "new": [ { "item": "pemmican", "ratio": 0.838 } ] }, + { "present": [ "ANTIFRUIT", "MEATARIAN" ], "new": [ { "item": "jerky", "ratio": 4 } ] }, + { "present": [ "ANTIWHEAT" ], "absent": [ "ANTIFRUIT" ], "new": [ { "item": "boiled_egg", "ratio": 0.818 } ] } + ] + }, + { + "type": "profession_item_substitutions", + "item": "juice", + "sub": [ + { "present": [ "ANTIFRUIT" ], "absent": [ "ANTIJUNK" ], "new": [ "lemonlime" ] }, + { "present": [ "ANTIFRUIT", "ANTIJUNK" ], "new": [ { "item": "water_clean", "ratio": 0.4 } ] } + ] + }, + { + "type": "profession_item_substitutions", + "item": "cheeseburger", + "sub": [ + { "present": [ "ANTIWHEAT" ], "absent": [ "ANTIJUNK" ], "new": [ { "item": "fries", "ratio": 4 } ] }, + { "present": [ "ANTIWHEAT", "ANTIJUNK" ], "absent": [ "MEATARIAN" ], "new": [ "veggy_salad", "fork" ] }, + { "present": [ "ANTIWHEAT", "ANTIJUNK", "MEATARIAN" ], "new": [ "fried_spam", "fork" ] }, + { "present": [ "LACTOSE" ], "absent": [ "ANTIWHEAT", "VEGETARIAN" ], "new": [ "hamburger" ] }, + { "present": [ "LACTOSE", "VEGETARIAN" ], "absent": [ "ANTIWHEAT" ], "new": [ "sandwich_veggy" ] }, { - "item": "juice", - "sub": [ [ [ "ANTIFRUIT" ], [ "ANTIJUNK" ], "lemonlime" ], [ [ "ANTIFRUIT", "ANTIJUNK" ], "water_clean", 0.4 ] ] - }, + "present": [ "VEGETARIAN" ], + "absent": [ "ANTIWHEAT", "LACTOSE" ], + "new": [ { "item": "sandwich_cheese_grilled", "ratio": 0.5 } ] + } + ] + }, + { + "type": "profession_item_substitutions", + "item": "pizza_meat", + "sub": [ + { "present": [ "VEGETARIAN" ], "absent": [ "ANTIWHEAT" ], "new": [ "pizza_veggy" ] }, + { "present": [ "VEGETARIAN", "ANTIWHEAT" ], "new": [ "veggy_salad", "fork" ] }, { - "item": "cheeseburger", - "sub": [ - [ [ "ANTIWHEAT" ], [ "ANTIJUNK" ], "fries", 4 ], - [ [ "ANTIWHEAT", "ANTIJUNK" ], [ "MEATARIAN" ], "veggy_salad", "fork" ], - [ [ "ANTIWHEAT", "ANTIJUNK", "MEATARIAN" ], "fried_spam", "fork" ], - [ [ "LACTOSE" ], [ "ANTIWHEAT", "VEGETARIAN" ], "hamburger" ], - [ [ "LACTOSE", "VEGETARIAN" ], [ "ANTIWHEAT" ], "sandwich_veggy" ], - [ [ "VEGETARIAN" ], [ "ANTIWHEAT", "LACTOSE" ], "sandwich_cheese_grilled", 0.5 ] - ] + "present": [ "ANTIWHEAT" ], + "absent": [ "VEGETARIAN", "ANTIJUNK" ], + "new": [ { "item": "fchicken", "ratio": 3 } ] }, { - "item": "pizza_meat", - "sub": [ - [ [ "VEGETARIAN" ], [ "ANTIWHEAT" ], "pizza_veggy" ], - [ [ "VEGETARIAN", "ANTIWHEAT" ], "veggy_salad", "fork" ], - [ [ "ANTIWHEAT" ], [ "VEGETARIAN", "ANTIJUNK" ], "fchicken", 3 ], - [ [ "ANTIWHEAT", "ANTIJUNK" ], [ "VEGETARIAN" ], "fish_fried", 2, "fork", 0.5 ] - ] - }, + "present": [ "ANTIWHEAT", "ANTIJUNK" ], + "absent": [ "VEGETARIAN" ], + "new": [ { "item": "fish_fried", "ratio": 2 }, { "item": "fork", "ratio": 0.5 } ] + } + ] + }, + { + "type": "profession_item_substitutions", + "item": "pizza_veggy", + "sub": [ + { "present": [ "ANTIWHEAT", "VEGETARIAN" ], "new": [ "veggy_salad", "fork" ] }, { - "item": "pizza_veggy", - "sub": [ - [ [ "ANTIWHEAT", "VEGETARIAN" ], "veggy_salad", "fork" ], - [ [ "ANTIWHEAT" ], [ "VEGETARIAN", "ANTIJUNK" ], "fchicken", 3 ], - [ [ "ANTIWHEAT", "ANTIJUNK" ], [ "VEGETARIAN" ], "fish_fried", 2, "fork", 0.5 ], - [ [ "MEATARIAN" ], [ "ANTIWHEAT" ], "pizza_meat" ] - ] + "present": [ "ANTIWHEAT" ], + "absent": [ "VEGETARIAN", "ANTIJUNK" ], + "new": [ { "item": "fchicken", "ratio": 3 } ] }, { - "item": "grahmcrackers", - "sub": [ - [ [ "ANTIJUNK" ], [ "ANTIWHEAT" ], "crackers" ], - [ [ "ANTIWHEAT" ], [ "ANTIJUNK" ], "neccowafers" ], - [ [ "ANTIJUNK", "ANTIWHEAT" ], "boiled_egg" ] - ] + "present": [ "ANTIWHEAT", "ANTIJUNK" ], + "absent": [ "VEGETARIAN" ], + "new": [ { "item": "fish_fried", "ratio": 2 }, { "item": "fork", "ratio": 0.5 } ] }, - { "item": "can_beans", "sub": [ [ [ "MEATARIAN" ], "can_spam" ] ] }, - { "item": "glasses_eye", "bonus": [ [ "MYOPIC" ], [ "HYPEROPIC" ] ] }, - { "item": "glasses_bifocal", "bonus": [ [ "HYPEROPIC", "MYOPIC" ] ] }, - { "item": "glasses_reading", "bonus": [ [ "HYPEROPIC" ], [ "MYOPIC" ] ] }, - { "item": "inhaler", "bonus": [ [ "ASTHMA" ] ] }, - { "item": "thorazine", "bonus": [ [ "SCHIZOPHRENIC" ] ] }, - { "item": "cookbook_human", "bonus": [ [ "CANNIBAL" ] ] }, - { "item": "teleumbrella", "bonus": [ [ "ALBINO" ] ] } + { "present": [ "MEATARIAN" ], "absent": [ "ANTIWHEAT" ], "new": [ "pizza_meat" ] } ] }, + { + "type": "profession_item_substitutions", + "item": "grahmcrackers", + "sub": [ + { "present": [ "ANTIJUNK" ], "absent": [ "ANTIWHEAT" ], "new": [ "crackers" ] }, + { "present": [ "ANTIWHEAT" ], "absent": [ "ANTIJUNK" ], "new": [ "neccowafers" ] }, + { "present": [ "ANTIJUNK", "ANTIWHEAT" ], "new": [ "boiled_egg" ] } + ] + }, + { + "type": "profession_item_substitutions", + "item": "can_beans", + "sub": [ { "present": [ "MEATARIAN" ], "new": [ "can_spam" ] } ] + }, + { + "type": "profession_item_substitutions", + "item": "glasses_eye", + "bonus": { "present": [ "MYOPIC" ], "absent": [ "HYPEROPIC" ] } + }, + { + "type": "profession_item_substitutions", + "item": "glasses_bifocal", + "bonus": { "present": [ "HYPEROPIC", "MYOPIC" ] } + }, + { + "type": "profession_item_substitutions", + "item": "glasses_reading", + "bonus": { "present": [ "HYPEROPIC" ], "absent": [ "MYOPIC" ] } + }, + { + "type": "profession_item_substitutions", + "item": "inhaler", + "bonus": { "present": [ "ASTHMA" ] } + }, + { + "type": "profession_item_substitutions", + "item": "thorazine", + "bonus": { "present": [ "SCHIZOPHRENIC" ] } + }, + { + "type": "profession_item_substitutions", + "item": "cookbook_human", + "bonus": { "present": [ "CANNIBAL" ] } + }, + { + "type": "profession_item_substitutions", + "item": "teleumbrella", + "bonus": { "present": [ "ALBINO" ] } + }, { "type": "profession", "ident": "vagabond", @@ -1409,7 +1483,7 @@ "points": 0, "items": { "both": { - "items": [ "jeans", "socks", "boots", "hat_hunting", "jacket_flannel", "knit_scarf", "vest", "wristwatch" ], + "items": [ "jeans", "socks", "boots", "hat_hunting", "jacket_flannel", "knit_scarf", "vest", "wristwatch", "axe_ring" ], "entries": [ { "group": "charged_cell_phone" }, { "item": "ax", "custom-flags": [ "auto_wield" ] } ] }, "male": [ "boxer_shorts" ], diff --git a/data/json/recipes/armor/storage.json b/data/json/recipes/armor/storage.json index 0cd1726f3eb92..a4785e43a926b 100644 --- a/data/json/recipes/armor/storage.json +++ b/data/json/recipes/armor/storage.json @@ -51,6 +51,19 @@ "qualities": [ { "id": "SEW", "level": 1 } ], "components": [ [ [ "leather", 5 ], [ "rag", 5 ] ], [ [ "chestpouch", 4 ], [ "legpouch_large", 2 ] ], [ [ "filament", 20, "LIST" ] ] ] }, + { + "result": "axe_ring", + "type": "recipe", + "category": "CC_ARMOR", + "subcategory": "CSC_ARMOR_STORAGE", + "skill_used": "tailor", + "difficulty": 4, + "time": "20 m", + "autolearn": true, + "using": [ [ "adhesive", 1 ] ], + "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "CUT", "level": 1 }, { "id": "SEW", "level": 1 } ], + "components": [ [ [ "leather", 5 ] ], [ [ "scrap", 3 ] ], [ [ "nail", 4 ] ] ] + }, { "result": "back_holster", "type": "recipe", diff --git a/data/json/recipes/food/brewing.json b/data/json/recipes/food/brewing.json index e11b985ec3be8..21cd9be418d22 100644 --- a/data/json/recipes/food/brewing.json +++ b/data/json/recipes/food/brewing.json @@ -237,7 +237,7 @@ { "type": "recipe", "result": "brew_vinegar", - "result_mult": 7, + "result_mult": 10, "category": "CC_FOOD", "subcategory": "CSC_FOOD_BREW", "skill_used": "cooking", @@ -246,8 +246,8 @@ "batch_time_factors": [ 50, 4 ], "autolearn": true, "components": [ - [ [ "water", 7 ], [ "water_clean", 7 ] ], - [ [ "juice", 14 ], [ "apple_cider", 7 ], [ "cheap_wine", 21, "LIST" ], [ "worthy_wine", 15, "LIST" ] ] + [ [ "water", 2 ], [ "water_clean", 2 ] ], + [ [ "juice", 2 ], [ "apple_cider", 4 ], [ "cheap_wine", 2, "LIST" ], [ "worthy_wine", 1, "LIST" ] ] ] } ] diff --git a/data/json/recipes/other/tool.json b/data/json/recipes/other/tool.json index b0af9744cae1d..db9729a4b4133 100644 --- a/data/json/recipes/other/tool.json +++ b/data/json/recipes/other/tool.json @@ -419,7 +419,6 @@ "category": "CC_OTHER", "subcategory": "CSC_OTHER_TOOLS", "skill_used": "fabrication", - "skills_required": [ "cooking", 1 ], "difficulty": 1, "time": "20 m", "reversible": true, @@ -433,7 +432,6 @@ "category": "CC_OTHER", "subcategory": "CSC_OTHER_TOOLS", "skill_used": "fabrication", - "skills_required": [ "cooking", 1 ], "difficulty": 1, "time": "20 m", "reversible": true, diff --git a/data/json/recipes/recipe_deconstruction.json b/data/json/recipes/recipe_deconstruction.json index 63aadd8578afd..f95621da6a057 100644 --- a/data/json/recipes/recipe_deconstruction.json +++ b/data/json/recipes/recipe_deconstruction.json @@ -1041,80 +1041,6 @@ [ [ "mil_plate", 20 ] ] ] }, - { - "result": "broken_tankbot", - "type": "uncraft", - "skill_used": "electronics", - "difficulty": 8, - "time": "10 h", - "using": [ [ "soldering_standard", 30 ], [ "welding_standard", 20 ] ], - "qualities": [ { "id": "SCREW", "level": 1 }, { "id": "WRENCH", "level": 1 }, { "id": "SAW_M", "level": 1 } ], - "components": [ - [ [ "ai_module", 1 ] ], - [ [ "sensor_module", 1 ] ], - [ [ "memory_module", 1 ] ], - [ [ "pathfinding_module", 1 ] ], - [ [ "identification_module", 1 ] ], - [ [ "tank_tread", 1 ] ], - [ [ "tankbot_chassis", 1 ] ], - [ [ "targeting_module", 1 ] ], - [ [ "gun_module", 3 ] ], - [ [ "flamethrower", 1 ] ], - [ [ "tazer", 1 ] ], - [ [ "m4a1", 1 ] ], - [ [ "power_supply", 20 ] ], - [ [ "storage_battery", 1 ] ], - [ [ "plut_cell", 4 ] ], - [ [ "mil_plate", 2 ] ] - ] - }, - { - "result": "broken_chickenbot", - "type": "uncraft", - "skill_used": "electronics", - "difficulty": 8, - "time": "10 h", - "using": [ [ "soldering_standard", 30 ], [ "welding_standard", 20 ] ], - "qualities": [ { "id": "SCREW", "level": 1 }, { "id": "WRENCH", "level": 1 }, { "id": "SAW_M", "level": 1 } ], - "components": [ - [ [ "ai_module", 1 ] ], - [ [ "sensor_module", 1 ] ], - [ [ "memory_module", 1 ] ], - [ [ "pathfinding_module", 1 ] ], - [ [ "identification_module", 1 ] ], - [ [ "chickenbot_chassis", 1 ] ], - [ [ "targeting_module", 1 ] ], - [ [ "gun_module", 3 ] ], - [ [ "m249", 1 ] ], - [ [ "power_supply", 20 ] ], - [ [ "storage_battery", 1 ] ], - [ [ "plut_cell", 4 ] ], - [ [ "mil_plate", 2 ] ] - ] - }, - { - "result": "broken_tripod", - "type": "uncraft", - "skill_used": "electronics", - "difficulty": 8, - "time": "5 h", - "using": [ [ "soldering_standard", 10 ], [ "welding_standard", 10 ] ], - "qualities": [ { "id": "SCREW", "level": 1 }, { "id": "SAW_M", "level": 1 } ], - "components": [ - [ [ "ai_module", 1 ] ], - [ [ "sensor_module", 1 ] ], - [ [ "memory_module", 1 ] ], - [ [ "pathfinding_module", 1 ] ], - [ [ "identification_module", 1 ] ], - [ [ "spidery_legs_big", 1 ] ], - [ [ "tripod_chassis", 1 ] ], - [ [ "targeting_module", 1 ] ], - [ [ "gun_module", 1 ] ], - [ [ "power_supply", 12 ] ], - [ [ "storage_battery", 1 ] ], - [ [ "flamethrower", 1 ] ] - ] - }, { "result": "broken_nursebot", "type": "uncraft", @@ -1229,7 +1155,7 @@ [ [ "pathfinding_module", 1 ] ], [ [ "identification_module", 1 ] ], [ [ "tank_tread", 1 ] ], - [ [ "tankbot_chassis", 1 ] ], + [ [ "copbot_chassis", 1 ] ], [ [ "targeting_module", 1 ] ], [ [ "power_supply", 3 ] ], [ [ "plut_cell", 1 ] ], @@ -1253,7 +1179,7 @@ [ [ "pathfinding_module", 1 ] ], [ [ "identification_module", 1 ] ], [ [ "tank_tread", 1 ] ], - [ [ "tankbot_chassis", 1 ] ], + [ [ "copbot_chassis", 1 ] ], [ [ "targeting_module", 1 ] ], [ [ "power_supply", 3 ] ], [ [ "plut_cell", 1 ] ], diff --git a/data/json/recipes/recipe_electronics.json b/data/json/recipes/recipe_electronics.json index 81a9cb9088491..938417cc885e3 100644 --- a/data/json/recipes/recipe_electronics.json +++ b/data/json/recipes/recipe_electronics.json @@ -1754,116 +1754,6 @@ [ [ "steel_chunk", 6 ] ] ] }, - { - "type": "recipe", - "result": "bot_tankbot", - "category": "CC_ELECTRONIC", - "subcategory": "CSC_ELECTRONIC_OTHER", - "skill_used": "electronics", - "skills_required": [ [ "mechanics", 9 ], [ "computer", 8 ] ], - "reversible": true, - "decomp_learn": 8, - "book_learn": [ [ "schematics_tankbot", 9 ] ], - "difficulty": 9, - "time": "1 h 15 m", - "using": [ [ "soldering_standard", 30 ], [ "welding_standard", 20 ] ], - "qualities": [ - { "id": "SCREW", "level": 1 }, - { "id": "SCREW_FINE", "level": 1 }, - { "id": "WRENCH", "level": 2 }, - { "id": "WRENCH_FINE", "level": 1 } - ], - "components": [ - [ [ "ai_module", 1 ] ], - [ [ "sensor_module", 1 ] ], - [ [ "memory_module", 1 ] ], - [ [ "pathfinding_module", 1 ] ], - [ [ "identification_module", 1 ] ], - [ [ "tank_tread", 1 ] ], - [ [ "tankbot_chassis", 1 ] ], - [ [ "targeting_module", 1 ] ], - [ [ "gun_module", 3 ] ], - [ [ "flamethrower", 1 ] ], - [ [ "tazer", 1 ] ], - [ [ "m4a1", 1 ] ], - [ [ "power_supply", 20 ] ], - [ [ "storage_battery", 1 ] ], - [ [ "plut_cell", 4 ] ], - [ [ "mil_plate", 2 ] ] - ] - }, - { - "type": "recipe", - "result": "bot_tripod", - "category": "CC_ELECTRONIC", - "subcategory": "CSC_ELECTRONIC_OTHER", - "skill_used": "electronics", - "skills_required": [ [ "mechanics", 9 ], [ "computer", 8 ] ], - "reversible": true, - "decomp_learn": 8, - "book_learn": [ [ "schematics_tripod", 9 ] ], - "difficulty": 9, - "time": "1 h", - "using": [ [ "soldering_standard", 10 ], [ "welding_standard", 10 ] ], - "qualities": [ - { "id": "SCREW", "level": 1 }, - { "id": "SCREW_FINE", "level": 1 }, - { "id": "WRENCH", "level": 2 }, - { "id": "WRENCH_FINE", "level": 1 } - ], - "components": [ - [ [ "ai_module", 1 ] ], - [ [ "sensor_module", 1 ] ], - [ [ "memory_module", 1 ] ], - [ [ "pathfinding_module", 1 ] ], - [ [ "identification_module", 1 ] ], - [ [ "spidery_legs_big", 1 ] ], - [ [ "tripod_chassis", 1 ] ], - [ [ "targeting_module", 1 ] ], - [ [ "gun_module", 1 ] ], - [ [ "power_supply", 12 ] ], - [ [ "storage_battery", 1 ] ], - [ [ "flamethrower", 1 ] ] - ] - }, - { - "type": "recipe", - "result": "bot_chickenbot", - "category": "CC_ELECTRONIC", - "subcategory": "CSC_ELECTRONIC_OTHER", - "skill_used": "electronics", - "skills_required": [ [ "mechanics", 10 ], [ "computer", 9 ] ], - "reversible": true, - "decomp_learn": 9, - "book_learn": [ [ "schematics_chickenbot", 10 ] ], - "difficulty": 10, - "time": "1 h 15 m", - "using": [ [ "soldering_standard", 30 ], [ "welding_standard", 20 ] ], - "qualities": [ - { "id": "SCREW", "level": 1 }, - { "id": "SCREW_FINE", "level": 1 }, - { "id": "WRENCH", "level": 2 }, - { "id": "WRENCH_FINE", "level": 1 } - ], - "components": [ - [ [ "ai_module", 1 ] ], - [ [ "sensor_module", 1 ] ], - [ [ "memory_module", 1 ] ], - [ [ "pathfinding_module", 1 ] ], - [ [ "identification_module", 1 ] ], - [ [ "reverse_jointed_legs", 1 ] ], - [ [ "chickenbot_chassis", 1 ] ], - [ [ "targeting_module", 1 ] ], - [ [ "gun_module", 3 ] ], - [ [ "mark19", 1 ] ], - [ [ "tazer", 1 ] ], - [ [ "m249", 1 ] ], - [ [ "power_supply", 20 ] ], - [ [ "storage_battery", 1 ] ], - [ [ "plut_cell", 4 ] ], - [ [ "mil_plate", 2 ] ] - ] - }, { "type": "recipe", "result": "bot_antimateriel", diff --git a/data/json/recipes/recipe_obsolete.json b/data/json/recipes/recipe_obsolete.json index 1a73a32837b27..33acd5a9f9a10 100644 --- a/data/json/recipes/recipe_obsolete.json +++ b/data/json/recipes/recipe_obsolete.json @@ -2202,5 +2202,35 @@ "type": "recipe", "result": "scrambler", "obsolete": true + }, + { + "type": "recipe", + "result": "broken_chickenbot", + "obsolete": true + }, + { + "type": "recipe", + "result": "bot_chickenbot", + "obsolete": true + }, + { + "type": "recipe", + "result": "broken_tripod", + "obsolete": true + }, + { + "type": "recipe", + "result": "bot_tripod", + "obsolete": true + }, + { + "type": "recipe", + "result": "broken_tankbot", + "obsolete": true + }, + { + "type": "recipe", + "result": "bot_tankbot", + "obsolete": true } ] diff --git a/data/json/recipes/recipe_others.json b/data/json/recipes/recipe_others.json index 33b11df9bd465..91e0761bc3377 100644 --- a/data/json/recipes/recipe_others.json +++ b/data/json/recipes/recipe_others.json @@ -3250,6 +3250,32 @@ [ [ "hammer", 1 ] ] ] }, + { + "type": "recipe", + "result": "toolbox_workshop", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_TOOLS", + "skill_used": "fabrication", + "skills_required": [ "mechanics", 3 ], + "difficulty": 4, + "time": "4 m", + "reversible": true, + "autolearn": true, + "components": [ + [ [ "sheet_metal_small", 5 ] ], + [ [ "nail", 11 ] ], + [ [ "wire", 1 ] ], + [ [ "pockknife", 1 ], [ "primitive_knife", 1 ], [ "copper_knife", 1 ] ], + [ [ "screwdriver_set", 1 ] ], + [ [ "hacksaw", 1 ] ], + [ [ "wrench", 1 ] ], + [ [ "saw", 1 ] ], + [ [ "hammer", 1 ] ], + [ [ "metal_file", 1 ] ], + [ [ "pin_reamer", 1 ] ], + [ [ "hand_vice", 1 ] ] + ] + }, { "type": "recipe", "result": "vacutainer", diff --git a/data/json/recipes/recipes_holiday.json b/data/json/recipes/recipes_holiday.json index 4d15c626759e2..c2a8ebe0516f7 100644 --- a/data/json/recipes/recipes_holiday.json +++ b/data/json/recipes/recipes_holiday.json @@ -15,5 +15,17 @@ [ [ "candle", 1 ] ], [ [ "y_paint", 1 ] ] ] + }, + { + "type": "recipe", + "result": "decorative_wreath", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_TOOLS", + "skill_used": "fabrication", + "difficulty": 1, + "time": "45 m", + "autolearn": true, + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "pine_bough", 4 ] ], [ [ "duct_tape", 10 ], [ "cordage_superior", 6, "LIST" ] ] ] } ] diff --git a/data/json/regional_map_settings.json b/data/json/regional_map_settings.json index 1f8cb793d1ab8..2d60437c536ee 100644 --- a/data/json/regional_map_settings.json +++ b/data/json/regional_map_settings.json @@ -591,6 +591,7 @@ }, "shops": { "bus_station": 200, + "city_block_2": 300, "town_hall": 150, "craft_shop": 200, "craft_shop_1": 200, diff --git a/data/json/requirements/cooking_components.json b/data/json/requirements/cooking_components.json index df17297b53fa2..a46df90e4a795 100644 --- a/data/json/requirements/cooking_components.json +++ b/data/json/requirements/cooking_components.json @@ -672,6 +672,7 @@ [ "wine_barley", 1 ], [ "pale_ale", 1 ], [ "stout", 1 ], + [ "imperial_stout", 1 ], [ "mixed_alcohol_weak", 1 ] ] ] diff --git a/data/json/snippets/graffiti.json b/data/json/snippets/graffiti.json index 398c99b281808..6c8227d7cd1d6 100644 --- a/data/json/snippets/graffiti.json +++ b/data/json/snippets/graffiti.json @@ -22,7 +22,7 @@ { "id": "general_graffiti_13", "text": "I <3 ." }, { "id": "general_graffiti_14", "text": " fucked ." }, { "id": "general_graffiti_15", "text": "This is a spraypainted drawing of an angel with wings made of vines." }, - { "id": "general_graffiti_16", "text": "Mr. is a vampire!" }, + { "id": "general_graffiti_16", "text": "Mr. is a vampire!" }, { "id": "general_graffiti_17", "text": "Their hiding the truth" }, { "id": "general_graffiti_18", "text": "FOLLOW THE CHEMTRAILS" }, { diff --git a/data/json/vehicle_groups.json b/data/json/vehicle_groups.json index 3f08c63026ac3..dab0a1a18c0c1 100644 --- a/data/json/vehicle_groups.json +++ b/data/json/vehicle_groups.json @@ -5,16 +5,15 @@ "vehicles": [ [ "car", 2000 ], [ "car_anmlcmpt", 250 ], + [ "car_hatch", 1000 ], [ "electric_car", 500 ], [ "car_sports", 300 ], - [ "car_sports_atomic", 15 ], [ "car_sports_electric", 60 ], [ "suv", 800 ], [ "suv_electric", 200 ], [ "suv_electric", 120 ], - [ "car_mini", 800 ], + [ "car_mini", 400 ], [ "beetle", 500 ], - [ "bubble_car", 20 ], [ "bicycle", 400 ], [ "bicycle_electric", 100 ], [ "motorcycle", 200 ], @@ -77,12 +76,13 @@ "vehicles": [ [ "car", 7000 ], [ "car_anmlcmpt", 600 ], + [ "car_hatch", 3500 ], [ "electric_car", 1000 ], [ "car_sports", 500 ], [ "suv", 1000 ], [ "suv_electric", 300 ], [ "suv_electric", 150 ], - [ "car_mini", 1000 ], + [ "car_mini", 500 ], [ "beetle", 500 ], [ "pickup", 2000 ], [ "flatbed_truck", 1000 ], @@ -103,6 +103,7 @@ "vehicles": [ [ "car", 3000 ], [ "car_anmlcmpt", 250 ], + [ "car_hatch", 1000 ], [ "electric_car", 500 ], [ "car_sports", 1000 ], [ "car_sports_electric", 300 ], @@ -145,7 +146,8 @@ "vehicles": [ [ "car", 1000 ], [ "car_anmlcmpt", 150 ], - [ "car_mini", 500 ], + [ "car_hatch", 500 ], + [ "car_mini", 250 ], [ "electric_car", 500 ], [ "beetle", 300 ], [ "car_sports", 100 ], @@ -185,7 +187,6 @@ [ "apc-gl", 50 ], [ "aapc-mg", 50 ], [ "aapc-gl", 25 ], - [ "bubble_car", 50 ], [ "rv", 200 ], [ "limousine", 100 ], [ "schoolbus", 200 ], @@ -201,10 +202,11 @@ [ "semi_truck", 500 ], [ "cube_van", 1000 ], [ "flatbed_truck", 1000 ], - [ "car_mini", 750 ], + [ "car_mini", 375 ], [ "beetle", 750 ], [ "car", 1000 ], [ "car_anmlcmpt", 100 ], + [ "car_hatch", 500 ], [ "electric_car", 750 ], [ "hippie_van", 750 ], [ "golf_cart", 300 ], @@ -227,7 +229,8 @@ "id": "garage", "type": "vehicle_group", "vehicles": [ - [ "car", 10 ], + [ "car", 5 ], + [ "car_hatch", 2 ], [ "car_chassis", 20 ], [ "engine_crane", 40 ], [ "motorcycle", 10 ], @@ -302,6 +305,7 @@ "id": "junkyard_vehicles", "vehicles": [ [ "car", 1500 ], + [ "car_hatch", 750 ], [ "car_chassis", 2000 ], [ "electric_car", 400 ], [ "car_sports", 400 ], @@ -310,7 +314,7 @@ [ "suv", 500 ], [ "suv_electric", 200 ], [ "suv_electric", 120 ], - [ "car_mini", 600 ], + [ "car_mini", 300 ], [ "beetle", 500 ], [ "bubble_car", 20 ], [ "pickup", 600 ], @@ -323,10 +327,11 @@ "id": "dumpsite_vehicles", "vehicles": [ [ "car", 1000 ], + [ "car_hatch", 500 ], [ "car_chassis", 1200 ], [ "car_sports", 200 ], [ "suv", 400 ], - [ "car_mini", 500 ], + [ "car_mini", 250 ], [ "rv", 250 ], [ "meth_lab", 50 ], [ "beetle", 400 ], @@ -343,13 +348,14 @@ "id": "campground_vehicles", "vehicles": [ [ "car", 950 ], + [ "car_hatch", 475 ], [ "car_anmlcmpt", 150 ], [ "electric_car", 100 ], [ "suv", 800 ], [ "suv_electric", 100 ], [ "suv_electric_rack", 100 ], [ "bicycle_dirt", 50 ], - [ "car_mini", 200 ], + [ "car_mini", 100 ], [ "beetle", 200 ], [ "pickup", 700 ], [ "hippie_van", 800 ], @@ -361,6 +367,7 @@ "id": "forgotten_vehicles", "vehicles": [ [ "car", 1000 ], + [ "car_hatch", 500 ], [ "car_anmlcmpt", 100 ], [ "suv", 400 ], [ "rv", 200 ], @@ -377,9 +384,10 @@ [ "bubble_car", 50 ], [ "car_sports_electric", 100 ], [ "cube_van", 1000 ], - [ "car_mini", 750 ], + [ "car_mini", 375 ], [ "beetle", 750 ], [ "car", 1000 ], + [ "car_hatch", 500 ], [ "car_anmlcmpt", 150 ], [ "electric_car", 750 ], [ "hippie_van", 750 ], @@ -437,8 +445,7 @@ [ "bubble_car", 60 ], [ "rara_x", 40 ], [ "car_sports", 30 ], - [ "car_sports_electric", 20 ], - [ "car_sports_atomic", 5 ] + [ "car_sports_electric", 20 ] ] }, { @@ -477,10 +484,11 @@ "//": "for cs_car_dealership", "vehicles": [ [ "car", 2000 ], + [ "car_hatch", 1000 ], [ "electric_car", 500 ], [ "suv", 800 ], [ "suv_electric", 200 ], - [ "car_mini", 800 ], + [ "car_mini", 400 ], [ "beetle", 500 ], [ "motorcycle", 200 ], [ "motorcycle_sidecart", 100 ], @@ -508,9 +516,10 @@ [ "bubble_car", 200 ], [ "4x4_car", 200 ], [ "car_sports_electric", 100 ], - [ "car_mini", 750 ], + [ "car_mini", 375 ], [ "beetle", 750 ], [ "car", 1500 ], + [ "car_hatch", 750 ], [ "suv", 800 ], [ "suv_electric", 100 ], [ "suv_electric_rack", 100 ], @@ -522,8 +531,7 @@ [ "motorcycle_enduro", 50 ], [ "superbike", 50 ], [ "motorcycle_sidecart", 50 ], - [ "car_sports", 30 ], - [ "car_sports_atomic", 5 ] + [ "car_sports", 30 ] ] }, { @@ -537,10 +545,11 @@ "//": "for ws_regional_dump", "vehicles": [ [ "car", 1000 ], + [ "car_hatch", 500 ], [ "electric_car", 500 ], [ "suv", 800 ], [ "suv_electric", 200 ], - [ "car_mini", 800 ], + [ "car_mini", 400 ], [ "beetle", 500 ], [ "motorcycle", 200 ], [ "motorcycle_sidecart", 100 ], @@ -572,10 +581,11 @@ "id": "oa_vg_ts_vehicles", "vehicles": [ [ "car", 2000 ], + [ "car_hatch", 1000 ], [ "electric_car", 500 ], [ "suv", 800 ], [ "suv_electric", 200 ], - [ "car_mini", 800 ], + [ "car_mini", 400 ], [ "beetle", 500 ], [ "motorcycle", 200 ], [ "motorcycle_cross", 50 ], @@ -597,8 +607,9 @@ "type": "vehicle_group", "vehicles": [ [ "car", 2000 ], + [ "car_hatch", 1000 ], [ "electric_car", 500 ], - [ "car_mini", 500 ], + [ "car_mini", 250 ], [ "suv", 800 ], [ "suv_electric", 200 ], [ "suv_electric", 50 ], diff --git a/data/json/vehicleparts/wheel.json b/data/json/vehicleparts/wheel.json index 7b3eb8ada6826..6d54340f688b1 100644 --- a/data/json/vehicleparts/wheel.json +++ b/data/json/vehicleparts/wheel.json @@ -318,6 +318,34 @@ }, "flags": [ "WHEEL", "NEEDS_JACKING", "STABLE", "FOLDABLE", "STEERABLE" ] }, + { + "id": "wheel_10", + "type": "vehicle_part", + "name": "wheels", + "item": "wheel_10", + "location": "under", + "symbol": "o", + "broken_symbol": "x", + "color": "dark_gray", + "durability": 120, + "description": "A set of 10\" wheels with tough rubber tires.", + "folded_volume": 10, + "breaks_into": [ + { "item": "steel_lump", "prob": 50 }, + { "item": "steel_chunk", "count": [ 1, 5 ] }, + { "item": "scrap", "count": [ 1, 5 ] }, + { "item": "plastic_chunk", "count": [ 1, 5 ] } + ], + "rolling_resistance": 29, + "wheel_type": "off-road", + "contact_area": 4, + "requirements": { + "install": { "skills": [ [ "mechanics", 1 ] ], "time": "15 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "15 m", "using": [ [ "vehicle_bolt", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 2 ] ], "time": "15 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "flags": [ "WHEEL", "NEEDS_JACKING", "STABLE", "FOLDABLE", "STEERABLE" ] + }, { "id": "wheel_motorbike", "type": "vehicle_part", diff --git a/data/json/vehicles/cars.json b/data/json/vehicles/cars.json index 09a7c579454bb..553f7b3e1287f 100644 --- a/data/json/vehicles/cars.json +++ b/data/json/vehicles/cars.json @@ -469,7 +469,7 @@ { "id": "car_mini", "type": "vehicle", - "name": "Hatchback", + "name": "City Car", "blueprint": [ [ "o+-o" ], [ "+#'|" ], @@ -536,6 +536,93 @@ { "x": -1, "y": 0, "chance": 5, "items": [ "mag_glam" ] } ] }, + { + "id": "car_hatch", + "type": "vehicle", + "name": "Hatchback", + "blueprint": [ + [ "o++-o" ], + [ "+##'|" ], + [ "+##'|" ], + [ "o++-o" ] + ], + "parts": [ + { "x": 0, "y": 0, "part": "frame_vertical_2" }, + { "x": 0, "y": 0, "part": "seat" }, + { "x": 0, "y": 0, "part": "seatbelt" }, + { "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": "roof" }, + { "x": 0, "y": 1, "part": "frame_vertical_2" }, + { "x": 0, "y": 1, "part": "seat" }, + { "x": 0, "y": 1, "part": "seatbelt" }, + { "x": 0, "y": 1, "part": "roof" }, + { "x": 0, "y": -1, "part": "frame_vertical" }, + { "x": 0, "y": -1, "part": "door" }, + { "x": 0, "y": 2, "part": "frame_vertical" }, + { "x": 0, "y": 2, "part": "door" }, + { "x": 1, "y": 0, "part": "frame_horizontal" }, + { "x": 1, "y": 0, "part": "windshield" }, + { "x": 1, "y": 1, "part": "frame_horizontal" }, + { "x": 1, "y": 1, "part": "windshield" }, + { "x": 1, "y": -1, "part": "frame_vertical" }, + { "x": 1, "y": -1, "part": "windshield" }, + { "x": 1, "y": 2, "part": "frame_vertical" }, + { "x": 1, "y": 2, "part": "windshield" }, + { "x": 2, "y": 0, "part": "frame_horizontal" }, + { "x": 2, "y": 0, "part": "halfboard_horizontal" }, + { "x": 2, "y": 0, "part": "engine_inline4" }, + { "x": 2, "y": 0, "part": "alternator_car" }, + { "x": 2, "y": 0, "part": "battery_car" }, + { "x": 2, "y": 1, "part": "frame_horizontal" }, + { "x": 2, "y": 1, "part": "halfboard_horizontal" }, + { "x": 2, "y": -1, "part": "frame_nw" }, + { "x": 2, "y": -1, "part": "halfboard_nw" }, + { "x": 2, "y": -1, "parts": [ "wheel_mount_medium_steerable", "wheel" ] }, + { "x": 2, "y": -1, "part": "headlight" }, + { "x": 2, "y": 2, "part": "frame_ne" }, + { "x": 2, "y": 2, "part": "halfboard_ne" }, + { "x": 2, "y": 2, "parts": [ "wheel_mount_medium_steerable", "wheel" ] }, + { "x": 2, "y": 2, "part": "headlight" }, + { "x": -1, "y": -1, "part": "frame_vertical" }, + { "x": -1, "y": -1, "part": "door" }, + { "x": -1, "y": 0, "part": "frame_vertical_2" }, + { "x": -1, "y": 0, "part": "seat" }, + { "x": -1, "y": 0, "part": "seatbelt" }, + { "x": -1, "y": 0, "part": "roof" }, + { "x": -1, "y": 1, "part": "frame_vertical_2" }, + { "x": -1, "y": 1, "part": "seat" }, + { "x": -1, "y": 1, "part": "seatbelt" }, + { "x": -1, "y": 1, "part": "roof" }, + { "x": -1, "y": 2, "part": "frame_vertical" }, + { "x": -1, "y": 2, "part": "door" }, + { "x": -2, "y": -1, "part": "frame_sw" }, + { "x": -2, "y": -1, "parts": [ "wheel_mount_medium", "wheel" ] }, + { "x": -2, "y": -1, "part": "tank_medium", "fuel": "gasoline" }, + { "x": -2, "y": -1, "part": "halfboard_sw" }, + { "x": -2, "y": 0, "part": "frame_horizontal" }, + { "x": -2, "y": 0, "part": "hatch" }, + { "x": -2, "y": 0, "part": "muffler" }, + { "x": -2, "y": 1, "part": "frame_horizontal" }, + { "x": -2, "y": 1, "part": "hatch" }, + { "x": -2, "y": 2, "part": "frame_se" }, + { "x": -2, "y": 2, "parts": [ "wheel_mount_medium", "wheel" ] }, + { "x": -2, "y": 2, "part": "tank_medium", "fuel": "gasoline" }, + { "x": -2, "y": 2, "part": "halfboard_se" } + ], + "items": [ + { "x": 0, "y": 0, "chance": 14, "item_groups": [ "car_misc" ] }, + { "x": 0, "y": 0, "chance": 5, "item_groups": [ "snacks" ] }, + { "x": 0, "y": 1, "chance": 8, "item_groups": [ "car_misc" ] }, + { "x": 0, "y": 1, "chance": 2, "item_groups": [ "fast_food" ] }, + { "x": -2, "y": 0, "chance": 10, "items": [ "blanket" ] }, + { "x": -2, "y": 1, "chance": 15, "item_groups": [ "car_kit" ] }, + { "x": -2, "y": 1, "chance": 15, "items": [ "jack_small", "wheel" ] } + ] + }, { "id": "car_sports", "type": "vehicle", diff --git a/data/json/vehicles/carts.json b/data/json/vehicles/carts.json index 9796357627719..26b61249cd6c3 100644 --- a/data/json/vehicles/carts.json +++ b/data/json/vehicles/carts.json @@ -6,7 +6,7 @@ "blueprint": [ "#" ], "parts": [ { "x": 0, "y": 0, "part": "folding_frame" }, - { "x": 0, "y": 0, "part": "wheel_caster" }, + { "x": 0, "y": 0, "part": "wheel_10" }, { "x": 0, "y": 0, "part": "crane_small" } ] }, @@ -20,11 +20,11 @@ ], "parts": [ { "x": -1, "y": 0, "part": "xlframe_vertical_2" }, - { "x": -1, "y": 0, "part": "wheel_caster" }, + { "x": -1, "y": 0, "part": "wheel_10" }, { "x": -1, "y": 0, "part": "small_storage_battery" }, { "x": -1, "y": 0, "part": "kitchen_unit" }, { "x": 0, "y": 0, "part": "xlframe_vertical_2" }, - { "x": 0, "y": 0, "part": "wheel_caster" }, + { "x": 0, "y": 0, "part": "wheel_10" }, { "x": 0, "y": 0, "part": "minifridge" }, { "x": 0, "y": 0, "part": "controls_electronic" } ], @@ -147,7 +147,7 @@ "blueprint": [ "=" ], "parts": [ { "x": 0, "y": 0, "part": "frame_handle" }, - { "x": 0, "y": 0, "part": "wheel_caster" }, + { "x": 0, "y": 0, "part": "wheel_10" }, { "x": 0, "y": 0, "part": "crane_small" } ] }, @@ -158,7 +158,7 @@ "blueprint": [ "#" ], "parts": [ { "x": 0, "y": 0, "part": "xlframe_vertical_2" }, - { "x": 0, "y": 0, "part": "wheel_caster" }, + { "x": 0, "y": 0, "part": "wheel_10" }, { "x": 0, "y": 0, "part": "small_storage_battery" }, { "x": 0, "y": 0, "part": "minifreezer" }, { "x": 0, "y": 0, "part": "controls_electronic" } diff --git a/data/mods/Aftershock/afs_speech.json b/data/mods/Aftershock/afs_speech.json index aacc67356893a..94c20cee2f116 100644 --- a/data/mods/Aftershock/afs_speech.json +++ b/data/mods/Aftershock/afs_speech.json @@ -32,7 +32,7 @@ { "type": "speech", "speaker": "afs_mon_migoturret", - "sound": "\"The better to eat you! I don't actually think I eat anymore.\"", + "sound": "\"The better to eat you! I don't actually think I eat anymore.\"", "volume": 40 }, { diff --git a/data/mods/Aftershock/items/afs_books.json b/data/mods/Aftershock/items/afs_books.json index 1f6c083fd4f3e..64e9a22369b95 100644 --- a/data/mods/Aftershock/items/afs_books.json +++ b/data/mods/Aftershock/items/afs_books.json @@ -108,5 +108,29 @@ "intelligence": 13, "fun": -1, "time": "50 m" + }, + { + "id": "schematics_chickenbot", + "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.", + "copy-from": "schematics_generic" + }, + { + "id": "schematics_tankbot", + "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.", + "copy-from": "schematics_generic" + }, + { + "id": "schematics_tripod", + "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.", + "copy-from": "schematics_generic" } ] diff --git a/data/mods/Aftershock/items/afs_inactiverobot.json b/data/mods/Aftershock/items/afs_inactiverobot.json index a3a82865df29b..8c8bb14d01ec9 100644 --- a/data/mods/Aftershock/items/afs_inactiverobot.json +++ b/data/mods/Aftershock/items/afs_inactiverobot.json @@ -21,6 +21,162 @@ "skill2": "computer" } }, + { + "id": "bot_chickenbot", + "type": "TOOL", + "name": "inactive chicken walker", + "description": "This is an inactive chicken walker. Using this item involves placing it on the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm cartridge grenades in your inventory (if you wish to divide your ammunition, set aside whatever ammunition you do NOT want to give the robot) and turning it on. If reprogrammed and rewired successfully the chicken walker will then identify you as a friendly, roam around or follow you, and attack all enemies with a built-in firearm and grenade launcher.", + "weight": "120000 g", + "volume": "92500 ml", + "price": 50000000, + "to_hit": -3, + "bashing": 8, + "material": [ "steel" ], + "symbol": ";", + "color": "light_green", + "use_action": { + "type": "place_monster", + "monster_id": "mon_chickenbot", + "friendly_msg": "The chicken walker rises to its feet, sways away from you and begins surveying the area.", + "hostile_msg": "The chicken walker whirrs and aims directly at you. Take cover!", + "//": "Milspec, but was deployed in active service implying a reliable IFF", + "difficulty": 9, + "moves": 250, + "skill1": "electronics", + "skill2": "computer" + } + }, + { + "id": "bot_tankbot", + "looks_like": "broken_tankbot", + "type": "TOOL", + "name": "inactive tank drone", + "description": "This is an inactive Beagle Mini-Tank UGV. Using this item involves placing it on the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm cartridge grenades in your inventory (if you wish to divide your ammunition, set aside whatever ammunition you do NOT want to give the robot) and turning it on. If reprogrammed and rewired successfully the tank drone will then identify you as a friendly, roam around or follow you, and attack all enemies with a built-in firearm and grenade launcher.", + "weight": "200000 g", + "//": "cheating a bit with the volume due to lack of proper vehicle storage options", + "volume": "250 L", + "price": 100000000, + "to_hit": -3, + "bashing": 8, + "material": [ "steel" ], + "symbol": ";", + "color": "light_green", + "use_action": { + "type": "place_monster", + "monster_id": "mon_tankbot", + "friendly_msg": "The tank drone rolls out and begins acquiring targets.", + "hostile_msg": "The tank drone swivels its turret and aims directly at you. Don your brown pants!", + "//": "Milspec, clearly designed with little concern for collateral damage. What did you expect of a robo-tank?", + "difficulty": 10, + "moves": 500, + "skill1": "electronics", + "skill2": "computer" + } + }, + { + "id": "broken_chickenbot", + "looks_like": "broken_tripod", + "type": "TOOL", + "name": "inactive chicken walker", + "description": "This is an inactive chicken walker. Using this item involves placing it on the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm cartridge grenades in your inventory (if you wish to divide your ammunition, set aside whatever ammunition you do NOT want to give the robot) and turning it on. If reprogrammed and rewired successfully the tank drone will then identify you as a friendly, roam around or follow you, and attack all enemies with a built-in firearm and grenade launcher.", + "weight": "190000 g", + "//": "cheating a bit with the volume due to lack of proper vehicle storage options", + "volume": "250 L", + "price": 100000000, + "to_hit": -3, + "bashing": 8, + "material": [ "steel" ], + "symbol": ";", + "color": "light_green", + "use_action": { + "type": "place_monster", + "monster_id": "mon_chickenbot", + "friendly_msg": "The chicken bot rolls out and begins acquiring targets.", + "hostile_msg": "The chicken bot swivels its turret and aims directly at you. Don your brown pants!", + "//": "Milspec, clearly designed with little concern for collateral damage. What did you expect of a chicken walker?", + "difficulty": 10, + "moves": 500, + "skill1": "electronics", + "skill2": "computer" + } + }, + { + "id": "bot_tripod", + "looks_like": "broken_tripod", + "type": "TOOL", + "name": "inactive tripod", + "description": "This is an inactive Honda Regnal. Using this item involves placing it on the ground, wondering how it fuels its flamethrower and turning it on. If reprogrammed and rewired successfully the tribot will then identify you as an ally, roam around or follow you, and impale hostiles with its spiked cable weapons.", + "weight": "120000 g", + "volume": "92500 ml", + "price": 100000000, + "to_hit": -3, + "bashing": 8, + "material": [ "steel" ], + "symbol": ";", + "color": "light_green", + "use_action": { + "type": "place_monster", + "monster_id": "mon_tripod", + "friendly_msg": "The tribot rises to its feet and scans the area for contaminants.", + "hostile_msg": "The tribot glowers down at you and ignites its flamethrower. Turns out you hate the smell of napalm.", + "//": "No observed open deployment, likely a prototype or secret project", + "difficulty": 15, + "moves": 500, + "skill1": "electronics", + "skill2": "computer" + } + }, + { + "type": "GENERIC", + "id": "broken_tripod", + "symbol": ",", + "color": "green", + "name": "broken tribot", + "category": "other", + "description": "A broken tribot. Now that its legs lie broken and immobile, the world seems a little less threatening. Could be gutted for parts.", + "price": 1000, + "material": [ "steel", "plastic" ], + "weight": "430000 g", + "volume": "187500 ml", + "bashing": 10, + "cutting": 6, + "to_hit": -2, + "flags": [ "TRADER_AVOID", "NO_REPAIR" ] + }, + { + "type": "GENERIC", + "id": "broken_tankbot", + "symbol": ",", + "color": "green", + "name": "broken tank drone", + "category": "other", + "description": "A broken tank drone. Still looks intimidating despite being permanently inoperative, possibly due to the sheer size and mass. Could be gutted for parts.", + "price": 1000, + "material": [ "steel", "plastic" ], + "weight": "1223850 g", + "volume": "875 L", + "bashing": 20, + "cutting": 15, + "to_hit": -3, + "flags": [ "TRADER_AVOID", "NO_REPAIR" ] + }, + { + "type": "GENERIC", + "id": "broken_chickenbot", + "symbol": ",", + "color": "green", + "name": "broken chickenbot", + "category": "other", + "description": "A broken chicken walker. Still looks intimidating despite being permanently inoperative, possibly due to the sheer size and mass. Could be gutted for parts.", + "price": 1000, + "material": [ "steel", "plastic" ], + "weight": "1023850 g", + "volume": "1100 L", + "bashing": 20, + "cutting": 15, + "to_hit": -3, + "flags": [ "TRADER_AVOID", "NO_REPAIR" ] + }, { "id": "bot_sentinel_lx", "type": "TOOL", diff --git a/data/mods/Aftershock/items/afs_item_groups.json b/data/mods/Aftershock/items/afs_item_groups.json index 88212c58a12bb..b3e60b7fac1dd 100644 --- a/data/mods/Aftershock/items/afs_item_groups.json +++ b/data/mods/Aftershock/items/afs_item_groups.json @@ -11,7 +11,7 @@ { "item": "pants_cargo" }, { "item": "kevlar" }, { "item": "leather_pouch" }, - { "item": "balclava", "chance": 75 }, + { "item": "balclava", "prob": 75 }, { "item": "bootsheath" } ] }, @@ -19,7 +19,7 @@ "type": "item_group", "id": "afs_gardener_carried", "subtype": "collection", - "entries": [ { "group": "hardware", "count": [ 1, 2 ] }, { "group": "snacks", "repeat": [ 1, 3 ] } ] + "entries": [ { "group": "hardware", "count": [ 1, 2 ] }, { "group": "snacks", "count": [ 1, 3 ] } ] }, { "type": "item_group", @@ -53,5 +53,29 @@ [ "arrow_metal", 25 ], [ "bolt_steel", 10 ] ] + }, + { + "id": "schematics", + "//": "override of vanilla schematics, includes tripod, chickenbot, tankbot", + "type": "item_group", + "items": [ + [ "schematics_nursebot", 10 ], + [ "schematics_grocerybot", 20 ], + [ "schematics_copbot", 50 ], + [ "schematics_eyebot", 50 ], + [ "schematics_secubot", 50 ], + [ "schematics_skitterbot", 50 ], + [ "schematics_chickenbot", 5 ], + [ "schematics_hazmatbot", 50 ], + [ "schematics_riotbot", 50 ], + [ "schematics_sciencebot", 10 ], + [ "schematics_tankbot", 5 ], + [ "schematics_tripod", 5 ], + [ "schematics_molebot", 20 ], + [ "schematics_dispatch", 25 ], + [ "schematics_dispatch_military", 20 ], + [ "schematics_antimateriel", 20 ], + [ "schematics_searchlight", 50 ] + ] } ] diff --git a/data/mods/Aftershock/items/afs_tools.json b/data/mods/Aftershock/items/afs_tools.json index 7229cbc3f8846..16a71330921f9 100644 --- a/data/mods/Aftershock/items/afs_tools.json +++ b/data/mods/Aftershock/items/afs_tools.json @@ -19,7 +19,7 @@ "active": true, "type": "transform" }, - { "type": "CAMERA" } + "CAMERA" ], "flags": [ "WATCH", "ALARMCLOCK" ] }, @@ -44,7 +44,7 @@ "type": "TOOL", "name": "Wraitheon executive's smartphone", "copy-from": "afs_atomic_smartphone", - "description": "Your custom crafted atomic smartphone. Most notably a confidential executive-level override program allows you to remotely control most robots.", + "description": "Your custom crafted atomic smartphone. Most notably a confidential executive-level override program allows you to remotely control most robots.", "price": 20000000, "price_postapoc": 250000, "material": [ "superalloy", "aluminum" ], @@ -55,8 +55,8 @@ "active": true, "type": "transform" }, - { "revert_to": "afs_atomic_smartphone", "type": "CAMERA" }, - { "type": "ROBOTCONTROL" } + "CAMERA", + "ROBOTCONTROL" ] }, { diff --git a/data/mods/Aftershock/items/afs_weapons.json b/data/mods/Aftershock/items/afs_weapons.json index 4e53e67b0262c..b673630519afc 100644 --- a/data/mods/Aftershock/items/afs_weapons.json +++ b/data/mods/Aftershock/items/afs_weapons.json @@ -187,5 +187,27 @@ [ "battery", [ "heavy_battery_cell", "heavy_plus_battery_cell", "heavy_atomic_battery_cell", "heavy_disposable_cell" ] ] ], "flags": [ "NEVER_JAMS", "FIRE_20", "NON-FOULING" ] + }, + { + "id": "TANK", + "looks_like": "m79", + "type": "GUN", + "symbol": "(", + "color": "green", + "name": "Tankbot Main Gun", + "name_plural": "Tankbot Main Gun", + "description": "The 120mm cannon from a tankbot. If you have this, you'd best be debugging!", + "price": 99999999, + "material": "steel", + "skill": "launcher", + "ammo": "120mm", + "weight": "2500 g", + "volume": "2500 ml", + "bashing": 6, + "to_hit": -3, + "dispersion": 60, + "durability": 9, + "clip_size": 1, + "loudness": 300 } ] diff --git a/data/mods/Aftershock/items/monsterdrops.json b/data/mods/Aftershock/items/monsterdrops.json new file mode 100644 index 0000000000000..2e8857996213e --- /dev/null +++ b/data/mods/Aftershock/items/monsterdrops.json @@ -0,0 +1,49 @@ +[ + { + "type": "item_group", + "id": "tripod", + "items": [ + { "item": "flamethrower", "prob": 1, "charges-min": 0, "charges-max": 3000 }, + [ "kevlar_plate", 10 ], + [ "ceramic_armor", 15 ], + [ "alloy_plate", 10 ], + [ "robot_controls", 3 ] + ] + }, + { + "type": "item_group", + "id": "chickenbot", + "items": [ + [ "robot_controls", 5 ], + [ "ai_module", 5 ], + [ "sensor_module", 5 ], + [ "memory_module", 5 ], + [ "pathfinding_module", 5 ], + [ "identification_module", 5 ], + [ "reverse_jointed_legs", 40 ], + [ "chickenbot_chassis", 40 ], + [ "targeting_module", 5 ], + [ "gun_module", 30 ], + [ "mark19", 5 ], + [ "tazer", 5 ], + [ "m249", 5 ], + [ "storage_battery", 5 ], + [ "plut_cell", 5 ], + [ "mil_plate", 2 ] + ] + }, + { + "type": "item_group", + "id": "tankbot", + "items": [ + [ "tazer", 3 ], + { "item": "flamethrower", "prob": 1, "charges-min": 0, "charges-max": 3000 }, + [ "556", 8 ], + [ "alloy_plate", 10 ], + [ "kevlar_plate", 10 ], + [ "ceramic_armor", 10 ], + [ "hard_plate", 30 ], + [ "robot_controls", 5 ] + ] + } +] diff --git a/data/mods/Aftershock/items/robotparts.json b/data/mods/Aftershock/items/robotparts.json new file mode 100644 index 0000000000000..49ea5b32e52a3 --- /dev/null +++ b/data/mods/Aftershock/items/robotparts.json @@ -0,0 +1,58 @@ +[ + { + "type": "GENERIC", + "id": "spidery_legs_big", + "name": "set of spidery legs", + "name_plural": "sets of spidery legs", + "description": "A set of big pointy legs, like the ones found under a tripod.", + "symbol": "W", + "color": "light_gray", + "weight": "40000 g", + "volume": "20 L", + "price": 200000, + "material": "steel", + "category": "spare_parts" + }, + { + "type": "GENERIC", + "id": "tripod_chassis", + "name": "tripod chassis", + "name_plural": "tripod chassis", + "description": "What's left when you remove all moving parts and electronics. It's the skeleton and armor of the tripod.", + "symbol": "c", + "color": "light_gray", + "weight": "40000 g", + "volume": "70000 ml", + "price": 200000, + "material": [ "steel" ], + "category": "spare_parts" + }, + { + "type": "GENERIC", + "id": "chickenbot_chassis", + "name": "chicken walker chassis", + "name_plural": "chicken walker chassis", + "description": "What's left when you remove all moving parts and electronics. It's the skeleton and armor of the chicken walker.", + "symbol": "c", + "color": "light_gray", + "weight": "60000 g", + "volume": "80000 ml", + "price": 300000, + "material": [ "steel" ], + "category": "spare_parts" + }, + { + "type": "GENERIC", + "id": "tankbot_chassis", + "name": "Beagle chassis", + "name_plural": "Beagle chassis", + "description": "What's left when you remove all moving parts and electronics. It's the skeleton and armor of the Beagle tank.", + "symbol": "c", + "color": "light_gray", + "weight": "150000 g", + "volume": "575000 ml", + "price": 1000000, + "material": [ "steel" ], + "category": "spare_parts" + } +] diff --git a/data/mods/Aftershock/maps/afs_regional_map_settings.json b/data/mods/Aftershock/maps/afs_regional_map_settings.json index a87db39cfa2ea..33ef3c8145ebc 100644 --- a/data/mods/Aftershock/maps/afs_regional_map_settings.json +++ b/data/mods/Aftershock/maps/afs_regional_map_settings.json @@ -2,7 +2,6 @@ { "type": "region_overlay", "regions": [ "all" ], - "city": { "basements": { "basement": 1000, "basement_hidden_lab_stairs": 100, "basement_bionic": 100 } }, - "weather": { "base_temperature": 0.0 } + "city": { "basements": { "basement": 1000, "basement_hidden_lab_stairs": 100, "basement_bionic": 100 } } } ] diff --git a/data/mods/Aftershock/maps/mapgen/prepnet_orchard.json b/data/mods/Aftershock/maps/mapgen/prepnet_orchard.json index f5d8745818874..e3147bb35c3e1 100644 --- a/data/mods/Aftershock/maps/mapgen/prepnet_orchard.json +++ b/data/mods/Aftershock/maps/mapgen/prepnet_orchard.json @@ -63,9 +63,9 @@ { "item": "supplies_farming", "x": 3, "y": 9, "chance": 99 } ], "sealed_item": { "p": { "items": { "item": "farming_seeds", "chance": 100 }, "furniture": "f_plant_harvest" } }, - "place_monsters": [ - { "monster": "GROUP_PARK_SCENIC", "x": 12, "y": 14, "chance": 2 }, - { "monster": "GROUP_PrepNet", "x": [ 3, 20 ], "y": [ 16, 20 ], "repeat": 4, "friendly": true } + "place_monster": [ + { "group": "GROUP_PARK_SCENIC", "x": 12, "y": 14, "chance": 2 }, + { "group": "GROUP_PrepNet", "x": [ 3, 20 ], "y": [ 16, 20 ], "repeat": 4, "friendly": true } ], "place_npcs": [ { "class": "prepnet_gardener", "x": 10, "y": 9 } ] } @@ -136,9 +136,9 @@ { "item": "supplies_farming", "x": 6, "y": 7, "chance": 15 } ], "sealed_item": { "p": { "items": { "item": "farming_seeds", "chance": 100 }, "furniture": "f_plant_harvest" } }, - "place_monsters": [ - { "monster": "GROUP_PARK_SCENIC", "x": 12, "y": 14, "chance": 2 }, - { "monster": "GROUP_PrepNet", "x": [ 3, 20 ], "y": [ 16, 20 ], "repeat": 3, "friendly": true } + "place_monster": [ + { "group": "GROUP_PARK_SCENIC", "x": 12, "y": 14, "chance": 2 }, + { "group": "GROUP_PrepNet", "x": [ 3, 20 ], "y": [ 16, 20 ], "repeat": 3, "friendly": true } ], "place_npcs": [ { "class": "prepnet_gardener", "x": 10, "y": 9 } ] } diff --git a/data/mods/Aftershock/mobs/afs_robots.json b/data/mods/Aftershock/mobs/afs_robots.json index d83101ab6b40f..f9a707fee7edb 100644 --- a/data/mods/Aftershock/mobs/afs_robots.json +++ b/data/mods/Aftershock/mobs/afs_robots.json @@ -34,6 +34,110 @@ "death_function": [ "BROKEN" ], "flags": [ "SEES", "ELECTRONIC", "IMMOBILE", "NO_BREATHE" ] }, + { + "id": "mon_chickenbot", + "type": "MONSTER", + "name": "chicken walker", + "description": "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.", + "default_faction": "military", + "species": [ "ROBOT" ], + "diff": 20, + "volume": "92500 ml", + "weight": "120 kg", + "hp": 90, + "speed": 115, + "material": [ "steel" ], + "symbol": "R", + "color": "red", + "aggression": 100, + "morale": 100, + "melee_skill": 3, + "melee_dice": 3, + "melee_dice_sides": 3, + "melee_cut": 0, + "armor_bash": 18, + "armor_cut": 14, + "vision_day": 50, + "vision_night": 35, + "revert_to_itype": "bot_chickenbot", + "starting_ammo": { "40x46mm_m433": 100, "556": 1000 }, + "path_settings": { "max_dist": 10 }, + "special_attacks": [ [ "CHICKENBOT", 4 ] ], + "death_function": [ "BROKEN" ], + "flags": [ "SEES", "HEARS", "BASHES", "NO_BREATHE", "ELECTRONIC", "PRIORITIZE_TARGETS", "DROPS_AMMO" ] + }, + { + "id": "mon_tankbot", + "type": "MONSTER", + "name": "Beagle Mini-Tank UGV", + "description": "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.", + "default_faction": "military", + "species": [ "ROBOT" ], + "diff": 30, + "volume": "875000 ml", + "weight": "200 kg", + "hp": 240, + "speed": 75, + "material": [ "steel" ], + "symbol": "R", + "color": "dark_gray", + "aggression": 100, + "morale": 100, + "melee_skill": 5, + "melee_dice": 5, + "melee_dice_sides": 5, + "melee_cut": 0, + "armor_bash": 90, + "armor_cut": 90, + "vision_day": 50, + "revert_to_itype": "bot_tankbot", + "starting_ammo": { "40x46mm_m433": 200, "556": 3000 }, + "path_settings": { "max_dist": 20 }, + "special_attacks": [ [ "MULTI_ROBOT", 3 ] ], + "death_function": [ "BROKEN" ], + "flags": [ + "SEES", + "HEARS", + "GOODHEARING", + "NOHEAD", + "BASHES", + "DESTROYS", + "NO_BREATHE", + "ELECTRONIC", + "PRIORITIZE_TARGETS", + "DROPS_AMMO" + ] + }, + { + "id": "mon_tripod", + "type": "MONSTER", + "name": "tripod", + "description": "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.", + "default_faction": "military", + "species": [ "ROBOT" ], + "diff": 20, + "volume": "92500 ml", + "weight": "120 kg", + "hp": 80, + "speed": 90, + "material": [ "steel" ], + "symbol": "R", + "color": "white", + "aggression": 100, + "morale": 100, + "melee_skill": 10, + "melee_dice": 3, + "melee_dice_sides": 12, + "melee_cut": 6, + "armor_bash": 12, + "armor_cut": 8, + "path_settings": { "max_dist": 5 }, + "revert_to_itype": "bot_tripod", + "special_attacks": [ [ "FLAMETHROWER", 10 ] ], + "death_drops": { "groups": [ [ "robots", 4 ], [ "tripod", 1 ] ] }, + "death_function": [ "BROKEN" ], + "flags": [ "SEES", "HEARS", "GOODHEARING", "BASHES", "NO_BREATHE", "ELECTRONIC", "CLIMBS", "PRIORITIZE_TARGETS" ] + }, { "id": "afs_mon_sentinel_lx", "type": "MONSTER", diff --git a/data/mods/Aftershock/npcs/afs_npc.json b/data/mods/Aftershock/npcs/afs_npc.json index 8b5617036d7ee..c420e2d9addb2 100644 --- a/data/mods/Aftershock/npcs/afs_npc.json +++ b/data/mods/Aftershock/npcs/afs_npc.json @@ -8,7 +8,6 @@ "attitude": 1, "mission": 0, "chat": "TALK_PrepNet_gardener_1", - "faction": "Prepnet_Phyle", - "mon_faction": "PrepNet" + "faction": "Prepnet_Phyle" } ] diff --git a/data/mods/Aftershock/player/afs_professions.json b/data/mods/Aftershock/player/afs_professions.json index befe3b51f381d..27d21f1b0159e 100644 --- a/data/mods/Aftershock/player/afs_professions.json +++ b/data/mods/Aftershock/player/afs_professions.json @@ -32,8 +32,10 @@ "points": 2, "skills": [ { "level": 5, "name": "computer" } ], "items": { - "both": [ "laptop", "software_useless", "linuxtshirt", "pants_cargo", "socks", "slingpack", "sneakers", "smart_phone" ], - "entries": [ { "item": "light_plus_battery_cell", "ammo-item": "battery", "charges": 150, "container-item": "eink_tablet_pc" } ], + "both": { + "items": [ "laptop", "software_useless", "linuxtshirt", "pants_cargo", "socks", "slingpack", "sneakers", "smart_phone" ], + "entries": [ { "item": "light_plus_battery_cell", "ammo-item": "battery", "charges": 150, "container-item": "eink_tablet_pc" } ] + }, "male": [ "briefs" ], "female": [ "bra", "panties" ] } diff --git a/data/mods/Aftershock/recipes/afs__recipes.json b/data/mods/Aftershock/recipes/afs__recipes.json index 02c27e337db45..a41cb50105c91 100644 --- a/data/mods/Aftershock/recipes/afs__recipes.json +++ b/data/mods/Aftershock/recipes/afs__recipes.json @@ -424,5 +424,115 @@ [ [ "cable", 3 ] ], [ [ "plastic_chunk", 3 ] ] ] + }, + { + "type": "recipe", + "result": "bot_tankbot", + "category": "CC_ELECTRONIC", + "subcategory": "CSC_ELECTRONIC_OTHER", + "skill_used": "electronics", + "skills_required": [ [ "mechanics", 9 ], [ "computer", 8 ] ], + "reversible": true, + "decomp_learn": 8, + "book_learn": [ [ "schematics_tankbot", 9 ] ], + "difficulty": 9, + "time": "1 h 15 m", + "using": [ [ "soldering_standard", 30 ], [ "welding_standard", 20 ] ], + "qualities": [ + { "id": "SCREW", "level": 1 }, + { "id": "SCREW_FINE", "level": 1 }, + { "id": "WRENCH", "level": 2 }, + { "id": "WRENCH_FINE", "level": 1 } + ], + "components": [ + [ [ "ai_module", 1 ] ], + [ [ "sensor_module", 1 ] ], + [ [ "memory_module", 1 ] ], + [ [ "pathfinding_module", 1 ] ], + [ [ "identification_module", 1 ] ], + [ [ "tank_tread", 1 ] ], + [ [ "tankbot_chassis", 1 ] ], + [ [ "targeting_module", 1 ] ], + [ [ "gun_module", 3 ] ], + [ [ "flamethrower", 1 ] ], + [ [ "tazer", 1 ] ], + [ [ "m4a1", 1 ] ], + [ [ "power_supply", 20 ] ], + [ [ "storage_battery", 1 ] ], + [ [ "plut_cell", 4 ] ], + [ [ "mil_plate", 2 ] ] + ] + }, + { + "type": "recipe", + "result": "bot_tripod", + "category": "CC_ELECTRONIC", + "subcategory": "CSC_ELECTRONIC_OTHER", + "skill_used": "electronics", + "skills_required": [ [ "mechanics", 9 ], [ "computer", 8 ] ], + "reversible": true, + "decomp_learn": 8, + "book_learn": [ [ "schematics_tripod", 9 ] ], + "difficulty": 9, + "time": "1 h", + "using": [ [ "soldering_standard", 10 ], [ "welding_standard", 10 ] ], + "qualities": [ + { "id": "SCREW", "level": 1 }, + { "id": "SCREW_FINE", "level": 1 }, + { "id": "WRENCH", "level": 2 }, + { "id": "WRENCH_FINE", "level": 1 } + ], + "components": [ + [ [ "ai_module", 1 ] ], + [ [ "sensor_module", 1 ] ], + [ [ "memory_module", 1 ] ], + [ [ "pathfinding_module", 1 ] ], + [ [ "identification_module", 1 ] ], + [ [ "spidery_legs_big", 1 ] ], + [ [ "tripod_chassis", 1 ] ], + [ [ "targeting_module", 1 ] ], + [ [ "gun_module", 1 ] ], + [ [ "power_supply", 12 ] ], + [ [ "storage_battery", 1 ] ], + [ [ "flamethrower", 1 ] ] + ] + }, + { + "type": "recipe", + "result": "bot_chickenbot", + "category": "CC_ELECTRONIC", + "subcategory": "CSC_ELECTRONIC_OTHER", + "skill_used": "electronics", + "skills_required": [ [ "mechanics", 10 ], [ "computer", 9 ] ], + "reversible": true, + "decomp_learn": 9, + "book_learn": [ [ "schematics_chickenbot", 10 ] ], + "difficulty": 10, + "time": "1 h 15 m", + "using": [ [ "soldering_standard", 30 ], [ "welding_standard", 20 ] ], + "qualities": [ + { "id": "SCREW", "level": 1 }, + { "id": "SCREW_FINE", "level": 1 }, + { "id": "WRENCH", "level": 2 }, + { "id": "WRENCH_FINE", "level": 1 } + ], + "components": [ + [ [ "ai_module", 1 ] ], + [ [ "sensor_module", 1 ] ], + [ [ "memory_module", 1 ] ], + [ [ "pathfinding_module", 1 ] ], + [ [ "identification_module", 1 ] ], + [ [ "reverse_jointed_legs", 1 ] ], + [ [ "chickenbot_chassis", 1 ] ], + [ [ "targeting_module", 1 ] ], + [ [ "gun_module", 3 ] ], + [ [ "mark19", 1 ] ], + [ [ "tazer", 1 ] ], + [ [ "m249", 1 ] ], + [ [ "power_supply", 20 ] ], + [ [ "storage_battery", 1 ] ], + [ [ "plut_cell", 4 ] ], + [ [ "mil_plate", 2 ] ] + ] } ] diff --git a/data/mods/Aftershock/recipes/afs_deconstruction.json b/data/mods/Aftershock/recipes/afs_deconstruction.json index 5581d8f67cb41..9114be0f469b5 100644 --- a/data/mods/Aftershock/recipes/afs_deconstruction.json +++ b/data/mods/Aftershock/recipes/afs_deconstruction.json @@ -17,6 +17,81 @@ [ [ "bioweapon_chassis", 1 ] ] ] }, + { + "result": "broken_tankbot", + "type": "uncraft", + "skill_used": "electronics", + "difficulty": 8, + "time": "10 h", + "using": [ [ "soldering_standard", 30 ], [ "welding_standard", 20 ] ], + "qualities": [ { "id": "SCREW", "level": 1 }, { "id": "WRENCH", "level": 1 }, { "id": "SAW_M", "level": 1 } ], + "components": [ + [ [ "ai_module", 1 ] ], + [ [ "sensor_module", 1 ] ], + [ [ "memory_module", 1 ] ], + [ [ "pathfinding_module", 1 ] ], + [ [ "identification_module", 1 ] ], + [ [ "tank_tread", 1 ] ], + [ [ "tankbot_chassis", 1 ] ], + [ [ "targeting_module", 1 ] ], + [ [ "gun_module", 3 ] ], + [ [ "flamethrower", 1 ] ], + [ [ "tazer", 1 ] ], + [ [ "m4a1", 1 ] ], + [ [ "power_supply", 20 ] ], + [ [ "storage_battery", 1 ] ], + [ [ "plut_cell", 4 ] ], + [ [ "mil_plate", 2 ] ] + ] + }, + { + "result": "broken_chickenbot", + "type": "uncraft", + "skill_used": "electronics", + "difficulty": 8, + "time": "10 h", + "using": [ [ "soldering_standard", 30 ], [ "welding_standard", 20 ] ], + "qualities": [ { "id": "SCREW", "level": 1 }, { "id": "WRENCH", "level": 1 }, { "id": "SAW_M", "level": 1 } ], + "components": [ + [ [ "ai_module", 1 ] ], + [ [ "sensor_module", 1 ] ], + [ [ "memory_module", 1 ] ], + [ [ "pathfinding_module", 1 ] ], + [ [ "identification_module", 1 ] ], + [ [ "chickenbot_chassis", 1 ] ], + [ [ "targeting_module", 1 ] ], + [ [ "gun_module", 3 ] ], + [ [ "m249", 1 ] ], + [ [ "power_supply", 20 ] ], + [ [ "storage_battery", 1 ] ], + [ [ "plut_cell", 4 ] ], + [ [ "mil_plate", 2 ] ] + ] + }, + { + "result": "broken_tripod", + "type": "uncraft", + "skill_used": "electronics", + "difficulty": 8, + "time": "5 h", + "using": [ [ "soldering_standard", 10 ], [ "welding_standard", 10 ] ], + "qualities": [ { "id": "SCREW", "level": 1 }, { "id": "SAW_M", "level": 1 } ], + "components": [ + [ [ "ai_module", 1 ] ], + [ [ "self_monitoring_module", 1 ] ], + [ [ "sensor_module", 1 ] ], + [ [ "memory_module", 1 ] ], + [ [ "pathfinding_module", 1 ] ], + [ [ "identification_module", 1 ] ], + [ [ "spidery_legs_big", 1 ] ], + [ [ "tripod_chassis", 1 ] ], + [ [ "targeting_module", 1 ] ], + [ [ "gun_module", 1 ] ], + [ [ "power_supply", 12 ] ], + [ [ "storage_battery", 1 ] ], + [ [ "flamethrower", 1 ] ] + ] + }, { "result": "broken_afs_mon_sentinel_lx", "type": "uncraft", diff --git a/data/mods/Aftershock/vehicles/afs_vehicle_overrides.json b/data/mods/Aftershock/vehicles/afs_vehicle_overrides.json index cf8d2507ee7dc..f4882e95aca6f 100644 --- a/data/mods/Aftershock/vehicles/afs_vehicle_overrides.json +++ b/data/mods/Aftershock/vehicles/afs_vehicle_overrides.json @@ -97,7 +97,7 @@ { "y": 1, "x": 3, - "parts": [ "turret_mount", { "ammo_type": [ "40x46mm_m433" ], "part": "mounted_mk19", "ammo": 60, "ammo_qty": [ 1, 25 ] } ] + "parts": [ "turret_mount", { "ammo_types": [ "40x46mm_m433" ], "part": "mounted_mk19", "ammo": 60, "ammo_qty": [ 1, 25 ] } ] }, { "y": 1, "x": 3, "parts": [ "seat", "seatbelt_heavyduty" ] }, { "y": 0, "x": 3, "parts": [ "hdframe_vertical_2", "stowboard_vertical", "hdroof" ] }, diff --git a/data/mods/CRT_EXPANSION/crt_materials.json b/data/mods/CRT_EXPANSION/crt_materials.json index ef039e86f09ae..dbb5b022129ff 100644 --- a/data/mods/CRT_EXPANSION/crt_materials.json +++ b/data/mods/CRT_EXPANSION/crt_materials.json @@ -16,11 +16,7 @@ "dmg_adj": [ "ripped", "torn", "shredded", "tattered" ], "bash_dmg_verb": "ripped", "cut_dmg_verb": "cut", - "burn_data": [ - { "fuel": 1, "smoke": 3, "burn": 1, "chance": 10 }, - { "fuel": 1, "smoke": 3, "burn": 2 }, - { "fuel": 1, "smoke": 3, "burn": 3 } - ] + "burn_data": [ { "fuel": 1, "smoke": 3, "burn": 1 }, { "fuel": 1, "smoke": 3, "burn": 2 }, { "fuel": 1, "smoke": 3, "burn": 3 } ] }, { "type": "AMMO", diff --git a/data/mods/CRT_EXPANSION/items/crt_armor.json b/data/mods/CRT_EXPANSION/items/crt_armor.json index f9bc5a91d1291..773440e8e17ee 100644 --- a/data/mods/CRT_EXPANSION/items/crt_armor.json +++ b/data/mods/CRT_EXPANSION/items/crt_armor.json @@ -33,7 +33,7 @@ "warmth": 40, "encumbrance": 17, "material_thickness": 5, - "enviromental_protection": 5 + "environmental_protection": 5 }, { "id": "crt_la_boots", diff --git a/data/mods/CRT_EXPANSION/items/crt_tools.json b/data/mods/CRT_EXPANSION/items/crt_tools.json index cb2823dbb3e76..839f6a4f83115 100644 --- a/data/mods/CRT_EXPANSION/items/crt_tools.json +++ b/data/mods/CRT_EXPANSION/items/crt_tools.json @@ -33,11 +33,9 @@ "weight": "350 g", "volume": "750 ml", "price": 20000, - "damage": { "damage_type": "cold", "amount": 100 }, "cutting": 8, "bashing": 3, "to_hit": 2, - "durability": 15, "symbol": ";", "qualities": [ [ "CUT_FINE", 1 ] ], "use_action": "CROWBAR", @@ -57,7 +55,6 @@ "price": 20000, "bashing": 10, "to_hit": 1, - "durability": 15, "symbol": "8", "flags": [ "UNARMED_WEAPON", "UNBREAKABLE_MELEE" ], "techniques": [ "WBLOCK_2", "UHAND", "HOOK" ] diff --git a/data/mods/CRT_EXPANSION/mutations/crt_mutatinoc.json b/data/mods/CRT_EXPANSION/mutations/crt_mutatinoc.json index cbcfeeb462795..df51f72b9801b 100644 --- a/data/mods/CRT_EXPANSION/mutations/crt_mutatinoc.json +++ b/data/mods/CRT_EXPANSION/mutations/crt_mutatinoc.json @@ -20,7 +20,7 @@ "visibility": -7, "ugliness": -7, "description": "Aside from your appearances, your movements are incredibly graceful and allow you to seemingly glide through every task.", - "thresheq": [ "THRESH_VAMP" ], + "threshreq": [ "THRESH_VAMP" ], "category": [ "VAMP" ], "stealth_modifier": 5, "noise_modifier": 0.2, diff --git a/data/mods/Generic_Guns/gg_vehicle_override.json b/data/mods/Generic_Guns/gg_vehicle_override.json index 116a1e4657f7a..6dd0374e21562 100644 --- a/data/mods/Generic_Guns/gg_vehicle_override.json +++ b/data/mods/Generic_Guns/gg_vehicle_override.json @@ -70,7 +70,6 @@ "color": "green", "broken_color": "green", "size": 2000, - "range": 12, "breaks_into": [ { "item": "m134", "prob": 50 } ], "requirements": { "install": { "skills": [ [ "mechanics", 6 ], [ "rifle", 3 ] ] }, "removal": { "skills": [ [ "mechanics", 4 ] ] } } } diff --git a/data/mods/Graphical_Overmap/overmap_terrain.json b/data/mods/Graphical_Overmap/overmap_terrain.json index bd7f583283041..190c0652af1c5 100644 --- a/data/mods/Graphical_Overmap/overmap_terrain.json +++ b/data/mods/Graphical_Overmap/overmap_terrain.json @@ -5,34 +5,34 @@ "id": "", "copy-from": "", "name": "nothing", - "sym": "¦", + "sym": "\u00A6", "color": "white" }, { "type": "overmap_terrain", "abstract": "generic_city_building_no_sidewalk", "copy-from": "generic_city_building_no_sidewalk", - "sym": "å" + "sym": "\u00E5" }, { "type": "overmap_terrain", "id": "park", "copy-from": "park", - "sym": "î", + "sym": "\u00EE", "color": "green" }, { "type": "overmap_terrain", "id": "s_garage", "copy-from": "s_garage", - "sym": "æ", + "sym": "\u00E6", "color": "light_gray" }, { "type": "overmap_terrain", "id": "s_garage_roof", "copy-from": "s_garage_roof", - "sym": "æ", + "sym": "\u00E6", "color": "light_gray" }, { @@ -44,7 +44,7 @@ "type": "overmap_terrain", "id": "s_garage_roof_1", "copy-from": "s_garage_roof_1", - "sym": "æ", + "sym": "\u00E6", "color": "light_gray" }, { @@ -56,34 +56,34 @@ "type": "overmap_terrain", "id": "s_garage_roof_2", "copy-from": "s_garage_roof_2", - "sym": "æ", + "sym": "\u00E6", "color": "light_gray" }, { "type": "overmap_terrain", "id": "s_garage_upper_roof_2", "copy-from": "s_garage_upper_roof_2", - "sym": "æ", + "sym": "\u00E6", "color": "light_gray" }, { "type": "overmap_terrain", "id": "boat_rental", "copy-from": "boat_rental", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "lighthouse_ground", "copy-from": "lighthouse_ground", - "sym": "í", + "sym": "\u00ED", "color": "yellow" }, { "type": "overmap_terrain", "id": "lighthouse_z1", "copy-from": "lighthouse_z1", - "sym": "í", + "sym": "\u00ED", "color": "yellow" }, { @@ -115,561 +115,561 @@ "type": "overmap_terrain", "id": "island_sand", "copy-from": "island_sand", - "sym": "¦", + "sym": "\u00A6", "color": "yellow" }, { "type": "overmap_terrain", "id": "island_forest", "copy-from": "island_forest", - "sym": "è", + "sym": "\u00E8", "color": "green" }, { "type": "overmap_terrain", "id": "island_forest_thick", "copy-from": "island_forest_thick", - "sym": "õ", + "sym": "\u00F5", "color": "green" }, { "type": "overmap_terrain", "id": "island_forest_water", "copy-from": "island_forest_water", - "sym": "÷", + "sym": "\u00F7", "color": "cyan" }, { "type": "overmap_terrain", "id": "island_field", "copy-from": "island_field", - "sym": "¨", + "sym": "\u00A8", "color": "brown" }, { "type": "overmap_terrain", "id": "cabin_isherwood", "copy-from": "cabin_isherwood", - "sym": "è", + "sym": "\u00E8", "color": "light_green" }, { "type": "overmap_terrain", "id": "riverside_dwelling", "copy-from": "riverside_dwelling", - "sym": "â", + "sym": "\u00E2", "color": "yellow" }, { "type": "overmap_terrain", "id": "cabin_lake", "copy-from": "cabin_lake", - "sym": "è" + "sym": "\u00E8" }, { "type": "overmap_terrain", "id": "cabin_lake_roof", "copy-from": "cabin_lake_roof", - "sym": "è" + "sym": "\u00E8" }, { "type": "overmap_terrain", "id": "lake_cabin_boathouse", "copy-from": "lake_cabin_boathouse", - "sym": "è" + "sym": "\u00E8" }, { "type": "overmap_terrain", "id": "lake_cabin_boathouse_roof", "copy-from": "lake_cabin_boathouse_roof", - "sym": "è" + "sym": "\u00E8" }, { "type": "overmap_terrain", "id": "cabin_strange", "copy-from": "cabin_strange", - "sym": "è" + "sym": "\u00E8" }, { "type": "overmap_terrain", "id": "cabin_strange_b", "copy-from": "cabin_strange_b", - "sym": "â", + "sym": "\u00E2", "color": "green" }, { "type": "overmap_terrain", "id": "cabin", "copy-from": "cabin", - "sym": "â", + "sym": "\u00E2", "color": "brown" }, { "type": "overmap_terrain", "id": "cabin", "name": "cabin", - "sym": "â", + "sym": "\u00E2", "color": "i_green" }, { "type": "overmap_terrain", "id": "cabin_roof", "name": "cabin roof", - "sym": "â", + "sym": "\u00E2", "color": "i_green" }, { "type": "overmap_terrain", "id": "cabin_1", "name": "cabin", - "sym": "â", + "sym": "\u00E2", "color": "i_green" }, { "type": "overmap_terrain", "id": "cabin_roof_1", "name": "cabin roof", - "sym": "â", + "sym": "\u00E2", "color": "i_green" }, { "type": "overmap_terrain", "id": "cabin_2", "name": "cabin", - "sym": "â", + "sym": "\u00E2", "color": "i_green" }, { "type": "overmap_terrain", "id": "cabin_roof_2", "name": "cabin roof", - "sym": "â", + "sym": "\u00E2", "color": "i_green" }, { "type": "overmap_terrain", "id": "cabin_3", "name": "cabin", - "sym": "â", + "sym": "\u00E2", "color": "i_green" }, { "type": "overmap_terrain", "id": "cabin_roof_3", "name": "cabin roof", - "sym": "â", + "sym": "\u00E2", "color": "i_green" }, { "type": "overmap_terrain", "id": "cabin_4", "name": "cabin", - "sym": "â", + "sym": "\u00E2", "color": "i_green" }, { "type": "overmap_terrain", "id": "cabin_roof_4", "name": "cabin roof", - "sym": "â", + "sym": "\u00E2", "color": "i_green" }, { "type": "overmap_terrain", "id": "cabin_5", "name": "cabin", - "sym": "â", + "sym": "\u00E2", "color": "i_green" }, { "type": "overmap_terrain", "id": "cabin_roof_5", "name": "cabin roof", - "sym": "â", + "sym": "\u00E2", "color": "i_green" }, { "type": "overmap_terrain", "id": "cabin_6", "name": "cabin", - "sym": "â", + "sym": "\u00E2", "color": "i_green" }, { "type": "overmap_terrain", "id": "cabin_roof_6", "name": "cabin roof", - "sym": "â", + "sym": "\u00E2", "color": "i_green" }, { "type": "overmap_terrain", "id": "cabin_7", "name": "cabin", - "sym": "â", + "sym": "\u00E2", "color": "i_green" }, { "type": "overmap_terrain", "id": "cabin_roof_7", "name": "cabin roof", - "sym": "â", + "sym": "\u00E2", "color": "i_green" }, { "type": "overmap_terrain", "id": "dirtroad1_aban1", "copy-from": "dirtroad1_aban1", - "sym": "è" + "sym": "\u00E8" }, { "type": "overmap_terrain", "id": "forest_aban1", "copy-from": "forest_aban1", - "sym": "è" + "sym": "\u00E8" }, { "type": "overmap_terrain", "id": "dirtroad2_aban1", "copy-from": "dirtroad2_aban1", - "sym": "è" + "sym": "\u00E8" }, { "type": "overmap_terrain", "id": "dirtplaza_aban1", "copy-from": "dirtplaza_aban1", - "sym": "è" + "sym": "\u00E8" }, { "type": "overmap_terrain", "id": "cabin_aban1", "copy-from": "cabin_aban1", - "sym": "â", + "sym": "\u00E2", "color": "green" }, { "type": "overmap_terrain", "id": "barn_aban1", "copy-from": "barn_aban1", - "sym": "é", + "sym": "\u00E9", "color": "green" }, { "type": "overmap_terrain", "id": "car_corner_aban1", "copy-from": "car_corner_aban1", - "sym": "æ", + "sym": "\u00E6", "color": "green" }, { "type": "overmap_terrain", "id": "shipwreck_river_1", "copy-from": "shipwreck_river_1", - "sym": "Ô", + "sym": "\u00D4", "color": "pink" }, { "type": "overmap_terrain", "id": "shipwreck_river_2", "copy-from": "shipwreck_river_2", - "sym": "Ô", + "sym": "\u00D4", "color": "pink" }, { "type": "overmap_terrain", "id": "shipwreck_river_3", "copy-from": "shipwreck_river_3", - "sym": "Ô", + "sym": "\u00D4", "color": "pink" }, { "type": "overmap_terrain", "id": "shipwreck_river_4", "copy-from": "shipwreck_river_4", - "sym": "Ô", + "sym": "\u00D4", "color": "pink" }, { "type": "overmap_terrain", "id": "radio_tower", "copy-from": "radio_tower", - "sym": "í", + "sym": "\u00ED", "color": "light_gray" }, { "type": "overmap_terrain", "id": "radio_tower_even", "copy-from": "radio_tower_even", - "sym": "í", + "sym": "\u00ED", "color": "light_gray" }, { "type": "overmap_terrain", "id": "radio_tower_odd", "copy-from": "radio_tower_odd", - "sym": "í", + "sym": "\u00ED", "color": "light_gray" }, { "type": "overmap_terrain", "id": "radio_tower_top", "copy-from": "radio_tower_top", - "sym": "í", + "sym": "\u00ED", "color": "light_gray" }, { "type": "overmap_terrain", "id": "radio_tower_1", "copy-from": "radio_tower_1", - "sym": "í", + "sym": "\u00ED", "color": "light_gray" }, { "type": "overmap_terrain", "id": "radio_tower_roof_1", "copy-from": "radio_tower_roof_1", - "sym": "í", + "sym": "\u00ED", "color": "light_gray" }, { "type": "overmap_terrain", "id": "bandit_cabin", "copy-from": "bandit_cabin", - "sym": "è", + "sym": "\u00E8", "color": "green" }, { "type": "overmap_terrain", "id": "bandit_camp_1", "copy-from": "bandit_camp_1", - "sym": "è", + "sym": "\u00E8", "color": "green" }, { "type": "overmap_terrain", "id": "bandit_camp_2", "copy-from": "bandit_camp_2", - "sym": "è", + "sym": "\u00E8", "color": "green" }, { "type": "overmap_terrain", "id": "bandit_camp_3", "copy-from": "bandit_camp_3", - "sym": "è", + "sym": "\u00E8", "color": "green" }, { "type": "overmap_terrain", "id": "bandit_camp_4", "copy-from": "bandit_camp_4", - "sym": "è", + "sym": "\u00E8", "color": "green" }, { "type": "overmap_terrain", "id": "looted_building", "copy-from": "looted_building", - "sym": "å", + "sym": "\u00E5", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "campsite", "copy-from": "campsite", - "sym": "Å", + "sym": "\u00C5", "color": "light_green" }, { "type": "overmap_terrain", "id": "campsite_a", "copy-from": "campsite_a", - "sym": "Å", + "sym": "\u00C5", "color": "light_green" }, { "type": "overmap_terrain", "id": "campsite_cabin_incomplete", "copy-from": "campsite_cabin_incomplete", - "sym": "â", + "sym": "\u00E2", "color": "brown" }, { "type": "overmap_terrain", "id": "campsite_field_biker", "copy-from": "campsite_field_biker", - "sym": "Å", + "sym": "\u00C5", "color": "light_green" }, { "type": "overmap_terrain", "id": "campsite_field_biker_destroyed", "copy-from": "campsite_field_biker_destroyed", - "sym": "Å", + "sym": "\u00C5", "color": "light_green" }, { "type": "overmap_terrain", "id": "pond_field", "copy-from": "pond_field", - "sym": "Ü", + "sym": "\u00DC", "color": "blue" }, { "type": "overmap_terrain", "id": "pond_forest", "copy-from": "pond_forest", - "sym": "Ü", + "sym": "\u00DC", "color": "blue" }, { "type": "overmap_terrain", "id": "pond_swamp", "copy-from": "pond_swamp", - "sym": "Ü", + "sym": "\u00DC", "color": "green" }, { "type": "overmap_terrain", "id": "hunter_shack", "copy-from": "hunter_shack", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "hunter_shack_roof", "copy-from": "hunter_shack_roof", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "hunter_shack_1", "copy-from": "hunter_shack_1", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "hunter_shack_roof_1", "copy-from": "hunter_shack_roof_1", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "campground_1a", "copy-from": "campground_1a", - "sym": "Å", + "sym": "\u00C5", "color": "light_green" }, { "type": "overmap_terrain", "id": "campground_1b", "copy-from": "campground_1b", - "sym": "Å", + "sym": "\u00C5", "color": "light_green" }, { "type": "overmap_terrain", "id": "campground_2a", "copy-from": "campground_2a", - "sym": "Å", + "sym": "\u00C5", "color": "light_green" }, { "type": "overmap_terrain", "id": "campground_2b", "copy-from": "campground_2b", - "sym": "Å", + "sym": "\u00C5", "color": "light_green" }, { "type": "overmap_terrain", "id": "campground_roof", "copy-from": "campground_roof", - "sym": "Å", + "sym": "\u00C5", "color": "light_green" }, { "type": "overmap_terrain", "id": "campground_1a_npc", "copy-from": "campground_1a_npc", - "sym": "Å", + "sym": "\u00C5", "color": "light_green" }, { "type": "overmap_terrain", "id": "campground_1b_npc", "copy-from": "campground_1b_npc", - "sym": "Å", + "sym": "\u00C5", "color": "light_green" }, { "type": "overmap_terrain", "id": "campground_2a_npc", "copy-from": "campground_2a_npc", - "sym": "Å", + "sym": "\u00C5", "color": "light_green" }, { "type": "overmap_terrain", "id": "campground_2b_npc", "copy-from": "campground_2b_npc", - "sym": "Å", + "sym": "\u00C5", "color": "light_green" }, { "type": "overmap_terrain", "id": "campground_roof_npc", "copy-from": "campground_roof_npc", - "sym": "Å", + "sym": "\u00C5", "color": "light_green" }, { "type": "overmap_terrain", "id": "desolatebarn", "copy-from": "desolatebarn", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "type": "overmap_terrain", "id": "bandit_garage_1", "copy-from": "bandit_garage_1", - "sym": "è", + "sym": "\u00E8", "color": "green" }, { "type": "overmap_terrain", "id": "bandit_garage_2", "copy-from": "bandit_garage_2", - "sym": "è", + "sym": "\u00E8", "color": "green" }, { "type": "overmap_terrain", "id": "mass_grave", "copy-from": "mass_grave", - "sym": "Ä", + "sym": "\u00C4", "color": "red" }, { "type": "overmap_terrain", "id": "ws_giant_sinkhole_1", "copy-from": "ws_giant_sinkhole_1", - "sym": "ü", + "sym": "\u00FC", "color": "brown" }, { "type": "overmap_terrain", "id": "ws_giant_sinkhole_2", "copy-from": "ws_giant_sinkhole_2", - "sym": "ü", + "sym": "\u00FC", "color": "brown" }, { "type": "overmap_terrain", "id": "parking_2x1_0", "copy-from": "parking_2x1_0", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { @@ -716,133 +716,133 @@ "type": "overmap_terrain", "id": "irradiator_1_1", "copy-from": "irradiator_1_1", - "sym": "Ö", + "sym": "\u00D6", "color": "light_green" }, { "type": "overmap_terrain", "id": "irradiator_1_2", "copy-from": "irradiator_1_2", - "sym": "Ö", + "sym": "\u00D6", "color": "light_green" }, { "type": "overmap_terrain", "id": "irradiator_1_3", "copy-from": "irradiator_1_3", - "sym": "Ö", + "sym": "\u00D6", "color": "light_green" }, { "type": "overmap_terrain", "id": "irradiator_1_4", "copy-from": "irradiator_1_4", - "sym": "Ö", + "sym": "\u00D6", "color": "light_green" }, { "type": "overmap_terrain", "id": "irradiator_1_5", "copy-from": "irradiator_1_5", - "sym": "Ö", + "sym": "\u00D6", "color": "light_green" }, { "type": "overmap_terrain", "id": "irradiator_1_6", "copy-from": "irradiator_1_6", - "sym": "Ö", + "sym": "\u00D6", "color": "light_green" }, { "type": "overmap_terrain", "id": "irradiator_1_7", "copy-from": "irradiator_1_7", - "sym": "Ö", + "sym": "\u00D6", "color": "light_green" }, { "type": "overmap_terrain", "id": "irradiator_1_8", "copy-from": "irradiator_1_8", - "sym": "Ö", + "sym": "\u00D6", "color": "light_green" }, { "type": "overmap_terrain", "id": "irradiator_1_9", "copy-from": "irradiator_1_9", - "sym": "Ö", + "sym": "\u00D6", "color": "light_green" }, { "type": "overmap_terrain", "id": "irradiator_1_1_roof", "copy-from": "irradiator_1_1_roof", - "sym": "Ö", + "sym": "\u00D6", "color": "light_green" }, { "type": "overmap_terrain", "id": "irradiator_1_2_roof", "copy-from": "irradiator_1_2_roof", - "sym": "Ö", + "sym": "\u00D6", "color": "light_green" }, { "type": "overmap_terrain", "id": "irradiator_1_3_roof", "copy-from": "irradiator_1_3_roof", - "sym": "Ö", + "sym": "\u00D6", "color": "light_green" }, { "type": "overmap_terrain", "id": "irradiator_1_4_roof", "copy-from": "irradiator_1_4_roof", - "sym": "Ö", + "sym": "\u00D6", "color": "light_green" }, { "type": "overmap_terrain", "id": "irradiator_1_5_roof", "copy-from": "irradiator_1_5_roof", - "sym": "Ö", + "sym": "\u00D6", "color": "light_green" }, { "type": "overmap_terrain", "id": "irradiator_1_6_roof", "copy-from": "irradiator_1_6_roof", - "sym": "Ö", + "sym": "\u00D6", "color": "light_green" }, { "type": "overmap_terrain", "id": "irradiator_1_7_roof", "copy-from": "irradiator_1_7_roof", - "sym": "Ö", + "sym": "\u00D6", "color": "light_green" }, { "type": "overmap_terrain", "id": "irradiator_1_8_roof", "copy-from": "irradiator_1_8_roof", - "sym": "Ö", + "sym": "\u00D6", "color": "light_green" }, { "type": "overmap_terrain", "id": "irradiator_1_9_roof", "copy-from": "irradiator_1_9_roof", - "sym": "Ö", + "sym": "\u00D6", "color": "light_green" }, { "type": "overmap_terrain", "id": "airliner_1a", "copy-from": "airliner_1a", - "sym": "¨" + "sym": "\u00A8" }, { "type": "overmap_terrain", @@ -863,7 +863,7 @@ "type": "overmap_terrain", "id": "airliner_2b", "copy-from": "airliner_2b", - "sym": "ü", + "sym": "\u00FC", "color": "light_blue" }, { @@ -880,7 +880,7 @@ "type": "overmap_terrain", "id": "airliner_2c", "copy-from": "airliner_2c", - "sym": "ü", + "sym": "\u00FC", "color": "dark_gray" }, { @@ -997,7 +997,7 @@ "type": "overmap_terrain", "id": "airliner_2a_1", "copy-from": "airliner_2a_1", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", @@ -1018,146 +1018,146 @@ "type": "overmap_terrain", "id": "airliner_2c_-1", "copy-from": "airliner_2c_-1", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "cground_1", "copy-from": "cground_1", - "sym": "Å", + "sym": "\u00C5", "color": "green" }, { "type": "overmap_terrain", "id": "cground_2", "copy-from": "cground_2", - "sym": "Å", + "sym": "\u00C5", "color": "green" }, { "type": "overmap_terrain", "id": "cground_3", "copy-from": "cground_3", - "sym": "Å", + "sym": "\u00C5", "color": "green" }, { "type": "overmap_terrain", "id": "cground_4", "copy-from": "cground_4", - "sym": "Å", + "sym": "\u00C5", "color": "green" }, { "type": "overmap_terrain", "id": "cground_5", "copy-from": "cground_5", - "sym": "Å", + "sym": "\u00C5", "color": "green" }, { "type": "overmap_terrain", "id": "cground_6", "copy-from": "cground_6", - "sym": "Å", + "sym": "\u00C5", "color": "green" }, { "type": "overmap_terrain", "id": "cground_7", "copy-from": "cground_7", - "sym": "Å", + "sym": "\u00C5", "color": "green" }, { "type": "overmap_terrain", "id": "cground_8", "copy-from": "cground_8", - "sym": "Å", + "sym": "\u00C5", "color": "green" }, { "type": "overmap_terrain", "id": "cground_9", "copy-from": "cground_9", - "sym": "Å", + "sym": "\u00C5", "color": "green" }, { "type": "overmap_terrain", "id": "cground_1_1", "copy-from": "cground_1_1", - "sym": "Å", + "sym": "\u00C5", "color": "green" }, { "type": "overmap_terrain", "id": "cground_2_1", "copy-from": "cground_2_1", - "sym": "Å", + "sym": "\u00C5", "color": "green" }, { "type": "overmap_terrain", "id": "cground_3_1", "copy-from": "cground_3_1", - "sym": "Å", + "sym": "\u00C5", "color": "green" }, { "type": "overmap_terrain", "id": "cground_4_1", "copy-from": "cground_4_1", - "sym": "Å", + "sym": "\u00C5", "color": "green" }, { "type": "overmap_terrain", "id": "cground_5_1", "copy-from": "cground_5_1", - "sym": "Å", + "sym": "\u00C5", "color": "green" }, { "type": "overmap_terrain", "id": "cground_6_1", "copy-from": "cground_6_1", - "sym": "Å", + "sym": "\u00C5", "color": "green" }, { "type": "overmap_terrain", "id": "cground_7_1", "copy-from": "cground_7_1", - "sym": "Å", + "sym": "\u00C5", "color": "green" }, { "type": "overmap_terrain", "id": "cground_8_1", "copy-from": "cground_8_1", - "sym": "Å", + "sym": "\u00C5", "color": "green" }, { "type": "overmap_terrain", "id": "cground_9_1", "copy-from": "cground_9_1", - "sym": "Å", + "sym": "\u00C5", "color": "green" }, { "type": "overmap_terrain", "id": "cground_1_2", "copy-from": "cground_1_2", - "sym": "Å", + "sym": "\u00C5", "color": "green" }, { "type": "overmap_terrain", "id": "cground_2_2", "copy-from": "cground_2_2", - "sym": "Å", + "sym": "\u00C5", "color": "green" }, { @@ -1165,49 +1165,49 @@ "type": "overmap_terrain", "id": "sugar_house", "copy-from": "sugar_house", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "type": "overmap_terrain", "id": "sugar_house_roof", "copy-from": "sugar_house_roof", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "type": "overmap_terrain", "id": "farm_1", "copy-from": "farm_1", - "sym": "©", + "sym": "\u00A9", "color": "brown" }, { "type": "overmap_terrain", "id": "farm_2", "copy-from": "farm_2", - "sym": "â", + "sym": "\u00E2", "color": "brown" }, { "type": "overmap_terrain", "id": "farm_2_roof", "copy-from": "farm_2_roof", - "sym": "â", + "sym": "\u00E2", "color": "brown" }, { "type": "overmap_terrain", "id": "farm_3", "copy-from": "farm_3", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "type": "overmap_terrain", "id": "farm_3_roof", "copy-from": "farm_3_roof", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { @@ -1294,14 +1294,14 @@ "type": "overmap_terrain", "id": "2farm_11", "copy-from": "2farm_1", - "sym": "â", + "sym": "\u00E2", "color": "brown" }, { "type": "overmap_terrain", "id": "2farm_roof_11", "copy-from": "2farm_roof_11", - "sym": "â", + "sym": "\u00E2", "color": "brown" }, { @@ -1343,14 +1343,14 @@ "type": "overmap_terrain", "id": "farm_stills_3", "copy-from": "farm_stills_3", - "sym": "â", + "sym": "\u00E2", "color": "brown" }, { "type": "overmap_terrain", "id": "farm_stills_4", "copy-from": "farm_stills_4", - "sym": "©", + "sym": "\u00A9", "color": "brown" }, { @@ -1367,7 +1367,7 @@ "type": "overmap_terrain", "id": "farm_stills_7", "copy-from": "farm_stills_7", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { @@ -1389,7 +1389,7 @@ "type": "overmap_terrain", "id": "farm_stills_11", "copy-from": "farm_stills_11", - "sym": "è", + "sym": "\u00E8", "color": "brown" }, { @@ -1401,178 +1401,178 @@ "type": "overmap_terrain", "id": "orchard_tree_apple", "copy-from": "orchard_tree_apple", - "sym": "õ", + "sym": "\u00F5", "color": "red" }, { "type": "overmap_terrain", "id": "orchard_processing", "copy-from": "orchard_processing", - "sym": "Ö", + "sym": "\u00D6", "color": "light_green" }, { "type": "overmap_terrain", "id": "orchard_stall", "copy-from": "orchard_stall", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "id": "dairy_farm_NW", "copy-from": "dairy_farm_NW", "type": "overmap_terrain", - "sym": "©", + "sym": "\u00A9", "color": "green" }, { "id": "dairy_farm_NE", "copy-from": "dairy_farm_NE", "type": "overmap_terrain", - "sym": "©", + "sym": "\u00A9", "color": "green" }, { "id": "dairy_farm_SE", "copy-from": "dairy_farm_SE", "type": "overmap_terrain", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "id": "dairy_farm_SE_roof", "copy-from": "dairy_farm_SE_roof", "type": "overmap_terrain", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "id": "dairy_farm_SW", "copy-from": "dairy_farm_SW", "type": "overmap_terrain", - "sym": "â", + "sym": "\u00E2", "color": "brown" }, { "id": "dairy_farm_SW_roof", "copy-from": "dairy_farm_SW_roof", "type": "overmap_terrain", - "sym": "â", + "sym": "\u00E2", "color": "brown" }, { "id": "dairy_farm_isherwood_W", "copy-from": "dairy_farm_isherwood_W", "type": "overmap_terrain", - "sym": "©", + "sym": "\u00A9", "color": "green" }, { "id": "dairy_farm_isherwood_E", "copy-from": "dairy_farm_isherwood_E", "type": "overmap_terrain", - "sym": "©", + "sym": "\u00A9", "color": "green" }, { "id": "dairy_farm_isherwood_SE", "copy-from": "dairy_farm_isherwood_SE", "type": "overmap_terrain", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "id": "dairy_farm_isherwood_SE_roof", "copy-from": "dairy_farm_isherwood_SE_roof", "type": "overmap_terrain", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "id": "dairy_farm_isherwood_SW", "copy-from": "dairy_farm_isherwood_SW", "type": "overmap_terrain", - "sym": "â", + "sym": "\u00E2", "color": "brown" }, { "id": "dairy_farm_isherwood_SW_roof", "copy-from": "dairy_farm_isherwood_SW_roof", "type": "overmap_terrain", - "sym": "â", + "sym": "\u00E2", "color": "brown" }, { "type": "overmap_terrain", "id": "smokehouse", "copy-from": "smokehouse", - "sym": "é" + "sym": "\u00E9" }, { "id": "smokehouse_roof", "type": "overmap_terrain", "copy-from": "smokehouse_roof", - "sym": "é" + "sym": "\u00E9" }, { "id": "rural_outbuilding", "type": "overmap_terrain", "copy-from": "rural_outbuilding", - "sym": "æ" + "sym": "\u00E6" }, { "id": "rural_outbuilding_roof", "type": "overmap_terrain", "copy-from": "rural_outbuilding_roof", - "sym": "æ" + "sym": "\u00E6" }, { "type": "overmap_terrain", "id": "farm_isherwood_1", "copy-from": "farm_isherwood_1", - "sym": "©", + "sym": "\u00A9", "color": "brown" }, { "type": "overmap_terrain", "id": "farm_isherwood_2", "copy-from": "farm_isherwood_2", - "sym": "â", + "sym": "\u00E2", "color": "brown" }, { "type": "overmap_terrain", "id": "farm_isherwood_2_cellar", "copy-from": "farm_isherwood_2_cellar", - "sym": "â", + "sym": "\u00E2", "color": "brown" }, { "type": "overmap_terrain", "id": "farm_isherwood_2_roof", "copy-from": "farm_isherwood_2_roof", - "sym": "â", + "sym": "\u00E2", "color": "brown" }, { "type": "overmap_terrain", "id": "farm_isherwood_3", "copy-from": "farm_isherwood_3", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "type": "overmap_terrain", "id": "farm_isherwood_3_hayloft", "copy-from": "farm_isherwood_3_hayloft", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "type": "overmap_terrain", "id": "farm_isherwood_3_roof", "copy-from": "farm_isherwood_3_roof", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { @@ -1609,7 +1609,7 @@ "type": "overmap_terrain", "id": "horse_farm_isherwood_1", "copy-from": "horse_farm_isherwood_1", - "sym": "©", + "sym": "\u00A9", "color": "green" }, { @@ -1626,14 +1626,14 @@ "type": "overmap_terrain", "id": "horse_farm_isherwood_4", "copy-from": "horse_farm_isherwood_4", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "type": "overmap_terrain", "id": "horse_farm_isherwood_4_roof", "copy-from": "horse_farm_isherwood_4_roof", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { @@ -1650,21 +1650,21 @@ "type": "overmap_terrain", "id": "horse_farm_isherwood_7", "copy-from": "horse_farm_isherwood_7", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "type": "overmap_terrain", "id": "horse_farm_isherwood_7_hayloft", "copy-from": "horse_farm_isherwood_7_hayloft", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "type": "overmap_terrain", "id": "horse_farm_isherwood_7_roof", "copy-from": "horse_farm_isherwood_7_roof", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { @@ -1676,28 +1676,28 @@ "type": "overmap_terrain", "id": "horse_farm_isherwood_9", "copy-from": "horse_farm_isherwood_9", - "sym": "é", + "sym": "\u00E9", "color": "green" }, { "type": "overmap_terrain", "id": "horse_farm_isherwood_9_roof", "copy-from": "horse_farm_isherwood_9_roof", - "sym": "é", + "sym": "\u00E9", "color": "green" }, { "type": "overmap_terrain", "id": "horse_farm_isherwood_10", "copy-from": "horse_farm_isherwood_10", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "type": "overmap_terrain", "id": "horse_farm_isherwood_10_roof", "copy-from": "horse_farm_isherwood_10_roof", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { @@ -1714,21 +1714,21 @@ "type": "overmap_terrain", "id": "horse_farm_isherwood_13", "copy-from": "horse_farm_isherwood_13", - "sym": "â", + "sym": "\u00E2", "color": "brown" }, { "type": "overmap_terrain", "id": "horse_farm_isherwood_13_2ndfloor", "copy-from": "horse_farm_isherwood_13_2ndfloor", - "sym": "â", + "sym": "\u00E2", "color": "brown" }, { "type": "overmap_terrain", "id": "horse_farm_isherwood_13_roof", "copy-from": "horse_farm_isherwood_13_roof", - "sym": "â", + "sym": "\u00E2", "color": "brown" }, { @@ -1750,70 +1750,70 @@ "id": "cemetery_small", "copy-from": "cemetery_small", "type": "overmap_terrain", - "sym": "Ä", + "sym": "\u00C4", "color": "light_gray" }, { "id": "orchard", "copy-from": "orchard", "type": "overmap_terrain", - "sym": "è", + "sym": "\u00E8", "color": "light_green" }, { "type": "overmap_terrain", "id": "moonshine_still", "copy-from": "moonshine_still", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "type": "overmap_terrain", "id": "moonshine_still_roof", "copy-from": "moonshine_still_roof", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "type": "overmap_terrain", "id": "moonshine_still_1", "copy-from": "moonshine_still_1", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "type": "overmap_terrain", "id": "moonshine_still_roof_1", "copy-from": "moonshine_still_roof_1", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "type": "overmap_terrain", "id": "moonshine_still_2", "copy-from": "moonshine_still_2", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "type": "overmap_terrain", "id": "moonshine_still_roof_2", "copy-from": "moonshine_still_roof_2", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "type": "overmap_terrain", "id": "TreeFarm_1b", "copy-from": "TreeFarm_1b", - "sym": "õ", + "sym": "\u00F5", "color": "light_green" }, { "type": "overmap_terrain", "id": "horse_farm_1", "copy-from": "horse_farm_1", - "sym": "©", + "sym": "\u00A9", "color": "green" }, { @@ -1830,14 +1830,14 @@ "type": "overmap_terrain", "id": "horse_farm_4", "copy-from": "horse_farm_4", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "type": "overmap_terrain", "id": "horse_farm_4_roof", "copy-from": "horse_farm_4_roof", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { @@ -1854,21 +1854,21 @@ "type": "overmap_terrain", "id": "horse_farm_7", "copy-from": "horse_farm_7", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "type": "overmap_terrain", "id": "horse_farm_7_hayloft", "copy-from": "horse_farm_7_hayloft", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "type": "overmap_terrain", "id": "horse_farm_7_roof", "copy-from": "horse_farm_7_roof", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { @@ -1880,28 +1880,28 @@ "type": "overmap_terrain", "id": "horse_farm_9", "copy-from": "horse_farm_9", - "sym": "é", + "sym": "\u00E9", "color": "green" }, { "type": "overmap_terrain", "id": "horse_farm_9_roof", "copy-from": "horse_farm_9_roof", - "sym": "é", + "sym": "\u00E9", "color": "green" }, { "type": "overmap_terrain", "id": "horse_farm_10", "copy-from": "horse_farm_10", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "type": "overmap_terrain", "id": "horse_farm_10_roof", "copy-from": "horse_farm_10_roof", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { @@ -1933,21 +1933,21 @@ "type": "overmap_terrain", "id": "horse_farm_13", "copy-from": "horse_farm_13", - "sym": "â", + "sym": "\u00E2", "color": "brown" }, { "type": "overmap_terrain", "id": "horse_farm_13_2ndfloor", "copy-from": "horse_farm_13_2ndfloor", - "sym": "â", + "sym": "\u00E2", "color": "brown" }, { "type": "overmap_terrain", "id": "horse_farm_13_roof", "copy-from": "horse_farm_13_roof", - "sym": "â", + "sym": "\u00E2", "color": "brown" }, { @@ -2009,51 +2009,51 @@ "type": "overmap_terrain", "id": "2silos", "copy-from": "2silos", - "sym": "ö" + "sym": "\u00F6" }, { "type": "overmap_terrain", "id": "2silos_1", "copy-from": "2silos_1", - "sym": "ö" + "sym": "\u00F6" }, { "type": "overmap_terrain", "id": "2silos_2", "copy-from": "2silos_2", - "sym": "ö" + "sym": "\u00F6" }, { "type": "overmap_terrain", "id": "2silos_roof", "copy-from": "2silos_roof", - "sym": "ö" + "sym": "\u00F6" }, { "type": "overmap_terrain", "id": "coop_chicken", "copy-from": "coop_chicken", - "sym": "é" + "sym": "\u00E9" }, { "type": "overmap_terrain", "id": "yard", "copy-from": "yard", - "sym": "©", + "sym": "\u00A9", "color": "green" }, { "type": "overmap_terrain", "id": "house_farm", "copy-from": "house_farm", - "sym": "â", + "sym": "\u00E2", "color": "brown" }, { "type": "overmap_terrain", "id": "house_farm_roof", "copy-from": "house_farm_roof", - "sym": "â", + "sym": "\u00E2", "color": "brown" }, { @@ -2061,461 +2061,461 @@ "type": "overmap_terrain", "id": "faction_base_camp_0", "copy-from": "faction_base_camp_0", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "faction_base_camp_new_0", "copy-from": "faction_base_camp_new_0", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "faction_base_camp_1", "copy-from": "faction_base_camp_1", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "faction_base_camp_2", "copy-from": "faction_base_camp_2", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "faction_base_camp_3", "copy-from": "faction_base_camp_3", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "faction_base_camp_4", "copy-from": "faction_base_camp_4", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "faction_base_camp_5", "copy-from": "faction_base_camp_5", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "faction_base_camp_6", "copy-from": "faction_base_camp_6", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "faction_base_camp_7", "copy-from": "faction_base_camp_7", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "faction_base_camp_8", "copy-from": "faction_base_camp_8", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "faction_base_camp_9", "copy-from": "faction_base_camp_9", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "faction_base_camp_10", "copy-from": "faction_base_camp_10", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "faction_base_camp_11", "copy-from": "faction_base_camp_11", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "faction_base_camp_12", "copy-from": "faction_base_camp_12", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "faction_base_camp_13", "copy-from": "faction_base_camp_13", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "faction_base_camp_14", "copy-from": "faction_base_camp_14", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "faction_base_camp_15", "copy-from": "faction_base_camp_15", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "faction_base_camp_16", "copy-from": "faction_base_camp_16", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "faction_base_camp_17", "copy-from": "faction_base_camp_17", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "faction_base_camp_18", "copy-from": "faction_base_camp_18", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "faction_base_camp_19", "copy-from": "faction_base_camp_19", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "faction_base_camp_20", "copy-from": "faction_base_camp_20", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "faction_base_farm_0", "copy-from": "faction_base_farm_0", - "sym": "©", + "sym": "\u00A9", "color": "brown" }, { "type": "overmap_terrain", "id": "faction_base_farm_1", "copy-from": "faction_base_farm_1", - "sym": "©", + "sym": "\u00A9", "color": "brown" }, { "type": "overmap_terrain", "id": "faction_base_farm_2", "copy-from": "faction_base_farm_2", - "sym": "©", + "sym": "\u00A9", "color": "brown" }, { "type": "overmap_terrain", "id": "faction_base_farm_3", "copy-from": "faction_base_farm_3", - "sym": "©", + "sym": "\u00A9", "color": "brown" }, { "type": "overmap_terrain", "id": "faction_base_farm_4", "copy-from": "faction_base_farm_4", - "sym": "©", + "sym": "\u00A9", "color": "brown" }, { "type": "overmap_terrain", "id": "faction_base_garage_0", "copy-from": "faction_base_garage_0", - "sym": "æ", + "sym": "\u00E6", "color": "light_gray" }, { "type": "overmap_terrain", "id": "faction_base_garage_1", "copy-from": "faction_base_garage_1", - "sym": "æ", + "sym": "\u00E6", "color": "light_gray" }, { "type": "overmap_terrain", "id": "faction_base_garage_2", "copy-from": "faction_base_garage_2", - "sym": "æ", + "sym": "\u00E6", "color": "light_gray" }, { "type": "overmap_terrain", "id": "faction_base_garage_3", "copy-from": "faction_base_garage_3", - "sym": "æ", + "sym": "\u00E6", "color": "light_gray" }, { "type": "overmap_terrain", "id": "faction_base_garage_4", "copy-from": "faction_base_garage_4", - "sym": "æ", + "sym": "\u00E6", "color": "light_gray" }, { "type": "overmap_terrain", "id": "faction_base_garage_5", "copy-from": "faction_base_garage_5", - "sym": "æ", + "sym": "\u00E6", "color": "light_gray" }, { "type": "overmap_terrain", "id": "faction_base_garage_6", "copy-from": "faction_base_garage_6", - "sym": "æ", + "sym": "\u00E6", "color": "light_gray" }, { "type": "overmap_terrain", "id": "faction_base_kitchen_0", "copy-from": "faction_base_kitchen_0", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "faction_base_kitchen_1", "copy-from": "faction_base_kitchen_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "faction_base_kitchen_2", "copy-from": "faction_base_kitchen_2", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "faction_base_kitchen_3", "copy-from": "faction_base_kitchen_3", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "faction_base_kitchen_4", "copy-from": "faction_base_kitchen_4", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "faction_base_kitchen_5", "copy-from": "faction_base_kitchen_5", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "faction_base_kitchen_6", "copy-from": "faction_base_kitchen_6", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "faction_base_kitchen_7", "copy-from": "faction_base_kitchen_7", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "faction_base_kitchen_8", "copy-from": "faction_base_kitchen_8", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "faction_hide_site_0", "copy-from": "faction_hide_site_0", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "faction_wall_level_N_0", "copy-from": "faction_wall_level_N_0", - "sym": "Ü" + "sym": "\u00DC" }, { "type": "overmap_terrain", "id": "faction_wall_level_E_0", "copy-from": "faction_wall_level_E_0", - "sym": "Ü" + "sym": "\u00DC" }, { "type": "overmap_terrain", "id": "faction_wall_level_S_0", "copy-from": "faction_wall_level_S_0", - "sym": "Ü" + "sym": "\u00DC" }, { "type": "overmap_terrain", "id": "faction_wall_level_W_0", "copy-from": "faction_wall_level_W_0", - "sym": "Ü" + "sym": "\u00DC" }, { "type": "overmap_terrain", "id": "faction_wall_level_N_1", "copy-from": "faction_wall_level_N_1", - "sym": "Ü", + "sym": "\u00DC", "color": "red" }, { "type": "overmap_terrain", "id": "faction_wall_level_E_1", "copy-from": "faction_wall_level_E_1", - "sym": "Ü", + "sym": "\u00DC", "color": "red" }, { "type": "overmap_terrain", "id": "faction_wall_level_S_1", "copy-from": "faction_wall_level_S_1", - "sym": "Ü", + "sym": "\u00DC", "color": "red" }, { "type": "overmap_terrain", "id": "faction_wall_level_W_1", "copy-from": "faction_wall_level_W_1", - "sym": "Ü", + "sym": "\u00DC", "color": "red" }, { "type": "overmap_terrain", "id": "faction_base_workshop_0", "copy-from": "faction_base_workshop_0", - "sym": "æ" + "sym": "\u00E6" }, { "type": "overmap_terrain", "id": "faction_base_blacksmith_0", "copy-from": "faction_base_blacksmith_0", - "sym": "ç", + "sym": "\u00E7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "faction_base_blacksmith_1", "copy-from": "faction_base_blacksmith_1", - "sym": "ç", + "sym": "\u00E7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "faction_base_blacksmith_2", "copy-from": "faction_base_blacksmith_2", - "sym": "ç", + "sym": "\u00E7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "faction_base_blacksmith_3", "copy-from": "faction_base_blacksmith_3", - "sym": "ç", + "sym": "\u00E7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "faction_base_blacksmith_4", "copy-from": "faction_base_blacksmith_4", - "sym": "ç", + "sym": "\u00E7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "faction_base_blacksmith_5", "copy-from": "faction_base_blacksmith_5", - "sym": "ç", + "sym": "\u00E7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "faction_base_blacksmith_6", "copy-from": "faction_base_blacksmith_6", - "sym": "ç", + "sym": "\u00E7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "faction_base_blacksmith_7", "copy-from": "faction_base_blacksmith_7", - "sym": "ç", + "sym": "\u00E7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "faction_base_blacksmith_8", "copy-from": "faction_base_blacksmith_8", - "sym": "ç", + "sym": "\u00E7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "faction_base_blacksmith_9", "copy-from": "faction_base_blacksmith_9", - "sym": "ç", + "sym": "\u00E7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "faction_base_blacksmith_10", "copy-from": "faction_base_blacksmith_10", - "sym": "ç", + "sym": "\u00E7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "faction_base_blacksmith_11", "copy-from": "faction_base_blacksmith_11", - "sym": "ç", + "sym": "\u00E7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "faction_base_blacksmith_12", "copy-from": "faction_base_blacksmith_12", - "sym": "ç", + "sym": "\u00E7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "faction_base_livestock_0", "copy-from": "faction_base_livestock_0", - "sym": "é", + "sym": "\u00E9", "color": "pink" }, { "type": "overmap_terrain", "id": "faction_base_storehouse_0", "copy-from": "faction_base_storehouse_0", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "faction_base_saltworks_0", "copy-from": "faction_base_saltworks_0", - "sym": "Ö", + "sym": "\u00D6", "color": "white" }, { "type": "overmap_terrain", "id": "faction_base_canteen_0", "copy-from": "faction_base_canteen_0", - "sym": "ç", + "sym": "\u00E7", "color": "green" }, { @@ -2523,230 +2523,230 @@ "type": "overmap_terrain", "id": "open_air", "copy-from": "open_air", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "crater", "copy-from": "crater", - "sym": "ü", + "sym": "\u00FC", "color": "red" }, { "type": "overmap_terrain", "id": "field", "copy-from": "field", - "sym": "¨", + "sym": "\u00A8", "color": "brown" }, { "type": "overmap_terrain", "id": "forest", "copy-from": "forest", - "sym": "è", + "sym": "\u00E8", "color": "green" }, { "type": "overmap_terrain", "id": "forest_thick", "copy-from": "forest_thick", - "sym": "õ", + "sym": "\u00F5", "color": "green" }, { "type": "overmap_terrain", "id": "forest_water", "copy-from": "forest_water", - "sym": "ì", + "sym": "\u00EC", "color": "cyan" }, { "type": "overmap_terrain", "id": "s_lot", "copy-from": "s_lot", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "temple", "copy-from": "temple", - "sym": "þ", + "sym": "\u00FE", "color": "magenta" }, { "type": "overmap_terrain", "id": "standing_stones", "copy-from": "standing_stones", - "sym": "è", + "sym": "\u00E8", "color": "green" }, { "type": "overmap_terrain", "id": "temple_stairs", "copy-from": "temple_stairs", - "sym": "þ", + "sym": "\u00FE", "color": "magenta" }, { "type": "overmap_terrain", "id": "temple_finale", "copy-from": "temple_finale", - "sym": "þ", + "sym": "\u00FE", "color": "magenta" }, { "type": "overmap_terrain", "id": "mine_entrance", "copy-from": "mine_entrance", - "sym": "Ó" + "sym": "\u00D3" }, { "type": "overmap_terrain", "id": "mine_shaft", "copy-from": "mine_shaft", - "sym": "Ó" + "sym": "\u00D3" }, { "type": "overmap_terrain", "id": "mine", "copy-from": "mine", - "sym": "Ó" + "sym": "\u00D3" }, { "type": "overmap_terrain", "id": "mine_down", "copy-from": "mine_down", - "sym": "Ó" + "sym": "\u00D3" }, { "type": "overmap_terrain", "id": "mine_finale", "copy-from": "mine_finale", - "sym": "Ó" + "sym": "\u00D3" }, { "type": "overmap_terrain", "id": "spiral_hub", "copy-from": "spiral_hub", - "sym": "ê", + "sym": "\u00EA", "color": "pink" }, { "type": "overmap_terrain", "id": "spiral", "copy-from": "spiral", - "sym": "ê", + "sym": "\u00EA", "color": "pink" }, { "type": "overmap_terrain", "id": "cave", "copy-from": "cave", - "sym": "ê", + "sym": "\u00EA", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "cave_rat", "copy-from": "cave_rat", - "sym": "ê", + "sym": "\u00EA", "color": "brown" }, { "type": "overmap_terrain", "id": "hive", "copy-from": "hive", - "sym": "ó", + "sym": "\u00F3", "color": "yellow" }, { "type": "overmap_terrain", "id": "fungal_bloom", "copy-from": "fungal_bloom", - "sym": "ð", + "sym": "\u00F0", "color": "pink" }, { "type": "overmap_terrain", "id": "fungal_tower", "copy-from": "fungal_tower", - "sym": "ð", + "sym": "\u00F0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "fungal_flowers", "copy-from": "fungal_flowers", - "sym": "ð", + "sym": "\u00F0", "color": "magenta" }, { "type": "overmap_terrain", "id": "spider_pit", "copy-from": "spider_pit", - "sym": "è", + "sym": "\u00E8", "color": "green" }, { "type": "overmap_terrain", "id": "spider_pit_under", "copy-from": "spider_pit_under", - "sym": "ê" + "sym": "\u00EA" }, { "type": "overmap_terrain", "id": "anthill", "copy-from": "anthill", - "sym": "ó" + "sym": "\u00F3" }, { "type": "overmap_terrain", "id": "acid_anthill", "copy-from": "acid_anthill", - "sym": "ó", + "sym": "\u00F3", "color": "light_red" }, { "type": "overmap_terrain", "id": "slimepit", "copy-from": "slimepit", - "sym": "Ü", + "sym": "\u00DC", "color": "light_green" }, { "type": "overmap_terrain", "id": "slimepit_down", "copy-from": "slimepit_down", - "sym": "Ü", + "sym": "\u00DC", "color": "light_green" }, { "type": "overmap_terrain", "id": "triffid_grove", "copy-from": "triffid_grove", - "sym": "õ", + "sym": "\u00F5", "color": "pink" }, { "type": "overmap_terrain", "id": "triffid_roots", "copy-from": "triffid_roots", - "sym": "õ", + "sym": "\u00F5", "color": "magenta" }, { "type": "overmap_terrain", "id": "triffid_finale", "copy-from": "triffid_finale", - "sym": "õ", + "sym": "\u00F5", "color": "red" }, { "type": "overmap_terrain", "id": "cavern", "copy-from": "cavern", - "sym": "ê", + "sym": "\u00EA", "color": "dark_gray" }, { @@ -2754,955 +2754,955 @@ "id": "rock", "copy-from": "rock", "//": "This is old rock type, new one (below) will replace it in new overmaps", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "empty_rock", "copy-from": "empty_rock", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "rift", "copy-from": "rift", - "sym": "Ü" + "sym": "\u00DC" }, { "type": "overmap_terrain", "id": "hellmouth", "copy-from": "hellmouth", - "sym": "Ü" + "sym": "\u00DC" }, { "type": "overmap_terrain", "id": "ants", "copy-from": "ants", - "sym": "Ü" + "sym": "\u00DC" }, { "type": "overmap_terrain", "id": "ants_food", "copy-from": "ants_food", - "sym": "ó" + "sym": "\u00F3" }, { "type": "overmap_terrain", "id": "ants_larvae", "copy-from": "ants_larvae", - "sym": "ó" + "sym": "\u00F3" }, { "type": "overmap_terrain", "id": "ants_queen", "copy-from": "ants_queen", - "sym": "ó" + "sym": "\u00F3" }, { "type": "overmap_terrain", "id": "tutorial", "copy-from": "tutorial", - "sym": "×" + "sym": "\u00D7" }, { "//": "OVERMAP_TERRAIN_INDUSTRIAL.JSON", "type": "overmap_terrain", "id": "public_works_NE", "copy-from": "public_works_NE", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "public_works_NE_roof", "copy-from": "public_works_NE_roof", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "public_works_NW", "copy-from": "public_works_NW", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "public_works_NW_roof", "copy-from": "public_works_NW_roof", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "public_works_SW", "copy-from": "public_works_SW", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "public_works_SW_roof", "copy-from": "public_works_SW_roof", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "public_works_SE", "copy-from": "public_works_SE", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "public_works_SE_roof", "copy-from": "public_works_SE_roof", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "sai", "copy-from": "sai", - "sym": "æ", + "sym": "\u00E6", "color": "light_cyan" }, { "type": "overmap_terrain", "id": "pwr_sub_s", "copy-from": "pwr_sub_s", - "sym": "æ" + "sym": "\u00E6" }, { "type": "overmap_terrain", "id": "pwr_sub_s_roof", "copy-from": "pwr_sub_s_roof", - "sym": "æ" + "sym": "\u00E6" }, { "type": "overmap_terrain", "id": "pwr_large_entrance", "copy-from": "pwr_large_entrance", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "pwr_large_entrance_roof", "copy-from": "pwr_large_entrance_roof", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "pwr_large_2", "copy-from": "pwr_large_2", - "sym": "ö" + "sym": "\u00F6" }, { "type": "overmap_terrain", "id": "pwr_large_2_roof", "copy-from": "pwr_large_2_roof", - "sym": "ö" + "sym": "\u00F6" }, { "type": "overmap_terrain", "id": "pwr_large_3", "copy-from": "pwr_large_3", - "sym": "ö" + "sym": "\u00F6" }, { "type": "overmap_terrain", "id": "pwr_large_4", "copy-from": "pwr_large_4", - "sym": "ö" + "sym": "\u00F6" }, { "type": "overmap_terrain", "id": "warehouse", "copy-from": "warehouse", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "warehouse_roof", "copy-from": "warehouse_roof", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "small_storage_units", "copy-from": "small_storage_units", - "sym": "æ", + "sym": "\u00E6", "color": "yellow" }, { "type": "overmap_terrain", "id": "small_storage_units_roof", "copy-from": "small_storage_units_roof", - "sym": "æ", + "sym": "\u00E6", "color": "yellow" }, { "type": "overmap_terrain", "id": "small_storage_units_1", "copy-from": "small_storage_units_1", - "sym": "æ", + "sym": "\u00E6", "color": "yellow" }, { "type": "overmap_terrain", "id": "small_storage_units_roof_1", "copy-from": "small_storage_units_roof_1", - "sym": "æ", + "sym": "\u00E6", "color": "yellow" }, { "type": "overmap_terrain", "id": "lumberyard_0_0", "copy-from": "lumberyard_0_0", - "sym": "×", + "sym": "\u00D7", "color": "brown" }, { "type": "overmap_terrain", "id": "lumberyard_0_1", "copy-from": "lumberyard_0_1", - "sym": "×", + "sym": "\u00D7", "color": "brown" }, { "type": "overmap_terrain", "id": "lumberyard_1_0", "copy-from": "lumberyard_1_0", - "sym": "×", + "sym": "\u00D7", "color": "brown" }, { "type": "overmap_terrain", "id": "lumberyard_1_1", "copy-from": "lumberyard_1_1", - "sym": "×", + "sym": "\u00D7", "color": "brown" }, { "type": "overmap_terrain", "id": "lumberyard_0_0_roof", "copy-from": "lumberyard_0_0_roof", - "sym": "×", + "sym": "\u00D7", "color": "brown" }, { "type": "overmap_terrain", "id": "lumberyard_0_1_roof", "copy-from": "lumberyard_0_1_roof", - "sym": "×", + "sym": "\u00D7", "color": "brown" }, { "type": "overmap_terrain", "id": "lumberyard_1_0_roof", "copy-from": "lumberyard_1_0_roof", - "sym": "×", + "sym": "\u00D7", "color": "brown" }, { "type": "overmap_terrain", "id": "lumberyard_1_1_roof", "copy-from": "lumberyard_1_1_roof", - "sym": "×", + "sym": "\u00D7", "color": "brown" }, { "type": "overmap_terrain", "id": "lumbermill_0_0", "copy-from": "lumbermill_0_0", - "sym": "Ö", + "sym": "\u00D6", "color": "brown" }, { "type": "overmap_terrain", "id": "lumbermill_0_1", "copy-from": "lumbermill_0_1", - "sym": "Ö", + "sym": "\u00D6", "color": "brown" }, { "type": "overmap_terrain", "id": "lumbermill_1_0", "copy-from": "lumbermill_1_0", - "sym": "Ö", + "sym": "\u00D6", "color": "brown" }, { "type": "overmap_terrain", "id": "lumbermill_1_1", "copy-from": "lumbermill_1_1", - "sym": "Ö", + "sym": "\u00D6", "color": "brown" }, { "type": "overmap_terrain", "id": "lumbermill_0_0_roof", "copy-from": "lumbermill_0_0_roof", - "sym": "Ö", + "sym": "\u00D6", "color": "brown" }, { "type": "overmap_terrain", "id": "lumbermill_0_1_roof", "copy-from": "lumbermill_0_1_roof", - "sym": "Ö", + "sym": "\u00D6", "color": "brown" }, { "type": "overmap_terrain", "id": "lumbermill_1_0_roof", "copy-from": "lumbermill_1_0_roof", - "sym": "Ö", + "sym": "\u00D6", "color": "brown" }, { "type": "overmap_terrain", "id": "lumbermill_1_1_roof", "copy-from": "lumbermill_1_1_roof", - "sym": "Ö", + "sym": "\u00D6", "color": "brown" }, { "type": "overmap_terrain", "id": "lumbermill_dforest", "copy-from": "lumbermill_dforest", - "sym": "è", + "sym": "\u00E8", "color": "brown" }, { "type": "overmap_terrain", "id": "construction_site", "copy-from": "construction_site", - "sym": "×", + "sym": "\u00D7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "abandonedwarehouse", "copy-from": "abandonedwarehouse", - "sym": "Ö", + "sym": "\u00D6", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "abandonedwarehouse_roof", "copy-from": "abandonedwarehouse_roof", - "sym": "Ö", + "sym": "\u00D6", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "abandonedwarehouse_1", "copy-from": "abandonedwarehouse_1", - "sym": "Ö", + "sym": "\u00D6", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "abandonedwarehouse_1_roof", "copy-from": "abandonedwarehouse_1_roof", - "sym": "Ö", + "sym": "\u00D6", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "abandonedwarehouse_2", "copy-from": "abandonedwarehouse_2", - "sym": "Ö", + "sym": "\u00D6", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "abandonedwarehouse_2_roof", "copy-from": "abandonedwarehouse_2_roof", - "sym": "Ö", + "sym": "\u00D6", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "abandonedwarehouse_3", "copy-from": "abandonedwarehouse_3", - "sym": "Ö", + "sym": "\u00D6", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "abandonedwarehouse_3_roof", "copy-from": "abandonedwarehouse_3_roof", - "sym": "Ö", + "sym": "\u00D6", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "abandonedwarehouse_4", "copy-from": "abandonedwarehouse_4", - "sym": "Ö", + "sym": "\u00D6", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "abandonedwarehouse_4_roof", "copy-from": "abandonedwarehouse_4_roof", - "sym": "Ö", + "sym": "\u00D6", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "large_storage_units_3", "copy-from": "large_storage_units_3", - "sym": "Ö", + "sym": "\u00D6", "color": "yellow" }, { "type": "overmap_terrain", "id": "large_storage_units_roof_3", "copy-from": "large_storage_units_roof_3", - "sym": "Ö", + "sym": "\u00D6", "color": "yellow" }, { "type": "overmap_terrain", "id": "large_storage_units_2", "copy-from": "large_storage_units_2", - "sym": "Ö", + "sym": "\u00D6", "color": "yellow" }, { "type": "overmap_terrain", "id": "large_storage_units_roof_2", "copy-from": "large_storage_units_roof_2", - "sym": "Ö", + "sym": "\u00D6", "color": "yellow" }, { "type": "overmap_terrain", "id": "large_storage_units_1", "copy-from": "large_storage_units_1", - "sym": "Ö", + "sym": "\u00D6", "color": "yellow" }, { "type": "overmap_terrain", "id": "large_storage_units_roof_1", "copy-from": "large_storage_units_roof_1", - "sym": "Ö", + "sym": "\u00D6", "color": "yellow" }, { "type": "overmap_terrain", "id": "medium_storage_units_1", "copy-from": "medium_storage_units_1", - "sym": "æ", + "sym": "\u00E6", "color": "yellow" }, { "type": "overmap_terrain", "id": "medium_storage_units_roof_1", "copy-from": "medium_storage_units_roof_1", - "sym": "æ", + "sym": "\u00E6", "color": "yellow" }, { "type": "overmap_terrain", "id": "medium_storage_units_2", "copy-from": "medium_storage_units_2", - "sym": "æ", + "sym": "\u00E6", "color": "yellow" }, { "type": "overmap_terrain", "id": "medium_storage_units_roof_2", "copy-from": "medium_storage_units_roof_2", - "sym": "æ", + "sym": "\u00E6", "color": "yellow" }, { "type": "overmap_terrain", "id": "steel_mill_0_1", "copy-from": "steel_mill_0_1", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_0_2", "copy-from": "steel_mill_0_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_0_3", "copy-from": "steel_mill_0_3", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_0_4", "copy-from": "steel_mill_0_4", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_1_1", "copy-from": "steel_mill_1_1", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_1_2", "copy-from": "steel_mill_1_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_1_3", "copy-from": "steel_mill_1_3", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_1_4", "copy-from": "steel_mill_1_4", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_2_1", "copy-from": "steel_mill_2_1", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_2_2", "copy-from": "steel_mill_2_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_2_3", "copy-from": "steel_mill_2_3", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_2_4", "copy-from": "steel_mill_2_4", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_3_1", "copy-from": "steel_mill_3_1", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_3_2", "copy-from": "steel_mill_3_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_3_3", "copy-from": "steel_mill_3_3", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_rail_1", "copy-from": "steel_mill_rail_1", - "sym": "×" + "sym": "\u00D7" }, { "type": "overmap_terrain", "id": "steel_mill_4_1", "copy-from": "steel_mill_4_1", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_4_2", "copy-from": "steel_mill_4_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_4_3", "copy-from": "steel_mill_4_3", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_rail_2", "copy-from": "steel_mill_rail_2", - "sym": "×" + "sym": "\u00D7" }, { "type": "overmap_terrain", "id": "steel_mill_0_1_2", "copy-from": "steel_mill_0_1_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_0_2_2", "copy-from": "steel_mill_0_2_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_0_3_2", "copy-from": "steel_mill_0_3_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_0_4_2", "copy-from": "steel_mill_0_4_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_1_1_2", "copy-from": "steel_mill_1_1_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_1_2_2", "copy-from": "steel_mill_1_2_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_1_3_2", "copy-from": "steel_mill_1_3_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_1_4_2", "copy-from": "steel_mill_1_4_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_2_1_2", "copy-from": "steel_mill_2_1_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_2_2_2", "copy-from": "steel_mill_2_2_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_2_3_2", "copy-from": "steel_mill_2_3_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_2_4_2", "copy-from": "steel_mill_2_4_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_3_1_2", "copy-from": "steel_mill_3_1_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_3_2_2", "copy-from": "steel_mill_3_2_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_3_3_2", "copy-from": "steel_mill_3_3_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_rail_1_2", "copy-from": "steel_mill_rail_1_2", - "sym": "×" + "sym": "\u00D7" }, { "type": "overmap_terrain", "id": "steel_mill_4_1_2", "copy-from": "steel_mill_4_1_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_4_2_2", "copy-from": "steel_mill_4_2_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_4_3_2", "copy-from": "steel_mill_4_3_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_rail_2_2", "copy-from": "steel_mill_rail_2_2", - "sym": "×" + "sym": "\u00D7" }, { "type": "overmap_terrain", "id": "steel_mill_0_1_3", "copy-from": "steel_mill_0_1_3", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_0_2_3", "copy-from": "steel_mill_0_2_3", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_0_3_3", "copy-from": "steel_mill_0_3_3", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_0_4_3", "copy-from": "steel_mill_0_4_3", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_1_1_3", "copy-from": "steel_mill_1_1_3", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_1_2_3", "copy-from": "steel_mill_1_2_3", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_1_3_3", "copy-from": "steel_mill_1_3_3", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_1_4_3", "copy-from": "steel_mill_1_4_3", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_2_1_3", "copy-from": "steel_mill_2_1_3", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_2_2_3", "copy-from": "steel_mill_2_2_3", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_2_3_3", "copy-from": "steel_mill_2_3_3", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_2_4_3", "copy-from": "steel_mill_2_4_3", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_3_1_3", "copy-from": "steel_mill_3_1_3", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_3_2_3", "copy-from": "steel_mill_3_2_3", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_3_3_3", "copy-from": "steel_mill_3_3_3", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_rail_1_3", "copy-from": "steel_mill_rail_1_3", - "sym": "×" + "sym": "\u00D7" }, { "type": "overmap_terrain", "id": "steel_mill_4_1_3", "copy-from": "steel_mill_4_1_3", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_4_2_3", "copy-from": "steel_mill_4_2_3", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_4_3_3", "copy-from": "steel_mill_4_3_3", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "steel_mill_rail_2_3", "copy-from": "steel_mill_rail_2_3", - "sym": "×" + "sym": "\u00D7" }, { "//": "OVERMAP_TERRAIN_LAB.JSON", "type": "overmap_terrain", "id": "lab", "copy-from": "lab", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "lab_stairs", "copy-from": "lab_stairs", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "lab_core", "copy-from": "lab_core", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "lab_escape_cells", "copy-from": "lab_escape_cells", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "lab_escape_entrance", "copy-from": "lab_escape_entrance", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "ants_lab", "copy-from": "ants_lab", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "ants_lab_stairs", "copy-from": "ants_lab_stairs", - "sym": "Á", + "sym": "\u00C1", "color": "light_blue" }, { "type": "overmap_terrain", "id": "lab_finale", "copy-from": "lab_finale", - "sym": "Á", + "sym": "\u00C1", "color": "light_blue" }, { "type": "overmap_terrain", "id": "ice_lab", "copy-from": "ice_lab", - "sym": "Á", + "sym": "\u00C1", "color": "white" }, { "type": "overmap_terrain", "id": "ice_lab_stairs", "copy-from": "ice_lab_stairs", - "sym": "Á", + "sym": "\u00C1", "color": "white" }, { "type": "overmap_terrain", "id": "ice_lab_core", "copy-from": "ice_lab_core", - "sym": "Á", + "sym": "\u00C1", "color": "white" }, { "type": "overmap_terrain", "id": "ice_lab_finale", "copy-from": "ice_lab_finale", - "sym": "Á", + "sym": "\u00C1", "color": "white" }, { "type": "overmap_terrain", "id": "tower_lab", "copy-from": "tower_lab", - "sym": "í" + "sym": "\u00ED" }, { "type": "overmap_terrain", "id": "tower_lab_stairs", "copy-from": "tower_lab_stairs", - "sym": "í", + "sym": "\u00ED", "color": "light_blue" }, { "type": "overmap_terrain", "id": "tower_lab_finale", "copy-from": "tower_lab_finale", - "sym": "í", + "sym": "\u00ED", "color": "light_blue" }, { "type": "overmap_terrain", "id": "lab_train_depot", "copy-from": "lab_train_depot", - "sym": "Æ" + "sym": "\u00C6" }, { "type": "overmap_terrain", "id": "central_lab_train_depot", "copy-from": "central_lab_train_depot", - "sym": "Æ" + "sym": "\u00C6" }, { "type": "overmap_terrain", "id": "central_lab_entrance", "copy-from": "central_lab_entrance", - "sym": "è", + "sym": "\u00E8", "color": "green" }, { "type": "overmap_terrain", "id": "central_lab_shaft", "copy-from": "central_lab_shaft", - "sym": "Ò" + "sym": "\u00D2" }, { "type": "overmap_terrain", "abstract": "generic_central_lab", "copy-from": "generic_central_lab", - "sym": "Á", + "sym": "\u00C1", "color": "light_blue" }, { @@ -3754,34 +3754,34 @@ "type": "overmap_terrain", "id": "central_lab", "copy-from": "central_lab", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "central_lab_stairs", "copy-from": "central_lab_stairs", - "sym": "Á", + "sym": "\u00C1", "color": "light_blue" }, { "type": "overmap_terrain", "id": "central_lab_core", "copy-from": "central_lab_core", - "sym": "Á", + "sym": "\u00C1", "color": "light_blue" }, { "type": "overmap_terrain", "id": "central_lab_finale", "copy-from": "central_lab_finale", - "sym": "Á", + "sym": "\u00C1", "color": "light_blue" }, { "type": "overmap_terrain", "id": "lab_surface_brick_basementA0", "copy-from": "lab_surface_brick_basementA0", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", @@ -3822,7 +3822,7 @@ "type": "overmap_terrain", "id": "lab_surface_brick_basementD1_hidden_lab_stairs", "copy-from": "lab_surface_brick_basementD1_hidden_lab_stairs", - "sym": "Á", + "sym": "\u00C1", "color": "light_blue" }, { @@ -3909,7 +3909,7 @@ "type": "overmap_terrain", "id": "lab_surface_brick_blockA0", "copy-from": "lab_surface_brick_blockA0", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", @@ -3960,7 +3960,7 @@ "type": "overmap_terrain", "id": "lab_surface_brick_blockA2", "copy-from": "lab_surface_brick_blockA2", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", @@ -3996,7 +3996,7 @@ "type": "overmap_terrain", "id": "lab_surface_brick_blockC3", "copy-from": "lab_surface_brick_blockC3", - "sym": "Á", + "sym": "\u00C1", "color": "light_gray" }, { @@ -4038,7 +4038,7 @@ "type": "overmap_terrain", "id": "lab_surface_brick_block2A0", "copy-from": "lab_surface_brick_block2A0", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", @@ -4089,13 +4089,13 @@ "type": "overmap_terrain", "id": "lab_surface_brick_block2A2", "copy-from": "lab_surface_brick_block2A2", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "lab_surface_brick_block2B2", "copy-from": "lab_surface_brick_block2B2", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", @@ -4506,7 +4506,7 @@ "type": "overmap_terrain", "id": "lab_surface_brick_block5A2", "copy-from": "lab_surface_brick_block5A2", - "sym": "Á", + "sym": "\u00C1", "color": "light_blue" }, { @@ -4589,1129 +4589,1129 @@ "type": "overmap_terrain", "id": "mall_a_3", "copy-from": "mall_a_3", - "sym": "Ö", + "sym": "\u00D6", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_3", "copy-from": "mall_b_3", - "sym": "Ö", + "sym": "\u00D6", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_3_roof", "copy-from": "mall_a_3_roof", - "sym": "Ö", + "sym": "\u00D6", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_upper_roof_3", "copy-from": "mall_upper_roof_3", - "sym": "Ö", + "sym": "\u00D6", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_4", "copy-from": "mall_a_4", - "sym": "Æ", + "sym": "\u00C6", "color": "light_gray" }, { "type": "overmap_terrain", "id": "mall_upper_roof_4", "copy-from": "mall_upper_roof_4", - "sym": "Ö", + "sym": "\u00D6", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_4", "copy-from": "mall_b_4", - "sym": "Æ", + "sym": "\u00C6", "color": "light_gray" }, { "type": "overmap_terrain", "id": "mall_a_4_roof", "copy-from": "mall_a_4_roof", - "sym": "Æ", + "sym": "\u00C6", "color": "light_gray" }, { "type": "overmap_terrain", "id": "mall_a_5", "copy-from": "mall_a_5", - "sym": "Æ", + "sym": "\u00C6", "color": "light_gray" }, { "type": "overmap_terrain", "id": "mall_b_5", "copy-from": "mall_b_5", - "sym": "Æ", + "sym": "\u00C6", "color": "light_gray" }, { "type": "overmap_terrain", "id": "mall_a_5_roof", "copy-from": "mall_a_5_roof", - "sym": "Æ", + "sym": "\u00C6", "color": "light_gray" }, { "type": "overmap_terrain", "id": "mall_a_7", "copy-from": "mall_a_7", - "sym": "×" + "sym": "\u00D7" }, { "type": "overmap_terrain", "id": "mall_a_8", "copy-from": "mall_a_8", - "sym": "×" + "sym": "\u00D7" }, { "type": "overmap_terrain", "id": "mall_a_9", "copy-from": "mall_a_9", - "sym": "×" + "sym": "\u00D7" }, { "type": "overmap_terrain", "id": "mall_a_10_roof", "copy-from": "mall_a_10_roof", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "mall_a_11", "copy-from": "mall_a_11", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_11", "copy-from": "mall_b_11", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_11_roof", "copy-from": "mall_a_11_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_12", "copy-from": "mall_a_12", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_12", "copy-from": "mall_b_12", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_12_roof", "copy-from": "mall_a_12_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_upper_roof_12", "copy-from": "mall_upper_roof_12", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_13", "copy-from": "mall_a_13", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_upper_roof_13", "copy-from": "mall_upper_roof_13", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_13", "copy-from": "mall_b_13", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_13_roof", "copy-from": "mall_a_13_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_14", "copy-from": "mall_a_14", - "sym": "Á", + "sym": "\u00C1", "color": "red" }, { "type": "overmap_terrain", "id": "mall_b_14", "copy-from": "mall_b_14", - "sym": "Á", + "sym": "\u00C1", "color": "red" }, { "type": "overmap_terrain", "id": "mall_a_14_roof", "copy-from": "mall_a_14_roof", - "sym": "Á", + "sym": "\u00C1", "color": "red" }, { "type": "overmap_terrain", "id": "mall_a_19_roof", "copy-from": "mall_a_19_roof", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "mall_a_20", "copy-from": "mall_a_20", - "sym": "î", + "sym": "\u00EE", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_20", "copy-from": "mall_b_20", - "sym": "î", + "sym": "\u00EE", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_20_roof", "copy-from": "mall_a_20_roof", - "sym": "î", + "sym": "\u00EE", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_21", "copy-from": "mall_a_21", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_21", "copy-from": "mall_b_21", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_21_roof", "copy-from": "mall_a_21_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_22", "copy-from": "mall_a_22", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_22", "copy-from": "mall_b_22", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_22_roof", "copy-from": "mall_a_22_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_23", "copy-from": "mall_a_23", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_23", "copy-from": "mall_b_23", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_23_roof", "copy-from": "mall_a_23_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_24", "copy-from": "mall_a_24", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_24", "copy-from": "mall_b_24", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_24_roof", "copy-from": "mall_a_24_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_25", "copy-from": "mall_a_25", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_25", "copy-from": "mall_b_25", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_25_roof", "copy-from": "mall_a_25_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_26", "copy-from": "mall_a_26", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_26", "copy-from": "mall_b_26", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_26_roof", "copy-from": "mall_a_26_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_29", "copy-from": "mall_a_29", - "sym": "î", + "sym": "\u00EE", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_29", "copy-from": "mall_b_29", - "sym": "î", + "sym": "\u00EE", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_29_roof", "copy-from": "mall_a_29_roof", - "sym": "î", + "sym": "\u00EE", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_30", "copy-from": "mall_a_30", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_30", "copy-from": "mall_b_30", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_30_roof", "copy-from": "mall_a_30_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_31", "copy-from": "mall_a_31", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_31", "copy-from": "mall_b_31", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_31_roof", "copy-from": "mall_a_31_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_32", "copy-from": "mall_a_32", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_32", "copy-from": "mall_b_32", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_32_roof", "copy-from": "mall_a_32_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_33", "copy-from": "mall_a_33", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_33", "copy-from": "mall_b_33", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_33_roof", "copy-from": "mall_a_33_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_34", "copy-from": "mall_a_34", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_34", "copy-from": "mall_b_34", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_34_roof", "copy-from": "mall_a_34_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_upper_roof_34", "copy-from": "mall_upper_roof_34", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_35", "copy-from": "mall_a_35", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_35", "copy-from": "mall_b_35", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_35_roof", "copy-from": "mall_a_35_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_upper_roof_35", "copy-from": "mall_upper_roof_35", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_38", "copy-from": "mall_a_38", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_38", "copy-from": "mall_b_38", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_38_roof", "copy-from": "mall_a_38_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_39", "copy-from": "mall_a_39", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_39", "copy-from": "mall_b_39", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_39_roof", "copy-from": "mall_a_39_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_40", "copy-from": "mall_a_40", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_40", "copy-from": "mall_b_40", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_40_roof", "copy-from": "mall_a_40_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_41", "copy-from": "mall_a_41", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_41", "copy-from": "mall_b_41", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_41_roof", "copy-from": "mall_a_41_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_42", "copy-from": "mall_a_42", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_42", "copy-from": "mall_b_42", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_42_roof", "copy-from": "mall_a_42_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_43", "copy-from": "mall_a_43", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_43", "copy-from": "mall_b_43", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_43_roof", "copy-from": "mall_a_43_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_44", "copy-from": "mall_a_44", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_44", "copy-from": "mall_b_44", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_44_roof", "copy-from": "mall_a_44_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_47", "copy-from": "mall_a_47", - "sym": "Á", + "sym": "\u00C1", "color": "red" }, { "type": "overmap_terrain", "id": "mall_b_47", "copy-from": "mall_b_47", - "sym": "Á", + "sym": "\u00C1", "color": "red" }, { "type": "overmap_terrain", "id": "mall_a_47_roof", "copy-from": "mall_a_47_roof", - "sym": "Á", + "sym": "\u00C1", "color": "red" }, { "type": "overmap_terrain", "id": "mall_a_48", "copy-from": "mall_a_48", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_48", "copy-from": "mall_b_48", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_48_roof", "copy-from": "mall_a_48_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_upper_roof_48", "copy-from": "mall_upper_roof_48", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_49", "copy-from": "mall_a_49", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_49", "copy-from": "mall_b_49", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_49_roof", "copy-from": "mall_a_49_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_upper_roof_49", "copy-from": "mall_upper_roof_49", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_50", "copy-from": "mall_a_50", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_50", "copy-from": "mall_b_50", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_50_roof", "copy-from": "mall_a_50_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_upper_roof_50", "copy-from": "mall_upper_roof_50", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_51", "copy-from": "mall_a_51", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_51", "copy-from": "mall_b_51", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_51_roof", "copy-from": "mall_a_51_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_upper_roof_51", "copy-from": "mall_upper_roof_51", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_52", "copy-from": "mall_a_52", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_52", "copy-from": "mall_b_52", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_52_roof", "copy-from": "mall_a_52_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_53", "copy-from": "mall_a_53", - "sym": "Á", + "sym": "\u00C1", "color": "red" }, { "type": "overmap_terrain", "id": "mall_b_53", "copy-from": "mall_b_53", - "sym": "Á", + "sym": "\u00C1", "color": "red" }, { "type": "overmap_terrain", "id": "mall_a_53_roof", "copy-from": "mall_a_53_roof", - "sym": "Á", + "sym": "\u00C1", "color": "red" }, { "type": "overmap_terrain", "id": "mall_a_56", "copy-from": "mall_a_56", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_56", "copy-from": "mall_b_56", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_56_roof", "copy-from": "mall_a_56_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_57", "copy-from": "mall_a_57", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_57", "copy-from": "mall_b_57", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_57_roof", "copy-from": "mall_a_57_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_58", "copy-from": "mall_a_58", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_58", "copy-from": "mall_b_58", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_58_roof", "copy-from": "mall_a_58_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_59", "copy-from": "mall_a_59", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_59", "copy-from": "mall_b_59", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_59_roof", "copy-from": "mall_a_59_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_60", "copy-from": "mall_a_60", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_60", "copy-from": "mall_b_60", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_60_roof", "copy-from": "mall_a_60_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_61", "copy-from": "mall_a_61", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_61", "copy-from": "mall_b_61", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_61_roof", "copy-from": "mall_a_61_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_62", "copy-from": "mall_a_62", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_62", "copy-from": "mall_b_62", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_62_roof", "copy-from": "mall_a_62_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_65", "copy-from": "mall_a_65", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_65", "copy-from": "mall_b_65", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_65_roof", "copy-from": "mall_a_65_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_66", "copy-from": "mall_a_66", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_66", "copy-from": "mall_b_66", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_66_roof", "copy-from": "mall_a_66_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_67", "copy-from": "mall_a_67", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_67", "copy-from": "mall_b_67", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_67_roof", "copy-from": "mall_a_67_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_68", "copy-from": "mall_a_68", - "sym": "Á", + "sym": "\u00C1", "color": "red" }, { "type": "overmap_terrain", "id": "mall_b_68", "copy-from": "mall_b_68", - "sym": "Á", + "sym": "\u00C1", "color": "red" }, { "type": "overmap_terrain", "id": "mall_a_68_roof", "copy-from": "mall_a_68_roof", - "sym": "Á", + "sym": "\u00C1", "color": "red" }, { "type": "overmap_terrain", "id": "mall_a_69", "copy-from": "mall_a_69", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_69", "copy-from": "mall_b_69", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_69_roof", "copy-from": "mall_a_69_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_70", "copy-from": "mall_a_70", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_70", "copy-from": "mall_b_70", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_70_roof", "copy-from": "mall_a_70_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_71", "copy-from": "mall_a_71", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_b_71", "copy-from": "mall_b_71", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { "type": "overmap_terrain", "id": "mall_a_71_roof", "copy-from": "mall_a_71_roof", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { @@ -5719,14 +5719,14 @@ "type": "overmap_terrain", "abstract": "generic_mansion_no_sidewalk", "copy-from": "generic_mansion_no_sidewalk", - "sym": "Ð", + "sym": "\u00D0", "color": "white" }, { "type": "overmap_terrain", "abstract": "generic_mansion", "copy-from": "generic_mansion", - "sym": "Ð", + "sym": "\u00D0", "color": "white" }, { @@ -6061,13 +6061,13 @@ "id": "microlab_generic", "copy-from": "microlab_generic", "name": "science lab", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "microlab_rock_border", "copy-from": "microlab_rock_border", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", @@ -6083,7 +6083,7 @@ "type": "overmap_terrain", "id": "microlab_sub_station", "copy-from": "microlab_sub_station", - "sym": "Ó", + "sym": "\u00D3", "color": "light_blue" }, { @@ -6095,13 +6095,13 @@ "type": "overmap_terrain", "id": "microlab_generic_sub_entry", "copy-from": "microlab_generic_sub_entry", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "microlab_generic_surface", "copy-from": "microlab_generic_surface", - "sym": "Á", + "sym": "\u00C1", "color": "light_blue" }, { @@ -6114,56 +6114,56 @@ "type": "overmap_terrain", "id": "mi-go_camp1", "copy-from": "mi-go_camp1", - "sym": "ó", + "sym": "\u00F3", "color": "pink" }, { "type": "overmap_terrain", "id": "mi-go_camp2", "copy-from": "mi-go_camp2", - "sym": "ó", + "sym": "\u00F3", "color": "pink" }, { "type": "overmap_terrain", "id": "mi-go_camp2-1", "copy-from": "mi-go_camp2-1", - "sym": "Ý", + "sym": "\u00DD", "color": "pink" }, { "type": "overmap_terrain", "id": "mi-go_camp2-2", "copy-from": "mi-go_camp2-2", - "sym": "×", + "sym": "\u00D7", "color": "pink" }, { "type": "overmap_terrain", "id": "mi-go_scout_tower_1", "copy-from": "mi-go_scout_tower_1", - "sym": "Ý", + "sym": "\u00DD", "color": "magenta" }, { "type": "overmap_terrain", "id": "mi-go_scout_tower_2", "copy-from": "mi-go_scout_tower_2", - "sym": "Ý", + "sym": "\u00DD", "color": "magenta" }, { "type": "overmap_terrain", "id": "mi-go_scout_tower_3", "copy-from": "mi-go_scout_tower_3", - "sym": "Ý", + "sym": "\u00DD", "color": "magenta" }, { "type": "overmap_terrain", "id": "mi-go_scout_tower_4", "copy-from": "mi-go_scout_tower_4", - "sym": "Ý", + "sym": "\u00DD", "color": "magenta" }, { @@ -6171,286 +6171,286 @@ "type": "overmap_terrain", "id": "fema_entrance", "copy-from": "fema_entrance", - "sym": "Å", + "sym": "\u00C5", "color": "white" }, { "type": "overmap_terrain", "id": "fema", "copy-from": "fema", - "sym": "Å", + "sym": "\u00C5", "color": "white" }, { "type": "overmap_terrain", "id": "FEMA_tlc", "copy-from": "FEMA_tlc", - "sym": "Å", + "sym": "\u00C5", "color": "white" }, { "type": "overmap_terrain", "id": "FEMA_te", "copy-from": "FEMA_te", - "sym": "Å", + "sym": "\u00C5", "color": "white" }, { "type": "overmap_terrain", "id": "FEMA_trc", "copy-from": "FEMA_trc", - "sym": "Å", + "sym": "\u00C5", "color": "white" }, { "type": "overmap_terrain", "id": "FEMA_le", "copy-from": "FEMA_le", - "sym": "Å", + "sym": "\u00C5", "color": "white" }, { "type": "overmap_terrain", "id": "FEMA_mid", "copy-from": "FEMA_mid", - "sym": "Å", + "sym": "\u00C5", "color": "white" }, { "type": "overmap_terrain", "id": "FEMA_re", "copy-from": "FEMA_re", - "sym": "Å", + "sym": "\u00C5", "color": "white" }, { "type": "overmap_terrain", "id": "FEMA_le", "copy-from": "FEMA_le", - "sym": "Å", + "sym": "\u00C5", "color": "white" }, { "type": "overmap_terrain", "id": "FEMA_blc", "copy-from": "FEMA_blc", - "sym": "Å", + "sym": "\u00C5", "color": "white" }, { "type": "overmap_terrain", "id": "FEMA_entrance", "copy-from": "FEMA_entrance", - "sym": "Å", + "sym": "\u00C5", "color": "white" }, { "type": "overmap_terrain", "id": "FEMA_brc", "copy-from": "FEMA_brc", - "sym": "Å", + "sym": "\u00C5", "color": "white" }, { "type": "overmap_terrain", "id": "shelter", "copy-from": "shelter", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "shelter_roof", "copy-from": "shelter_roof", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "shelter_1", "copy-from": "shelter_1", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "shelter_roof_1", "copy-from": "shelter_roof_1", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "shelter_2", "copy-from": "shelter_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "shelter_roof_2", "copy-from": "shelter_roof_2", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "shelter_under", "copy-from": "shelter_under", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "lmoe", "copy-from": "lmoe", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "lmoe_roof", "copy-from": "lmoe_roof", - "sym": "Õ", + "sym": "\u00D5", "color": "red" }, { "type": "overmap_terrain", "id": "lmoe_under", "copy-from": "lmoe_under", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "lmoe_under_empty", "copy-from": "lmoe_under_empty", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "bunker", "copy-from": "bunker", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "bunker_basement", "copy-from": "bunker_basement", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "outpost", "copy-from": "outpost", - "sym": "í" + "sym": "\u00ED" }, { "type": "overmap_terrain", "id": "silo", "copy-from": "silo", - "sym": "ë", + "sym": "\u00EB", "color": "red" }, { "type": "overmap_terrain", "id": "silo_1", "copy-from": "silo_1", - "sym": "ë", + "sym": "\u00EB", "color": "red" }, { "type": "overmap_terrain", "id": "silo_2", "copy-from": "silo_2", - "sym": "ë", + "sym": "\u00EB", "color": "red" }, { "type": "overmap_terrain", "id": "silo_3", "copy-from": "silo_3", - "sym": "ë", + "sym": "\u00EB", "color": "red" }, { "type": "overmap_terrain", "id": "silo_4", "copy-from": "silo_4", - "sym": "ë", + "sym": "\u00EB", "color": "red" }, { "type": "overmap_terrain", "id": "silo_finale", "copy-from": "silo_finale", - "sym": "ë", + "sym": "\u00EB", "color": "light_red" }, { "type": "overmap_terrain", "id": "ws_fire_lookout_tower_base", "copy-from": "ws_fire_lookout_tower_base", - "sym": "í", + "sym": "\u00ED", "color": "light_red" }, { "type": "overmap_terrain", "id": "ws_fire_lookout_tower_f1", "copy-from": "ws_fire_lookout_tower_f1", - "sym": "í", + "sym": "\u00ED", "color": "light_red" }, { "type": "overmap_terrain", "id": "ws_fire_lookout_tower_f2", "copy-from": "ws_fire_lookout_tower_f2", - "sym": "í", + "sym": "\u00ED", "color": "light_red" }, { "type": "overmap_terrain", "id": "ws_fire_lookout_tower_f3", "copy-from": "ws_fire_lookout_tower_f3", - "sym": "í", + "sym": "\u00ED", "color": "light_red" }, { "type": "overmap_terrain", "id": "ws_survivor_bunker_f0", "copy-from": "ws_survivor_bunker_f0", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "ws_survivor_bunker_f-1", "copy-from": "ws_survivor_bunker_f-1", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "ws_survivor_camp", "copy-from": "ws_survivor_camp", - "sym": "Å" + "sym": "\u00C5" }, { "//": "OVERMAP_TERRAIN_COMMERCIAL.JSON", "type": "overmap_terrain", "id": "s_gas", "copy-from": "s_gas", - "sym": "ú", + "sym": "\u00FA", "color": "light_blue" }, { "type": "overmap_terrain", "id": "s_gas_1", "copy-from": "s_gas_1", - "sym": "ú", + "sym": "\u00FA", "color": "light_blue" }, { "type": "overmap_terrain", "id": "s_gas_roof_1", "copy-from": "s_gas_roof_1", - "sym": "ú", + "sym": "\u00FA", "color": "light_blue" }, { "type": "overmap_terrain", "id": "s_pharm", "copy-from": "s_pharm", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { @@ -6472,254 +6472,254 @@ "type": "overmap_terrain", "id": "office_doctor", "copy-from": "office_doctor", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "office_doctor_roof", "copy-from": "office_doctor_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "office_doctor_1", "copy-from": "office_doctor_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "office_doctor_roof_1", "copy-from": "office_doctor_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "office_doctor_2", "copy-from": "office_doctor_2", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "office_doctor_roof_2", "copy-from": "office_doctor_roof_2", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "office_doctor_upper_roof_2", "copy-from": "office_doctor_upper_roof_2", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "office_cubical", "copy-from": "office_cubical", - "sym": "å" + "sym": "\u00E5" }, { "type": "overmap_terrain", "id": "office_cubical_roof", "copy-from": "office_cubical_roof", - "sym": "å" + "sym": "\u00E5" }, { "type": "overmap_terrain", "id": "office_cubical_1", "copy-from": "office_cubical_1", - "sym": "å" + "sym": "\u00E5" }, { "type": "overmap_terrain", "id": "office_cubical_roof_1", "copy-from": "office_cubical_roof_1", - "sym": "å" + "sym": "\u00E5" }, { "type": "overmap_terrain", "id": "office_tower_1_entrance", "copy-from": "office_tower_1_entrance", - "sym": "Ç", + "sym": "\u00C7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "office_tower_1", "copy-from": "office_tower_1", - "sym": "Ç", + "sym": "\u00C7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "office_tower_b_entrance", "copy-from": "office_tower_b_entrance", - "sym": "ô", + "sym": "\u00F4", "color": "light_gray" }, { "type": "overmap_terrain", "id": "office_tower_b", "copy-from": "office_tower_b", - "sym": "ô", + "sym": "\u00F4", "color": "light_gray" }, { "type": "overmap_terrain", "id": "office_tower_2_a1", "copy-from": "office_tower_2_a1", - "sym": "Ç", + "sym": "\u00C7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "office_tower_2_a2", "copy-from": "office_tower_2_a2", - "sym": "Ç", + "sym": "\u00C7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "office_tower_2_a3", "copy-from": "office_tower_2_a3", - "sym": "è", + "sym": "\u00E8", "color": "light_green" }, { "type": "overmap_terrain", "id": "office_tower_2_b1", "copy-from": "office_tower_2_b1", - "sym": "Ç", + "sym": "\u00C7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "office_tower_2_b2", "copy-from": "office_tower_2_b2", - "sym": "Ç", + "sym": "\u00C7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "office_tower_2_b3", "copy-from": "office_tower_2_b3", - "sym": "Ç", + "sym": "\u00C7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "office_tower_collapse_a0", "copy-from": "office_tower_collapse_a0", - "sym": "Ç", + "sym": "\u00C7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "office_tower_collapse_a1", "copy-from": "office_tower_collapse_a1", - "sym": "Ç", + "sym": "\u00C7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "office_tower_collapse_a2", "copy-from": "office_tower_collapse_a2", - "sym": "Ç", + "sym": "\u00C7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "office_tower_collapse_b0", "copy-from": "office_tower_collapse_b0", - "sym": "Ç", + "sym": "\u00C7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "office_tower_collapse_b1", "copy-from": "office_tower_collapse_b1", - "sym": "Ç", + "sym": "\u00C7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "office_tower_collapse_b2", "copy-from": "office_tower_collapse_b2", - "sym": "Ç", + "sym": "\u00C7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "office_tower_collapse_b_a0", "copy-from": "office_tower_collapse_b_a0", - "sym": "Ç", + "sym": "\u00C7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "office_tower_collapse_b_a1", "copy-from": "office_tower_collapse_b_a1", - "sym": "Ç", + "sym": "\u00C7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "office_tower_collapse_b_a2", "copy-from": "office_tower_collapse_b_a2", - "sym": "Ç", + "sym": "\u00C7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "office_tower_collapse_b_b0", "copy-from": "office_tower_collapse_b_b0", - "sym": "Ç", + "sym": "\u00C7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "office_tower_collapse_b_b1", "copy-from": "office_tower_collapse_b_b1", - "sym": "Ç", + "sym": "\u00C7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "office_tower_collapse_b_b2", "copy-from": "office_tower_collapse_b_b2", - "sym": "Ç", + "sym": "\u00C7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "office_tower_2_a1_tower_lab", "copy-from": "office_tower_2_a1_tower_lab", - "sym": "Ç", + "sym": "\u00C7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "office_tower_open_air_corner", "copy-from": "office_tower_open_air_corner", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "s_grocery", "copy-from": "s_grocery", - "sym": "ç", + "sym": "\u00E7", "color": "green" }, { "type": "overmap_terrain", "id": "s_grocery_roof", "copy-from": "s_grocery_roof", - "sym": "ç", + "sym": "\u00E7", "color": "green" }, { @@ -6736,7 +6736,7 @@ "type": "overmap_terrain", "id": "s_hardware", "copy-from": "s_hardware", - "sym": "ç", + "sym": "\u00E7", "color": "cyan" }, { @@ -6758,7 +6758,7 @@ "type": "overmap_terrain", "id": "s_hardware_roof", "copy-from": "s_hardware_roof", - "sym": "ç", + "sym": "\u00E7", "color": "cyan" }, { @@ -6780,243 +6780,243 @@ "type": "overmap_terrain", "id": "s_electronics", "copy-from": "s_electronics", - "sym": "ç", + "sym": "\u00E7", "color": "light_cyan" }, { "type": "overmap_terrain", "id": "s_electronics_roof", "copy-from": "s_electronics_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_cyan" }, { "type": "overmap_terrain", "id": "s_electronics_1", "copy-from": "s_electronics_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_cyan" }, { "type": "overmap_terrain", "id": "s_electronics_roof_1", "copy-from": "s_electronics_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_cyan" }, { "type": "overmap_terrain", "id": "s_sports", "copy-from": "s_sports", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "s_sports_roof", "copy-from": "s_sports_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "s_liquor", "copy-from": "s_liquor", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "s_liquor_roof", "copy-from": "s_liquor_roof", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "s_gun", "copy-from": "s_gun", - "sym": "ç", + "sym": "\u00E7", "color": "red" }, { "type": "overmap_terrain", "id": "s_gun_roof", "copy-from": "s_gun_roof", - "sym": "ç", + "sym": "\u00E7", "color": "red" }, { "type": "overmap_terrain", "id": "s_gun_1", "copy-from": "s_gun_1", - "sym": "ç", + "sym": "\u00E7", "color": "red" }, { "type": "overmap_terrain", "id": "s_gun_roof_1", "copy-from": "s_gun_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "red" }, { "type": "overmap_terrain", "id": "s_gun_2", "copy-from": "s_gun_2", - "sym": "ç", + "sym": "\u00E7", "color": "red" }, { "type": "overmap_terrain", "id": "s_gun_3", "copy-from": "s_gun_3", - "sym": "ç", + "sym": "\u00E7", "color": "red" }, { "type": "overmap_terrain", "id": "s_gun_roof_3", "copy-from": "s_gun_roof_3", - "sym": "ç", + "sym": "\u00E7", "color": "red" }, { "type": "overmap_terrain", "id": "s_gun_4", "copy-from": "s_gun_4", - "sym": "ç", + "sym": "\u00E7", "color": "red" }, { "type": "overmap_terrain", "id": "s_gun_2ndfloor_4", "copy-from": "s_gun_2ndfloor_4", - "sym": "ç", + "sym": "\u00E7", "color": "red" }, { "type": "overmap_terrain", "id": "s_gun_roof_4", "copy-from": "s_gun_roof_4", - "sym": "ç", + "sym": "\u00E7", "color": "red" }, { "type": "overmap_terrain", "id": "s_clothes", "copy-from": "s_clothes", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "s_clothes_roof", "copy-from": "s_clothes_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "s_clothes_1", "copy-from": "s_clothes_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "s_clothes_roof_1", "copy-from": "s_clothes_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "s_clothes_2", "copy-from": "s_clothes_2", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "s_clothes_roof_2", "copy-from": "s_clothes_roof_2", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "s_clothes_3", "copy-from": "s_clothes_3", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "s_clothes_roof_3", "copy-from": "s_clothes_roof_3", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "s_clothes_4", "copy-from": "s_clothes_4", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "s_clothes_roof_4", "copy-from": "s_clothes_roof_4", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "s_clothes_upper_roof_4", "copy-from": "s_clothes_upper_roof_4", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "s_clothes_5", "copy-from": "s_clothes_5", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "s_clothes_roof_5", "copy-from": "s_clothes_roof_5", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "s_clothes_6", "copy-from": "s_clothes_6", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "s_clothes_roof_6", "copy-from": "s_clothes_roof_6", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "s_bookstore", "copy-from": "s_bookstore", - "sym": "ç", + "sym": "\u00E7", "color": "brown" }, { "type": "overmap_terrain", "id": "s_bookstore_roof", "copy-from": "s_bookstore_roof", - "sym": "ç", + "sym": "\u00E7", "color": "brown" }, { @@ -7053,829 +7053,829 @@ "type": "overmap_terrain", "id": "s_restaurant_foodplace", "copy-from": "s_restaurant_foodplace", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "s_restaurant_foodplace_roof", "copy-from": "s_restaurant_foodplace_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "s_restaurant_foodplace_upper_roof", "copy-from": "s_restaurant_foodplace_upper_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "s_restaurant", "copy-from": "s_restaurant", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "s_restaurant_roof", "copy-from": "s_restaurant_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "s_restaurant_1", "copy-from": "s_restaurant_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "s_restaurant_roof_1", "copy-from": "s_restaurant_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "s_restaurant_2", "copy-from": "s_restaurant_2", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "s_restaurant_roof_2", "copy-from": "s_restaurant_roof_2", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "s_restaurant_3", "copy-from": "s_restaurant_3", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "s_restaurant_roof_3", "copy-from": "s_restaurant_roof_3", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "s_restaurant_fast", "copy-from": "s_restaurant_fast", - "sym": "ç", + "sym": "\u00E7", "color": "yellow" }, { "type": "overmap_terrain", "id": "s_restaurant_fast_roof", "copy-from": "s_restaurant_fast_roof", - "sym": "ç", + "sym": "\u00E7", "color": "yellow" }, { "type": "overmap_terrain", "id": "s_restaurant_fast_1", "copy-from": "s_restaurant_fast_1", - "sym": "ç", + "sym": "\u00E7", "color": "yellow" }, { "type": "overmap_terrain", "id": "s_restaurant_fast_roof_1", "copy-from": "s_restaurant_fast_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "yellow" }, { "type": "overmap_terrain", "id": "s_restaurant_coffee", "copy-from": "s_restaurant_coffee", - "sym": "ç", + "sym": "\u00E7", "color": "brown" }, { "type": "overmap_terrain", "id": "s_restaurant_coffee_roof", "copy-from": "s_restaurant_coffee_roof", - "sym": "ç", + "sym": "\u00E7", "color": "brown" }, { "type": "overmap_terrain", "id": "s_restaurant_coffee_1", "copy-from": "s_restaurant_coffee_1", - "sym": "ç", + "sym": "\u00E7", "color": "brown" }, { "type": "overmap_terrain", "id": "s_restaurant_coffee_roof_1", "copy-from": "s_restaurant_coffee_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "brown" }, { "type": "overmap_terrain", "id": "s_restaurant_coffee_2", "copy-from": "s_restaurant_coffee_2", - "sym": "ç", + "sym": "\u00E7", "color": "brown" }, { "type": "overmap_terrain", "id": "s_restaurant_coffee_roof_2", "copy-from": "s_restaurant_coffee_roof_2", - "sym": "ç", + "sym": "\u00E7", "color": "brown" }, { "type": "overmap_terrain", "id": "s_teashop", "copy-from": "s_teashop", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "s_teashop_roof", "copy-from": "s_teashop_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "s_teashop_1", "copy-from": "s_teashop_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "s_teashop_roof_1", "copy-from": "s_teashop_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "s_teashop_upper_roof_1", "copy-from": "s_teashop_upper_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "bar", "copy-from": "bar", - "sym": "ç", + "sym": "\u00E7", "color": "magenta" }, { "type": "overmap_terrain", "id": "bar_roof", "copy-from": "bar_roof", - "sym": "ç", + "sym": "\u00E7", "color": "magenta" }, { "type": "overmap_terrain", "id": "bar_1", "copy-from": "bar_1", - "sym": "ç", + "sym": "\u00E7", "color": "magenta" }, { "type": "overmap_terrain", "id": "bar_roof_1", "copy-from": "bar_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "magenta" }, { "type": "overmap_terrain", "id": "s_butcher", "copy-from": "s_butcher", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "s_butcher_roof", "copy-from": "s_butcher_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "s_butcher_upper_roof", "copy-from": "s_butcher_upper_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "s_butcher_1", "copy-from": "s_butcher_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "s_butcher_roof_1", "copy-from": "s_butcher_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "s_butcher_upper_roof_1", "copy-from": "s_butcher_upper_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "s_butcher_2", "copy-from": "s_butcher_2", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "s_butcher_roof_2", "copy-from": "s_butcher_roof_2", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "s_bike_shop", "copy-from": "s_bike_shop", - "sym": "ç", + "sym": "\u00E7", "color": "cyan" }, { "type": "overmap_terrain", "id": "s_bike_shop_roof", "copy-from": "s_bike_shop_roof", - "sym": "ç", + "sym": "\u00E7", "color": "cyan" }, { "type": "overmap_terrain", "id": "s_bike_shop_1", "copy-from": "s_bike_shop_1", - "sym": "ç", + "sym": "\u00E7", "color": "cyan" }, { "type": "overmap_terrain", "id": "s_bike_shop_roof_1", "copy-from": "s_bike_shop_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "cyan" }, { "type": "overmap_terrain", "id": "s_pizza_parlor", "copy-from": "s_pizza_parlor", - "sym": "ç", + "sym": "\u00E7", "color": "yellow" }, { "type": "overmap_terrain", "id": "s_pizza_parlor_roof", "copy-from": "s_pizza_parlor_roof", - "sym": "ç", + "sym": "\u00E7", "color": "yellow" }, { "type": "overmap_terrain", "id": "s_pizza_parlor_1", "copy-from": "s_pizza_parlor_1", - "sym": "ç", + "sym": "\u00E7", "color": "yellow" }, { "type": "overmap_terrain", "id": "s_pizza_parlor_roof_1", "copy-from": "s_pizza_parlor_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "yellow" }, { "type": "overmap_terrain", "id": "bank", "copy-from": "bank", - "sym": "þ", + "sym": "\u00FE", "color": "yellow" }, { "type": "overmap_terrain", "id": "bank_roof", "copy-from": "bank_roof", - "sym": "þ", + "sym": "\u00FE", "color": "yellow" }, { "type": "overmap_terrain", "id": "bank_1", "copy-from": "bank_1", - "sym": "þ", + "sym": "\u00FE", "color": "yellow" }, { "type": "overmap_terrain", "id": "bank_roof_1", "copy-from": "bank_roof_1", - "sym": "þ", + "sym": "\u00FE", "color": "yellow" }, { "type": "overmap_terrain", "id": "hotel_tower_1_1", "copy-from": "hotel_tower_1_1", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "hotel_tower_1_2", "copy-from": "hotel_tower_1_2", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "hotel_tower_1_3", "copy-from": "hotel_tower_1_3", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "hotel_tower_1_4", "copy-from": "hotel_tower_1_4", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "hotel_tower_flr2_1_4", "copy-from": "hotel_tower_flr2_1_4", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "hotel_tower_flr3_1_4", "copy-from": "hotel_tower_flr3_1_4", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "hotel_tower_flr4_1_4", "copy-from": "hotel_tower_flr4_1_4", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "hotel_tower_roof_1_4", "copy-from": "hotel_tower_roof_1_4", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_1_5", "copy-from": "hotel_tower_1_5", - "sym": "Ç", + "sym": "\u00C7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "hotel_tower_flr2_1_5", "copy-from": "hotel_tower_flr2_1_5", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_flr3_1_5", "copy-from": "hotel_tower_flr3_1_5", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_flr4_1_5", "copy-from": "hotel_tower_flr4_1_5", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_roof_1_5", "copy-from": "hotel_tower_roof_1_5", - "sym": "Ç", + "sym": "\u00C7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "hotel_tower_1_5B", "copy-from": "hotel_tower_1_5B", - "sym": "Ç", + "sym": "\u00C7", "color": "blue" }, { "type": "overmap_terrain", "id": "hotel_tower_flr2_1_5B", "copy-from": "hotel_tower_flr2_1_5B", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_1_5C", "copy-from": "hotel_tower_1_5C", - "sym": "Ç", + "sym": "\u00C7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "hotel_tower_flr2_1_5C", "copy-from": "hotel_tower_flr2_1_5C", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_1_6", "copy-from": "hotel_tower_1_6", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_flr2_1_6", "copy-from": "hotel_tower_flr2_1_6", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "hotel_tower_flr3_1_6", "copy-from": "hotel_tower_flr3_1_6", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "hotel_tower_flr4_1_6", "copy-from": "hotel_tower_flr4_1_6", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "hotel_tower_roof_1_6", "copy-from": "hotel_tower_roof_1_6", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_1_7", "copy-from": "hotel_tower_1_7", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_flr2_1_7", "copy-from": "hotel_tower_flr2_1_7", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_flr3_1_7", "copy-from": "hotel_tower_flr3_1_7", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_flr4_1_7", "copy-from": "hotel_tower_flr4_1_7", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_roof_1_7", "copy-from": "hotel_tower_roof_1_7", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_1_8", "copy-from": "hotel_tower_1_8", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_flr2_1_8", "copy-from": "hotel_tower_flr2_1_8", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_flr3_1_8", "copy-from": "hotel_tower_flr3_1_8", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_flr4_1_8", "copy-from": "hotel_tower_flr4_1_8", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_roof_1_8", "copy-from": "hotel_tower_roof_1_8", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_1_9", "copy-from": "hotel_tower_1_9", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_flr2_1_9", "copy-from": "hotel_tower_flr2_1_9", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_flr3_1_9", "copy-from": "hotel_tower_flr3_1_9", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_flr4_1_9", "copy-from": "hotel_tower_flr4_1_9", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_roof_1_9", "copy-from": "hotel_tower_roof_1_9", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_b_1", "copy-from": "hotel_tower_b_1", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_b_2", "copy-from": "hotel_tower_b_2", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "hotel_tower_b_3", "copy-from": "hotel_tower_b_3", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "motel_twd_1", "copy-from": "motel_twd_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "motel_twd_2", "copy-from": "motel_twd_2", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "motel_twd_second_floor", "copy-from": "motel_twd_second_floor", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "motel_entrance", "copy-from": "motel_entrance", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "motel_entrance_roof", "copy-from": "motel_entrance_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "motel_1", "copy-from": "motel_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "motel_1_roof", "copy-from": "motel_1_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "motel_2", "copy-from": "motel_2", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "motel_2_roof", "copy-from": "motel_2_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "motel_3", "copy-from": "motel_3", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "motel_3_roof", "copy-from": "motel_3_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "s_gas_rural", "copy-from": "s_gas_rural", - "sym": "ú", + "sym": "\u00FA", "color": "light_blue" }, { "type": "overmap_terrain", "id": "s_gas_rural_roof", "copy-from": "s_gas_rural_roof", - "sym": "ú", + "sym": "\u00FA", "color": "light_blue" }, { "type": "overmap_terrain", "id": "pawn", "copy-from": "pawn", - "sym": "ç", + "sym": "\u00E7", "color": "brown" }, { "type": "overmap_terrain", "id": "pawn_roof", "copy-from": "pawn_roof", - "sym": "ç", + "sym": "\u00E7", "color": "brown" }, { "type": "overmap_terrain", "id": "pawn_1", "copy-from": "pawn_1", - "sym": "ç", + "sym": "\u00E7", "color": "brown" }, { "type": "overmap_terrain", "id": "pawn_roof_1", "copy-from": "pawn_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "brown" }, { "type": "overmap_terrain", "id": "pawn_pf", "copy-from": "pawn_pf", - "sym": "ç", + "sym": "\u00E7", "color": "brown" }, { "type": "overmap_terrain", "id": "pawn_pf_under", "copy-from": "pawn_pf_under", - "sym": "ç", + "sym": "\u00E7", "color": "brown" }, { "type": "overmap_terrain", "id": "pawn_pf_roof", "copy-from": "pawn_pf_roof", - "sym": "ç", + "sym": "\u00E7", "color": "brown" }, { "type": "overmap_terrain", "id": "mil_surplus", "copy-from": "mil_surplus", - "sym": "ç", + "sym": "\u00E7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "mil_surplus_roof", "copy-from": "mil_surplus_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "mil_surplus_1", "copy-from": "mil_surplus_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "mil_surplus_roof_1", "copy-from": "mil_surplus_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "mil_surplus_2", "copy-from": "mil_surplus_2", - "sym": "ç", + "sym": "\u00E7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "mil_surplus_roof_2", "copy-from": "mil_surplus_roof_2", - "sym": "ç", + "sym": "\u00E7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "furniture", "copy-from": "furniture", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "furniture_roof", "copy-from": "furniture_roof", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "furniture_upper_roof", "copy-from": "furniture_upper_roof", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "s_music", "copy-from": "s_music", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "s_music_roof", "copy-from": "s_music_roof", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "megastore_parking", "copy-from": "megastore_parking", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "megastore_0_0_0", "copy-from": "megastore_0_0_0", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", @@ -7911,7 +7911,7 @@ "type": "overmap_terrain", "id": "megastore_1_2_0", "copy-from": "megastore_1_2_0", - "sym": "Á", + "sym": "\u00C1", "color": "blue" }, { @@ -7923,7 +7923,7 @@ "type": "overmap_terrain", "id": "megastore_0_0_1", "copy-from": "megastore_0_0_1", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", @@ -7969,7 +7969,7 @@ "type": "overmap_terrain", "id": "megastore_0_0_roof", "copy-from": "megastore_0_0_roof", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", @@ -7990,7 +7990,7 @@ "type": "overmap_terrain", "id": "megastore_1_1_roof", "copy-from": "megastore_1_1_roof", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", @@ -8016,91 +8016,91 @@ "type": "overmap_terrain", "id": "hdwr_large_entrance", "copy-from": "hdwr_large_entrance", - "sym": "Á", + "sym": "\u00C1", "color": "light_green" }, { "type": "overmap_terrain", "id": "hdwr_large_SW", "copy-from": "hdwr_large_SW", - "sym": "Á", + "sym": "\u00C1", "color": "light_green" }, { "type": "overmap_terrain", "id": "hdwr_large_NW", "copy-from": "hdwr_large_NW", - "sym": "Á", + "sym": "\u00C1", "color": "light_green" }, { "type": "overmap_terrain", "id": "hdwr_large_NE", "copy-from": "hdwr_large_NE", - "sym": "Á", + "sym": "\u00C1", "color": "light_green" }, { "type": "overmap_terrain", "id": "hdwr_large_backroom", "copy-from": "hdwr_large_backroom", - "sym": "Á", + "sym": "\u00C1", "color": "light_green" }, { "type": "overmap_terrain", "id": "hdwr_large_loadingbay", "copy-from": "hdwr_large_loadingbay", - "sym": "Ö", + "sym": "\u00D6", "color": "light_green" }, { "type": "overmap_terrain", "id": "hdwr_large_0_0_0", "copy-from": "hdwr_large_0_0_0", - "sym": "Á", + "sym": "\u00C1", "color": "light_green" }, { "type": "overmap_terrain", "id": "hdwr_large_1_0_0", "copy-from": "hdwr_large_1_0_0", - "sym": "Á", + "sym": "\u00C1", "color": "light_green" }, { "type": "overmap_terrain", "id": "hdwr_large_0_1_0", "copy-from": "hdwr_large_0_1_0", - "sym": "Á", + "sym": "\u00C1", "color": "light_green" }, { "type": "overmap_terrain", "id": "hdwr_large_1_1_0", "copy-from": "hdwr_large_1_1_0", - "sym": "Á", + "sym": "\u00C1", "color": "light_green" }, { "type": "overmap_terrain", "id": "hdwr_large_0_2_0", "copy-from": "hdwr_large_0_2_0", - "sym": "Á", + "sym": "\u00C1", "color": "light_green" }, { "type": "overmap_terrain", "id": "hdwr_large_1_2_0", "copy-from": "hdwr_large_1_2_0", - "sym": "Á", + "sym": "\u00C1", "color": "light_green" }, { "type": "overmap_terrain", "id": "hdwr_large_0_0_1", "copy-from": "hdwr_large_0_0_1", - "sym": "¦", + "sym": "\u00A6", "color": "brown", "extras": "field" }, @@ -8108,7 +8108,7 @@ "type": "overmap_terrain", "id": "hdwr_large_1_0_1", "copy-from": "hdwr_large_1_0_1", - "sym": "¦", + "sym": "\u00A6", "color": "brown", "extras": "field" }, @@ -8116,7 +8116,7 @@ "type": "overmap_terrain", "id": "hdwr_large_0_1_1", "copy-from": "hdwr_large_0_1_1", - "sym": "¦", + "sym": "\u00A6", "color": "brown", "extras": "field" }, @@ -8124,7 +8124,7 @@ "type": "overmap_terrain", "id": "hdwr_large_1_1_1", "copy-from": "hdwr_large_1_1_1", - "sym": "¦", + "sym": "\u00A6", "color": "brown", "extras": "field" }, @@ -8132,7 +8132,7 @@ "type": "overmap_terrain", "id": "hdwr_large_0_2_1", "copy-from": "hdwr_large_0_2_1", - "sym": "¦", + "sym": "\u00A6", "color": "brown", "extras": "field" }, @@ -8140,7 +8140,7 @@ "type": "overmap_terrain", "id": "hdwr_large_1_2_1", "copy-from": "hdwr_large_1_2_1", - "sym": "¦", + "sym": "\u00A6", "color": "brown", "extras": "field" }, @@ -8148,472 +8148,472 @@ "type": "overmap_terrain", "id": "garage_gas_1", "copy-from": "garage_gas_1", - "sym": "ú" + "sym": "\u00FA" }, { "type": "overmap_terrain", "id": "garage_gas_roof_1", "copy-from": "garage_gas_roof_1", - "sym": "ú" + "sym": "\u00FA" }, { "type": "overmap_terrain", "id": "garage_gas_2", "copy-from": "garage_gas_2", - "sym": "æ" + "sym": "\u00E6" }, { "type": "overmap_terrain", "id": "garage_gas_roof_2", "copy-from": "garage_gas_roof_2", - "sym": "æ" + "sym": "\u00E6" }, { "type": "overmap_terrain", "id": "garage_gas_3", "copy-from": "garage_gas_3", - "sym": "æ" + "sym": "\u00E6" }, { "type": "overmap_terrain", "id": "garage_gas_roof_3", "copy-from": "garage_gas_roof_3", - "sym": "æ" + "sym": "\u00E6" }, { "id": "dispensary", "type": "overmap_terrain", "copy-from": "dispensary", - "sym": "ç", + "sym": "\u00E7", "color": "green" }, { "id": "dispensary_roof", "type": "overmap_terrain", "copy-from": "dispensary_roof", - "sym": "ç", + "sym": "\u00E7", "color": "green" }, { "id": "dispensary_1", "type": "overmap_terrain", "copy-from": "dispensary_1", - "sym": "ç", + "sym": "\u00E7", "color": "green" }, { "id": "dispensary_roof_1", "type": "overmap_terrain", "copy-from": "dispensary_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "green" }, { "id": "dispensary_2", "type": "overmap_terrain", "copy-from": "dispensary_2", - "sym": "ç", + "sym": "\u00E7", "color": "green" }, { "id": "dispensary_roof_2", "type": "overmap_terrain", "copy-from": "dispensary_roof_2", - "sym": "ç", + "sym": "\u00E7", "color": "green" }, { "id": "small_office", "copy-from": "small_office", "type": "overmap_terrain", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "id": "small_office_roof", "copy-from": "small_office_roof", "type": "overmap_terrain", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "id": "small_office_upper_roof", "copy-from": "small_office_upper_roof", "type": "overmap_terrain", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "candy_shop", "copy-from": "candy_shop", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "candy_shop_roof", "copy-from": "candy_shop_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "candy_shop_1", "copy-from": "candy_shop_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "candy_shop_roof_1", "copy-from": "candy_shop_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "bakery", "copy-from": "bakery", - "sym": "ç", + "sym": "\u00E7", "color": "green" }, { "type": "overmap_terrain", "id": "bakery_roof", "copy-from": "bakery_roof", - "sym": "ç", + "sym": "\u00E7", "color": "green" }, { "type": "overmap_terrain", "id": "bakery_upper_roof", "copy-from": "bakery_upper_roof", - "sym": "ç", + "sym": "\u00E7", "color": "green" }, { "type": "overmap_terrain", "id": "icecream_shop", "copy-from": "icecream_shop", - "sym": "ç", + "sym": "\u00E7", "color": "yellow" }, { "type": "overmap_terrain", "id": "icecream_shop_roof", "copy-from": "icecream_shop_roof", - "sym": "ç", + "sym": "\u00E7", "color": "yellow" }, { "type": "overmap_terrain", "id": "dollarstore", "copy-from": "dollarstore", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "dollarstore_roof", "copy-from": "dollarstore_roof", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "dollarstore_1", "copy-from": "dollarstore_1", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "dollarstore_roof_1", "copy-from": "dollarstore_roof_1", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "lancenter", "copy-from": "lancenter", - "sym": "ç", + "sym": "\u00E7", "color": "light_cyan" }, { "type": "overmap_terrain", "id": "lancenter_roof", "copy-from": "lancenter_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_cyan" }, { "type": "overmap_terrain", "id": "lancenter_1", "copy-from": "lancenter_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_cyan" }, { "type": "overmap_terrain", "id": "lancenter_roof_1", "copy-from": "lancenter_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_cyan" }, { "type": "overmap_terrain", "id": "landscapingsupplyco_1a", "copy-from": "landscapingsupplyco_1a", - "sym": "ç", + "sym": "\u00E7", "color": "green" }, { "type": "overmap_terrain", "id": "landscapingsupplyco_1b", "copy-from": "landscapingsupplyco_1b", - "sym": "ç", + "sym": "\u00E7", "color": "green" }, { "type": "overmap_terrain", "id": "landscapingsupplyco_1b_roof", "copy-from": "landscapingsupplyco_1b_roof", - "sym": "ç", + "sym": "\u00E7", "color": "green" }, { "type": "overmap_terrain", "id": "s_vfw", "copy-from": "s_vfw", - "sym": "ÿ", + "sym": "\u00FF", "color": "green" }, { "type": "overmap_terrain", "id": "s_vfw_roof", "copy-from": "s_vfw_roof", - "sym": "ÿ", + "sym": "\u00FF", "color": "green" }, { "type": "overmap_terrain", "id": "s_thrift", "copy-from": "s_thrift", - "sym": "ç", + "sym": "\u00E7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "s_thrift_roof", "copy-from": "s_thrift_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "s_daycare", "copy-from": "s_daycare", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "s_daycare_roof", "copy-from": "s_daycare_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "s_petstore", "copy-from": "s_petstore", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "s_petstore_roof", "copy-from": "s_petstore_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "s_petstore_1", "copy-from": "s_petstore_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "s_petstore_roof_1", "copy-from": "s_petstore_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "s_petstore_2", "copy-from": "s_petstore_2", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "s_petstore_roof_2", "copy-from": "s_petstore_roof_2", - "sym": "ç", + "sym": "\u00E7", "color": "light_green" }, { "type": "overmap_terrain", "id": "s_shoppingplaza_a1", "copy-from": "s_shoppingplaza_a1", - "sym": "×", + "sym": "\u00D7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "s_shoppingplaza_a2", "copy-from": "s_shoppingplaza_a2", - "sym": "×", + "sym": "\u00D7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "s_shoppingplaza_a3", "copy-from": "s_shoppingplaza_a3", - "sym": "×", + "sym": "\u00D7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "s_shoppingplaza_a4", "copy-from": "s_shoppingplaza_a4", - "sym": "×", + "sym": "\u00D7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "s_shoppingplaza_a5", "copy-from": "s_shoppingplaza_a5", - "sym": "×", + "sym": "\u00D7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "s_shoppingplaza_a6", "copy-from": "s_shoppingplaza_a6", - "sym": "Á", + "sym": "\u00C1", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "s_shoppingplaza_b1", "copy-from": "s_shoppingplaza_b1", - "sym": "Á", + "sym": "\u00C1", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "s_shoppingplaza_b2", "copy-from": "s_shoppingplaza_b2", - "sym": "Á", + "sym": "\u00C1", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "s_shoppingplaza_b3", "copy-from": "s_shoppingplaza_b3", - "sym": "Á", + "sym": "\u00C1", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "s_shoppingplaza_b4", "copy-from": "s_shoppingplaza_b4", - "sym": "Á", + "sym": "\u00C1", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "s_shoppingplaza_b5", "copy-from": "s_shoppingplaza_b5", - "sym": "Á", + "sym": "\u00C1", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "s_shoppingplaza_b6", "copy-from": "s_shoppingplaza_b6", - "sym": "Á", + "sym": "\u00C1", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "veterinarian", "copy-from": "veterinarian", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "veterinarian_roof", "copy-from": "veterinarian_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "s_laundromat", "copy-from": "s_laundromat", - "sym": "ç", + "sym": "\u00E7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "s_laundromat_roof", "copy-from": "s_laundromat_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "s_laundromat_1", "copy-from": "s_laundromat_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "s_laundromat_roof_1", "copy-from": "s_laundromat_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "s_jewelry", "copy-from": "s_jewelry", - "sym": "ç", + "sym": "\u00E7", "color": "white" }, { "type": "overmap_terrain", "id": "s_jewelry_roof", "copy-from": "s_jewelry_roof", - "sym": "ç", + "sym": "\u00E7", "color": "white" }, { "type": "overmap_terrain", "abstract": "generic_motel", "copy-from": "generic_motel", - "sym": "å" + "sym": "\u00E5" }, { "type": "overmap_terrain", "id": "2fmotel_entrance", "copy-from": "2fmotel_entrance", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", @@ -8669,21 +8669,21 @@ "type": "overmap_terrain", "abstract": "generic_large_office_tower", "copy-from": "generic_large_office_tower", - "sym": "Ç", + "sym": "\u00C7", "color": "white" }, { "type": "overmap_terrain", "id": "home_improvement", "copy-from": "home_improvement", - "sym": "ç", + "sym": "\u00E7", "color": "light_cyan" }, { "type": "overmap_terrain", "id": "home_improvement_roof", "copy-from": "home_improvement_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_cyan" }, { @@ -8780,363 +8780,363 @@ "type": "overmap_terrain", "id": "loffice_tower_17", "copy-from": "loffice_tower_17", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "loffice_tower_18", "copy-from": "loffice_tower_18", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "loffice_tower_19", "copy-from": "loffice_tower_19", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "loffice_tower_20", "copy-from": "loffice_tower_20", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "s_antique", "copy-from": "s_antique", - "sym": "ç", + "sym": "\u00E7", "color": "magenta" }, { "type": "overmap_terrain", "id": "s_antique_roof", "copy-from": "s_antique_roof", - "sym": "ç", + "sym": "\u00E7", "color": "magenta" }, { "type": "overmap_terrain", "id": "s_arcade", "copy-from": "s_arcade", - "sym": "ç", + "sym": "\u00E7", "color": "light_cyan" }, { "type": "overmap_terrain", "id": "s_arcade_roof", "copy-from": "s_arcade_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_cyan" }, { "type": "overmap_terrain", "id": "s_gardening", "copy-from": "s_gardening", - "sym": "ç", + "sym": "\u00E7", "color": "green" }, { "type": "overmap_terrain", "id": "s_gardening_roof", "copy-from": "s_gardening_roof", - "sym": "ç", + "sym": "\u00E7", "color": "green" }, { "type": "overmap_terrain", "id": "craft_shop", "copy-from": "craft_shop", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "craft_shop_roof", "copy-from": "craft_shop_roof", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "craft_shop_upper_roof", "copy-from": "craft_shop_upper_roof", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "craft_shop_1", "copy-from": "craft_shop_1", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "craft_shop_roof_1", "copy-from": "craft_shop_roof_1", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "craft_shop_2", "copy-from": "craft_shop_2", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "craft_shop_2ndfloor_2", "copy-from": "craft_shop_2ndfloor_2", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "craft_shop_roof_2", "copy-from": "craft_shop_roof_2", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "cs_market_small", "copy-from": "cs_market_small", - "sym": "ç", + "sym": "\u00E7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "cs_sex_shop", "copy-from": "cs_sex_shop", - "sym": "ç", + "sym": "\u00E7", "color": "pink" }, { "type": "overmap_terrain", "id": "cs_sex_shop_roof", "copy-from": "cs_sex_shop_roof", - "sym": "ç", + "sym": "\u00E7", "color": "pink" }, { "type": "overmap_terrain", "id": "cs_internet_cafe", "copy-from": "cs_internet_cafe", - "sym": "ç", + "sym": "\u00E7", "color": "light_cyan" }, { "type": "overmap_terrain", "id": "cs_internet_cafe_roof", "copy-from": "cs_internet_cafe_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_cyan" }, { "type": "overmap_terrain", "id": "cs_internet_cafe_upper_roof", "copy-from": "cs_internet_cafe_upper_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_cyan" }, { "type": "overmap_terrain", "id": "cs_car_showroom", "copy-from": "cs_car_showroom", - "sym": "Á", + "sym": "\u00C1", "color": "white" }, { "type": "overmap_terrain", "id": "cs_car_showroom_2ndfloor", "copy-from": "cs_car_showroom_2ndfloor", - "sym": "Á", + "sym": "\u00C1", "color": "white" }, { "type": "overmap_terrain", "id": "cs_car_showroom_roof", "copy-from": "cs_car_showroom_roof", - "sym": "Á", + "sym": "\u00C1", "color": "white" }, { "type": "overmap_terrain", "id": "cs_car_dealership", "copy-from": "cs_car_dealership", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "cs_car_dealership_roof", "copy-from": "cs_car_dealership_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "cs_tire_shop", "copy-from": "cs_tire_shop", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "cs_tire_shop_roof", "copy-from": "cs_tire_shop_roof", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "headshop", "copy-from": "headshop", - "sym": "ç", + "sym": "\u00E7", "color": "green" }, { "type": "overmap_terrain", "id": "headshop_roof", "copy-from": "headshop_roof", - "sym": "ç", + "sym": "\u00E7", "color": "green" }, { "type": "overmap_terrain", "id": "headshop_upper_roof", "copy-from": "headshop_upper_roof", - "sym": "ç", + "sym": "\u00E7", "color": "green" }, { "type": "overmap_terrain", "id": "abstorefront", "copy-from": "abstorefront", - "sym": "ç", + "sym": "\u00E7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "abstorefront_roof", "copy-from": "abstorefront_roof", - "sym": "ç", + "sym": "\u00E7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "abstorefront_1", "copy-from": "abstorefront_1", - "sym": "ç", + "sym": "\u00E7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "abstorefront_roof_1", "copy-from": "abstorefront_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "abstorefront_2", "copy-from": "abstorefront_2", - "sym": "ç", + "sym": "\u00E7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "abstorefront_roof_2", "copy-from": "abstorefront_roof_2", - "sym": "ç", + "sym": "\u00E7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "station_radio", "copy-from": "station_radio", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "station_radio_roof", "copy-from": "station_radio_roof", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "station_radio_1", "copy-from": "station_radio_1", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "station_radio_roof_1", "copy-from": "station_radio_roof_1", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "cs_gardening_allotment", "copy-from": "cs_gardening_allotment", - "sym": "è", + "sym": "\u00E8", "color": "brown" }, { "type": "overmap_terrain", "id": "cs_gardening_allotment_roof", "copy-from": "cs_gardening_allotment_roof", - "sym": "è", + "sym": "\u00E8", "color": "brown" }, { "type": "overmap_terrain", "id": "animalpound", "copy-from": "animalpound", - "sym": "ç", + "sym": "\u00E7", "color": "brown" }, { "type": "overmap_terrain", "id": "animalpound_roof", "copy-from": "animalpound_roof", - "sym": "ç", + "sym": "\u00E7", "color": "brown" }, { "type": "overmap_terrain", "id": "animalshelter", "copy-from": "animalshelter", - "sym": "ç", + "sym": "\u00E7", "color": "pink" }, { "type": "overmap_terrain", "id": "animalshelter_roof", "copy-from": "animalshelter_roof", - "sym": "ç", + "sym": "\u00E7", "color": "pink" }, { "type": "overmap_terrain", "id": "emptycommerciallot", "copy-from": "emptycommerciallot", - "sym": "×", + "sym": "\u00D7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "s_hunting", "copy-from": "s_hunting", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "s_hunting_roof", "copy-from": "s_hunting_roof", - "sym": "ç" + "sym": "\u00E7" }, { "//": "OVERMAP_TERRAIN_ABSTRACT.JSON", "type": "overmap_terrain", "abstract": "generic_cemetery", "copy-from": "generic_cemetery", - "sym": "Ä" + "sym": "\u00C4" }, { "//": "OVERMAP_TERRAIN_CEMETERY.JSON", @@ -9174,61 +9174,61 @@ "type": "overmap_terrain", "id": "evac_center_7", "copy-from": "evac_center_7", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "evac_center_8", "copy-from": "evac_center_8", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "evac_center_9", "copy-from": "evac_center_9", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "evac_center_12", "copy-from": "evac_center_12", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "evac_center_13", "copy-from": "evac_center_13", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "evac_center_14", "copy-from": "evac_center_14", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "evac_center_17", "copy-from": "evac_center_17", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "evac_center_18", "copy-from": "evac_center_18", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "evac_center_19", "copy-from": "evac_center_19", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "abstract": "generic_refctr", "copy-from": "generic_refctr", - "sym": "¨", + "sym": "\u00A8", "color": "brown" }, { @@ -10210,7 +10210,7 @@ "type": "overmap_terrain", "abstract": "generic_rc_air", "copy-from": "generic_rc_air", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", @@ -12466,7 +12466,7 @@ "type": "overmap_terrain", "abstract": "generic_rc_underground", "copy-from": "generic_rc_underground", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", @@ -16973,7 +16973,7 @@ "type": "overmap_terrain", "id": "campus_admin_0_0_0", "copy-from": "campus_admin_0_0_0", - "sym": "Á", + "sym": "\u00C1", "color": "light_green" }, { @@ -17035,7 +17035,7 @@ "type": "overmap_terrain", "id": "campus_commons_0_0_0", "copy-from": "campus_commons_0_0_0", - "sym": "Ç", + "sym": "\u00C7", "color": "light_green" }, { @@ -17157,7 +17157,7 @@ "type": "overmap_terrain", "id": "campus_commons_0_0_3", "copy-from": "campus_commons_0_0_3", - "sym": "Ç", + "sym": "\u00C7", "color": "light_green" }, { @@ -17199,7 +17199,7 @@ "type": "overmap_terrain", "id": "campus_media_0_0_0", "copy-from": "campus_media_0_0_0", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", @@ -17300,7 +17300,7 @@ "type": "overmap_terrain", "id": "campus_health_0_0_0", "copy-from": "campus_health_0_0_0", - "sym": "Á", + "sym": "\u00C1", "color": "light_red" }, { @@ -17362,7 +17362,7 @@ "type": "overmap_terrain", "id": "campus_lecture_0_0_0", "copy-from": "campus_lecture_0_0_0", - "sym": "þ", + "sym": "\u00FE", "color": "brown" }, { @@ -17444,7 +17444,7 @@ "type": "overmap_terrain", "id": "garage_gas_2", "copy-from": "garage_gas_2", - "sym": "æ", + "sym": "\u00E6", "color": "light_gray" }, { @@ -17466,14 +17466,14 @@ "type": "overmap_terrain", "id": "Cemetery_1a", "copy-from": "Cemetery_1a", - "sym": "Ä", + "sym": "\u00C4", "color": "light_gray" }, { "type": "overmap_terrain", "id": "Cemetery_1b", "copy-from": "Cemetery_1b", - "sym": "Ä", + "sym": "\u00C4", "color": "light_gray" }, { @@ -17481,320 +17481,320 @@ "type": "overmap_terrain", "abstract": "generic_necropolis_surface_building", "copy-from": "generic_necropolis_surface_building", - "sym": "å" + "sym": "\u00E5" }, { "type": "overmap_terrain", "id": "necropolis_a_1", "copy-from": "necropolis_a_1", - "sym": "¨", + "sym": "\u00A8", "color": "brown" }, { "type": "overmap_terrain", "id": "necropolis_a_2", "copy-from": "necropolis_a_2", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "necropolis_a_3", "copy-from": "necropolis_a_3", - "sym": "¨", + "sym": "\u00A8", "color": "brown" }, { "type": "overmap_terrain", "id": "necropolis_a_4", "copy-from": "necropolis_a_4", - "sym": "¨", + "sym": "\u00A8", "color": "brown" }, { "type": "overmap_terrain", "id": "necropolis_a_5", "copy-from": "necropolis_a_5", - "sym": "ç", + "sym": "\u00E7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "necropolis_a_7", "copy-from": "necropolis_a_7", - "sym": "Ö", + "sym": "\u00D6", "color": "blue" }, { "type": "overmap_terrain", "id": "necropolis_a_8", "copy-from": "necropolis_a_8", - "sym": "Ö", + "sym": "\u00D6", "color": "blue" }, { "type": "overmap_terrain", "id": "necropolis_a_9", "copy-from": "necropolis_a_9", - "sym": "¨", + "sym": "\u00A8", "color": "brown" }, { "type": "overmap_terrain", "id": "necropolis_a_10", "copy-from": "necropolis_a_10", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "necropolis_a_12", "copy-from": "necropolis_a_12", - "sym": "ç", + "sym": "\u00E7", "color": "green" }, { "type": "overmap_terrain", "id": "necropolis_a_13", "copy-from": "necropolis_a_13", - "sym": "ç", + "sym": "\u00E7", "color": "white" }, { "type": "overmap_terrain", "id": "necropolis_a_14", "copy-from": "necropolis_a_14", - "sym": "ü", + "sym": "\u00FC", "color": "red" }, { "type": "overmap_terrain", "id": "necropolis_a_16", "copy-from": "necropolis_a_16", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_blue" }, { "type": "overmap_terrain", "id": "necropolis_a_17", "copy-from": "necropolis_a_17", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_blue" }, { "type": "overmap_terrain", "id": "necropolis_a_18", "copy-from": "necropolis_a_18", - "sym": "¨", + "sym": "\u00A8", "color": "brown" }, { "type": "overmap_terrain", "id": "necropolis_a_19", "copy-from": "necropolis_a_19", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "necropolis_a_27", "copy-from": "necropolis_a_27", - "sym": "¨", + "sym": "\u00A8", "color": "brown" }, { "type": "overmap_terrain", "id": "necropolis_a_28", "copy-from": "necropolis_a_28", - "sym": "ç", + "sym": "\u00E7", "color": "green" }, { "type": "overmap_terrain", "id": "necropolis_a_29", "copy-from": "necropolis_a_29", - "sym": "ç", + "sym": "\u00E7", "color": "green" }, { "type": "overmap_terrain", "id": "necropolis_a_30", "copy-from": "necropolis_a_30", - "sym": "î", + "sym": "\u00EE", "color": "green" }, { "type": "overmap_terrain", "id": "necropolis_a_32", "copy-from": "necropolis_a_32", - "sym": "ò", + "sym": "\u00F2", "color": "light_gray" }, { "type": "overmap_terrain", "id": "necropolis_a_33", "copy-from": "necropolis_a_33", - "sym": "ò", + "sym": "\u00F2", "color": "light_gray" }, { "type": "overmap_terrain", "id": "necropolis_a_34", "copy-from": "necropolis_a_34", - "sym": "ç", + "sym": "\u00E7", "color": "brown" }, { "type": "overmap_terrain", "id": "necropolis_a_35", "copy-from": "necropolis_a_35", - "sym": "ü", + "sym": "\u00FC", "color": "red" }, { "type": "overmap_terrain", "id": "necropolis_a_36", "copy-from": "necropolis_a_36", - "sym": "¨", + "sym": "\u00A8", "color": "brown" }, { "type": "overmap_terrain", "id": "necropolis_a_37", "copy-from": "necropolis_a_37", - "sym": "ç", + "sym": "\u00E7", "color": "brown" }, { "type": "overmap_terrain", "id": "necropolis_a_38", "copy-from": "necropolis_a_38", - "sym": "ü", + "sym": "\u00FC", "color": "red" }, { "type": "overmap_terrain", "id": "necropolis_a_45", "copy-from": "necropolis_a_45", - "sym": "¨", + "sym": "\u00A8", "color": "brown" }, { "type": "overmap_terrain", "id": "necropolis_a_46", "copy-from": "necropolis_a_46", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "necropolis_a_48", "copy-from": "necropolis_a_48", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "necropolis_a_49", "copy-from": "necropolis_a_49", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "necropolis_a_51", "copy-from": "necropolis_a_51", - "sym": "ç", + "sym": "\u00E7", "color": "light_red" }, { "type": "overmap_terrain", "id": "necropolis_a_52", "copy-from": "necropolis_a_52", - "sym": "þ", + "sym": "\u00FE", "color": "yellow" }, { "type": "overmap_terrain", "id": "necropolis_a_54", "copy-from": "necropolis_a_54", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "necropolis_a_55", "copy-from": "necropolis_a_55", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "necropolis_a_56", "copy-from": "necropolis_a_56", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "necropolis_a_57", "copy-from": "necropolis_a_57", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "necropolis_a_58", "copy-from": "necropolis_a_58", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "necropolis_a_60", "copy-from": "necropolis_a_60", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "necropolis_a_61", "copy-from": "necropolis_a_61", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "necropolis_a_63", "copy-from": "necropolis_a_63", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "necropolis_a_72", "copy-from": "necropolis_a_72", - "sym": "¨", + "sym": "\u00A8", "color": "brown" }, { "type": "overmap_terrain", "id": "necropolis_a_73", "copy-from": "necropolis_a_73", - "sym": "¨", + "sym": "\u00A8", "color": "brown" }, { "type": "overmap_terrain", "id": "necropolis_a_74", "copy-from": "necropolis_a_74", - "sym": "ç", + "sym": "\u00E7", "color": "magenta" }, { "type": "overmap_terrain", "id": "necropolis_a_75", "copy-from": "necropolis_a_75", - "sym": "ç", + "sym": "\u00E7", "color": "yellow" }, { "type": "overmap_terrain", "id": "necropolis_a_76", "copy-from": "necropolis_a_76", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", @@ -17807,21 +17807,21 @@ "type": "overmap_terrain", "id": "necropolis_a_79", "copy-from": "necropolis_a_79", - "sym": "ú", + "sym": "\u00FA", "color": "light_gray" }, { "type": "overmap_terrain", "id": "necropolis_a_80", "copy-from": "necropolis_a_80", - "sym": "¨", + "sym": "\u00A8", "color": "brown" }, { "type": "overmap_terrain", "id": "necropolis_a_81", "copy-from": "necropolis_a_81", - "sym": "¨", + "sym": "\u00A8", "color": "brown" }, { @@ -17829,976 +17829,976 @@ "type": "overmap_terrain", "id": "necropolis_b_1", "copy-from": "necropolis_b_1", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_2", "copy-from": "necropolis_b_2", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_3", "copy-from": "necropolis_b_3", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_4", "copy-from": "necropolis_b_4", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_9", "copy-from": "necropolis_b_9", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_10", "copy-from": "necropolis_b_10", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_13", "copy-from": "necropolis_b_13", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_14", "copy-from": "necropolis_b_14", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_16", "copy-from": "necropolis_b_16", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_18", "copy-from": "necropolis_b_18", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_19", "copy-from": "necropolis_b_19", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_27", "copy-from": "necropolis_b_27", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_28", "copy-from": "necropolis_b_28", - "sym": "ê", + "sym": "\u00EA", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "necropolis_b_30", "copy-from": "necropolis_b_30", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_32", "copy-from": "necropolis_b_32", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_33", "copy-from": "necropolis_b_33", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_34", "copy-from": "necropolis_b_34", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "necropolis_b_36", "copy-from": "necropolis_b_36", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_37", "copy-from": "necropolis_b_37", - "sym": "ê", + "sym": "\u00EA", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "necropolis_b_45", "copy-from": "necropolis_b_45", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_52", "copy-from": "necropolis_b_52", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_54", "copy-from": "necropolis_b_54", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "necropolis_b_55", "copy-from": "necropolis_b_55", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_60", "copy-from": "necropolis_b_60", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_61", "copy-from": "necropolis_b_61", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_63", "copy-from": "necropolis_b_63", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_72", "copy-from": "necropolis_b_72", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_73", "copy-from": "necropolis_b_73", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_74", "copy-from": "necropolis_b_74", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_75", "copy-from": "necropolis_b_75", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_76", "copy-from": "necropolis_b_76", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_80", "copy-from": "necropolis_b_80", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_b_81", "copy-from": "necropolis_b_81", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_c_1", "copy-from": "necropolis_c_1", - "sym": "Õ", + "sym": "\u00D5", "color": "green" }, { "type": "overmap_terrain", "id": "necropolis_c_2", "copy-from": "necropolis_c_2", - "sym": "Õ", + "sym": "\u00D5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "necropolis_c_3", "copy-from": "necropolis_c_3", - "sym": "Õ", + "sym": "\u00D5", "color": "green" }, { "type": "overmap_terrain", "id": "necropolis_c_4", "copy-from": "necropolis_c_4", - "sym": "Õ", + "sym": "\u00D5", "color": "green" }, { "type": "overmap_terrain", "id": "necropolis_c_5", "copy-from": "necropolis_c_5", - "sym": "Õ", + "sym": "\u00D5", "color": "red" }, { "type": "overmap_terrain", "id": "necropolis_c_6", "copy-from": "necropolis_c_6", - "sym": "Õ", + "sym": "\u00D5", "color": "red" }, { "type": "overmap_terrain", "id": "necropolis_c_7", "copy-from": "necropolis_c_7", - "sym": "Õ", + "sym": "\u00D5", "color": "red" }, { "type": "overmap_terrain", "id": "necropolis_c_8", "copy-from": "necropolis_c_8", - "sym": "Õ", + "sym": "\u00D5", "color": "red" }, { "type": "overmap_terrain", "id": "necropolis_c_9", "copy-from": "necropolis_c_9", - "sym": "Õ", + "sym": "\u00D5", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "necropolis_c_10", "copy-from": "necropolis_c_10", - "sym": "Õ", + "sym": "\u00D5", "color": "green" }, { "type": "overmap_terrain", "id": "necropolis_c_11", "copy-from": "necropolis_c_11", - "sym": "Õ", + "sym": "\u00D5", "color": "green" }, { "type": "overmap_terrain", "id": "necropolis_c_12", "copy-from": "necropolis_c_12", - "sym": "Õ", + "sym": "\u00D5", "color": "green" }, { "type": "overmap_terrain", "id": "necropolis_c_13", "copy-from": "necropolis_c_13", - "sym": "Õ", + "sym": "\u00D5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "necropolis_c_14", "copy-from": "necropolis_c_14", - "sym": "Õ", + "sym": "\u00D5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "necropolis_c_15", "copy-from": "necropolis_c_15", - "sym": "Õ", + "sym": "\u00D5", "color": "red" }, { "type": "overmap_terrain", "id": "necropolis_c_16", "copy-from": "necropolis_c_16", - "sym": "Õ", + "sym": "\u00D5", "color": "red" }, { "type": "overmap_terrain", "id": "necropolis_c_17", "copy-from": "necropolis_c_17", - "sym": "Õ", + "sym": "\u00D5", "color": "light_blue" }, { "type": "overmap_terrain", "id": "necropolis_c_18", "copy-from": "necropolis_c_18", - "sym": "Õ", + "sym": "\u00D5", "color": "light_blue" }, { "type": "overmap_terrain", "id": "necropolis_c_19", "copy-from": "necropolis_c_19", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_c_20", "copy-from": "necropolis_c_20", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "necropolis_c_21", "copy-from": "necropolis_c_21", - "sym": "Õ", + "sym": "\u00D5", "color": "cyan" }, { "type": "overmap_terrain", "id": "necropolis_c_23", "copy-from": "necropolis_c_23", - "sym": "Õ", + "sym": "\u00D5", "color": "light_cyan" }, { "type": "overmap_terrain", "id": "necropolis_c_25", "copy-from": "necropolis_c_25", - "sym": "Õ", + "sym": "\u00D5", "color": "white" }, { "type": "overmap_terrain", "id": "necropolis_c_26", "copy-from": "necropolis_c_26", - "sym": "Õ", + "sym": "\u00D5", "color": "light_blue" }, { "type": "overmap_terrain", "id": "necropolis_c_27", "copy-from": "necropolis_c_27", - "sym": "Õ", + "sym": "\u00D5", "color": "light_blue" }, { "type": "overmap_terrain", "id": "necropolis_c_29", "copy-from": "necropolis_c_29", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "necropolis_c_38", "copy-from": "necropolis_c_38", - "sym": "Õ", + "sym": "\u00D5", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "necropolis_c_39", "copy-from": "necropolis_c_39", - "sym": "Õ", + "sym": "\u00D5", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "necropolis_c_40", "copy-from": "necropolis_c_40", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_c_42", "copy-from": "necropolis_c_42", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "necropolis_c_43", "copy-from": "necropolis_c_43", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "necropolis_c_44", "copy-from": "necropolis_c_44", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "necropolis_c_46", "copy-from": "necropolis_c_46", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_c_47", "copy-from": "necropolis_c_47", - "sym": "Õ", + "sym": "\u00D5", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "necropolis_c_48", "copy-from": "necropolis_c_48", - "sym": "Õ", + "sym": "\u00D5", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "necropolis_c_51", "copy-from": "necropolis_c_51", - "sym": "Õ", + "sym": "\u00D5", "color": "light_red" }, { "type": "overmap_terrain", "id": "necropolis_c_52", "copy-from": "necropolis_c_52", - "sym": "Õ", + "sym": "\u00D5", "color": "light_red" }, { "type": "overmap_terrain", "id": "necropolis_c_53", "copy-from": "necropolis_c_53", - "sym": "Õ", + "sym": "\u00D5", "color": "light_red" }, { "type": "overmap_terrain", "id": "necropolis_c_55", "copy-from": "necropolis_c_55", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_c_64", "copy-from": "necropolis_c_64", - "sym": "Õ", + "sym": "\u00D5", "color": "light_blue" }, { "type": "overmap_terrain", "id": "necropolis_c_65", "copy-from": "necropolis_c_65", - "sym": "Õ", + "sym": "\u00D5", "color": "light_blue" }, { "type": "overmap_terrain", "id": "necropolis_c_66", "copy-from": "necropolis_c_66", - "sym": "Õ", + "sym": "\u00D5", "color": "light_blue" }, { "type": "overmap_terrain", "id": "necropolis_c_67", "copy-from": "necropolis_c_67", - "sym": "Õ", + "sym": "\u00D5", "color": "light_blue" }, { "type": "overmap_terrain", "id": "necropolis_c_68", "copy-from": "necropolis_c_68", - "sym": "Õ", + "sym": "\u00D5", "color": "pink" }, { "type": "overmap_terrain", "id": "necropolis_c_69", "copy-from": "necropolis_c_69", - "sym": "Õ", + "sym": "\u00D5", "color": "pink" }, { "type": "overmap_terrain", "id": "necropolis_c_70", "copy-from": "necropolis_c_70", - "sym": "Õ", + "sym": "\u00D5", "color": "pink" }, { "type": "overmap_terrain", "id": "necropolis_c_71", "copy-from": "necropolis_c_71", - "sym": "Õ", + "sym": "\u00D5", "color": "pink" }, { "type": "overmap_terrain", "id": "necropolis_c_72", "copy-from": "necropolis_c_72", - "sym": "Õ", + "sym": "\u00D5", "color": "pink" }, { "type": "overmap_terrain", "id": "necropolis_c_73", "copy-from": "necropolis_c_73", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_c_74", "copy-from": "necropolis_c_74", - "sym": "Õ", + "sym": "\u00D5", "color": "light_blue" }, { "type": "overmap_terrain", "id": "necropolis_c_75", "copy-from": "necropolis_c_75", - "sym": "Õ", + "sym": "\u00D5", "color": "light_blue" }, { "type": "overmap_terrain", "id": "necropolis_c_76", "copy-from": "necropolis_c_76", - "sym": "Õ", + "sym": "\u00D5", "color": "light_blue" }, { "type": "overmap_terrain", "id": "necropolis_c_77", "copy-from": "necropolis_c_77", - "sym": "Õ", + "sym": "\u00D5", "color": "light_blue" }, { "type": "overmap_terrain", "id": "necropolis_c_78", "copy-from": "necropolis_c_78", - "sym": "Õ", + "sym": "\u00D5", "color": "light_blue" }, { "type": "overmap_terrain", "id": "necropolis_c_79", "copy-from": "necropolis_c_79", - "sym": "Õ", + "sym": "\u00D5", "color": "light_blue" }, { "type": "overmap_terrain", "id": "necropolis_c_80", "copy-from": "necropolis_c_80", - "sym": "Õ", + "sym": "\u00D5", "color": "pink" }, { "type": "overmap_terrain", "id": "necropolis_c_81", "copy-from": "necropolis_c_81", - "sym": "Õ", + "sym": "\u00D5", "color": "pink" }, { "type": "overmap_terrain", "id": "necropolis_d_1", "copy-from": "necropolis_d_1", - "sym": "Õ", + "sym": "\u00D5", "color": "light_cyan" }, { "type": "overmap_terrain", "id": "necropolis_d_2", "copy-from": "necropolis_d_2", - "sym": "Õ", + "sym": "\u00D5", "color": "light_cyan" }, { "type": "overmap_terrain", "id": "necropolis_d_3", "copy-from": "necropolis_d_3", - "sym": "Õ", + "sym": "\u00D5", "color": "brown" }, { "type": "overmap_terrain", "id": "necropolis_d_4", "copy-from": "necropolis_d_4", - "sym": "Õ", + "sym": "\u00D5", "color": "brown" }, { "type": "overmap_terrain", "id": "necropolis_d_5", "copy-from": "necropolis_d_5", - "sym": "Õ", + "sym": "\u00D5", "color": "brown" }, { "type": "overmap_terrain", "id": "necropolis_d_6", "copy-from": "necropolis_d_6", - "sym": "Õ", + "sym": "\u00D5", "color": "red" }, { "type": "overmap_terrain", "id": "necropolis_d_7", "copy-from": "necropolis_d_7", - "sym": "Õ", + "sym": "\u00D5", "color": "red" }, { "type": "overmap_terrain", "id": "necropolis_d_8", "copy-from": "necropolis_d_8", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_d_9", "copy-from": "necropolis_d_9", - "sym": "Õ", + "sym": "\u00D5", "color": "magenta" }, { "type": "overmap_terrain", "id": "necropolis_d_10", "copy-from": "necropolis_d_10", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_d_17", "copy-from": "necropolis_d_17", - "sym": "Õ", + "sym": "\u00D5", "color": "magenta" }, { "type": "overmap_terrain", "id": "necropolis_d_19", "copy-from": "necropolis_d_19", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_20", "copy-from": "necropolis_d_20", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_21", "copy-from": "necropolis_d_21", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_22", "copy-from": "necropolis_d_22", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_23", "copy-from": "necropolis_d_23", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_25", "copy-from": "necropolis_d_25", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_27", "copy-from": "necropolis_d_27", - "sym": "Õ", + "sym": "\u00D5", "color": "yellow" }, { "type": "overmap_terrain", "id": "necropolis_d_28", "copy-from": "necropolis_d_28", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_29", "copy-from": "necropolis_d_29", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_30", "copy-from": "necropolis_d_30", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_31", "copy-from": "necropolis_d_31", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_32", "copy-from": "necropolis_d_32", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_33", "copy-from": "necropolis_d_33", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_34", "copy-from": "necropolis_d_34", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_35", "copy-from": "necropolis_d_35", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_36", "copy-from": "necropolis_d_36", - "sym": "Õ", + "sym": "\u00D5", "color": "yellow" }, { "type": "overmap_terrain", "id": "necropolis_d_37", "copy-from": "necropolis_d_37", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_d_38", "copy-from": "necropolis_d_38", - "sym": "Õ", + "sym": "\u00D5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "necropolis_d_39", "copy-from": "necropolis_d_39", - "sym": "Õ", + "sym": "\u00D5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "necropolis_d_41", "copy-from": "necropolis_d_41", - "sym": "Õ", + "sym": "\u00D5", "color": "green" }, { "type": "overmap_terrain", "id": "necropolis_d_42", "copy-from": "necropolis_d_42", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_43", "copy-from": "necropolis_d_43", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_44", "copy-from": "necropolis_d_44", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_46", "copy-from": "necropolis_d_46", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_48", "copy-from": "necropolis_d_48", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_49", "copy-from": "necropolis_d_49", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_50", "copy-from": "necropolis_d_50", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_52", "copy-from": "necropolis_d_52", - "sym": "Õ", + "sym": "\u00D5", "color": "light_red" }, { "type": "overmap_terrain", "id": "necropolis_d_54", "copy-from": "necropolis_d_54", - "sym": "Õ", + "sym": "\u00D5", "color": "brown" }, { "type": "overmap_terrain", "id": "necropolis_d_55", "copy-from": "necropolis_d_55", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_56", "copy-from": "necropolis_d_56", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_57", "copy-from": "necropolis_d_57", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_58", "copy-from": "necropolis_d_58", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_59", "copy-from": "necropolis_d_59", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_61", "copy-from": "necropolis_d_61", - "sym": "Õ", + "sym": "\u00D5", "color": "white" }, { "type": "overmap_terrain", "id": "necropolis_d_63", "copy-from": "necropolis_d_63", - "sym": "Õ", + "sym": "\u00D5", "color": "brown" }, { "type": "overmap_terrain", "id": "necropolis_d_64", "copy-from": "necropolis_d_64", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_65", "copy-from": "necropolis_d_65", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_66", "copy-from": "necropolis_d_66", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_67", "copy-from": "necropolis_d_67", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_68", "copy-from": "necropolis_d_68", - "sym": "Õ", + "sym": "\u00D5", "color": "light_green" }, { "type": "overmap_terrain", "id": "necropolis_d_73", "copy-from": "necropolis_d_73", - "sym": "®" + "sym": "\u00AE" }, { "type": "overmap_terrain", "id": "necropolis_d_77", "copy-from": "necropolis_d_77", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "necropolis_d_78", "copy-from": "necropolis_d_78", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "necropolis_d_80", "copy-from": "necropolis_d_80", - "sym": "Õ", + "sym": "\u00D5", "color": "light_blue" }, { @@ -18806,70 +18806,70 @@ "type": "overmap_terrain", "id": "church", "copy-from": "church", - "sym": "ò", + "sym": "\u00F2", "color": "light_gray" }, { "type": "overmap_terrain", "id": "church_roof", "copy-from": "church_roof", - "sym": "ò", + "sym": "\u00F2", "color": "light_gray" }, { "type": "overmap_terrain", "id": "church_steeple", "copy-from": "church_steeple", - "sym": "ò", + "sym": "\u00F2", "color": "light_gray" }, { "type": "overmap_terrain", "id": "church_steeple_end", "copy-from": "church_steeple_end", - "sym": "ò", + "sym": "\u00F2", "color": "light_gray" }, { "type": "overmap_terrain", "id": "church_steeple_roof", "copy-from": "church_steeple_roof", - "sym": "ò", + "sym": "\u00F2", "color": "light_gray" }, { "type": "overmap_terrain", "id": "church_1", "copy-from": "church_1", - "sym": "ò", + "sym": "\u00F2", "color": "light_gray" }, { "type": "overmap_terrain", "id": "church_2ndfloor_1", "copy-from": "church_2ndfloor_1", - "sym": "ò", + "sym": "\u00F2", "color": "light_gray" }, { "type": "overmap_terrain", "id": "church_3rdfloor_1", "copy-from": "church_3rdfloor_1", - "sym": "ò", + "sym": "\u00F2", "color": "light_gray" }, { "type": "overmap_terrain", "id": "church_roof_1", "copy-from": "church_roof_1", - "sym": "ò", + "sym": "\u00F2", "color": "light_gray" }, { "type": "overmap_terrain", "id": "cathedral_1_NW", "copy-from": "cathedral_1_NW", - "sym": "ò", + "sym": "\u00F2", "color": "white" }, { @@ -18891,7 +18891,7 @@ "type": "overmap_terrain", "id": "cathedral_b_NW", "copy-from": "cathedral_b_NW", - "sym": "ò", + "sym": "\u00F2", "color": "white" }, { @@ -18913,105 +18913,105 @@ "type": "overmap_terrain", "id": "s_library", "copy-from": "s_library", - "sym": "ÿ", + "sym": "\u00FF", "color": "brown" }, { "type": "overmap_terrain", "id": "s_library_roof", "copy-from": "s_library_roof", - "sym": "ÿ", + "sym": "\u00FF", "color": "brown" }, { "type": "overmap_terrain", "id": "s_library_1", "copy-from": "s_library_1", - "sym": "ÿ", + "sym": "\u00FF", "color": "brown" }, { "type": "overmap_terrain", "id": "s_library_roof_1", "copy-from": "s_library_roof_1", - "sym": "ÿ", + "sym": "\u00FF", "color": "brown" }, { "type": "overmap_terrain", "id": "s_library_2", "copy-from": "s_library_2", - "sym": "ÿ", + "sym": "\u00FF", "color": "brown" }, { "type": "overmap_terrain", "id": "s_library_roof_2", "copy-from": "s_library_roof_2", - "sym": "ÿ", + "sym": "\u00FF", "color": "brown" }, { "type": "overmap_terrain", "id": "police", "copy-from": "police", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_blue" }, { "type": "overmap_terrain", "id": "police_roof", "copy-from": "police_roof", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_blue" }, { "type": "overmap_terrain", "id": "police_1", "copy-from": "police_1", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_blue" }, { "type": "overmap_terrain", "id": "police_2ndfloor_1", "copy-from": "police_2ndfloor_1", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_blue" }, { "type": "overmap_terrain", "id": "police_roof_1", "copy-from": "police_roof_1", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_blue" }, { "type": "overmap_terrain", "id": "police_2", "copy-from": "police_2", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_blue" }, { "type": "overmap_terrain", "id": "police_roof_2", "copy-from": "police_roof_2", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_blue" }, { "type": "overmap_terrain", "id": "police_upper_roof_2", "copy-from": "police_upper_roof_2", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_blue" }, { "type": "overmap_terrain", "abstract": "generic_hospital", "copy-from": "generic_hospital", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", @@ -19063,775 +19063,775 @@ "type": "overmap_terrain", "id": "school_1_1", "copy-from": "school_1_1", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_1_2", "copy-from": "school_1_2", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_1_3", "copy-from": "school_1_3", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_1_4", "copy-from": "school_1_4", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_1_5", "copy-from": "school_1_5", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_1_6", "copy-from": "school_1_6", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_1_7", "copy-from": "school_1_7", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_1_8", "copy-from": "school_1_8", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_1_9", "copy-from": "school_1_9", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_2_1", "copy-from": "school_2_1", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_2_2", "copy-from": "school_2_2", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_2_3", "copy-from": "school_2_3", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_2_4", "copy-from": "school_2_4", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_2_5", "copy-from": "school_2_5", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_2_6", "copy-from": "school_2_6", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_2_7", "copy-from": "school_2_7", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_2_8", "copy-from": "school_2_8", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_2_9", "copy-from": "school_2_9", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_3_1", "copy-from": "school_3_1", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_3_2", "copy-from": "school_3_2", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_3_3", "copy-from": "school_3_3", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_3_4", "copy-from": "school_3_4", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_3_5", "copy-from": "school_3_5", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_3_6", "copy-from": "school_3_6", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_3_7", "copy-from": "school_3_7", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_3_8", "copy-from": "school_3_8", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_3_9", "copy-from": "school_3_9", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_4_1", "copy-from": "school_4_1", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_4_2", "copy-from": "school_4_2", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_4_3", "copy-from": "school_4_3", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_4_4", "copy-from": "school_4_4", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_4_5", "copy-from": "school_4_5", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_4_6", "copy-from": "school_4_6", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_4_7", "copy-from": "school_4_7", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_4_8", "copy-from": "school_4_8", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "school_4_9", "copy-from": "school_4_9", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "prison_1_1", "copy-from": "prison_1_1", - "sym": "í", + "sym": "\u00ED", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_1_2", "copy-from": "prison_1_2", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_1_3", "copy-from": "prison_1_3", - "sym": "í", + "sym": "\u00ED", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_1_4", "copy-from": "prison_1_4", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_1_5", "copy-from": "prison_1_5", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_1_6", "copy-from": "prison_1_6", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_1_7", "copy-from": "prison_1_7", - "sym": "í", + "sym": "\u00ED", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_1_8", "copy-from": "prison_1_8", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_1_9", "copy-from": "prison_1_9", - "sym": "í", + "sym": "\u00ED", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_1_b_1", "copy-from": "prison_1_b_1", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_1_b_2", "copy-from": "prison_1_b_2", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_1_b_3", "copy-from": "prison_1_b_3", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_1_b_4", "copy-from": "prison_1_b_4", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_1_b_5", "copy-from": "prison_1_b_5", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_1_b_6", "copy-from": "prison_1_b_6", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_1_b_7", "copy-from": "prison_1_b_7", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_1_b_8", "copy-from": "prison_1_b_8", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_1_b_9", "copy-from": "prison_1_b_9", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_1_b_7_hidden", "copy-from": "prison_1_b_7_hidden", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_1_b_8_hidden_lab_stairs", "copy-from": "prison_1_b_8_hidden_lab_stairs", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_1_b_9_hidden", "copy-from": "prison_1_b_9_hidden", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_1", "copy-from": "prison_alcatraz_1", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_2", "copy-from": "prison_alcatraz_2", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_3", "copy-from": "prison_alcatraz_3", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_4", "copy-from": "prison_alcatraz_4", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_5", "copy-from": "prison_alcatraz_5", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_6", "copy-from": "prison_alcatraz_6", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_7", "copy-from": "prison_alcatraz_7", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_8", "copy-from": "prison_alcatraz_8", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_9", "copy-from": "prison_alcatraz_9", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_10", "copy-from": "prison_alcatraz_10", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_11", "copy-from": "prison_alcatraz_11", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_12", "copy-from": "prison_alcatraz_12", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_13", "copy-from": "prison_alcatraz_13", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_14", "copy-from": "prison_alcatraz_14", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_15", "copy-from": "prison_alcatraz_15", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_1_2f", "copy-from": "prison_alcatraz_1_2f", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_2_2f", "copy-from": "prison_alcatraz_2_2f", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_3_2f", "copy-from": "prison_alcatraz_3_2f", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_4_2f", "copy-from": "prison_alcatraz_4_2f", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_5_2f", "copy-from": "prison_alcatraz_5_2f", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_6_2f", "copy-from": "prison_alcatraz_6_2f", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_7_2f", "copy-from": "prison_alcatraz_7_2f", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_8_2f", "copy-from": "prison_alcatraz_8_2f", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_9_2f", "copy-from": "prison_alcatraz_9_2f", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_10_2f", "copy-from": "prison_alcatraz_10_2f", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_11_2f", "copy-from": "prison_alcatraz_11_2f", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_12_2f", "copy-from": "prison_alcatraz_12_2f", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_13_2f", "copy-from": "prison_alcatraz_13_2f", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_14_2f", "copy-from": "prison_alcatraz_14_2f", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "prison_alcatraz_15_2f", "copy-from": "prison_alcatraz_15_2f", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "post_office", "copy-from": "post_office", - "sym": "å", + "sym": "\u00E5", "color": "light_blue" }, { "type": "overmap_terrain", "id": "post_office_roof", "copy-from": "post_office_roof", - "sym": "å", + "sym": "\u00E5", "color": "light_blue" }, { "type": "overmap_terrain", "id": "post_office_1", "copy-from": "post_office", - "sym": "å", + "sym": "\u00E5", "color": "light_blue" }, { "type": "overmap_terrain", "id": "post_office_roof_1", "copy-from": "post_office_roof", - "sym": "å", + "sym": "\u00E5", "color": "light_blue" }, { "type": "overmap_terrain", "id": "mortuary", "copy-from": "mortuary", - "sym": "å", + "sym": "\u00E5", "color": "brown" }, { "type": "overmap_terrain", "id": "mortuary_roof", "copy-from": "mortuary_roof", - "sym": "å", + "sym": "\u00E5", "color": "brown" }, { "type": "overmap_terrain", "id": "fire_station", "copy-from": "fire_station", - "sym": "Æ", + "sym": "\u00C6", "color": "red" }, { "type": "overmap_terrain", "id": "fire_station_roof", "copy-from": "fire_station_roof", - "sym": "Æ", + "sym": "\u00C6", "color": "red" }, { "type": "overmap_terrain", "id": "fire_station_1", "copy-from": "fire_station_1", - "sym": "Æ", + "sym": "\u00C6", "color": "red" }, { "type": "overmap_terrain", "id": "fire_station_roof_1", "copy-from": "fire_station_roof_1", - "sym": "Æ", + "sym": "\u00C6", "color": "red" }, { "type": "overmap_terrain", "id": "homeless_0_0_0", "copy-from": "homeless_0_0_0", - "sym": "å" + "sym": "\u00E5" }, { "type": "overmap_terrain", "id": "homeless_1_0_0", "copy-from": "homeless_1_0_0", - "sym": "å" + "sym": "\u00E5" }, { "type": "overmap_terrain", "id": "homeless_0_0_1", "copy-from": "homeless_0_0_1", - "sym": "å" + "sym": "\u00E5" }, { "type": "overmap_terrain", "id": "homeless_1_0_1", "copy-from": "homeless_1_0_1", - "sym": "å" + "sym": "\u00E5" }, { "type": "overmap_terrain", "id": "homeless_0_0_2", "copy-from": "homeless_0_0_2", - "sym": "å" + "sym": "\u00E5" }, { "type": "overmap_terrain", "id": "homeless_1_0_2", "copy-from": "homeless_1_0_2", - "sym": "å" + "sym": "\u00E5" }, { "type": "overmap_terrain", "id": "homeless_0_0_roof", "copy-from": "homeless_0_0_roof", - "sym": "å" + "sym": "\u00E5" }, { "type": "overmap_terrain", "id": "homeless_1_0_roof", "copy-from": "homeless_1_0_roof", - "sym": "å" + "sym": "\u00E5" }, { "type": "overmap_terrain", "id": "town_hall_0_0_0", "copy-from": "town_hall_0_0_0", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_green" }, { "type": "overmap_terrain", "id": "town_hall_1_0_0", "copy-from": "town_hall_1_0_0", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_green" }, { "type": "overmap_terrain", "id": "town_hall_0_1_0", "copy-from": "town_hall_0_1_0", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_green" }, { "type": "overmap_terrain", "id": "town_hall_1_1_0", "copy-from": "town_hall_1_1_0", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_green" }, { "type": "overmap_terrain", "id": "town_hall_0_0_1", "copy-from": "town_hall_0_0_1", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_green" }, { "type": "overmap_terrain", "id": "town_hall_1_0_1", "copy-from": "town_hall_1_0_1", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_green" }, { "type": "overmap_terrain", "id": "town_hall_0_1_1", "copy-from": "town_hall_0_1_1", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_green" }, { "type": "overmap_terrain", "id": "town_hall_1_1_1", "copy-from": "town_hall_1_1_1", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_green" }, { "type": "overmap_terrain", "id": "town_hall_0_0_roof", "copy-from": "town_hall_0_0_roof", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_green" }, { "type": "overmap_terrain", "id": "town_hall_1_0_roof", "copy-from": "town_hall_1_0_roof", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_green" }, { "type": "overmap_terrain", "id": "town_hall_0_1_roof", "copy-from": "town_hall_0_1_roof", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_green" }, { "type": "overmap_terrain", "id": "town_hall_1_1_roof", "copy-from": "town_hall_1_1_roof", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_green" }, { @@ -19839,7 +19839,7 @@ "type": "overmap_terrain", "id": "ranch_camp_11", "copy-from": "ranch_camp_11", - "sym": "©" + "sym": "\u00A9" }, { "type": "overmap_terrain", @@ -19870,7 +19870,7 @@ "type": "overmap_terrain", "id": "ranch_camp_17", "copy-from": "ranch_camp_17", - "sym": "Ü" + "sym": "\u00DC" }, { "type": "overmap_terrain", @@ -20021,28 +20021,28 @@ "type": "overmap_terrain", "id": "ranch_camp_57", "copy-from": "ranch_camp_57", - "sym": "ö", + "sym": "\u00F6", "color": "brown" }, { "type": "overmap_terrain", "id": "ranch_camp_57_roof", "copy-from": "ranch_camp_57_roof", - "sym": "ö", + "sym": "\u00F6", "color": "brown" }, { "type": "overmap_terrain", "id": "ranch_camp_57_silo", "copy-from": "ranch_camp_57_silo", - "sym": "ö", + "sym": "\u00F6", "color": "brown" }, { "type": "overmap_terrain", "id": "ranch_camp_57_silocap", "copy-from": "ranch_camp_57_silocap", - "sym": "ö", + "sym": "\u00F6", "color": "brown" }, { @@ -20074,7 +20074,7 @@ "type": "overmap_terrain", "id": "ranch_camp_65", "copy-from": "ranch_camp_65", - "sym": "©", + "sym": "\u00A9", "color": "brown" }, { @@ -20082,49 +20082,49 @@ "id": "ranch_camp_65_roof", "copy-from": "ranch_camp_65_roof", "name": "open air", - "sym": "¦", + "sym": "\u00A6", "color": "blue" }, { "type": "overmap_terrain", "id": "ranch_camp_66", "copy-from": "ranch_camp_66", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "type": "overmap_terrain", "id": "ranch_camp_66_roof", "copy-from": "ranch_camp_66_roof", - "sym": "é", + "sym": "\u00E9", "color": "brown" }, { "type": "overmap_terrain", "id": "ranch_camp_67", "copy-from": "ranch_camp_67", - "sym": "æ", + "sym": "\u00E6", "color": "light_gray" }, { "type": "overmap_terrain", "id": "ranch_camp_67_roof", "copy-from": "ranch_camp_67_roof", - "sym": "æ", + "sym": "\u00E6", "color": "light_gray" }, { "type": "overmap_terrain", "id": "ranch_camp_68", "copy-from": "ranch_camp_68", - "sym": "â", + "sym": "\u00E2", "color": "brown" }, { "type": "overmap_terrain", "id": "ranch_camp_68_roof", "copy-from": "ranch_camp_68_roof", - "sym": "â", + "sym": "\u00E2", "color": "brown" }, { @@ -20142,7 +20142,7 @@ "id": "ranch_camp_74_roof", "copy-from": "ranch_camp_74_roof", "name": "open air", - "sym": "¦", + "sym": "\u00A6", "color": "blue" }, { @@ -20150,14 +20150,14 @@ "id": "ranch_camp_75_roof", "copy-from": "ranch_camp_75_roof", "name": "open air", - "sym": "¦", + "sym": "\u00A6", "color": "blue" }, { "type": "overmap_terrain", "id": "ranch_camp_76", "copy-from": "ranch_camp_76", - "sym": "×", + "sym": "\u00D7", "color": "dark_gray" }, { @@ -20165,769 +20165,769 @@ "type": "overmap_terrain", "id": "pool", "copy-from": "pool", - "sym": "á" + "sym": "\u00E1" }, { "type": "overmap_terrain", "id": "pool_roof", "copy-from": "pool_roof", - "sym": "á" + "sym": "\u00E1" }, { "type": "overmap_terrain", "id": "pool_1", "copy-from": "pool_1", - "sym": "á" + "sym": "\u00E1" }, { "type": "overmap_terrain", "id": "pool_roof_1", "copy-from": "pool_roof_1", - "sym": "á" + "sym": "\u00E1" }, { "type": "overmap_terrain", "id": "pool_2", "copy-from": "pool_2", - "sym": "á" + "sym": "\u00E1" }, { "type": "overmap_terrain", "id": "pool_roof_2", "copy-from": "pool_roof_2", - "sym": "á" + "sym": "\u00E1" }, { "type": "overmap_terrain", "id": "pool_3", "copy-from": "pool_3", - "sym": "á" + "sym": "\u00E1" }, { "type": "overmap_terrain", "id": "pool_roof_3", "copy-from": "pool_roof_3", - "sym": "á" + "sym": "\u00E1" }, { "type": "overmap_terrain", "id": "pool_4", "copy-from": "pool_4", - "sym": "á" + "sym": "\u00E1" }, { "type": "overmap_terrain", "id": "pool_roof_4", "copy-from": "pool_roof_4", - "sym": "á" + "sym": "\u00E1" }, { "type": "overmap_terrain", "id": "pool_5", "copy-from": "pool_5", - "sym": "á" + "sym": "\u00E1" }, { "type": "overmap_terrain", "id": "pool_6", "copy-from": "pool_6", - "sym": "á" + "sym": "\u00E1" }, { "type": "overmap_terrain", "id": "football_field_a1", "copy-from": "football_field_a1", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "football_field_a2", "copy-from": "football_field_a2", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "football_field_a3", "copy-from": "football_field_a3", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "football_field_a4", "copy-from": "football_field_a4", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "football_field_a5", "copy-from": "football_field_a5", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "football_field_b1", "copy-from": "football_field_b1", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "football_field_b2", "copy-from": "football_field_b2", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "football_field_b3", "copy-from": "football_field_b3", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "football_field_b4", "copy-from": "football_field_b4", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "football_field_b5", "copy-from": "football_field_b5", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "football_field_c1", "copy-from": "football_field_c1", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "football_field_c2", "copy-from": "football_field_c2", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "football_field_c3", "copy-from": "football_field_c3", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "football_field_c4", "copy-from": "football_field_c4", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "football_field_c5", "copy-from": "football_field_c5", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "art_gallery", "copy-from": "art_gallery", - "sym": "ÿ", + "sym": "\u00FF", "color": "white" }, { "type": "overmap_terrain", "id": "art_gallery_roof", "copy-from": "art_gallery_roof", - "sym": "ÿ", + "sym": "\u00FF", "color": "white" }, { "type": "overmap_terrain", "id": "state_park_0_0", "copy-from": "state_park_0_0", - "sym": "ñ", + "sym": "\u00F1", "color": "brown" }, { "type": "overmap_terrain", "id": "state_park_0_1", "copy-from": "state_park_0_1", - "sym": "ñ", + "sym": "\u00F1", "color": "brown" }, { "type": "overmap_terrain", "id": "state_park_1_0", "copy-from": "state_park_1_0", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "state_park_1_1", "copy-from": "state_park_1_1", - "sym": "ñ", + "sym": "\u00F1", "color": "brown" }, { "type": "overmap_terrain", "id": "fishing_pond_0_0", "copy-from": "fishing_pond_0_0", - "sym": "Ü", + "sym": "\u00DC", "color": "blue" }, { "type": "overmap_terrain", "id": "fishing_pond_0_1", "copy-from": "fishing_pond_0_1", - "sym": "Ü", + "sym": "\u00DC", "color": "blue" }, { "type": "overmap_terrain", "id": "fishing_pond_1_0", "copy-from": "fishing_pond_1_0", - "sym": "Ü", + "sym": "\u00DC", "color": "blue" }, { "type": "overmap_terrain", "id": "fishing_pond_1_1", "copy-from": "fishing_pond_1_1", - "sym": "Ü", + "sym": "\u00DC", "color": "blue" }, { "type": "overmap_terrain", "id": "skate_park", "copy-from": "skate_park", - "sym": "Ü", + "sym": "\u00DC", "color": "light_gray" }, { "type": "overmap_terrain", "id": "small_wooded_trail", "copy-from": "small_wooded_trail", - "sym": "ñ", + "sym": "\u00F1", "color": "brown" }, { "type": "overmap_terrain", "id": "pavilion", "copy-from": "pavilion", - "sym": "î", + "sym": "\u00EE", "color": "brown" }, { "type": "overmap_terrain", "id": "pavilion_roof", "copy-from": "pavilion_roof", - "sym": "î", + "sym": "\u00EE", "color": "brown" }, { "type": "overmap_terrain", "id": "pavilion_1", "copy-from": "pavilion_1", - "sym": "î", + "sym": "\u00EE", "color": "brown" }, { "type": "overmap_terrain", "id": "pavilion_roof_1", "copy-from": "pavilion_roof_1", - "sym": "î", + "sym": "\u00EE", "color": "brown" }, { "type": "overmap_terrain", "id": "hunting_blind", "copy-from": "hunting_blind", - "sym": "í", + "sym": "\u00ED", "color": "brown" }, { "type": "overmap_terrain", "id": "NatureTrail_1a", "copy-from": "NatureTrail_1a", - "sym": "ñ", + "sym": "\u00F1", "color": "green" }, { "type": "overmap_terrain", "id": "NatureTrail_1b", "copy-from": "NatureTrail_1b", - "sym": "ñ", + "sym": "\u00F1", "color": "green" }, { "type": "overmap_terrain", "id": "PublicPond_1a", "copy-from": "PublicPond_1a", - "sym": "Ü", + "sym": "\u00DC", "color": "blue" }, { "type": "overmap_terrain", "id": "PublicPond_1b", "copy-from": "PublicPond_1b", - "sym": "Ü", + "sym": "\u00DC", "color": "blue" }, { "type": "overmap_terrain", "id": "communitygarden", "copy-from": "communitygarden", - "sym": "è" + "sym": "\u00E8" }, { "type": "overmap_terrain", "id": "publicgarden", "copy-from": "publicgarden", - "sym": "è" + "sym": "\u00E8" }, { "type": "overmap_terrain", "id": "BotanicalGarden_1a", "copy-from": "BotanicalGarden_1a", - "sym": "è", + "sym": "\u00E8", "color": "magenta" }, { "type": "overmap_terrain", "id": "BotanicalGarden_1a_roof", "copy-from": "BotanicalGarden_1a_roof", - "sym": "è", + "sym": "\u00E8", "color": "magenta" }, { "type": "overmap_terrain", "id": "BotanicalGarden_1b", "copy-from": "BotanicalGarden_1b", - "sym": "è", + "sym": "\u00E8", "color": "magenta" }, { "type": "overmap_terrain", "id": "BotanicalGarden_1b_roof", "copy-from": "BotanicalGarden_1b_roof", - "sym": "è", + "sym": "\u00E8", "color": "magenta" }, { "type": "overmap_terrain", "id": "TreeFarm_1a", "copy-from": "TreeFarm_1a", - "sym": "õ", + "sym": "\u00F5", "color": "light_green" }, { "type": "overmap_terrain", "id": "shootingrange_1a", "copy-from": "shootingrange_1a", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "shootingrange_1a_roof", "copy-from": "shootingrange_1a_roof", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "shootingrange_2a", "copy-from": "shootingrange_2a", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "miniaturerailway_0_0_0", "copy-from": "miniaturerailway_0_0_0", - "sym": "×" + "sym": "\u00D7" }, { "type": "overmap_terrain", "id": "miniaturerailway_0_1_0", "copy-from": "miniaturerailway_0_1_0", - "sym": "×" + "sym": "\u00D7" }, { "type": "overmap_terrain", "id": "miniaturerailway_1_0_0", "copy-from": "miniaturerailway_1_0_0", - "sym": "×" + "sym": "\u00D7" }, { "type": "overmap_terrain", "id": "miniaturerailway_1_1_0", "copy-from": "miniaturerailway_1_1_0", - "sym": "×" + "sym": "\u00D7" }, { "type": "overmap_terrain", "id": "miniaturerailway_0_0_1", "copy-from": "miniaturerailway_0_0_1", - "sym": "×" + "sym": "\u00D7" }, { "type": "overmap_terrain", "id": "miniaturerailway_0_1_1", "copy-from": "miniaturerailway_0_1_1", - "sym": "×" + "sym": "\u00D7" }, { "type": "overmap_terrain", "id": "miniaturerailway_1_0_1", "copy-from": "miniaturerailway_1_0_1", - "sym": "×" + "sym": "\u00D7" }, { "type": "overmap_terrain", "id": "miniaturerailway_1_1_1", "copy-from": "miniaturerailway_1_1_1", - "sym": "×" + "sym": "\u00D7" }, { "type": "overmap_terrain", "id": "golfcourse_00", "copy-from": "golfcourse_00", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "golfcourse_01", "copy-from": "golfcourse_01", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "golfcourse_02", "copy-from": "golfcourse_02", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "golfcourse_10", "copy-from": "golfcourse_10", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "golfcourse_11", "copy-from": "golfcourse_11", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "golfcourse_12", "copy-from": "golfcourse_12", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "golfcourse_20", "copy-from": "golfcourse_20", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "golfcourse_21", "copy-from": "golfcourse_21", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "golfcourse_22", "copy-from": "golfcourse_22", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "golfcourse_30", "copy-from": "golfcourse_30", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "golfcourse_31", "copy-from": "golfcourse_31", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "golfcourse_31_2ndfloor", "copy-from": "golfcourse_31_2ndfloor", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "golfcourse_31_roof", "copy-from": "golfcourse_31_roof", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "golfcourse_32", "copy-from": "golfcourse_32", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "s_baseballfield_a1", "copy-from": "s_baseballfield_a1", - "sym": "¦", + "sym": "\u00A6", "color": "green" }, { "type": "overmap_terrain", "id": "s_baseballfield_a2", "copy-from": "s_baseballfield_a2", - "sym": "¦", + "sym": "\u00A6", "color": "green" }, { "type": "overmap_terrain", "id": "s_baseballfield_b1", "copy-from": "s_baseballfield_b1", - "sym": "¦", + "sym": "\u00A6", "color": "green" }, { "type": "overmap_terrain", "id": "s_baseballfield_b2", "copy-from": "s_baseballfield_b2", - "sym": "¦", + "sym": "\u00A6", "color": "green" }, { "type": "overmap_terrain", "id": "zoo_0_0", "copy-from": "zoo_0_0", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "zoo_1_0", "copy-from": "zoo_1_0", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "zoo_2_0", "copy-from": "zoo_2_0", - "sym": "î", + "sym": "\u00EE", "color": "brown" }, { "type": "overmap_terrain", "id": "zoo_0_1", "copy-from": "zoo_0_1", - "sym": "Á", + "sym": "\u00C1", "color": "green" }, { "type": "overmap_terrain", "id": "zoo_0_1_roof", "copy-from": "zoo_0_1_roof", - "sym": "Á", + "sym": "\u00C1", "color": "green" }, { "type": "overmap_terrain", "id": "zoo_1_1", "copy-from": "zoo_1_1", - "sym": "Á", + "sym": "\u00C1", "color": "green" }, { "type": "overmap_terrain", "id": "zoo_1_1_roof", "copy-from": "zoo_1_1_roof", - "sym": "Á", + "sym": "\u00C1", "color": "green" }, { "type": "overmap_terrain", "id": "zoo_2_1", "copy-from": "zoo_2_1", - "sym": "Á", + "sym": "\u00C1", "color": "green" }, { "type": "overmap_terrain", "id": "zoo_2_1_roof", "copy-from": "zoo_2_1_roof", - "sym": "Á", + "sym": "\u00C1", "color": "green" }, { "type": "overmap_terrain", "id": "zoo_0_2", "copy-from": "zoo_0_2", - "sym": "Á", + "sym": "\u00C1", "color": "green" }, { "type": "overmap_terrain", "id": "zoo_0_2_roof", "copy-from": "zoo_0_2_roof", - "sym": "Á", + "sym": "\u00C1", "color": "green" }, { "type": "overmap_terrain", "id": "zoo_1_2", "copy-from": "zoo_1_2", - "sym": "Á", + "sym": "\u00C1", "color": "green" }, { "type": "overmap_terrain", "id": "zoo_1_2_roof", "copy-from": "zoo_1_2_roof", - "sym": "Á", + "sym": "\u00C1", "color": "green" }, { "type": "overmap_terrain", "id": "zoo_2_2", "copy-from": "zoo_2_2", - "sym": "Á", + "sym": "\u00C1", "color": "green" }, { "type": "overmap_terrain", "id": "zoo_2_2_roof", "copy-from": "zoo_2_2_roof", - "sym": "Á", + "sym": "\u00C1", "color": "green" }, { "type": "overmap_terrain", "id": "stadium_0_0", "copy-from": "stadium_0_0", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "stadium_1_0", "copy-from": "stadium_1_0", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "stadium_2_0", "copy-from": "stadium_2_0", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "stadium_3_0", "copy-from": "stadium_3_0", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "stadium_0_1", "copy-from": "stadium_0_1", - "sym": "Á", + "sym": "\u00C1", "color": "white" }, { "type": "overmap_terrain", "id": "stadium_1_1", "copy-from": "stadium_1_1", - "sym": "Á", + "sym": "\u00C1", "color": "light_gray" }, { "type": "overmap_terrain", "id": "stadium_2_1", "copy-from": "stadium_2_1", - "sym": "Á", + "sym": "\u00C1", "color": "white" }, { "type": "overmap_terrain", "id": "stadium_3_1", "copy-from": "stadium_3_1", - "sym": "Á", + "sym": "\u00C1", "color": "white" }, { "type": "overmap_terrain", "id": "stadium_0_2", "copy-from": "stadium_0_2", - "sym": "Á", + "sym": "\u00C1", "color": "white" }, { "type": "overmap_terrain", "id": "stadium_1_2", "copy-from": "stadium_1_2", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "stadium_2_2", "copy-from": "stadium_2_2", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "stadium_3_2", "copy-from": "stadium_3_2", - "sym": "Á", + "sym": "\u00C1", "color": "white" }, { "type": "overmap_terrain", "id": "stadium_0_3", "copy-from": "stadium_0_3", - "sym": "Á", + "sym": "\u00C1", "color": "white" }, { "type": "overmap_terrain", "id": "stadium_1_3", "copy-from": "stadium_1_3", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "stadium_2_3", "copy-from": "stadium_2_3", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "stadium_3_3", "copy-from": "stadium_3_3", - "sym": "Á", + "sym": "\u00C1", "color": "white" }, { "type": "overmap_terrain", "id": "stadium_0_4", "copy-from": "stadium_0_4", - "sym": "æ", + "sym": "\u00E6", "color": "light_gray" }, { "type": "overmap_terrain", "id": "stadium_1_4", "copy-from": "stadium_1_4", - "sym": "Á", + "sym": "\u00C1", "color": "white" }, { "type": "overmap_terrain", "id": "stadium_2_4", "copy-from": "stadium_2_4", - "sym": "Á", + "sym": "\u00C1", "color": "white" }, { @@ -20935,598 +20935,598 @@ "id": "stadium_3_4", "copy-from": "stadium_3_4", "name": "stadium bar", - "sym": "Á", + "sym": "\u00C1", "color": "magenta" }, { "type": "overmap_terrain", "id": "natural_spring", "copy-from": "natural_spring", - "sym": "Ü" + "sym": "\u00DC" }, { "type": "overmap_terrain", "id": "movietheater_0_0", "copy-from": "movietheater_0_0", - "sym": "Á", + "sym": "\u00C1", "color": "yellow" }, { "type": "overmap_terrain", "id": "movietheater_1_0", "copy-from": "movietheater_1_0", - "sym": "ÿ", + "sym": "\u00FF", "color": "yellow" }, { "type": "overmap_terrain", "id": "movietheater_2_0", "copy-from": "movietheater_2_0", - "sym": "Á", + "sym": "\u00C1", "color": "yellow" }, { "type": "overmap_terrain", "id": "movietheater_0_1", "copy-from": "movietheater_0_1", - "sym": "Á", + "sym": "\u00C1", "color": "yellow" }, { "type": "overmap_terrain", "id": "movietheater_1_1", "copy-from": "movietheater_1_1", - "sym": "Á", + "sym": "\u00C1", "color": "yellow" }, { "type": "overmap_terrain", "id": "movietheater_2_1", "copy-from": "movietheater_2_1", - "sym": "Á", + "sym": "\u00C1", "color": "yellow" }, { "type": "overmap_terrain", "id": "movietheater_0_2", "copy-from": "movietheater_0_2", - "sym": "Á", + "sym": "\u00C1", "color": "yellow" }, { "type": "overmap_terrain", "id": "movietheater_1_2", "copy-from": "movietheater_1_2", - "sym": "Á", + "sym": "\u00C1", "color": "yellow" }, { "type": "overmap_terrain", "id": "movietheater_2_2", "copy-from": "movietheater_2_2", - "sym": "Á", + "sym": "\u00C1", "color": "yellow" }, { "type": "overmap_terrain", "id": "movietheater_roof_0_0", "copy-from": "movietheater_roof_0_0", - "sym": "Á", + "sym": "\u00C1", "color": "yellow" }, { "type": "overmap_terrain", "id": "movietheater_roof_1_0", "copy-from": "movietheater_roof_1_0", - "sym": "ÿ", + "sym": "\u00FF", "color": "yellow" }, { "type": "overmap_terrain", "id": "movietheater_roof_2_0", "copy-from": "movietheater_roof_2_0", - "sym": "Á", + "sym": "\u00C1", "color": "yellow" }, { "type": "overmap_terrain", "id": "movietheater_roof_0_1", "copy-from": "movietheater_roof_0_1", - "sym": "Á", + "sym": "\u00C1", "color": "yellow" }, { "type": "overmap_terrain", "id": "movietheater_roof_1_1", "copy-from": "movietheater_roof_1_1", - "sym": "Á", + "sym": "\u00C1", "color": "yellow" }, { "type": "overmap_terrain", "id": "movietheater_roof_2_1", "copy-from": "movietheater_roof_2_1", - "sym": "Á", + "sym": "\u00C1", "color": "yellow" }, { "type": "overmap_terrain", "id": "movietheater_roof_0_2", "copy-from": "movietheater_roof_0_2", - "sym": "Á", + "sym": "\u00C1", "color": "yellow" }, { "type": "overmap_terrain", "id": "movietheater_roof_1_2", "copy-from": "movietheater_roof_1_2", - "sym": "Á", + "sym": "\u00C1", "color": "yellow" }, { "type": "overmap_terrain", "id": "movietheater_roof_2_2", "copy-from": "movietheater_roof_2_2", - "sym": "Á", + "sym": "\u00C1", "color": "yellow" }, { "type": "overmap_terrain", "id": "paintball_field", "copy-from": "paintball_field", - "sym": "¦", + "sym": "\u00A6", "color": "magenta" }, { "type": "overmap_terrain", "id": "paintball_field_roof", "copy-from": "paintball_field_roof", - "sym": "¦", + "sym": "\u00A6", "color": "magenta" }, { "type": "overmap_terrain", "id": "paintball_field_1", "copy-from": "paintball_field_1", - "sym": "¦", + "sym": "\u00A6", "color": "magenta" }, { "type": "overmap_terrain", "id": "paintball_field_roof_1", "copy-from": "paintball_field_roof_1", - "sym": "¦", + "sym": "\u00A6", "color": "magenta" }, { "type": "overmap_terrain", "id": "smoke_lounge", "copy-from": "smoke_lounge", - "sym": "ç", + "sym": "\u00E7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "smoke_lounge_roof", "copy-from": "smoke_lounge_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "smoke_lounge_1", "copy-from": "smoke_lounge_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "smoke_lounge_roof_1", "copy-from": "smoke_lounge_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_gray" }, { "type": "overmap_terrain", "id": "music_venue", "copy-from": "music_venue", - "sym": "Á", + "sym": "\u00C1", "color": "magenta" }, { "type": "overmap_terrain", "id": "music_venue_roof", "copy-from": "music_venue_roof", - "sym": "Á", + "sym": "\u00C1", "color": "magenta" }, { "type": "overmap_terrain", "id": "music_venue_1", "copy-from": "music_venue_1", - "sym": "Á", + "sym": "\u00C1", "color": "magenta" }, { "type": "overmap_terrain", "id": "music_venue_1_roof", "copy-from": "music_venue_1_roof", - "sym": "Á", + "sym": "\u00C1", "color": "magenta" }, { "type": "overmap_terrain", "id": "music_venue_1_roof_top", "copy-from": "music_venue_1_roof_top", - "sym": "Á", + "sym": "\u00C1", "color": "magenta" }, { "type": "overmap_terrain", "id": "gambling_hall", "copy-from": "gambling_hall", - "sym": "ÿ", + "sym": "\u00FF", "color": "white" }, { "type": "overmap_terrain", "id": "gambling_hall_roof", "copy-from": "gambling_hall_roof", - "sym": "ÿ", + "sym": "\u00FF", "color": "white" }, { "type": "overmap_terrain", "id": "gambling_hall_upper_roof", "copy-from": "gambling_hall_upper_roof", - "sym": "ÿ", + "sym": "\u00FF", "color": "white" }, { "type": "overmap_terrain", "id": "gambling_hall_1", "copy-from": "gambling_hall_1", - "sym": "ÿ", + "sym": "\u00FF", "color": "white" }, { "type": "overmap_terrain", "id": "gambling_hall_roof_1", "copy-from": "gambling_hall_roof_1", - "sym": "ÿ", + "sym": "\u00FF", "color": "white" }, { "type": "overmap_terrain", "id": "stripclub", "copy-from": "stripclub", - "sym": "å", + "sym": "\u00E5", "color": "pink" }, { "type": "overmap_terrain", "id": "stripclub_roof", "copy-from": "stripclub_roof", - "sym": "å", + "sym": "\u00E5", "color": "pink" }, { "type": "overmap_terrain", "id": "stripclub_1", "copy-from": "stripclub_1", - "sym": "å", + "sym": "\u00E5", "color": "pink" }, { "type": "overmap_terrain", "id": "stripclub_roof_1", "copy-from": "stripclub_roof_1", - "sym": "å", + "sym": "\u00E5", "color": "pink" }, { "type": "overmap_terrain", "id": "stripclub_2", "copy-from": "stripclub_2", - "sym": "å", + "sym": "\u00E5", "color": "pink" }, { "type": "overmap_terrain", "id": "stripclub_roof_2", "copy-from": "stripclub_roof_2", - "sym": "å", + "sym": "\u00E5", "color": "pink" }, { "type": "overmap_terrain", "id": "museum", "copy-from": "museum", - "sym": "þ" + "sym": "\u00FE" }, { "type": "overmap_terrain", "id": "museum_roof", "copy-from": "museum_roof", - "sym": "þ" + "sym": "\u00FE" }, { "type": "overmap_terrain", "id": "bowling_alley", "copy-from": "bowling_alley", - "sym": "ç", + "sym": "\u00E7", "color": "magenta" }, { "type": "overmap_terrain", "id": "bowling_alley_roof", "copy-from": "bowling_alley_roof", - "sym": "ç", + "sym": "\u00E7", "color": "magenta" }, { "type": "overmap_terrain", "id": "gym", "copy-from": "gym", - "sym": "å", + "sym": "\u00E5", "color": "light_blue" }, { "type": "overmap_terrain", "id": "gym_roof", "copy-from": "gym_roof", - "sym": "å", + "sym": "\u00E5", "color": "light_blue" }, { "type": "overmap_terrain", "id": "gym_upper_roof", "copy-from": "gym_upper_roof", - "sym": "å", + "sym": "\u00E5", "color": "light_blue" }, { "type": "overmap_terrain", "id": "gym_fitness", "copy-from": "gym_fitness", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "gym_fitness_roof", "copy-from": "gym_fitness_roof", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "gym_fitness_1", "copy-from": "gym_fitness_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "gym_fitness_2ndFloor_1", "copy-from": "gym_fitness_2ndFloor_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "gym_fitness_roof_1", "copy-from": "gym_fitness_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "light_blue" }, { "type": "overmap_terrain", "id": "dojo", "copy-from": "dojo", - "sym": "ç", + "sym": "\u00E7", "color": "white" }, { "type": "overmap_terrain", "id": "dojo_roof", "copy-from": "dojo_roof", - "sym": "ç", + "sym": "\u00E7", "color": "white" }, { "type": "overmap_terrain", "id": "dojo_upper_roof", "copy-from": "dojo_upper_roof", - "sym": "ç", + "sym": "\u00E7", "color": "white" }, { "type": "overmap_terrain", "id": "dojo_1", "copy-from": "dojo_1", - "sym": "ç", + "sym": "\u00E7", "color": "white" }, { "type": "overmap_terrain", "id": "dojo_roof_1", "copy-from": "dojo_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "white" }, { "type": "overmap_terrain", "id": "dojo_upper_roof_1", "copy-from": "dojo_upper_roof_1", - "sym": "ç", + "sym": "\u00E7", "color": "white" }, { "type": "overmap_terrain", "id": "cs_private_park", "copy-from": "cs_private_park", - "sym": "î", + "sym": "\u00EE", "color": "light_green" }, { "type": "overmap_terrain", "id": "cs_private_park_roof", "copy-from": "cs_private_park_roof", - "sym": "î", + "sym": "\u00EE", "color": "light_green" }, { "type": "overmap_terrain", "id": "cs_public_art_piece", "copy-from": "cs_public_art_piece", - "sym": "ø", + "sym": "\u00F8", "color": "white" }, { "type": "overmap_terrain", "id": "cs_public_space", "copy-from": "cs_public_space", - "sym": "î", + "sym": "\u00EE", "color": "white" }, { "type": "overmap_terrain", "id": "lake_dock_small", "copy-from": "lake_dock_small", - "sym": "Ô", + "sym": "\u00D4", "color": "brown" }, { "type": "overmap_terrain", "id": "lake_shore_dock_small", "copy-from": "lake_shore_dock_small", - "sym": "Ô", + "sym": "\u00D4", "color": "brown" }, { "type": "overmap_terrain", "id": "marina_1", "copy-from": "marina_1", - "sym": "Ô" + "sym": "\u00D4" }, { "type": "overmap_terrain", "id": "marina_2", "copy-from": "marina_2", - "sym": "Ô" + "sym": "\u00D4" }, { "type": "overmap_terrain", "id": "marina_3", "copy-from": "marina_3", - "sym": "Ô" + "sym": "\u00D4" }, { "type": "overmap_terrain", "id": "marina_4", "copy-from": "marina_4", - "sym": "Ô" + "sym": "\u00D4" }, { "type": "overmap_terrain", "id": "marina_5", "copy-from": "marina_5", - "sym": "Ô" + "sym": "\u00D4" }, { "type": "overmap_terrain", "id": "marina_6", "copy-from": "marina_6", - "sym": "Ô" + "sym": "\u00D4" }, { "type": "overmap_terrain", "id": "marina_7", "copy-from": "marina_7", - "sym": "Ô" + "sym": "\u00D4" }, { "type": "overmap_terrain", "id": "marina_8", "copy-from": "marina_8", - "sym": "Ô" + "sym": "\u00D4" }, { "type": "overmap_terrain", "id": "marina_9", "copy-from": "marina_9", - "sym": "Ô" + "sym": "\u00D4" }, { "type": "overmap_terrain", "id": "marina_10", "copy-from": "marina_10", - "sym": "Ô" + "sym": "\u00D4" }, { "type": "overmap_terrain", "id": "marina_11", "copy-from": "marina_11", - "sym": "Ô" + "sym": "\u00D4" }, { "type": "overmap_terrain", "id": "marina_12", "copy-from": "marina_12", - "sym": "Ô" + "sym": "\u00D4" }, { "type": "overmap_terrain", "id": "marina_13", "copy-from": "marina_13", - "sym": "Ô" + "sym": "\u00D4" }, { "type": "overmap_terrain", "id": "marina_14", "copy-from": "marina_14", - "sym": "Ô" + "sym": "\u00D4" }, { "type": "overmap_terrain", "id": "marina_15", "copy-from": "marina_15", - "sym": "Ô" + "sym": "\u00D4" }, { "type": "overmap_terrain", "id": "marina_16", "copy-from": "marina_16", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "marina_17", "copy-from": "marina_17", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "marina_18", "copy-from": "marina_18", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "marina_19", "copy-from": "marina_19", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "marina_20", "copy-from": "marina_20", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { @@ -21534,62 +21534,62 @@ "type": "overmap_terrain", "abstract": "generic_city_house_basement", "copy-from": "generic_city_house_basement", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "basement", "copy-from": "basement", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "basement_bionic", "copy-from": "basement_bionic", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "basement_hidden_lab_stairs", "copy-from": "basement_hidden_lab_stairs", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "house", "copy-from": "house", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "house_prepper", "copy-from": "house_prepper", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "duplex", "copy-from": "duplex", - "sym": "ä", + "sym": "\u00E4", "color": "light_gray" }, { "type": "overmap_terrain", "id": "rural_house", "copy-from": "rural_house", - "sym": "â" + "sym": "\u00E2" }, { "type": "overmap_terrain", "abstract": "apartments_tower_any", "copy-from": "apartments_tower_any", - "sym": "Ç", + "sym": "\u00C7", "color": "light_green" }, { @@ -21716,7 +21716,7 @@ "type": "overmap_terrain", "id": "apartments_con_tower_015", "name": "open air", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", @@ -21802,168 +21802,168 @@ "type": "overmap_terrain", "id": "homelesscamp", "copy-from": "homelesscamp", - "sym": "Å", + "sym": "\u00C5", "color": "brown" }, { "type": "overmap_terrain", "id": "trailerparksmall0", "copy-from": "trailerparksmall0", - "sym": "ù", + "sym": "\u00F9", "color": "white" }, { "type": "overmap_terrain", "id": "trailerparksmall0_roof", "copy-from": "trailerparksmall0_roof", - "sym": "ù", + "sym": "\u00F9", "color": "white" }, { "type": "overmap_terrain", "id": "trailerparksmall1", "copy-from": "trailerparksmall1", - "sym": "ù", + "sym": "\u00F9", "color": "white" }, { "type": "overmap_terrain", "id": "trailerparksmall1_roof", "copy-from": "trailerparksmall1_roof", - "sym": "ù", + "sym": "\u00F9", "color": "white" }, { "type": "overmap_terrain", "id": "trailerparksmall2", "copy-from": "trailerparksmall2", - "sym": "ù", + "sym": "\u00F9", "color": "white" }, { "type": "overmap_terrain", "id": "trailerparksmall2_roof", "copy-from": "trailerparksmall2_roof", - "sym": "ù", + "sym": "\u00F9", "color": "white" }, { "type": "overmap_terrain", "id": "house_w_2", "copy-from": "house_w_2", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "house_w_2_roof", "copy-from": "house_w_2_roof", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "house_w_3", "copy-from": "house_w_3", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "house_w_3_roof", "copy-from": "house_w_3_roof", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "house_w_4", "copy-from": "house_w_4", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "house_w_4_roof", "copy-from": "house_w_4_roof", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "house_w_5", "copy-from": "house_w_5", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "house_w_5_roof", "copy-from": "house_w_5_roof", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "house_w_6", "copy-from": "house_w_6", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "house_w_6_2ndfloor", "copy-from": "house_w_6_2ndfloor", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "house_w_6_roof", "copy-from": "house_w_6_roof", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "emptyresidentiallot", "copy-from": "emptyresidentiallot", - "sym": "×", + "sym": "\u00D7", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "derelict_property", "copy-from": "derelict_property", - "sym": "à", + "sym": "\u00E0", "color": "brown" }, { "type": "overmap_terrain", "id": "house_2story_base", "copy-from": "house_2story_base", - "sym": "Ñ", + "sym": "\u00D1", "color": "light_gray" }, { "type": "overmap_terrain", "id": "house_2story_second", "copy-from": "house_2story_second", - "sym": "Ñ", + "sym": "\u00D1", "color": "light_gray" }, { "type": "overmap_terrain", "id": "house_w_1", "copy-from": "house_w_1", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "house_w_1_roof", "copy-from": "house_w_1_roof", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { @@ -21971,491 +21971,491 @@ "type": "overmap_terrain", "abstract": "generic_river", "copy-from": "generic_water", - "sym": "÷" + "sym": "\u00F7" }, { "type": "overmap_terrain", "abstract": "generic_river_bank", "copy-from": "generic_river_bank", - "sym": "÷" + "sym": "\u00F7" }, { "type": "overmap_terrain", "id": "river_center", "copy-from": "river_center", - "sym": "÷" + "sym": "\u00F7" }, { "type": "overmap_terrain", "id": "river", "copy-from": "river", - "sym": "÷" + "sym": "\u00F7" }, { "type": "overmap_terrain", "id": "river_c_not_ne", "copy-from": "river_c_not_ne", - "sym": "÷" + "sym": "\u00F7" }, { "type": "overmap_terrain", "id": "river_c_not_nw", "copy-from": "river_c_not_nw", - "sym": "÷" + "sym": "\u00F7" }, { "type": "overmap_terrain", "id": "river_c_not_se", "copy-from": "river_c_not_se", - "sym": "÷" + "sym": "\u00F7" }, { "type": "overmap_terrain", "id": "river_c_not_sw", "copy-from": "river_c_not_sw", - "sym": "÷" + "sym": "\u00F7" }, { "type": "overmap_terrain", "id": "river_ne", "copy-from": "river_ne", - "sym": "÷" + "sym": "\u00F7" }, { "type": "overmap_terrain", "id": "river_se", "copy-from": "river_se", - "sym": "÷" + "sym": "\u00F7" }, { "type": "overmap_terrain", "id": "river_sw", "copy-from": "river_sw", - "sym": "÷" + "sym": "\u00F7" }, { "type": "overmap_terrain", "id": "river_nw", "copy-from": "river_nw", - "sym": "÷" + "sym": "\u00F7" }, { "//": "OVERMAP_TERRAIN_ROBOFACHQ.JSON", "type": "overmap_terrain", "id": "robofachq_roof_a0", "copy-from": "robofachq_roof_a0", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "robofachq_roof_a1", "copy-from": "robofachq_roof_a1", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_roof_a2", "copy-from": "robofachq_roof_a2", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_roof_a3", "copy-from": "robofachq_roof_a3", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", "id": "robofachq_surface_parking", "copy-from": "robofachq_surface_parking", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "robofachq_surface_entrance", "copy-from": "robofachq_surface_entrance", - "sym": "Õ", + "sym": "\u00D5", "color": "light_blue" }, { "type": "overmap_terrain", "id": "robofachq_surface_car_entrance", "copy-from": "robofachq_surface_car_entrance", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "robofachq_surface_a3", "copy-from": "robofachq_surface_a3", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_surface_b0", "copy-from": "robofachq_surface_b0", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_surface_b1", "copy-from": "robofachq_surface_b1", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_surface_b2", "copy-from": "robofachq_surface_b2", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_surface_b3", "copy-from": "robofachq_surface_b3", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_exe_a0", "copy-from": "robofachq_exe_a0", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_exe_a1", "copy-from": "robofachq_exe_a1", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_exe_a2", "copy-from": "robofachq_exe_a2", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_exe_a3", "copy-from": "robofachq_exe_a3", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_exe_b0", "copy-from": "robofachq_exe_b0", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_exe_b1", "copy-from": "robofachq_exe_b1", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_exe_b2", "copy-from": "robofachq_exe_b2", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_exe_b3", "copy-from": "robofachq_exe_b3", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_hab_a0", "copy-from": "robofachq_hab_a0", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_hab_a1", "copy-from": "robofachq_hab_a1", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_hab_a2", "copy-from": "robofachq_hab_a2", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_hab_a3", "copy-from": "robofachq_hab_a3", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_hab_b0", "copy-from": "robofachq_hab_b0", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_hab_b1", "copy-from": "robofachq_hab_b1", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_hab_b2", "copy-from": "robofachq_hab_b2", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_hab_b3", "copy-from": "robofachq_hab_b3", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_sub_a0", "copy-from": "robofachq_sub_a0", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_sub_a1", "copy-from": "robofachq_sub_a1", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_sub_a2", "copy-from": "robofachq_sub_a2", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_sub_a3", "copy-from": "robofachq_sub_a3", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_res_a0", "copy-from": "robofachq_res_a0", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_res_a1", "copy-from": "robofachq_res_a1", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_res_a2", "copy-from": "robofachq_res_a2", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_res_a3", "copy-from": "robofachq_res_a3", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_res_b0", "copy-from": "robofachq_res_b0", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_res_b1", "copy-from": "robofachq_res_b1", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_res_b2", "copy-from": "robofachq_res_b2", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_res_b3", "copy-from": "robofachq_res_b3", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_ai_a0", "copy-from": "robofachq_ai_a0", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_ai_a1", "copy-from": "robofachq_ai_a1", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_ai_a2", "copy-from": "robofachq_ai_a2", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_ai_a3", "copy-from": "robofachq_ai_a3", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_ai_b0", "copy-from": "robofachq_ai_b0", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_ai_b1", "copy-from": "robofachq_ai_b1", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_ai_b2", "copy-from": "robofachq_ai_b2", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_ai_b3", "copy-from": "robofachq_ai_b3", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_aiutl_a0", "copy-from": "robofachq_aiutl_a0", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_aiutl_a1", "copy-from": "robofachq_aiutl_a1", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_aiutl_a2", "copy-from": "robofachq_aiutl_a2", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_aiutl_a3", "copy-from": "robofachq_aiutl_a3", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_aiutl_b0", "copy-from": "robofachq_aiutl_b0", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_aiutl_b1", "copy-from": "robofachq_aiutl_b1", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_aiutl_b2", "copy-from": "robofachq_aiutl_b2", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "robofachq_aiutl_b3", "copy-from": "robofachq_aiutl_b3", - "sym": "Õ" + "sym": "\u00D5" }, { "//": "OVERMAP_TERRAIN_TRANSPORTATION.JSON", "type": "overmap_terrain", "id": "hiway_ns", "copy-from": "hiway_ns", - "sym": "½" + "sym": "\u00BD" }, { "type": "overmap_terrain", "id": "hiway_ew", "copy-from": "hiway_ew", - "sym": "¾" + "sym": "\u00BE" }, { "type": "overmap_terrain", "id": "road_nesw_manhole", "copy-from": "road_nesw_manhole", - "sym": "Ø", + "sym": "\u00D8", "color": "cyan" }, { "type": "overmap_terrain", "id": "roadstop", "copy-from": "roadstop", - "sym": "ç", + "sym": "\u00E7", "color": "yellow" }, { "type": "overmap_terrain", "id": "roadstop_roof", "copy-from": "roadstop_roof", - "sym": "ç", + "sym": "\u00E7", "color": "yellow" }, { "type": "overmap_terrain", "id": "roadstop_a", "copy-from": "roadstop_a", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "roadstop_a_roof", "copy-from": "roadstop_a_roof", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", "id": "roadstop_b", "copy-from": "roadstop_b", - "sym": "î" + "sym": "\u00EE" }, { "type": "overmap_terrain", "id": "roadstop_b_roof", "copy-from": "roadstop_b_roof", - "sym": "î" + "sym": "\u00EE" }, { "type": "overmap_terrain", "abstract": "generic_railroad_station", "copy-from": "generic_railroad_station", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_green" }, { "type": "overmap_terrain", "abstract": "generic_railroad_station_under", "copy-from": "generic_railroad_station_under", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_green" }, { "type": "overmap_terrain", "abstract": "generic_railroad_station_parking_lot", "copy-from": "generic_railroad_station_parking_lot", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { @@ -22482,28 +22482,28 @@ "type": "overmap_terrain", "id": "railroad_station_2_1", "copy-from": "railroad_station_2_1", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "railroad_station_2_2", "copy-from": "railroad_station_2_2", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "railroad_station_2_3", "copy-from": "railroad_station_2_3", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "railroad_station_2_4", "copy-from": "railroad_station_2_4", - "sym": "ô", + "sym": "\u00F4", "color": "dark_gray" }, { @@ -22540,191 +22540,191 @@ "type": "overmap_terrain", "id": "trailhead", "copy-from": "trailhead", - "sym": "ñ" + "sym": "\u00F1" }, { "type": "overmap_terrain", "id": "sub_station", "copy-from": "sub_station", - "sym": "Ó", + "sym": "\u00D3", "color": "yellow" }, { "type": "overmap_terrain", "id": "sub_station_roof", "copy-from": "sub_station_roof", - "sym": "Ó", + "sym": "\u00D3", "color": "yellow" }, { "type": "overmap_terrain", "id": "sewer_sub_station", "copy-from": "sewer_sub_station", - "sym": "Ó", + "sym": "\u00D3", "color": "yellow" }, { "type": "overmap_terrain", "id": "underground_sub_station", "copy-from": "underground_sub_station", - "sym": "Ó", + "sym": "\u00D3", "color": "yellow" }, { "type": "overmap_terrain", "id": "s_reststop_1", "copy-from": "s_reststop_1", - "sym": "ÿ", + "sym": "\u00FF", "color": "yellow" }, { "type": "overmap_terrain", "id": "s_reststop_1_roof", "copy-from": "s_reststop_1_roof", - "sym": "ÿ", + "sym": "\u00FF", "color": "yellow" }, { "type": "overmap_terrain", "id": "s_reststop_2", "copy-from": "s_reststop_2", - "sym": "ÿ", + "sym": "\u00FF", "color": "yellow" }, { "type": "overmap_terrain", "id": "s_reststop_2_roof", "copy-from": "s_reststop_2_roof", - "sym": "ÿ", + "sym": "\u00FF", "color": "yellow" }, { "type": "overmap_terrain", "id": "s_restparking_1", "copy-from": "s_restparking_1", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "s_restparking_2", "copy-from": "s_restparking_2", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "control_tower_0", "copy-from": "control_tower_0", - "sym": "í", + "sym": "\u00ED", "color": "light_gray" }, { "type": "overmap_terrain", "id": "control_tower_1", "copy-from": "control_tower_1", - "sym": "í", + "sym": "\u00ED", "color": "light_gray" }, { "type": "overmap_terrain", "id": "control_tower_2", "copy-from": "control_tower_2", - "sym": "í", + "sym": "\u00ED", "color": "light_gray" }, { "type": "overmap_terrain", "id": "control_tower_roof", "copy-from": "control_tower_roof", - "sym": "í", + "sym": "\u00ED", "color": "light_gray" }, { "type": "overmap_terrain", "id": "fuel_station", "copy-from": "fuel_station", - "sym": "ú", + "sym": "\u00FA", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "fuel_station_roof", "copy-from": "fuel_station_roof", - "sym": "ú", + "sym": "\u00FA", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "airport_lot_0", "copy-from": "airport_lot_0", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "airport_lot_1", "copy-from": "airport_lot_1", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "hangar", "copy-from": "hangar", - "sym": "ý", + "sym": "\u00FD", "color": "light_gray" }, { "type": "overmap_terrain", "id": "hangar_roof", "copy-from": "hangar_roof", - "sym": "ý", + "sym": "\u00FD", "color": "light_gray" }, { "type": "overmap_terrain", "id": "waiting_area", "copy-from": "waiting_area", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_cyan" }, { "type": "overmap_terrain", "id": "waiting_area_roof", "copy-from": "waiting_area_roof", - "sym": "ÿ", + "sym": "\u00FF", "color": "light_cyan" }, { "type": "overmap_terrain", "id": "bus_stat_0", "copy-from": "bus_stat_0", - "sym": "Æ", + "sym": "\u00C6", "color": "light_cyan" }, { "type": "overmap_terrain", "id": "bus_stat_1", "copy-from": "bus_stat_1", - "sym": "Æ", + "sym": "\u00C6", "color": "light_cyan" }, { "type": "overmap_terrain", "id": "bus_stat_0_roof", "copy-from": "bus_stat_0_roof", - "sym": "Æ", + "sym": "\u00C6", "color": "light_cyan" }, { "type": "overmap_terrain", "id": "bus_stat_1_roof", "copy-from": "bus_stat_1_roof", - "sym": "Æ", + "sym": "\u00C6", "color": "light_cyan" }, { "type": "overmap_terrain", "id": "parking_garage_down_0", "copy-from": "parking_garage_down_0", - "sym": "Á", + "sym": "\u00C1", "color": "light_gray" }, { @@ -22782,7 +22782,7 @@ "type": "overmap_terrain", "id": "sewage_treatment_0_0_0", "copy-from": "sewage_treatment_0_0_0", - "sym": "Ö", + "sym": "\u00D6", "color": "cyan" }, { @@ -22790,7 +22790,7 @@ "id": "sewage_treatment_0_0_roof", "copy-from": "sewage_treatment_0_0_roof", "name": "open air", - "sym": "¦" + "sym": "\u00A6" }, { "type": "overmap_terrain", @@ -22801,20 +22801,20 @@ "type": "overmap_terrain", "id": "sewage_treatment_1_0_roof", "copy-from": "sewage_treatment_1_0_roof", - "sym": "Ö", + "sym": "\u00D6", "color": "cyan" }, { "type": "overmap_terrain", "id": "sewage_treatment_0_1_0", "copy-from": "sewage_treatment_0_1_0", - "sym": "ë" + "sym": "\u00EB" }, { "type": "overmap_terrain", "id": "sewage_treatment_0_1_roof", "copy-from": "sewage_treatment_0_1_roof", - "sym": "ë" + "sym": "\u00EB" }, { "type": "overmap_terrain", @@ -22830,7 +22830,7 @@ "type": "overmap_terrain", "id": "sewage_treatment_0_0_-1", "copy-from": "sewage_treatment_0_0_-1", - "sym": "Ö", + "sym": "\u00D6", "color": "cyan" }, { @@ -22862,175 +22862,147 @@ "type": "overmap_terrain", "id": "toxic_dump", "copy-from": "toxic_dump", - "sym": "ó", + "sym": "\u00F3", "color": "light_green" }, - { - "type": "overmap_terrain", - "id": "haz_sar_entrance", - "copy-from": "haz_sar_entrance", - "sym": "Õ", - "color": "green" - }, - { - "type": "overmap_terrain", - "id": "haz_sar", - "copy-from": "haz_sar", - "sym": "Õ", - "color": "green" - }, - { - "type": "overmap_terrain", - "id": "haz_sar_entrance_b1", - "copy-from": "haz_sar_entrance_b1", - "sym": "Õ", - "color": "green" - }, - { - "type": "overmap_terrain", - "id": "haz_sar_b1", - "copy-from": "haz_sar_b1", - "sym": "Õ", - "color": "green" - }, { "type": "overmap_terrain", "id": "pump_station_1", "copy-from": "pump_station_1", - "sym": "Ö", + "sym": "\u00D6", "color": "blue" }, { "type": "overmap_terrain", "id": "pump_station_1_roof", "copy-from": "pump_station_1_roof", - "sym": "Ö", + "sym": "\u00D6", "color": "blue" }, { "type": "overmap_terrain", "id": "pump_station_2", "copy-from": "pump_station_2", - "sym": "Ö", + "sym": "\u00D6", "color": "blue" }, { "type": "overmap_terrain", "id": "pump_station_2_roof", "copy-from": "pump_station_2_roof", - "sym": "Ö", + "sym": "\u00D6", "color": "blue" }, { "type": "overmap_terrain", "id": "dumpsite", "copy-from": "dumpsite", - "sym": "ó", + "sym": "\u00F3", "color": "brown" }, { "type": "overmap_terrain", "id": "dump", "copy-from": "dump", - "sym": "ó", + "sym": "\u00F3", "color": "brown" }, { "type": "overmap_terrain", "id": "recyclecenter", "copy-from": "recyclecenter", - "sym": "Ö", + "sym": "\u00D6", "color": "green" }, { "type": "overmap_terrain", "id": "recyclecenter_roof", "copy-from": "recyclecenter_roof", - "sym": "Ö", + "sym": "\u00D6", "color": "green" }, { "type": "overmap_terrain", "id": "recyclecenter_1", "copy-from": "recyclecenter_1", - "sym": "Ö", + "sym": "\u00D6", "color": "green" }, { "type": "overmap_terrain", "id": "recyclecenter_roof_1", "copy-from": "recyclecenter_roof_1", - "sym": "Ö", + "sym": "\u00D6", "color": "green" }, { "type": "overmap_terrain", "id": "recyclecenter_2", "copy-from": "recyclecenter_2", - "sym": "Ö", + "sym": "\u00D6", "color": "green" }, { "type": "overmap_terrain", "id": "recyclecenter_roof_2", "copy-from": "recyclecenter_roof_2", - "sym": "Ö", + "sym": "\u00D6", "color": "green" }, { "type": "overmap_terrain", "id": "landfill", "copy-from": "landfill", - "sym": "ó", + "sym": "\u00F3", "color": "brown" }, { "type": "overmap_terrain", "id": "junkyard_1a", "copy-from": "junkyard_1a", - "sym": "ó", + "sym": "\u00F3", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "junkyard_roof_1a", "copy-from": "junkyard_roof_1a", - "sym": "ó", + "sym": "\u00F3", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "junkyard_1b", "copy-from": "junkyard_1b", - "sym": "ó", + "sym": "\u00F3", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "junkyard_roof_1b", "copy-from": "junkyard_roof_1b", - "sym": "ó", + "sym": "\u00F3", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "junkyard_2a", "copy-from": "junkyard_2a", - "sym": "ó", + "sym": "\u00F3", "color": "dark_gray" }, { "type": "overmap_terrain", "id": "junkyard_2b", "copy-from": "junkyard_2b", - "sym": "ó", + "sym": "\u00F3", "color": "dark_gray" }, { "type": "overmap_terrain", "abstract": "generic_regional_dump", "copy-from": "generic_regional_dump", - "sym": "ó", + "sym": "\u00F3", "color": "brown" }, { @@ -23117,21 +23089,21 @@ "type": "overmap_terrain", "id": "smallscrapyard", "copy-from": "smallscrapyard", - "sym": "ó", + "sym": "\u00F3", "color": "light_gray" }, { "type": "overmap_terrain", "id": "cs_open_sewer", "copy-from": "cs_open_sewer", - "sym": "ï", + "sym": "\u00EF", "color": "cyan" }, { "type": "overmap_terrain", "id": "cs_city_dump_small", "copy-from": "cs_city_dump_small", - "sym": "ó", + "sym": "\u00F3", "color": "brown" }, { @@ -23224,12 +23196,12 @@ "type": "overmap_terrain", "id": "lake_shore", "copy-from": "lake_shore", - "sym": "÷" + "sym": "\u00F7" }, { "type": "overmap_terrain", "id": "lake_surface", "copy-from": "lake_surface", - "sym": "÷" + "sym": "\u00F7" } ] diff --git a/data/mods/Graphical_Overmap_FujiStruct/overmap_terrain_fujistruct.json b/data/mods/Graphical_Overmap_FujiStruct/overmap_terrain_fujistruct.json index dc31cef30a427..23e461bb24cc5 100644 --- a/data/mods/Graphical_Overmap_FujiStruct/overmap_terrain_fujistruct.json +++ b/data/mods/Graphical_Overmap_FujiStruct/overmap_terrain_fujistruct.json @@ -3,7 +3,7 @@ "type": "overmap_terrain", "id": "s_electronicstore", "copy-from": "s_electronicstore", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", @@ -14,7 +14,7 @@ "type": "overmap_terrain", "id": "s_gunstore", "copy-from": "s_gunstore", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", @@ -30,7 +30,7 @@ "type": "overmap_terrain", "id": "s_diner", "copy-from": "s_diner", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", @@ -46,7 +46,7 @@ "type": "overmap_terrain", "id": "s_apt", "copy-from": "s_apt", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", @@ -62,7 +62,7 @@ "type": "overmap_terrain", "id": "s_apt_2", "copy-from": "s_apt_2", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", @@ -78,7 +78,7 @@ "type": "overmap_terrain", "id": "s_cardealer", "copy-from": "s_cardealer", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", @@ -89,7 +89,7 @@ "type": "overmap_terrain", "id": "s_camping", "copy-from": "s_camping", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", @@ -100,7 +100,7 @@ "type": "overmap_terrain", "id": "s_games", "copy-from": "s_games", - "sym": "ç" + "sym": "\u00E7" }, { "type": "overmap_terrain", @@ -111,144 +111,144 @@ "type": "overmap_terrain", "id": "s_air_term", "copy-from": "s_air_term", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "s_air_parking", "copy-from": "s_air_parking", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "s_air_atc", "copy-from": "s_air_atc", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "s_air_atc_2", "copy-from": "s_air_atc_2", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "s_air_atc_3", "copy-from": "s_air_atc_3", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "s_air_hangars", "copy-from": "s_air_hangars", - "sym": "ý" + "sym": "\u00FD" }, { "type": "overmap_terrain", "id": "s_air_runway", "copy-from": "s_air_runway", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "s_air_runway_hangars", "copy-from": "s_air_runway_hangars", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "s_air_runway_l", "copy-from": "s_air_runway_l", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "s_air_runway_r", "copy-from": "s_air_runway_r", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "s_air_runway_term", "copy-from": "s_air_runway_term", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "s_lightindustry_road_0", "copy-from": "s_lightindustry_road_0", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "s_lightindustry_road_1", "copy-from": "s_lightindustry_road_1", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "s_lightindustry_00", "copy-from": "s_lightindustry_00", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "s_lightindustry_01", "copy-from": "s_lightindustry_01", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "s_lightindustry_10", "copy-from": "s_lightindustry_10", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "s_lightindustry_11", "copy-from": "s_lightindustry_11", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "s_gas_g1", "copy-from": "s_gas_g1", - "sym": "ú" + "sym": "\u00FA" }, { "type": "overmap_terrain", "id": "s_gas_g0", "copy-from": "s_gas_g0", - "sym": "ú" + "sym": "\u00FA" }, { "type": "overmap_terrain", "id": "s_gas_b11", "copy-from": "s_gas_b11", - "sym": "ú" + "sym": "\u00FA" }, { "type": "overmap_terrain", "id": "s_gas_b20", "copy-from": "s_gas_b20", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "s_gas_b21", "copy-from": "s_gas_b21", - "sym": "Õ" + "sym": "\u00D5" }, { "type": "overmap_terrain", "id": "s_bunker_shop_g", "copy-from": "s_bunker_shop_g", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "s_bunker_shop_b", "copy-from": "s_bunker_shop_b", - "sym": "Õ" + "sym": "\u00D5" } ] diff --git a/data/mods/Graphical_Overmap_More_Locations/overmap_terrain_more_locations.json b/data/mods/Graphical_Overmap_More_Locations/overmap_terrain_more_locations.json index f76c21a974d96..5748527aea2c2 100644 --- a/data/mods/Graphical_Overmap_More_Locations/overmap_terrain_more_locations.json +++ b/data/mods/Graphical_Overmap_More_Locations/overmap_terrain_more_locations.json @@ -3,469 +3,469 @@ "type": "overmap_terrain", "id": "bandit_tower_1gate", "copy-from": "bandit_tower_1gate", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_1ybe", "copy-from": "bandit_tower_1ybe", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_1yle", "copy-from": "bandit_tower_1yle", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_1yre", "copy-from": "bandit_tower_1yre", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_1yte", "copy-from": "bandit_tower_1yte", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_1cyblc", "copy-from": "bandit_tower_1cyblc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_1cybrc", "copy-from": "bandit_tower_1cybrc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_1cytlc", "copy-from": "bandit_tower_1cytlc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_1cytrc", "copy-from": "bandit_tower_1cytrc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_1blc", "copy-from": "bandit_tower_1blc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_1brc", "copy-from": "bandit_tower_1brc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_1tlc", "copy-from": "bandit_tower_1tlc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_1trc", "copy-from": "bandit_tower_1trc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_2blc", "copy-from": "bandit_tower_2blc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_2brc", "copy-from": "bandit_tower_2brc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_2tlc", "copy-from": "bandit_tower_2tlc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_2trc", "copy-from": "bandit_tower_2trc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_3blc", "copy-from": "bandit_tower_3blc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_3brc", "copy-from": "bandit_tower_3brc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_3tlc", "copy-from": "bandit_tower_3tlc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_3trc", "copy-from": "bandit_tower_3trc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_4blc", "copy-from": "bandit_tower_4blc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_4brc", "copy-from": "bandit_tower_4brc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_4tlc", "copy-from": "bandit_tower_4tlc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_4trc", "copy-from": "bandit_tower_4trc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_ublc", "copy-from": "bandit_tower_ublc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_ubrc", "copy-from": "bandit_tower_ubrc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_utlc", "copy-from": "bandit_tower_utlc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "bandit_tower_utrc", "copy-from": "bandit_tower_utrc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "estate_umid", "copy-from": "estate_umid", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_ube", "copy-from": "estate_ube", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_ule", "copy-from": "estate_ule", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_ure", "copy-from": "estate_ure", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_ute", "copy-from": "estate_ute", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_mid", "copy-from": "estate_mid", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_1be", "copy-from": "estate_1be", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_1bloc", "copy-from": "estate_1bloc", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_1broc", "copy-from": "estate_1broc", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_1by", "copy-from": "estate_1by", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_1ica", "copy-from": "estate_1ica", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_1icb", "copy-from": "estate_1icb", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_1icc", "copy-from": "estate_1icc", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_1icd", "copy-from": "estate_1icd", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_1le", "copy-from": "estate_1le", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_1re", "copy-from": "estate_1re", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_1te", "copy-from": "estate_1te", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_1tloc", "copy-from": "estate_1tloc", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_1troc", "copy-from": "estate_1troc", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_1ty", "copy-from": "estate_1ty", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_2be", "copy-from": "estate_2be", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_2bloc", "copy-from": "estate_2bloc", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_2broc", "copy-from": "estate_2broc", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_2ica", "copy-from": "estate_2ica", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_2icb", "copy-from": "estate_2icb", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_2icc", "copy-from": "estate_2icc", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_2icd", "copy-from": "estate_2icd", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_2le", "copy-from": "estate_2le", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_2re", "copy-from": "estate_2re", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_2te", "copy-from": "estate_2te", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_2tloc", "copy-from": "estate_2tloc", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "estate_2troc", "copy-from": "estate_2troc", - "sym": "Ð" + "sym": "\u00D0" }, { "type": "overmap_terrain", "id": "factory_tlc", "copy-from": "factory_tlc", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "factory_te", "copy-from": "factory_te", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "factory_trc", "copy-from": "factory_trc", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "factory_le", "copy-from": "factory_le", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "factory_mid", "copy-from": "factory_mid", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "factory_re", "copy-from": "factory_re", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "factory_blc", "copy-from": "factory_blc", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "factory_be", "copy-from": "factory_be", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "factory_be_gate", "copy-from": "factory_be_gate", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "factory_brc", "copy-from": "factory_brc", - "sym": "Ö" + "sym": "\u00D6" }, { "type": "overmap_terrain", "id": "mil_outpost_ytlc", "copy-from": "mil_outpost_ytlc", - "sym": "¨" + "sym": "\u00A8" }, { "type": "overmap_terrain", "id": "mil_outpost_yte", "copy-from": "mil_outpost_yte", - "sym": "¨" + "sym": "\u00A8" }, { "type": "overmap_terrain", "id": "mil_outpost_ytrc", "copy-from": "mil_outpost_ytrc", - "sym": "¨" + "sym": "\u00A8" }, { "type": "overmap_terrain", "id": "mil_outpost_yle", "copy-from": "mil_outpost_yle", - "sym": "¨" + "sym": "\u00A8" }, { "type": "overmap_terrain", "id": "mil_outpost_yre", "copy-from": "mil_outpost_yre", - "sym": "¨" + "sym": "\u00A8" }, { "type": "overmap_terrain", "id": "mil_outpost_yblc", "copy-from": "mil_outpost_yblc", - "sym": "¨" + "sym": "\u00A8" }, { "type": "overmap_terrain", "id": "mil_outpost_ybe", "copy-from": "mil_outpost_ybe", - "sym": "¨" + "sym": "\u00A8" }, { "type": "overmap_terrain", @@ -477,535 +477,535 @@ "type": "overmap_terrain", "id": "mil_outpost_ybrc", "copy-from": "mil_outpost_ybrc", - "sym": "¨" + "sym": "\u00A8" }, { "type": "overmap_terrain", "id": "mil_outpost_1tlc", "copy-from": "mil_outpost_1tlc", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_1te", "copy-from": "mil_outpost_1te", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_1trc", "copy-from": "mil_outpost_1trc", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_1le", "copy-from": "mil_outpost_1le", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_1mid", "copy-from": "mil_outpost_1mid", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_1re", "copy-from": "mil_outpost_1re", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_1blc", "copy-from": "mil_outpost_1blc", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_1be", "copy-from": "mil_outpost_1be", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_1brc", "copy-from": "mil_outpost_1brc", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_2tlc", "copy-from": "mil_outpost_2tlc", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_2te", "copy-from": "mil_outpost_2te", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_2trc", "copy-from": "mil_outpost_2trc", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_2le", "copy-from": "mil_outpost_2le", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_2re", "copy-from": "mil_outpost_2re", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_2blc", "copy-from": "mil_outpost_2blc", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_2be", "copy-from": "mil_outpost_2be", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_2brc", "copy-from": "mil_outpost_2brc", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_3c", "copy-from": "mil_outpost_3c", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_utlc", "copy-from": "mil_outpost_utlc", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_utea", "copy-from": "mil_outpost_utea", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_uteb", "copy-from": "mil_outpost_uteb", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_utrc", "copy-from": "mil_outpost_utrc", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_ule", "copy-from": "mil_outpost_ule", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_umid", "copy-from": "mil_outpost_umid", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_umid_finale", "copy-from": "mil_outpost_umid_finale", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_ure", "copy-from": "mil_outpost_ure", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_ublc", "copy-from": "mil_outpost_ublc", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_ubea", "copy-from": "mil_outpost_ubea", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_ubeb", "copy-from": "mil_outpost_ubeb", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "mil_outpost_ubrc", "copy-from": "mil_outpost_ubrc", - "sym": "Å" + "sym": "\u00C5" }, { "type": "overmap_terrain", "id": "3storyA_first", "copy-from": "3storyA_first", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyA_second", "copy-from": "3storyA_second", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyA_third", "copy-from": "3storyA_third", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyA_basement", "copy-from": "3storyA_basement", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyA_roof", "copy-from": "3storyA_roof", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyB_first", "copy-from": "3storyB_first", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyB_second", "copy-from": "3storyB_second", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyB_third", "copy-from": "3storyB_third", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyB_basement", "copy-from": "3storyB_basement", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyB_roof", "copy-from": "3storyB_roof", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyC_first", "copy-from": "3storyC_first", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyC_second", "copy-from": "3storyC_second", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyC_third", "copy-from": "3storyC_third", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyC_basement", "copy-from": "3storyC_basement", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyC_roof", "copy-from": "3storyC_roof", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyD_first", "copy-from": "3storyD_first", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyD_second", "copy-from": "3storyD_second", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyD_third", "copy-from": "3storyD_third", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyD_basement", "copy-from": "3storyD_basement", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyD_roof", "copy-from": "3storyD_roof", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyE_first", "copy-from": "3storyE_first", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyE_second", "copy-from": "3storyE_second", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyE_third", "copy-from": "3storyE_third", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyE_basement", "copy-from": "3storyE_basement", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyE_roof", "copy-from": "3storyE_roof", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyF_first", "copy-from": "3storyF_first", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyF_second", "copy-from": "3storyF_second", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyF_third", "copy-from": "3storyF_third", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyF_basement", "copy-from": "3storyF_basement", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "3storyF_roof", "copy-from": "3storyF_roof", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "2storyA_first", "copy-from": "2storyA_first", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "2storyA_second", "copy-from": "2storyA_second", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "2storyA_basement", "copy-from": "2storyA_basement", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "2storyA_roof", "copy-from": "2storyA_roof", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "2storyB_first", "copy-from": "2storyB_first", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "2storyB_second", "copy-from": "2storyB_second", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "2storyB_basement", "copy-from": "2storyB_basement", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "2storyB_roof", "copy-from": "2storyB_roof", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "2storyC_first", "copy-from": "2storyC_first", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "2storyC_second", "copy-from": "2storyC_second", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "2storyC_basement", "copy-from": "2storyC_basement", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "2storyC_roof", "copy-from": "2storyC_roof", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "2storyD_first", "copy-from": "2storyD_first", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "2storyD_second", "copy-from": "2storyD_second", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "2storyD_basement", "copy-from": "2storyD_basement", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "2storyD_roof", "copy-from": "2storyD_roof", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "2storyE_first", "copy-from": "2storyE_first", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "2storyE_second", "copy-from": "2storyE_second", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "2storyE_basement", "copy-from": "2storyE_basement", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "2storyE_roof", "copy-from": "2storyE_roof", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "2storyF_first", "copy-from": "2storyF_first", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "2storyF_second", "copy-from": "2storyF_second", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "2storyF_basement", "copy-from": "2storyF_basement", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "2storyF_roof", "copy-from": "2storyF_roof", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "combohouseA_first", "copy-from": "combohouseA_first", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "combohouseA_second", "copy-from": "combohouseA_second", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "combohouseA_basement", "copy-from": "combohouseA_basement", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "combohouseA_roof", "copy-from": "combohouseA_roof", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", @@ -1017,37 +1017,37 @@ "type": "overmap_terrain", "id": "combogarageA_second", "copy-from": "combogarageA_second", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "combogarageA_roof", "copy-from": "combogarageA_roof", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "combohouseB_first", "copy-from": "combohouseB_first", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "combohouseB_second", "copy-from": "combohouseB_second", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "combohouseB_basement", "copy-from": "combohouseB_basement", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "combohouseB_roof", "copy-from": "combohouseB_roof", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", @@ -1059,37 +1059,37 @@ "type": "overmap_terrain", "id": "combogarageB_second", "copy-from": "combogarageB_second", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "combogarageB_roof", "copy-from": "combogarageB_roof", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "combohouseC_first", "copy-from": "combohouseC_first", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "combohouseC_second", "copy-from": "combohouseC_second", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "combohouseC_basement", "copy-from": "combohouseC_basement", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "combohouseC_roof", "copy-from": "combohouseC_roof", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", @@ -1101,384 +1101,384 @@ "type": "overmap_terrain", "id": "combogarageC_second", "copy-from": "combogarageC_second", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "combogarageC_roof", "copy-from": "combogarageC_roof", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "refugee_tower_1gate", "copy-from": "refugee_tower_1gate", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_1ybe", "copy-from": "refugee_tower_1ybe", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_1yle", "copy-from": "refugee_tower_1yle", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_1yre", "copy-from": "refugee_tower_1yre", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_1yte", "copy-from": "refugee_tower_1yte", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_1cyblc", "copy-from": "refugee_tower_1cyblc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_1cybrc", "copy-from": "refugee_tower_1cybrc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_1cytlc", "copy-from": "refugee_tower_1cytlc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_1cytrc", "copy-from": "refugee_tower_1cytrc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_1blc", "copy-from": "refugee_tower_1blc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_1brc", "copy-from": "refugee_tower_1brc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_1tlc", "copy-from": "refugee_tower_1tlc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_1trc", "copy-from": "refugee_tower_1trc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_2blc", "copy-from": "refugee_tower_2blc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_2brc", "copy-from": "refugee_tower_2brc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_2tlc", "copy-from": "refugee_tower_2tlc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_2trc", "copy-from": "refugee_tower_2trc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_3blc", "copy-from": "refugee_tower_3blc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_3brc", "copy-from": "refugee_tower_3brc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_3tlc", "copy-from": "refugee_tower_3tlc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_3trc", "copy-from": "refugee_tower_3trc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_4blc", "copy-from": "refugee_tower_4blc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_4brc", "copy-from": "refugee_tower_4brc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_4tlc", "copy-from": "refugee_tower_4tlc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_4trc", "copy-from": "refugee_tower_4trc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_5blc", "copy-from": "refugee_tower_5blc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_5brc", "copy-from": "refugee_tower_5brc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_5tlc", "copy-from": "refugee_tower_5tlc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_5trc", "copy-from": "refugee_tower_5trc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_ublc", "copy-from": "refugee_tower_ublc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_ubrc", "copy-from": "refugee_tower_ubrc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_utlc", "copy-from": "refugee_tower_utlc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "refugee_tower_utrc", "copy-from": "refugee_tower_utrc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_1gate", "copy-from": "tri_tower_1gate", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_1ybe", "copy-from": "tri_tower_1ybe", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_1yle", "copy-from": "tri_tower_1yle", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_1yre", "copy-from": "tri_tower_1yre", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_1yte", "copy-from": "tri_tower_1yte", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_1cyblc", "copy-from": "tri_tower_1cyblc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_1cybrc", "copy-from": "tri_tower_1cybrc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_1cytlc", "copy-from": "tri_tower_1cytlc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_1cytrc", "copy-from": "tri_tower_1cytrc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_1blc", "copy-from": "tri_tower_1blc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_1brc", "copy-from": "tri_tower_1brc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_1tlc", "copy-from": "tri_tower_1tlc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_1trc", "copy-from": "tri_tower_1trc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_2blc", "copy-from": "tri_tower_2blc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_2brc", "copy-from": "tri_tower_2brc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_2tlc", "copy-from": "tri_tower_2tlc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_2trc", "copy-from": "tri_tower_2trc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_3blc", "copy-from": "tri_tower_3blc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_3brc", "copy-from": "tri_tower_3brc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_3tlc", "copy-from": "tri_tower_3tlc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_3trc", "copy-from": "tri_tower_3trc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_4blc", "copy-from": "tri_tower_4blc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_4brc", "copy-from": "tri_tower_4brc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_4tlc", "copy-from": "tri_tower_4tlc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_4trc", "copy-from": "tri_tower_4trc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_ublc", "copy-from": "tri_tower_ublc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_ubrc", "copy-from": "tri_tower_ubrc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_utlc", "copy-from": "tri_tower_utlc", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "tri_tower_utrc", "copy-from": "tri_tower_utrc", - "sym": "Ç" + "sym": "\u00C7" } ] diff --git a/data/mods/Graphical_Overmap_Urban_Development/overmap_terrain_urban_development.json b/data/mods/Graphical_Overmap_Urban_Development/overmap_terrain_urban_development.json index f817d16717324..396e65f6b3e3e 100644 --- a/data/mods/Graphical_Overmap_Urban_Development/overmap_terrain_urban_development.json +++ b/data/mods/Graphical_Overmap_Urban_Development/overmap_terrain_urban_development.json @@ -3,1509 +3,1509 @@ "type": "overmap_terrain", "id": "urban_1_1", "copy-from": "urban_1_1", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_1_2", "copy-from": "urban_1_2", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_1_3", "copy-from": "urban_1_3", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_1_4", "copy-from": "urban_1_4", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_1_6", "copy-from": "urban_1_6", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_2_1", "copy-from": "urban_2_1", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_2_2", "copy-from": "urban_2_2", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_2_3", "copy-from": "urban_2_3", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_2_4", "copy-from": "urban_2_4", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_2_5", "copy-from": "urban_2_5", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_2_6", "copy-from": "urban_2_6", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_3_1", "copy-from": "urban_3_1", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_3_2", "copy-from": "urban_3_2", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_3_3", "copy-from": "urban_3_3", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_3_4", "copy-from": "urban_3_4", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_3_5", "copy-from": "urban_3_5", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_3_6", "copy-from": "urban_3_6", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_4_1", "copy-from": "urban_4_1", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_4_2", "copy-from": "urban_4_2", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_4_3", "copy-from": "urban_4_3", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_4_4", "copy-from": "urban_4_4", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_4_5", "copy-from": "urban_4_5", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_4_6", "copy-from": "urban_4_6", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_4_7", "copy-from": "urban_4_7", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_4_8", "copy-from": "urban_4_8", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_5_1", "copy-from": "urban_5_1", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_5_2", "copy-from": "urban_5_2", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_5_3", "copy-from": "urban_5_3", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_5_4", "copy-from": "urban_5_4", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_5_5", "copy-from": "urban_5_5", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_5_6", "copy-from": "urban_5_6", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_6_1", "copy-from": "urban_6_1", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_6_2", "copy-from": "urban_6_2", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_6_3", "copy-from": "urban_6_3", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_6_4", "copy-from": "urban_6_4", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_6_5", "copy-from": "urban_6_5", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_6_6", "copy-from": "urban_6_6", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_7_1", "copy-from": "urban_7_1", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_7_2", "copy-from": "urban_7_2", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_7_3", "copy-from": "urban_7_3", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_7_4", "copy-from": "urban_7_4", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_7_5", "copy-from": "urban_7_5", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_7_6", "copy-from": "urban_7_6", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_8_1", "copy-from": "urban_8_1", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_8_2", "copy-from": "urban_8_2", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_8_3", "copy-from": "urban_8_3", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_8_4", "copy-from": "urban_8_4", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_8_6", "copy-from": "urban_8_6", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_9_1", "copy-from": "urban_9_1", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_9_2", "copy-from": "urban_9_2", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_9_3", "copy-from": "urban_9_3", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_9_4", "copy-from": "urban_9_4", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_9_5", "copy-from": "urban_9_5", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_9_6", "copy-from": "urban_9_6", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_10_1", "copy-from": "urban_10_1", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_10_2", "copy-from": "urban_10_2", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_10_3", "copy-from": "urban_10_3", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_10_4", "copy-from": "urban_10_4", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_10_5", "copy-from": "urban_10_5", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_10_6", "copy-from": "urban_10_6", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_11_1", "copy-from": "urban_11_1", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_11_2", "copy-from": "urban_11_2", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_11_3", "copy-from": "urban_11_3", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_11_4", "copy-from": "urban_11_4", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_11_5", "copy-from": "urban_11_5", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_11_6", "copy-from": "urban_11_6", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_12_1", "copy-from": "urban_12_1", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_12_2", "copy-from": "urban_12_2", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_12_3", "copy-from": "urban_12_3", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_12_4", "copy-from": "urban_12_4", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_12_5", "copy-from": "urban_12_5", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_12_6", "copy-from": "urban_12_6", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_13_1", "copy-from": "urban_13_1", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_13_2", "copy-from": "urban_13_2", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_13_3", "copy-from": "urban_13_3", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_13_4", "copy-from": "urban_13_4", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_13_5", "copy-from": "urban_13_5", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_13_6", "copy-from": "urban_13_6", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_13_7", "copy-from": "urban_13_7", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_13_8", "copy-from": "urban_13_8", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_13_9", "copy-from": "urban_13_9", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_13_10", "copy-from": "urban_13_10", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_13_11", "copy-from": "urban_13_11", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_13_12", "copy-from": "urban_13_12", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_14_1", "copy-from": "urban_14_1", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_14_2", "copy-from": "urban_14_2", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_14_3", "copy-from": "urban_14_3", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_14_4", "copy-from": "urban_14_4", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_14_5", "copy-from": "urban_14_5", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_14_6", "copy-from": "urban_14_6", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_14_7", "copy-from": "urban_14_7", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_14_8", "copy-from": "urban_14_8", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_14_9", "copy-from": "urban_14_9", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_14_10", "copy-from": "urban_14_10", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_14_11", "copy-from": "urban_14_11", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_14_12", "copy-from": "urban_14_12", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_14_13", "copy-from": "urban_14_13", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_14_14", "copy-from": "urban_14_14", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_15_1", "copy-from": "urban_15_1", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_15_2", "copy-from": "urban_15_2", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_15_3", "copy-from": "urban_15_3", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_15_4", "copy-from": "urban_15_4", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_15_5", "copy-from": "urban_15_5", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_15_6", "copy-from": "urban_15_6", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_16_1", "copy-from": "urban_16_1", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_16_2", "copy-from": "urban_16_2", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_16_3", "copy-from": "urban_16_3", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_16_4", "copy-from": "urban_16_4", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_17_1", "copy-from": "urban_17_1", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_17_2", "copy-from": "urban_17_2", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_17_3", "copy-from": "urban_17_3", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_17_4", "copy-from": "urban_17_4", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_18_1", "copy-from": "urban_18_1", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_18_2", "copy-from": "urban_18_2", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_18_3", "copy-from": "urban_18_3", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_18_4", "copy-from": "urban_18_4", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_18_5", "copy-from": "urban_18_5", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_18_6", "copy-from": "urban_18_6", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_18_7", "copy-from": "urban_18_7", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_18_8", "copy-from": "urban_18_8", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_18_9", "copy-from": "urban_18_9", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_18_10", "copy-from": "urban_18_10", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_19_1", "copy-from": "urban_19_1", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_19_2", "copy-from": "urban_19_2", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_19_3", "copy-from": "urban_19_3", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_19_4", "copy-from": "urban_19_4", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_19_5", "copy-from": "urban_19_5", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_19_6", "copy-from": "urban_19_6", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_19_7", "copy-from": "urban_19_7", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_19_8", "copy-from": "urban_19_8", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_19_9", "copy-from": "urban_19_9", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_19_10", "copy-from": "urban_19_10", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_19_11", "copy-from": "urban_19_11", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_19_12", "copy-from": "urban_19_12", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_20_1", "copy-from": "urban_20_1", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_20_2", "copy-from": "urban_20_2", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_20_3", "copy-from": "urban_20_3", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_20_4", "copy-from": "urban_20_4", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_20_5", "copy-from": "urban_20_5", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_20_6", "copy-from": "urban_20_6", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_20_7", "copy-from": "urban_20_7", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_20_8", "copy-from": "urban_20_8", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_21_1", "copy-from": "urban_21_1", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_21_2", "copy-from": "urban_21_2", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_21_3", "copy-from": "urban_21_3", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_21_4", "copy-from": "urban_21_4", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_22_1", "copy-from": "urban_22_1", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_22_2", "copy-from": "urban_22_2", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_22_3", "copy-from": "urban_22_3", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_22_4", "copy-from": "urban_22_4", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_23_1", "copy-from": "urban_23_1", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_23_2", "copy-from": "urban_23_2", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_23_3", "copy-from": "urban_23_3", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_23_4", "copy-from": "urban_23_4", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_23_5", "copy-from": "urban_23_5", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_23_6", "copy-from": "urban_23_6", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_23_7", "copy-from": "urban_23_7", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_23_8", "copy-from": "urban_23_8", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_23_9", "copy-from": "urban_23_9", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_23_10", "copy-from": "urban_23_10", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_23_11", "copy-from": "urban_23_11", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_24_1", "copy-from": "urban_24_1", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_24_2", "copy-from": "urban_24_2", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_24_3", "copy-from": "urban_24_3", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_24_4", "copy-from": "urban_24_4", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_24_5", "copy-from": "urban_24_5", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_24_6", "copy-from": "urban_24_6", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_24_7", "copy-from": "urban_24_7", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_24_8", "copy-from": "urban_24_8", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_24_9", "copy-from": "urban_24_9", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_24_10", "copy-from": "urban_24_10", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_24_11", "copy-from": "urban_24_11", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_24_12", "copy-from": "urban_24_12", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_24_14", "copy-from": "urban_24_14", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_25_1", "copy-from": "urban_25_1", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_25_2", "copy-from": "urban_25_2", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_25_3", "copy-from": "urban_25_3", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_25_4", "copy-from": "urban_25_4", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_25_5", "copy-from": "urban_25_5", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_25_6", "copy-from": "urban_25_6", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_25_7", "copy-from": "urban_25_7", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_25_8", "copy-from": "urban_25_8", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_25_9", "copy-from": "urban_25_9", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_25_10", "copy-from": "urban_25_10", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_25_12", "copy-from": "urban_25_12", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_26_1", "copy-from": "urban_26_1", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_26_2", "copy-from": "urban_26_2", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_26_3", "copy-from": "urban_26_3", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_26_4", "copy-from": "urban_26_4", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_26_5", "copy-from": "urban_26_5", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_26_6", "copy-from": "urban_26_6", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_26_7", "copy-from": "urban_26_7", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_26_8", "copy-from": "urban_26_8", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_26_9", "copy-from": "urban_26_9", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_26_10", "copy-from": "urban_26_10", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_26_11", "copy-from": "urban_26_11", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_26_12", "copy-from": "urban_26_12", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_27_1", "copy-from": "urban_27_1", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_27_2", "copy-from": "urban_27_2", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_27_3", "copy-from": "urban_27_3", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_27_4", "copy-from": "urban_27_4", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_27_5", "copy-from": "urban_27_5", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_27_6", "copy-from": "urban_27_6", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_27_7", "copy-from": "urban_27_7", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_27_8", "copy-from": "urban_27_8", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_27_9", "copy-from": "urban_27_9", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_27_10", "copy-from": "urban_27_10", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_27_11", "copy-from": "urban_27_11", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_27_12", "copy-from": "urban_27_12", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_27_13", "copy-from": "urban_27_13", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_28_1", "copy-from": "urban_28_1", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_28_2", "copy-from": "urban_28_2", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_28_3", "copy-from": "urban_28_3", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_28_4", "copy-from": "urban_28_4", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_28_5", "copy-from": "urban_28_5", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_28_6", "copy-from": "urban_28_6", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_28_7", "copy-from": "urban_28_7", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_28_8", "copy-from": "urban_28_8", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_28_9", "copy-from": "urban_28_9", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_28_10", "copy-from": "urban_28_10", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_28_11", "copy-from": "urban_28_11", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_29_1", "copy-from": "urban_29_1", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_29_2", "copy-from": "urban_29_2", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_29_3", "copy-from": "urban_29_3", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_29_4", "copy-from": "urban_29_4", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_29_5", "copy-from": "urban_29_5", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_29_6", "copy-from": "urban_29_6", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_29_7", "copy-from": "urban_29_7", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_29_8", "copy-from": "urban_29_8", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_29_9", "copy-from": "urban_29_9", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_29_10", "copy-from": "urban_29_10", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_30_1", "copy-from": "urban_30_1", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", @@ -1517,1398 +1517,1398 @@ "type": "overmap_terrain", "id": "urban_30_3", "copy-from": "urban_30_3", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_30_4", "copy-from": "urban_30_4", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_30_5", "copy-from": "urban_30_5", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_30_6", "copy-from": "urban_30_6", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_30_7", "copy-from": "urban_30_7", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_30_8", "copy-from": "urban_30_8", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_30_9", "copy-from": "urban_30_9", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_30_10", "copy-from": "urban_30_10", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_31_1", "copy-from": "urban_31_1", - "sym": "ÿ" + "sym": "\u00FF" }, { "type": "overmap_terrain", "id": "urban_31_2", "copy-from": "urban_31_2", - "sym": "ÿ" + "sym": "\u00FF" }, { "type": "overmap_terrain", "id": "urban_31_3", "copy-from": "urban_31_3", - "sym": "ÿ" + "sym": "\u00FF" }, { "type": "overmap_terrain", "id": "urban_31_4", "copy-from": "urban_31_4", - "sym": "ÿ" + "sym": "\u00FF" }, { "type": "overmap_terrain", "id": "urban_31_5", "copy-from": "urban_31_5", - "sym": "ÿ" + "sym": "\u00FF" }, { "type": "overmap_terrain", "id": "urban_31_6", "copy-from": "urban_31_6", - "sym": "ÿ" + "sym": "\u00FF" }, { "type": "overmap_terrain", "id": "urban_31_7", "copy-from": "urban_31_7", - "sym": "ÿ" + "sym": "\u00FF" }, { "type": "overmap_terrain", "id": "urban_31_8", "copy-from": "urban_31_8", - "sym": "ÿ" + "sym": "\u00FF" }, { "type": "overmap_terrain", "id": "urban_31_9", "copy-from": "urban_31_9", - "sym": "ÿ" + "sym": "\u00FF" }, { "type": "overmap_terrain", "id": "urban_31_10", "copy-from": "urban_31_10", - "sym": "ÿ" + "sym": "\u00FF" }, { "type": "overmap_terrain", "id": "urban_31_11", "copy-from": "urban_31_11", - "sym": "ÿ" + "sym": "\u00FF" }, { "type": "overmap_terrain", "id": "urban_31_12", "copy-from": "urban_31_12", - "sym": "ÿ" + "sym": "\u00FF" }, { "type": "overmap_terrain", "id": "urban_31_13", "copy-from": "urban_31_13", - "sym": "ÿ" + "sym": "\u00FF" }, { "type": "overmap_terrain", "id": "urban_31_15", "copy-from": "urban_31_15", - "sym": "ÿ" + "sym": "\u00FF" }, { "type": "overmap_terrain", "id": "urban_31_16", "copy-from": "urban_31_16", - "sym": "ÿ" + "sym": "\u00FF" }, { "type": "overmap_terrain", "id": "urban_31_17", "copy-from": "urban_31_17", - "sym": "ÿ" + "sym": "\u00FF" }, { "type": "overmap_terrain", "id": "urban_31_19", "copy-from": "urban_31_19", - "sym": "ÿ" + "sym": "\u00FF" }, { "type": "overmap_terrain", "id": "urban_32_1", "copy-from": "urban_32_1", - "sym": "Æ" + "sym": "\u00C6" }, { "type": "overmap_terrain", "id": "urban_32_2", "copy-from": "urban_32_2", - "sym": "Æ" + "sym": "\u00C6" }, { "type": "overmap_terrain", "id": "urban_32_3", "copy-from": "urban_32_3", - "sym": "Æ" + "sym": "\u00C6" }, { "type": "overmap_terrain", "id": "urban_32_4", "copy-from": "urban_32_4", - "sym": "Æ" + "sym": "\u00C6" }, { "type": "overmap_terrain", "id": "urban_32_5", "copy-from": "urban_32_5", - "sym": "Æ" + "sym": "\u00C6" }, { "type": "overmap_terrain", "id": "urban_32_6", "copy-from": "urban_32_6", - "sym": "Æ" + "sym": "\u00C6" }, { "type": "overmap_terrain", "id": "urban_32_7", "copy-from": "urban_32_7", - "sym": "Æ" + "sym": "\u00C6" }, { "type": "overmap_terrain", "id": "urban_32_8", "copy-from": "urban_32_8", - "sym": "Æ" + "sym": "\u00C6" }, { "type": "overmap_terrain", "id": "urban_32_9", "copy-from": "urban_32_9", - "sym": "Æ" + "sym": "\u00C6" }, { "type": "overmap_terrain", "id": "urban_32_10", "copy-from": "urban_32_10", - "sym": "Æ" + "sym": "\u00C6" }, { "type": "overmap_terrain", "id": "urban_32_11", "copy-from": "urban_32_11", - "sym": "Æ" + "sym": "\u00C6" }, { "type": "overmap_terrain", "id": "urban_32_12", "copy-from": "urban_32_12", - "sym": "Æ" + "sym": "\u00C6" }, { "type": "overmap_terrain", "id": "urban_32_13", "copy-from": "urban_32_13", - "sym": "Æ" + "sym": "\u00C6" }, { "type": "overmap_terrain", "id": "urban_32_14", "copy-from": "urban_32_14", - "sym": "Æ" + "sym": "\u00C6" }, { "type": "overmap_terrain", "id": "urban_32_15", "copy-from": "urban_32_15", - "sym": "Æ" + "sym": "\u00C6" }, { "type": "overmap_terrain", "id": "urban_32_16", "copy-from": "urban_32_16", - "sym": "Æ" + "sym": "\u00C6" }, { "type": "overmap_terrain", "id": "urban_32_17", "copy-from": "urban_32_17", - "sym": "Æ" + "sym": "\u00C6" }, { "type": "overmap_terrain", "id": "urban_32_18", "copy-from": "urban_32_18", - "sym": "Æ" + "sym": "\u00C6" }, { "type": "overmap_terrain", "id": "urban_32_19", "copy-from": "urban_32_19", - "sym": "Æ" + "sym": "\u00C6" }, { "type": "overmap_terrain", "id": "urban_32_20", "copy-from": "urban_32_20", - "sym": "Æ" + "sym": "\u00C6" }, { "type": "overmap_terrain", "id": "urban_32_21", "copy-from": "urban_32_21", - "sym": "Æ" + "sym": "\u00C6" }, { "type": "overmap_terrain", "id": "urban_33_1", "copy-from": "urban_33_1", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_2", "copy-from": "urban_33_2", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_3", "copy-from": "urban_33_3", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_4", "copy-from": "urban_33_4", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_5", "copy-from": "urban_33_5", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_6", "copy-from": "urban_33_6", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_7", "copy-from": "urban_33_7", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_8", "copy-from": "urban_33_8", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_9", "copy-from": "urban_33_9", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_10", "copy-from": "urban_33_10", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_11", "copy-from": "urban_33_11", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_12", "copy-from": "urban_33_12", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_13", "copy-from": "urban_33_13", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_14", "copy-from": "urban_33_14", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_15", "copy-from": "urban_33_15", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_16", "copy-from": "urban_33_16", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_17", "copy-from": "urban_33_17", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_18", "copy-from": "urban_33_18", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_19", "copy-from": "urban_33_19", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_20", "copy-from": "urban_33_20", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_21", "copy-from": "urban_33_21", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_22", "copy-from": "urban_33_22", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_23", "copy-from": "urban_33_23", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_24", "copy-from": "urban_33_24", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_25", "copy-from": "urban_33_25", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_26", "copy-from": "urban_33_26", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_27", "copy-from": "urban_33_27", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_28", "copy-from": "urban_33_28", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_29", "copy-from": "urban_33_29", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_30", "copy-from": "urban_33_30", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_31", "copy-from": "urban_33_31", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_32", "copy-from": "urban_33_32", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_34", "copy-from": "urban_33_34", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_35", "copy-from": "urban_33_35", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_33_36", "copy-from": "urban_33_36", - "sym": "ô" + "sym": "\u00F4" }, { "type": "overmap_terrain", "id": "urban_34_1", "copy-from": "urban_34_1", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_34_2", "copy-from": "urban_34_2", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_34_3", "copy-from": "urban_34_3", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_34_4", "copy-from": "urban_34_4", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_34_5", "copy-from": "urban_34_5", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_34_6", "copy-from": "urban_34_6", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_34_7", "copy-from": "urban_34_7", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_34_8", "copy-from": "urban_34_8", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_34_9", "copy-from": "urban_34_9", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_34_10", "copy-from": "urban_34_10", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_34_11", "copy-from": "urban_34_11", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_34_12", "copy-from": "urban_34_12", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_34_13", "copy-from": "urban_34_13", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_34_14", "copy-from": "urban_34_14", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_34_15", "copy-from": "urban_34_15", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_34_16", "copy-from": "urban_34_16", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_34_17", "copy-from": "urban_34_17", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_34_19", "copy-from": "urban_34_19", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_35_1", "copy-from": "urban_35_1", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_35_2", "copy-from": "urban_35_2", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_35_3", "copy-from": "urban_35_3", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_35_4", "copy-from": "urban_35_4", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_35_5", "copy-from": "urban_35_5", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_35_6", "copy-from": "urban_35_6", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_35_7", "copy-from": "urban_35_7", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_35_8", "copy-from": "urban_35_8", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_35_9", "copy-from": "urban_35_9", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_35_10", "copy-from": "urban_35_10", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_35_11", "copy-from": "urban_35_11", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_35_12", "copy-from": "urban_35_12", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_35_13", "copy-from": "urban_35_13", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_35_14", "copy-from": "urban_35_14", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_35_15", "copy-from": "urban_35_15", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_35_16", "copy-from": "urban_35_16", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_35_17", "copy-from": "urban_35_17", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_35_18", "copy-from": "urban_35_18", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_35_19", "copy-from": "urban_35_19", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_35_20", "copy-from": "urban_35_20", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_35_21", "copy-from": "urban_35_21", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_35_22", "copy-from": "urban_35_22", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_35_23", "copy-from": "urban_35_23", - "sym": "Á" + "sym": "\u00C1" }, { "type": "overmap_terrain", "id": "urban_36_1", "copy-from": "urban_36_1", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_2", "copy-from": "urban_36_2", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_3", "copy-from": "urban_36_3", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_4", "copy-from": "urban_36_4", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_5", "copy-from": "urban_36_5", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_6", "copy-from": "urban_36_6", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_7", "copy-from": "urban_36_7", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_8", "copy-from": "urban_36_8", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_9", "copy-from": "urban_36_9", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_10", "copy-from": "urban_36_10", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_11", "copy-from": "urban_36_11", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_12", "copy-from": "urban_36_12", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_13", "copy-from": "urban_36_13", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_14", "copy-from": "urban_36_14", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_15", "copy-from": "urban_36_15", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_16", "copy-from": "urban_36_16", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_17", "copy-from": "urban_36_17", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_18", "copy-from": "urban_36_18", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_19", "copy-from": "urban_36_19", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_20", "copy-from": "urban_36_20", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_21", "copy-from": "urban_36_21", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_22", "copy-from": "urban_36_22", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_23", "copy-from": "urban_36_23", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_24", "copy-from": "urban_36_24", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_25", "copy-from": "urban_36_25", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_26", "copy-from": "urban_36_26", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_27", "copy-from": "urban_36_27", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_28", "copy-from": "urban_36_28", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_29", "copy-from": "urban_36_29", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_30", "copy-from": "urban_36_30", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_31", "copy-from": "urban_36_31", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_36_32", "copy-from": "urban_36_32", - "sym": "Ç" + "sym": "\u00C7" }, { "type": "overmap_terrain", "id": "urban_37_1", "copy-from": "urban_37_1", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_2", "copy-from": "urban_37_2", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_3", "copy-from": "urban_37_3", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_4", "copy-from": "urban_37_4", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_5", "copy-from": "urban_37_5", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_6", "copy-from": "urban_37_6", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_7", "copy-from": "urban_37_7", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_8", "copy-from": "urban_37_8", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_9", "copy-from": "urban_37_9", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_10", "copy-from": "urban_37_10", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_11", "copy-from": "urban_37_11", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_12", "copy-from": "urban_37_12", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_13", "copy-from": "urban_37_13", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_14", "copy-from": "urban_37_14", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_15", "copy-from": "urban_37_15", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_16", "copy-from": "urban_37_16", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_17", "copy-from": "urban_37_17", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_18", "copy-from": "urban_37_18", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_19", "copy-from": "urban_37_19", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_20", "copy-from": "urban_37_20", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_21", "copy-from": "urban_37_21", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_22", "copy-from": "urban_37_22", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_23", "copy-from": "urban_37_23", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_24", "copy-from": "urban_37_24", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_25", "copy-from": "urban_37_25", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_26", "copy-from": "urban_37_26", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_27", "copy-from": "urban_37_27", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_28", "copy-from": "urban_37_28", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_29", "copy-from": "urban_37_29", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_30", "copy-from": "urban_37_30", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_31", "copy-from": "urban_37_31", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_32", "copy-from": "urban_37_32", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_33", "copy-from": "urban_37_33", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_34", "copy-from": "urban_37_34", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_35", "copy-from": "urban_37_35", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_37_36", "copy-from": "urban_37_36", - "sym": "å", + "sym": "\u00E5", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_38_1", "copy-from": "urban_38_1", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_38_2", "copy-from": "urban_38_2", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_38_3", "copy-from": "urban_38_3", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_38_4", "copy-from": "urban_38_4", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_38_5", "copy-from": "urban_38_5", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_38_6", "copy-from": "urban_38_6", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_38_7", "copy-from": "urban_38_7", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_38_8", "copy-from": "urban_38_8", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_38_9", "copy-from": "urban_38_9", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_38_10", "copy-from": "urban_38_10", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_38_11", "copy-from": "urban_38_11", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_38_12", "copy-from": "urban_38_12", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_39_1", "copy-from": "urban_39_1", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_39_2", "copy-from": "urban_39_2", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_39_3", "copy-from": "urban_39_3", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_39_4", "copy-from": "urban_39_4", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_39_5", "copy-from": "urban_39_5", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_39_6", "copy-from": "urban_39_6", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_39_7", "copy-from": "urban_39_7", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_39_8", "copy-from": "urban_39_8", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_39_9", "copy-from": "urban_39_9", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_39_10", "copy-from": "urban_39_10", - "sym": "à" + "sym": "\u00E0" }, { "type": "overmap_terrain", "id": "urban_40_1", "copy-from": "urban_40_1", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_40_2", "copy-from": "urban_40_2", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_40_3", "copy-from": "urban_40_3", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_40_4", "copy-from": "urban_40_4", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_40_5", "copy-from": "urban_40_5", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_40_6", "copy-from": "urban_40_6", - "sym": "à", + "sym": "\u00E0", "color": "light_gray" }, { "type": "overmap_terrain", "id": "urban_41_1", "copy-from": "urban_41_1", - "sym": "ÿ" + "sym": "\u00FF" }, { "type": "overmap_terrain", "id": "urban_41_2", "copy-from": "urban_41_2", - "sym": "ÿ" + "sym": "\u00FF" }, { "type": "overmap_terrain", "id": "urban_41_3", "copy-from": "urban_41_3", - "sym": "ÿ" + "sym": "\u00FF" }, { "type": "overmap_terrain", "id": "urban_41_4", "copy-from": "urban_41_4", - "sym": "ÿ" + "sym": "\u00FF" }, { "type": "overmap_terrain", "id": "urban_41_5", "copy-from": "urban_41_5", - "sym": "ÿ" + "sym": "\u00FF" }, { "type": "overmap_terrain", "id": "urban_41_6", "copy-from": "urban_41_6", - "sym": "ÿ" + "sym": "\u00FF" }, { "type": "overmap_terrain", "id": "urban_41_7", "copy-from": "urban_41_7", - "sym": "ÿ" + "sym": "\u00FF" }, { "type": "overmap_terrain", "id": "urban_41_8", "copy-from": "urban_41_8", - "sym": "ÿ" + "sym": "\u00FF" } ] diff --git a/data/mods/Magiclysm/Spells/monsterspells.json b/data/mods/Magiclysm/Spells/monsterspells.json index 84b68d133b3bd..7976d85806aee 100644 --- a/data/mods/Magiclysm/Spells/monsterspells.json +++ b/data/mods/Magiclysm/Spells/monsterspells.json @@ -17,6 +17,49 @@ "effect": "projectile_attack", "extra_effects": [ { "id": "light_healing", "hit_self": true } ] }, + { + "id": "rocket_punch", + "type": "SPELL", + "name": "Rocket Punch", + "description": "Ejects giant fist from arm.", + "valid_targets": [ "hostile" ], + "flags": [ "NO_LEGS" ], + "damage_type": "bash", + "min_damage": 30, + "max_damage": 40, + "damage_increment": 2, + "max_level": 5, + "min_range": 1, + "max_range": 2, + "range_increment": 0.2, + "effect": "projectile_attack" + }, + { + "id": "gas_attack", + "type": "SPELL", + "name": "Gas Attack", + "description": "Spreads toxic gas around itself.", + "valid_targets": [ "self", "hostile", "ground" ], + "flags": [ "NO_HANDS", "NO_LEGS" ], + "damage_type": "bio", + "min_damage": 1, + "max_damage": 1, + "max_level": 5, + "min_range": 1, + "max_range": 3, + "range_increment": 0.2, + "effect": "target_attack", + "field_id": "fd_toxic_gas", + "field_chance": 10, + "min_field_intensity": 1, + "max_field_intensity": 1, + "min_duration": 1000, + "max_duration": 6000, + "duration_increment": 1000, + "min_aoe": 1, + "max_aoe": 2, + "aoe_increment": 0.2 + }, { "type": "SPELL", "id": "mon_demon_fireball", diff --git a/data/mods/Magiclysm/items/constructs.json b/data/mods/Magiclysm/items/constructs.json new file mode 100644 index 0000000000000..efc54880b3eb1 --- /dev/null +++ b/data/mods/Magiclysm/items/constructs.json @@ -0,0 +1,52 @@ +[ + { + "type": "GENERIC", + "id": "broken_claygolem", + "symbol": "x", + "color": "brown", + "name": "broken clay golem", + "category": "other", + "description": "A broken clay golem, looking like piece of post-modern art. Could be smashed for clay.", + "price": 10000, + "material": [ "clay" ], + "weight": "122 kg", + "volume": "120 L", + "bashing": 4, + "cutting": 4, + "to_hit": -3, + "flags": [ "TRADER_AVOID", "NO_REPAIR" ] + }, + { + "type": "GENERIC", + "id": "broken_stonegolem", + "symbol": "x", + "color": "light_gray", + "name": "broken stone golem", + "category": "other", + "description": "A broken stone golem, not that much different from big boulder. Could be smashed for stone.", + "price": 10000, + "material": [ "stone" ], + "weight": "162 kg", + "volume": "120 L", + "bashing": 4, + "cutting": 4, + "to_hit": -3, + "flags": [ "TRADER_AVOID", "NO_REPAIR" ] + }, + { + "type": "GENERIC", + "id": "broken_irongolem", + "symbol": "x", + "color": "dark_gray", + "name": "broken iron golem", + "category": "other", + "description": "A broken iron golem, with all iron you would possibly ever need. Could be smashed for iron.", + "price": 100000, + "material": [ "iron" ], + "weight": "945 kg", + "volume": "120 L", + "bashing": 30, + "to_hit": -5, + "flags": [ "TRADER_AVOID", "NO_REPAIR" ] + } +] diff --git a/data/mods/Magiclysm/monstergroups.json b/data/mods/Magiclysm/monstergroups.json index ac3c80a0802fc..ba251b0eba50a 100644 --- a/data/mods/Magiclysm/monstergroups.json +++ b/data/mods/Magiclysm/monstergroups.json @@ -14,6 +14,9 @@ { "monster": "mon_owlbear", "freq": 10, "cost_multiplier": 10 }, { "monster": "mon_wisp", "freq": 3, "cost_multiplier": 10, "conditions": [ "NIGHT" ] }, { "monster": "mon_troll", "freq": 3, "cost_multiplier": 10, "conditions": [ "DAY" ] }, + { "monster": "mon_claygolem", "freq": 8, "cost_multiplier": 3 }, + { "monster": "mon_stonegolem", "freq": 4, "cost_multiplier": 5 }, + { "monster": "mon_irongolem", "freq": 2, "cost_multiplier": 8 }, { "monster": "mon_demon_spiderling", "freq": 15, "cost_multiplier": 5, "pack_size": [ 3, 7 ] } ] }, diff --git a/data/mods/Magiclysm/monsters/monsters.json b/data/mods/Magiclysm/monsters/monsters.json index f9076f9f62f0f..7fc8d45db5cf3 100644 --- a/data/mods/Magiclysm/monsters/monsters.json +++ b/data/mods/Magiclysm/monsters/monsters.json @@ -330,5 +330,100 @@ "death_function": [ "NORMAL" ], "regenerates": 1, "flags": [ "SEES", "SMELLS", "HEARS", "STUMBLES", "PATH_AVOID_FIRE", "REVIVES" ] + }, + { + "id": "mon_claygolem", + "type": "MONSTER", + "name": "clay golem", + "description": "A large, humanoid golem made from clay. Its proportions are off and it seems fragile.", + "default_faction": "robot", + "bodytype": "human", + "species": [ "ROBOT" ], + "diff": 2, + "volume": "120 L", + "weight": "122 kg", + "hp": 100, + "speed": 80, + "material": [ "clay" ], + "symbol": "X", + "color": "brown", + "aggression": 10, + "morale": 100, + "melee_skill": 6, + "melee_dice": 2, + "melee_dice_sides": 10, + "melee_cut": 5, + "armor_bash": 10, + "armor_cut": 10, + "dodge": 0, + "vision_day": 40, + "vision_night": 40, + "anger_triggers": [ "PLAYER_CLOSE", "HURT" ], + "death_function": [ "BROKEN" ], + "flags": [ "SEES", "NO_BREATHE", "ACIDPROOF", "LOUDMOVES" ] + }, + { + "id": "mon_stonegolem", + "type": "MONSTER", + "name": "stone golem", + "description": "A large, humanoid golem made from stone. Its fists look similar to rockets.", + "default_faction": "robot", + "bodytype": "human", + "species": [ "ROBOT" ], + "diff": 2, + "volume": "120 L", + "weight": "162 kg", + "hp": 250, + "speed": 60, + "material": [ "stone" ], + "symbol": "X", + "color": "light_gray", + "aggression": 10, + "morale": 100, + "melee_skill": 6, + "melee_dice": 3, + "melee_dice_sides": 8, + "melee_cut": 6, + "armor_bash": 20, + "armor_cut": 20, + "dodge": 0, + "vision_day": 40, + "vision_night": 40, + "special_attacks": [ { "type": "spell", "spell_id": "rocket_punch", "spell_level": 5, "cooldown": 10 } ], + "anger_triggers": [ "PLAYER_CLOSE", "HURT" ], + "death_function": [ "BROKEN" ], + "flags": [ "SEES", "NO_BREATHE", "ACIDPROOF", "LOUDMOVES" ] + }, + { + "id": "mon_irongolem", + "type": "MONSTER", + "name": "iron golem", + "description": "A large, humanoid golem made from iron. Some sort of noxious gas seems to be seeping from its mouth.", + "default_faction": "robot", + "bodytype": "human", + "species": [ "ROBOT" ], + "diff": 2, + "volume": "120 L", + "weight": "945 kg", + "hp": 400, + "speed": 50, + "material": [ "iron" ], + "symbol": "X", + "color": "dark_gray", + "aggression": 10, + "morale": 100, + "melee_skill": 6, + "melee_dice": 3, + "melee_dice_sides": 10, + "melee_cut": 7, + "armor_bash": 32, + "armor_cut": 32, + "dodge": 0, + "vision_day": 40, + "vision_night": 40, + "special_attacks": [ { "type": "spell", "spell_id": "gas_attack", "spell_level": 5, "cooldown": 60 } ], + "anger_triggers": [ "PLAYER_CLOSE", "HURT" ], + "death_function": [ "BROKEN" ], + "flags": [ "SEES", "NO_BREATHE", "ACIDPROOF", "LOUDMOVES" ] } ] diff --git a/data/mods/Magiclysm/recipes/deconstruction.json b/data/mods/Magiclysm/recipes/deconstruction.json new file mode 100644 index 0000000000000..5fe9ad10e4cdd --- /dev/null +++ b/data/mods/Magiclysm/recipes/deconstruction.json @@ -0,0 +1,29 @@ +[ + { + "result": "broken_claygolem", + "type": "uncraft", + "skill_used": "spellcraft", + "difficulty": 2, + "time": "4 h", + "qualities": [ { "id": "HAMMER", "level": 1 } ], + "components": [ [ [ "clay_lump", 231 ] ] ] + }, + { + "result": "broken_stonegolem", + "type": "uncraft", + "skill_used": "spellcraft", + "difficulty": 4, + "time": "4 h", + "qualities": [ { "id": "HAMMER", "level": 1 } ], + "components": [ [ [ "rock", 222 ] ], [ [ "sharp_rock", 33 ] ] ] + }, + { + "result": "broken_irongolem", + "type": "uncraft", + "skill_used": "spellcraft", + "difficulty": 6, + "time": "6 h", + "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "SAW_M", "level": 1 } ], + "components": [ [ [ "scrap", 800 ] ], [ [ "steel_lump", 200 ] ] ] + } +] diff --git a/data/mods/My_Sweet_Cataclysm/sweet_mutations.json b/data/mods/My_Sweet_Cataclysm/sweet_mutations.json index 6677b631abd8d..260d1e73fe9c9 100644 --- a/data/mods/My_Sweet_Cataclysm/sweet_mutations.json +++ b/data/mods/My_Sweet_Cataclysm/sweet_mutations.json @@ -29,7 +29,7 @@ "ROBUST", "CARNIVORE" ], - "can_only_eat": [ "junk", "sugar" ], + "can_only_eat": [ "junk", "sugar", "honey" ], "can_only_heal_with": [ "caramel_ointement" ], "description": "You are literally made of sugar.", "vitamin_rates": [ [ "vitC", -900 ], [ "vitB", -900 ], [ "vitA", -900 ], [ "iron", -900 ], [ "calcium", -900 ] ], @@ -41,6 +41,7 @@ "fat_to_max_hp": 0.1, "allowed_category": [ "SUGAR" ], "no_cbm_on_bp": [ "TORSO", "HEAD", "EYES", "MOUTH", "ARM_L", "ARM_R", "HAND_L", "HAND_R", "LEG_L", "LEG_R", "FOOT_L", "FOOT_R" ], - "armor": [ { "parts": "ALL", "cut": 10, "bash": 5 } ] + "armor": [ { "parts": "ALL", "cut": 10, "bash": 5 } ], + "flags": [ "NO_THIRST", "NO_DISEASE", "NO_RADIATION" ] } ] diff --git a/data/mods/alt_map_key/overmap_terrain.json b/data/mods/alt_map_key/overmap_terrain.json index 11706a3080958..0ab94a4eeb173 100644 --- a/data/mods/alt_map_key/overmap_terrain.json +++ b/data/mods/alt_map_key/overmap_terrain.json @@ -1882,38 +1882,6 @@ "sym": "t", "color": "pink" }, - { - "type": "overmap_terrain", - "id": "haz_sar_entrance", - "copy-from": "haz_sar_entrance", - "name": "hazardous waste sarcophagus", - "sym": "H", - "color": "i_pink" - }, - { - "type": "overmap_terrain", - "id": "haz_sar", - "copy-from": "haz_sar", - "name": "hazardous waste sarcophagus", - "sym": "h", - "color": "i_pink" - }, - { - "type": "overmap_terrain", - "id": "haz_sar_entrance_b1", - "copy-from": "haz_sar_entrance_b1", - "name": "hazardous waste sarcophagus", - "sym": "H", - "color": "i_pink" - }, - { - "type": "overmap_terrain", - "id": "haz_sar_b1", - "copy-from": "haz_sar_b1", - "name": "hazardous waste sarcophagus", - "sym": "h", - "color": "i_pink" - }, { "type": "overmap_terrain", "id": "cave", diff --git a/data/mods/blazemod/blaze_blob_parts.json b/data/mods/blazemod/blaze_blob_parts.json index d98293f0776f7..3a797d6b08e98 100644 --- a/data/mods/blazemod/blaze_blob_parts.json +++ b/data/mods/blazemod/blaze_blob_parts.json @@ -47,12 +47,11 @@ "color": "blue", "broken_color": "blue", "durability": 400, - "range": 1, "damage_modifier": 10, "folded_volume": 1, "breaks_into": [ { "item": "bitergrow" } ], "requirements": { "repair": { "time": "5 m", "using": [ [ "blobrep", 1 ] ] } }, - "descriptions": "A living blob, transformed into a heavy vehicle weapon.", + "description": "A living blob, transformed into a heavy vehicle weapon.", "flags": [ "TURRET", "FOLDABLE", "OBSTACLE" ] }, { @@ -66,7 +65,6 @@ "color": "magenta", "broken_color": "magenta", "durability": 200, - "range": 8, "damage_modifier": 10, "folded_volume": 1, "breaks_into": [ { "item": "cluttergrow" } ], @@ -85,7 +83,6 @@ "color": "light_blue", "broken_color": "light_blue", "durability": 200, - "range": 18, "damage_modifier": 10, "folded_volume": 1, "breaks_into": [ { "item": "freeziegrow" } ], @@ -200,7 +197,6 @@ "color": "brown", "broken_color": "brown", "durability": 600, - "range": 1, "damage_modifier": 10, "folded_volume": 1, "breaks_into": [ { "item": "fuzzlegrow" } ], @@ -1179,7 +1175,6 @@ "color": "blue", "broken_color": "blue", "durability": 1000, - "range": 1, "damage_modifier": 10, "folded_volume": 1, "breaks_into": [ { "item": "horrorgrow" } ], @@ -1197,7 +1192,6 @@ "color": "brown", "broken_color": "brown", "durability": 200, - "range": 8, "damage_modifier": 10, "folded_volume": 1, "breaks_into": [ { "item": "inkiegrow" } ], @@ -1215,7 +1209,6 @@ "color": "light_red", "broken_color": "light_red", "durability": 200, - "range": 8, "damage_modifier": 10, "folded_volume": 1, "breaks_into": [ { "item": "meltiegrow" } ], @@ -1631,7 +1624,6 @@ "color": "red", "broken_color": "red", "durability": 200, - "range": 60, "damage_modifier": 10, "folded_volume": 1, "breaks_into": [ { "item": "queengrow" } ], @@ -1650,7 +1642,6 @@ "color": "cyan", "broken_color": "cyan", "durability": 200, - "range": 18, "damage_modifier": 10, "folded_volume": 1, "breaks_into": [ { "item": "razorqueengrow" } ], @@ -1669,7 +1660,6 @@ "color": "light_blue", "broken_color": "light_blue", "durability": 200, - "range": 16, "damage_modifier": 10, "folded_volume": 1, "breaks_into": [ { "item": "sharpgrow" } ], @@ -1688,7 +1678,6 @@ "color": "blue", "broken_color": "blue", "durability": 200, - "range": 12, "damage_modifier": 10, "folded_volume": 1, "breaks_into": [ { "item": "sicklegrow" } ], @@ -1707,7 +1696,6 @@ "color": "cyan", "broken_color": "cyan", "durability": 200, - "range": 16, "damage_modifier": 10, "folded_volume": 1, "breaks_into": [ { "item": "sparkiegrow" } ], @@ -1726,7 +1714,6 @@ "color": "yellow", "broken_color": "yellow", "durability": 200, - "range": 8, "damage_modifier": 10, "folded_volume": 1, "breaks_into": [ { "item": "stickiegrow" } ], @@ -1745,7 +1732,6 @@ "color": "light_red", "broken_color": "light_red", "durability": 200, - "range": 10, "damage_modifier": 10, "folded_volume": 1, "breaks_into": [ { "item": "torchiegrow" } ], @@ -1764,7 +1750,6 @@ "color": "cyan", "broken_color": "cyan", "durability": 200, - "range": 12, "damage_modifier": 10, "folded_volume": 1, "breaks_into": [ { "item": "voideatergrow" } ], diff --git a/data/mods/blazemod/blaze_other.json b/data/mods/blazemod/blaze_other.json index aa719cf24fc00..53ec86b273209 100644 --- a/data/mods/blazemod/blaze_other.json +++ b/data/mods/blazemod/blaze_other.json @@ -180,8 +180,7 @@ "id": "turretframe", "type": "GENERIC", "category": "veh_parts", - "name": "turret chassis", - "name_plural": "turret chassis", + "name": { "str": "turret chassis", "str_pl": "turret chassis" }, "description": "A frame capable of rotating a full 360 degrees, capable of mounting multiple weapon systems either welded directly onto it or secured via the straps. It comes with a easily modified container for ammunition storage, a rudimentary ammo feed system for easy access, and a section for a movement system. It is controlled by a targeting AI that can adapt to the usage of whatever weapon that has been loading, with proper programming.", "weight": "38604 g", "volume": "20 L", diff --git a/data/mods/blazemod/blaze_other_parts.json b/data/mods/blazemod/blaze_other_parts.json index 46e303a047f3a..3507132c350dc 100644 --- a/data/mods/blazemod/blaze_other_parts.json +++ b/data/mods/blazemod/blaze_other_parts.json @@ -46,11 +46,11 @@ "copy-from": "engine_combustion", "type": "vehicle_part", "fuel_type": "coal_lump", - "cold_affects_start": true, "looks_like": "diesel_engine_v12", "m2c": 75, "//": "45% energy efficiency", - "description": "A closed cycle, external combustion steam turbine. Burns coal from a bunker in the vehicle to produce steam." + "description": "A closed cycle, external combustion steam turbine. Burns coal from a bunker in the vehicle to produce steam.", + "extend": { "flags": [ "E_COLD_START" ] } }, { "id": "engine_steam_turbine_small", @@ -328,7 +328,6 @@ "id": "turretframe", "type": "vehicle_part", "name": "turret chassis", - "name_plural": "turret chassis", "item": "turretframe", "symbol": "Y", "broken_symbol": "#", diff --git a/data/mods/blazemod/blaze_override.json b/data/mods/blazemod/blaze_override.json index b8a9ec67a12dc..3ade71f8a5b37 100644 --- a/data/mods/blazemod/blaze_override.json +++ b/data/mods/blazemod/blaze_override.json @@ -14,8 +14,7 @@ "copy-from": "flamethrower", "type": "vehicle_part", "name": "manual flamethrower", - "broken_symbol": "#", - "range": 5 + "broken_symbol": "#" }, { "id": "auto_m1918", @@ -25,8 +24,7 @@ "symbol": "t", "broken_symbol": "#", "color": "brown", - "size": 40, - "range": 12 + "size": 40 }, { "id": "am249", @@ -34,16 +32,14 @@ "type": "vehicle_part", "name": "M249 turret", "broken_symbol": "#", - "size": 40, - "range": 12 + "size": 40 }, { "id": "aplasma_gun", "copy-from": "plasma_gun", "type": "vehicle_part", "name": "plasma turret", - "broken_symbol": "#", - "range": 12 + "broken_symbol": "#" }, { "id": "afusion_gun", @@ -51,8 +47,7 @@ "type": "vehicle_part", "name": "fusion turret", "broken_symbol": "#", - "size": 10, - "range": 12 + "size": 10 }, { "id": "am2browning", @@ -60,8 +55,7 @@ "type": "vehicle_part", "name": "M2 Browning turret", "broken_symbol": "#", - "size": 40, - "range": 12 + "size": 40 }, { "id": "auto_m240", @@ -69,8 +63,7 @@ "type": "vehicle_part", "name": "M240 turret", "broken_symbol": "#", - "size": 40, - "range": 12 + "size": 40 }, { "id": "auto_m60", @@ -78,8 +71,7 @@ "type": "vehicle_part", "name": "M60 turret", "broken_symbol": "#", - "size": 40, - "range": 12 + "size": 40 }, { "id": "auto_abzats", @@ -87,8 +79,7 @@ "type": "vehicle_part", "name": "auto-shotgun turret", "broken_symbol": "#", - "size": 40, - "range": 12 + "size": 40 }, { "id": "auto_m134", @@ -96,8 +87,7 @@ "type": "vehicle_part", "name": "M134D-H Minigun turret", "broken_symbol": "#", - "size": 40, - "range": 12 + "size": 40 }, { "id": "auto_mk19", @@ -105,8 +95,7 @@ "type": "vehicle_part", "name": "Mark 19 turret", "broken_symbol": "#", - "size": 40, - "range": 12 + "size": 40 }, { "id": "auto_rm614", @@ -115,8 +104,7 @@ "name": "RM614 turret", "broken_symbol": "#", "broken_color": "light_gray", - "size": 40, - "range": 12 + "size": 40 }, { "id": "auto_rm298", @@ -125,16 +113,14 @@ "name": "RM298 turret", "broken_symbol": "#", "broken_color": "light_gray", - "size": 40, - "range": 12 + "size": 40 }, { "id": "awatercannon", "copy-from": "watercannon", "type": "vehicle_part", "name": "water cannon turret", - "broken_symbol": "#", - "range": 7 + "broken_symbol": "#" }, { "id": "pool_ball", diff --git a/data/mods/blazemod/blaze_test.json b/data/mods/blazemod/blaze_test.json index b6cca51c99e42..38f1e0e0ce4e2 100644 --- a/data/mods/blazemod/blaze_test.json +++ b/data/mods/blazemod/blaze_test.json @@ -874,7 +874,6 @@ "color": "pink", "broken_color": "pink", "size": 10, - "range": 18, "folded_volume": 20, "breaks_into": [ { "item": "vortexcannon", "count": [ 0, 1 ] } ], "requirements": { "install": { "skills": [ [ "mechanics", 4 ] ] }, "removal": { "skills": [ [ "mechanics", 2 ] ] } } diff --git a/data/mods/blazemod/snippets.json b/data/mods/blazemod/snippets.json index 0e2670643db49..953a067c2d546 100644 --- a/data/mods/blazemod/snippets.json +++ b/data/mods/blazemod/snippets.json @@ -17,7 +17,7 @@ "text": "\"Day 40. Controls broken-- car's magic reactor makes it goes inexorably forward. Giant rollers on front demolish forest. Maine, here I come.\"" }, { "id": "note_blazemod_5", "text": "\"my car is a diamond in the rough… literally\"" }, - { "id": "note_blazemod_6", "text": "\"M249 TURRET NODDED. IS TURRET ALIVE? FINALLY, SOMEBODY TO TALK TO!\"" }, + { "id": "note_blazemod_6", "text": "\"M249 TURRET NODDED. IS TURRET ALIVE? FINALLY, SOMEBODY TO TALK TO!\"" }, { "id": "note_blazemod_7", "text": "\"Added so many things to my taxi that it went a-blaze. Whoops.\"" }, { "id": "note_blazemod_8", diff --git a/doc/JSON_FLAGS.md b/doc/JSON_FLAGS.md index c65d38e369b61..714af7fe74781 100644 --- a/doc/JSON_FLAGS.md +++ b/doc/JSON_FLAGS.md @@ -1,75 +1,76 @@ # JSON Flags -* [Notes](#notes) -* [Inheritance](#inheritance) -* [TODO](#todo) -* [Ammo](#ammo) - + [Ammo type](#ammo-type) - + [Effects](#effects) -* [Armor](#armor) - + [Covers](#covers) - + [Flags](#flags) -* [Bionics](#bionics) -* [Books](#books) - + [Use actions](#use-actions) -* [Comestibles](#comestibles) - + [Comestible type](#comestible-type) - + [Addiction type](#addiction-type) - + [Use action](#use-action) - + [Flags](#flags-1) -* [Furniture and Terrain](#furniture-and-terrain) - + [Flags](#flags-2) - + [Examine Actions](#examine-actions) - + [Fungal Conversions Only](#fungal-conversions-only) - + [Furniture Only](#furniture-only) -* [Generic](#generic) - + [Flags](#flags-3) -* [Guns](#guns) - + [Firing modes](#firing-modes) - + [Faults](#faults) +- [JSON Flags](#json-flags) + - [Notes](#notes) + - [Inheritance](#inheritance) + - [TODO](#todo) + - [Ammo](#ammo) + - [Ammo type](#ammo-type) + - [Effects](#effects) + - [Armor](#armor) + - [Covers](#covers) - [Flags](#flags) - - [Parameters](#parameters) -* [Magazines](#magazines) -* [MAP SPECIALS](#map-specials) -* [Material Phases](#material-phases) -* [Melee](#melee) - + [Flags](#flags-4) -* [Monster Groups](#monster-groups) - + [Conditions](#conditions) - - [Seasons](#seasons) - - [Time of day](#time-of-day) -* [Monsters](#monsters) - + [Anger, Fear and Placation Triggers](#anger--fear-and-placation-triggers) - + [Categories](#categories) - + [Death Functions](#death-functions) - + [Flags](#flags-5) - + [Monster Defense and Attacks](#monster-defense-and-attacks) - + [Sizes](#sizes) - + [Special attacks](#special-attacks) -* [Mutations](#mutations) - + [Categories](#categories-1) -* [Overmap](#overmap) - + [Overmap connections](#overmap-connections) + - [Bionics](#bionics) + - [Books](#books) + - [Use actions](#use-actions) + - [Comestibles](#comestibles) + - [Comestible type](#comestible-type) + - [Addiction type](#addiction-type) + - [Use action](#use-action) + - [Flags](#flags-1) + - [Furniture and Terrain](#furniture-and-terrain) + - [Flags](#flags-2) + - [Examine Actions](#examine-actions) + - [Fungal Conversions Only](#fungal-conversions-only) + - [Furniture Only](#furniture-only) + - [Generic](#generic) + - [Flags](#flags-3) + - [Guns](#guns) + - [Firing modes](#firing-modes) + - [Faults](#faults) + - [Flags](#flags-4) + - [Parameters](#parameters) + - [Magazines](#magazines) + - [MAP SPECIALS](#map-specials) + - [Material Phases](#material-phases) + - [Melee](#melee) + - [Flags](#flags-5) + - [Monster Groups](#monster-groups) + - [Conditions](#conditions) + - [Seasons](#seasons) + - [Time of day](#time-of-day) + - [Monsters](#monsters) + - [Anger, Fear and Placation Triggers](#anger-fear-and-placation-triggers) + - [Categories](#categories) + - [Death Functions](#death-functions) - [Flags](#flags-6) - + [Overmap specials](#overmap-specials) - - [Flags](#flags-7) - + [Overmap terrains](#overmap-terrains) - - [Flags](#flags-8) -* [Recipes](#recipes) - + [Categories](#categories-2) - + [Flags](#flags-9) -* [Scenarios](#scenarios) - + [Flags](#flags-10) - - [Season Flags](#season-flags) -* [Skills](#skills) - + [Tags](#tags) -* [Techniques](#techniques) -* [Tools](#tools) - + [Flags](#flags-11) - + [Flags that apply to items](#flags-that-apply-to-items) -* [Vehicle Parts](#vehicle-parts) - + [Flags](#flags-12) - + [Fuel types](#fuel-types) + - [Monster Defense and Attacks](#monster-defense-and-attacks) + - [Sizes](#sizes) + - [Special attacks](#special-attacks) + - [Mutations](#mutations) + - [Flags](#flags-7) + - [Categories](#categories-1) + - [Overmap](#overmap) + - [Overmap connections](#overmap-connections) + - [Overmap specials](#overmap-specials) + - [Flags](#flags-8) + - [Overmap terrains](#overmap-terrains) + - [Flags](#flags-9) + - [Recipes](#recipes) + - [Categories](#categories-2) + - [Flags](#flags-10) + - [Scenarios](#scenarios) + - [Flags](#flags-11) + - [Season Flags](#season-flags) + - [Skills](#skills) + - [Tags](#tags) + - [Techniques](#techniques) + - [Tools](#tools) + - [Flags](#flags-12) + - [Flags that apply to items](#flags-that-apply-to-items) + - [Vehicle Parts](#vehicle-parts) + - [Flags](#flags-13) + - [Fuel types](#fuel-types) ## Notes @@ -1006,7 +1007,7 @@ Also see `monster_attacks.json` for more special attacks, for example, impale an - ```BRANDISH``` Brandish a knife at the player. - ```BREATHE``` Spawns a `breather` - ```CALLBLOBS``` Calls 2/3 of nearby blobs to defend this monster, and sends 1/3 of nearby blobs after the player. -- ```CHICKENBOT``` Robot can attack with tazer, M4, or MGL depending on distance. +- ```CHICKENBOT``` LEGACY - Robot can attack with tazer, M4, or MGL depending on distance. - ```COPBOT``` Cop-bot alerts and then tazes the player. - ```DANCE``` Monster dances. - ```DARKMAN``` Can cause darkness and wraiths to spawn. @@ -1085,6 +1086,10 @@ Also see `monster_attacks.json` for more special attacks, for example, impale an - ```UNARMED_BONUS``` You get a bonus to unarmed bash and cut damage equal to unarmed_skill/2 up to 4. - ```NEED_ACTIVE_TO_MELEE``` This mutation gives bonus to unarmed melee only if it's active. +- ```NO_DISEASE``` This mutation grants immunity to diseases. +- ```NO_THIRST``` Your thirst is not modified by food or drinks. +- ```NO_RADIATION``` This mutation grants immunity to radiations. + ### Categories diff --git a/doc/JSON_INFO.md b/doc/JSON_INFO.md index 3573abe7a8a44..9c0e13b01c8ab 100644 --- a/doc/JSON_INFO.md +++ b/doc/JSON_INFO.md @@ -37,6 +37,7 @@ Use the `Home` key to return to the top. - [`flags`](#-flags-) - [`cbms`](#-cbms-) - [`traits`](#-traits-) + + [Profession item substitution](#profession_item_substitutions) + [Recipes](#recipes) + [Constructions](#constructions) + [Scent Types](#scent_types) @@ -156,7 +157,7 @@ Use the `Home` key to return to the top. - [MOD tileset](#mod-tileset) * [`compatibility`](#-compatibility-) * [`tiles-new`](#-tiles-new-) - + # Introduction This document describes the contents of the json files used in Cataclysm: Dark days ahead. You are probably reading this if you want to add or change content of Catacysm: Dark days ahead and need to learn more about what to find where and what each file and property does. @@ -303,10 +304,10 @@ A few properties are applicable to most if not all json files and do not need to | Identifier | Description |--- |--- | type | The type of object this json entry is describing. Setting this entry to 'armor' for example means the game will expect properties specific to armor in that entry. Also ties in with 'copy-from' (see below), if you want to inherit properties of another object, it must be of the same tipe. -| [copy-from](https://github.com/CleverRaven/Cataclysm-DDA/tree/master/doc/JSON_INHERITANCE.md) | The identifier of the item you wish to copy properties from. This allows you to make an exact copy of an item __of the same type__ and only provide entries that should change from the item you copied from. +| [copy-from](https://github.com/CleverRaven/Cataclysm-DDA/tree/master/doc/JSON_INHERITANCE.md) | The identifier of the item you wish to copy properties from. This allows you to make an exact copy of an item __of the same type__ and only provide entries that should change from the item you copied from. | [extends](https://github.com/CleverRaven/Cataclysm-DDA/tree/master/doc/JSON_INHERITANCE.md) | Modders can add an "extends" field to their definition to append entries to a list instead of overriding the entire list. | [delete](https://github.com/CleverRaven/Cataclysm-DDA/tree/master/doc/JSON_INHERITANCE.md) | Modders can also add a "delete" field that removes elements from lists instead of overriding the entire list. -| [abstract](https://github.com/CleverRaven/Cataclysm-DDA/tree/master/doc/JSON_INHERITANCE.md) | Creates an abstract item (an item that does not end up in the game and solely exists in the json to be copied-from. Use this _instead of_ 'id'. +| [abstract](https://github.com/CleverRaven/Cataclysm-DDA/tree/master/doc/JSON_INHERITANCE.md) | Creates an abstract item (an item that does not end up in the game and solely exists in the json to be copied-from. Use this _instead of_ 'id'. @@ -473,12 +474,13 @@ The syntax listed here is still valid. | `name` | In-game name displayed. | `bash_resist` | How well a material resists bashing damage. | `cut_resist` | How well a material resists cutting damage. -| `bash_dmg_verb` | Verb used when material takes bashing damage. -| `cut_dmg_verb` | Verb used when material takes cutting damage. -| `dmg_adj` | Description added to damaged item in ascending severity. | `acid_resist` | Ability of a material to resist acid. | `elec_resist` | Ability of a material to resist electricity. | `fire_resist` | Ability of a material to resist fire. +| `chip_resist` | Returns resistance to being damaged by attacks against the item itself. +| `bash_dmg_verb` | Verb used when material takes bashing damage. +| `cut_dmg_verb` | Verb used when material takes cutting damage. +| `dmg_adj` | Description added to damaged item in ascending severity. | `dmg_adj` | Adjectives used to describe damage states of a material. | `density` | Density of a material. | `vitamins` | Vitamins in a material. Usually overridden by item specific values. @@ -532,7 +534,7 @@ There are six -resist parameters: acid, bash, chip, cut, elec, and fire. These a | `default` | Default monster, automatically fills in any remaining spawn chances. | `monsters` | To choose a monster for spawning, the game creates 1000 entries and picks one. Each monster will have a number of entries equal to it's "freq" and the default monster will fill in the remaining. See the table below for how to build the single monster definitions. | `is_safe` | (bool) Check to not trigger safe-mode warning. -| `is_animal` | (bool) Check if that group has only normal animals. +| `is_animal` | (bool) Check if that group has only normal animals. #### Monster definition @@ -590,6 +592,41 @@ See MONSTERS.md // NOTE: Please refrain from adding name PR's in order to maintain kickstarter exclusivity ``` +### Profession item substitution + +Defines item replacements that are applied to the starting items based upon the starting traits. This allows for example to replace wool items with non-wool items when the characters starts with the wool allergy trait. + +If the JSON objects contains a "item" member, it defines a replacement for the given item, like this: + +```C++ +{ + "type": "profession_item_substitutions", + "item": "sunglasses", + "sub": [ + { "present": [ "HYPEROPIC" ], "new": [ "fitover_sunglasses" ] }, + { "present": [ "MYOPIC" ], "new": [ { "fitover_sunglasses", "ratio": 2 } ] } + ] +} +``` +This defines each item of type "sunglasses" shall be replaced with: +- an item "fitover_sunglasses" if the character has the "HYPEROPIC" trait, +- two items "fitover_sunglasses" if the character has the "MYOPIC" trait. + +If the JSON objects contains a "trait" member, it defines a replacement for multiple items that applies when the character has the given trait: +```C++ +{ + "type": "profession_item_substitutions", + "trait": "WOOLALLERGY", + "sub": [ + { "item": "blazer", "new": [ "jacket_leather_red" ] }, + { "item": "hat_hunting", "new": [ { "item": "hat_cotton", "ratio": 2 } ] } + ] +} +```C++ +This defines characters with the WOOLALLERGY trait get some items replaced: +- "blazer" is converted into "jacket_leather_red", +- each "hat_hunting" is converted into *two* "hat_cotton" items. + ### Professions Professions are specified as JSON object with "type" member set to "profession": @@ -980,6 +1017,7 @@ Note that even though most statistics yield an integer, you should still use "good": 1 } ] // "neutral/good/ignored" // Good increases pos and cancels neg, neut cancels neg, ignored cancels both "vitamin_rates": [ [ "vitC", -1200 ] ], // How much extra vitamins do you consume per minute. Negative values mean production "vitamins_absorb_multi": [ [ "flesh", [ [ "vitA", 0 ], [ "vitB", 0 ], [ "vitC", 0 ], [ "calcium", 0 ], [ "iron", 0 ] ], [ "all", [ [ "vitA", 2 ], [ "vitB", 2 ], [ "vitC", 2 ], [ "calcium", 2 ], [ "iron", 2 ] ] ] ], // multiplier of vitamin absorption based on material. "all" is every material. supports multiple materials. +"craft_skill_bonus": [ [ "electronics", -2 ], [ "tailor", -2 ], [ "mechanics", -2 ] ], // Skill affected by the mutation and their bonuses. Bonuses can be negative, a bonus of 4 is worth 1 full skill level. "restricts_gear" : [ "TORSO" ], //list of bodyparts that get restricted by this mutation "allow_soft_gear" : true, //If there is a list of 'restricts_gear' this sets if the location still allows items made out of soft materials (Only one of the types need to be soft for it to be considered soft). (default: false) "destroys_gear" : true, //If true, destroys the gear in the 'restricts_gear' location when mutated into. (default: false) @@ -1086,7 +1124,7 @@ Vehicle components when installed on a vehicle. "exclusions": [ "souls" ] // Optional field, defaults to empty. A list of words. A new engine can't be installed on the vehicle if any engine on the vehicle shares a word from exclusions. "fuel_options": [ "soul", "black_soul" ] // Optional field, defaults to fuel_type. A list of words. An engine can be fueled by any fuel type in its fuel_options. If provided, it overrides fuel_type and should include the fuel in fuel_type. "comfort": 3, // Optional field, defaults to 0. How comfortable this terrain/furniture is. Impact ability to fall asleep on it. (uncomfortable = -999, neutral = 0, slightly_comfortable = 3, comfortable = 5, very_comfortable = 10) -"floor_bedding_warmth": 300, // Optional field, defaults to 0. Bonus warmth offered by this terrain/furniture when used to sleep. +"floor_bedding_warmth": 300, // Optional field, defaults to 0. Bonus warmth offered by this terrain/furniture when used to sleep. "bonus_fire_warmth_feet": 200,// Optional field, defaults to 300. Increase warmth received on feet from nearby fire. ``` @@ -1559,7 +1597,7 @@ Alternately, every item (book, tool, armor, even food) can be used as a gunmod i "gunmod_data" : { "location": ..., "mod_targets": ..., - ... + ... } ``` @@ -2157,7 +2195,7 @@ Array of dictionaries defining possible items produced on butchering and their l For every `type` other then `bionic` and `bionic_group` following entries scale the results: `base_num` value should be an array with two elements in which the first defines the minimum number of the corresponding item produced and the second defines the maximum number. `scale_num` value should be an array with two elements, increasing the minimum and maximum drop numbers respectively by element value * survival skill. - `max` upper limit after `bas_num` and `scale_num` are calculated using + `max` upper limit after `bas_num` and `scale_num` are calculated using `mass_ratio` value is a multiplier of how much of the monster's weight comprises the associated item. to conserve mass, keep between 0 and 1 combined with all drops. This overrides `base_num`, `scale_num` and `max` @@ -2221,7 +2259,7 @@ Strength required to move the furniture around. Negative values indicate an unmo #### `plant_data` -(Optional) This is a plant. Must specify a plant transform, and a base depending on context. You can also add a harvest or growth multiplier if it has the `GROWTH_HARVEST` flag. +(Optional) This is a plant. Must specify a plant transform, and a base depending on context. You can also add a harvest or growth multiplier if it has the `GROWTH_HARVEST` flag. ### Terrain @@ -2344,7 +2382,7 @@ How comfortable this terrain/furniture is. Impact ability to fall asleep on it. #### `floor_bedding_warmth` -Bonus warmth offered by this terrain/furniture when used to sleep. +Bonus warmth offered by this terrain/furniture when used to sleep. #### `bonus_fire_warmth_feet` diff --git a/doc/MAPGEN.md b/doc/MAPGEN.md index 060904b68dbe1..7cbd1bf815133 100644 --- a/doc/MAPGEN.md +++ b/doc/MAPGEN.md @@ -586,7 +586,7 @@ Places a gas pump with gasoline (or sometimes diesel) in it. Values: ### 2.5.6 "items" Places items from an item group. Values: -- "item": (required, string) the item group to use. +- "item": (required, string or itemgroup object) the item group to use. - "chance": (optional, integer or min/max array) x in 100 chance that a loop will continue to spawn items from the group (which itself may spawn multiple items or not depending on its type, see `ITEM_SPAWN.md`), unless the chance is 100, in which case it will trigger the item group spawn exactly 1 time (see `map::place_items`). - "repeat": (optional, integer or min/max array) the number of times to repeat this placement, default is 1. diff --git a/gfx/RetroDays+Tileset/fallback.png b/gfx/RetroDays+Tileset/fallback.png new file mode 100644 index 0000000000000..355abadd5d132 Binary files /dev/null and b/gfx/RetroDays+Tileset/fallback.png differ diff --git a/gfx/RetroDays+Tileset/tile_config.json b/gfx/RetroDays+Tileset/tile_config.json new file mode 100644 index 0000000000000..4d6e9e315aa9f --- /dev/null +++ b/gfx/RetroDays+Tileset/tile_config.json @@ -0,0 +1,7889 @@ +{ + "tile_info": [ + { "height": 10, "width": 10, "pixelscale": 2 } + ], + "tiles-new": [ + { + "file": "tiles.png", + "tiles": [ + { "id": [ "nothing", "tr_ledge" ], "fg": 0 }, + { "id": [ "t_hole", "lighting_hidden" ], "fg": 1, "rotates": false }, + { "id": "lighting_lowlight_dark", "fg": 2, "rotates": false }, + { "id": "lighting_lowlight_light", "fg": 3, "rotates": false }, + { "id": "lighting_boomered_dark", "fg": 4, "rotates": false }, + { "id": "lighting_boomered_light", "fg": 5, "rotates": false }, + { "id": "animation_line", "fg": 6 }, + { "id": "animation_hit", "fg": 7 }, + { "id": "fd_dazzling", "fg": 8, "rotates": false }, + { "id": [ "fd_hot_air1", "fd_hot_air2", "fd_hot_air3", "fd_hot_air4" ], "fg": 9, "rotates": false }, + { "id": [ "t_open_air", "t_open_air_rooved" ], "fg": 10, "rotates": false }, + { "id": "fd_spotlight", "fg": 11, "rotates": false }, + { "id": [ "highlight", "line_target", "line_trail", "cursor" ], "fg": 12 }, + { "id": "highlight_item", "fg": 13, "rotates": false }, + { "id": "unknown", "fg": 14, "rotates": false }, + { "id": "footstep", "fg": 15, "rotates": false }, + { "id": "infrared_creature", "fg": 16, "rotates": false }, + { + "id": "explosion", + "fg": 17, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 17 }, + { "id": "corner", "fg": 18 }, + { "id": "edge", "fg": 17 }, + { "id": "end_piece", "fg": 17 }, + { "id": "t_connection", "fg": 17 }, + { "id": "unconnected", "fg": 17 } + ] + }, + { + "id": "explosion_medium", + "fg": 19, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 19 }, + { "id": "corner", "fg": 20 }, + { "id": "edge", "fg": 19 }, + { "id": "end_piece", "fg": 19 }, + { "id": "t_connection", "fg": 19 }, + { "id": "unconnected", "fg": 19 } + ] + }, + { + "id": "explosion_weak", + "fg": 21, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 21 }, + { "id": "corner", "fg": 22 }, + { "id": "edge", "fg": 21 }, + { "id": "end_piece", "fg": 21 }, + { "id": "t_connection", "fg": 21 }, + { "id": "unconnected", "fg": 21 } + ] + }, + { "id": "fd_laser", "fg": 23 }, + { "id": [ "animation_bullet_shrapnel", "animation_bullet_normal" ], "fg": 24 }, + { "id": "fd_plasma", "fg": 25 }, + { "id": "weather_rain_drop", "fg": 26 }, + { "id": "weather_acid_drop", "fg": 27 }, + { "id": "weather_snowflake", "fg": 28 }, + { "id": [ "t_water_moving_dp", "t_swater_dp", "t_water_dp" ], "fg": 29, "rotates": false }, + { "id": [ "t_water_moving_sh", "t_swater_sh", "t_water_pool", "t_water_sh" ], "fg": 30, "rotates": false }, + { "id": [ "t_slime", "t_sewage" ], "fg": 31, "rotates": false }, + { "id": [ "tr_lava", "t_lava" ], "fg": 32, "rotates": false }, + { "id": "t_sludge", "fg": 33, "rotates": false }, + { "id": "t_tar", "fg": 34, "rotates": false }, + { "id": [ "t_dirtfloor", "t_dirt" ], "fg": 35, "rotates": false }, + { "id": "t_dirt_season_winter", "fg": 36, "rotates": false }, + { "id": "t_searth_test", "fg": 37, "rotates": false }, + { "id": "t_sand", "fg": 38, "rotates": false }, + { "id": "t_clay", "fg": 39, "rotates": false }, + { "id": "t_woodchips", "fg": 40, "rotates": false }, + { "id": "f_ash", "fg": 41, "rotates": false }, + { "id": [ "fd_rubble", "f_rubble_rock" ], "fg": 42, "rotates": false }, + { "id": "f_rubble", "fg": 43, "rotates": false }, + { "id": [ "t_sidewalk_bg_dp", "t_sidewalk" ], "fg": 44, "rotates": false }, + { "id": [ "t_pavement_bg_dp", "t_pavement" ], "fg": 45, "rotates": false }, + { "id": [ "t_pavement_y_bg_dp", "t_pavement_y" ], "fg": 46, "rotates": false }, + { "id": "t_rock_floor", "fg": 47, "rotates": false }, + { + "id": [ "t_concrete_floor", "t_flat_roof", "t_strconc_floor", "t_thconc_floor", "t_railroad_rubble", "t_concrete" ], + "fg": 48, + "rotates": false + }, + { "id": "t_thconc_floor_olight", "fg": 49, "rotates": false }, + { "id": [ "t_scrap_floor", "t_junk_floor", "t_metal_floor" ], "fg": 50, "rotates": false }, + { "id": "f_wreckage", "fg": 51, "rotates": false }, + { "id": [ "t_linoleum_gray", "t_strconc_floor_halfway" ], "fg": 52, "rotates": false }, + { "id": [ "t_floor_red", "t_carpet_red" ], "fg": 53, "rotates": false }, + { "id": [ "t_carpet_yellow", "t_floor_waxed_y" ], "fg": 54, "rotates": false }, + { "id": "t_floor_waxed", "fg": 55, "rotates": false }, + { "id": [ "f_tatami", "f_skin_groundsheet" ], "fg": 56, "rotates": false }, + { "id": "t_floor_primitive", "fg": 57, "rotates": false }, + { + "id": [ "f_groundsheet", "f_fema_groundsheet", "f_large_groundsheet", "f_center_groundsheet" ], + "fg": 58, + "rotates": false + }, + { "id": [ "t_floor_green", "t_carpet_green" ], "fg": 59, "rotates": false }, + { "id": "t_floor_blue", "fg": 60, "rotates": false }, + { "id": "t_floor", "fg": 61, "rotates": false }, + { "id": "t_carpet_purple", "fg": 62, "rotates": false }, + { "id": "t_elevator", "fg": 63, "rotates": false }, + { "id": [ "t_skylight", "t_linoleum_white", "t_paper_floor", "f_canvas_floor" ], "fg": 64, "rotates": false }, + { "id": [ "t_claymound", "t_dirtmoundfloor", "t_dirtmound" ], "fg": 65, "rotates": false }, + { "id": "t_sandmound", "fg": 66, "rotates": false }, + { "id": [ "t_grass", "t_grass_season_spring" ], "fg": 67, "rotates": false }, + { "id": "t_grass_season_summer", "fg": 68, "rotates": false }, + { "id": "t_grass_season_autumn", "fg": 69, "rotates": false }, + { "id": "t_grass_season_winter", "fg": 70, "rotates": false }, + { "id": [ "t_fungus", "t_grass_white" ], "fg": 71, "rotates": false }, + { "id": [ "t_grass_long", "t_grass_long_season_spring" ], "fg": 72, "rotates": false }, + { "id": "t_grass_long_season_summer", "fg": 73, "rotates": false }, + { "id": "t_grass_long_season_autumn", "fg": 74, "rotates": false }, + { "id": "t_grass_long_season_winter", "fg": 75, "rotates": false }, + { "id": [ "t_grass_tall", "t_grass_tall_season_spring" ], "fg": 76, "rotates": false }, + { "id": "t_grass_tall_summer", "fg": 77, "rotates": false }, + { "id": "t_grass_tall_season_autumn", "fg": 78, "rotates": false }, + { "id": "t_grass_tall_season_winter", "fg": 79, "rotates": false }, + { "id": [ "t_underbrush_season_spring", "t_underbrush" ], "fg": 80, "rotates": false }, + { "id": "t_underbrush_season_summer", "fg": 81, "rotates": false }, + { "id": "t_underbrush_season_autumn", "fg": 82, "rotates": false }, + { "id": "t_underbrush_season_winter", "fg": 83, "rotates": false }, + { "id": "mon_minecraft", "fg": 84, "rotates": false }, + { "id": "mon_minecraft_charged", "fg": 85, "rotates": false }, + { "id": "mon_minecraft_season_winter", "fg": 86, "rotates": false }, + { "id": "mon_minecraft_charged_season_winter", "fg": 87, "rotates": false }, + { + "id": [ + "t_underbrush_harvested_spring", + "t_underbrush_harvested_spring_season_spring", + "t_underbrush_harvested_summer", + "t_underbrush_harvested_summer_season_spring", + "t_underbrush_harvested_autumn", + "t_underbrush_harvested_autumn_season_spring", + "t_underbrush_harvested_winter", + "t_underbrush_harvested_winter_season_spring" + ], + "fg": 88, + "rotates": false + }, + { + "id": [ + "t_underbrush_harvested_spring_season_summer", + "t_underbrush_harvested_summer_season_summer", + "t_underbrush_harvested_autumn_season_summer", + "t_underbrush_harvested_winter_season_summer" + ], + "fg": 89, + "rotates": false + }, + { + "id": [ + "t_underbrush_harvested_spring_season_autumn", + "t_underbrush_harvested_summer_season_autumn", + "t_underbrush_harvested_autumn_season_autumn", + "t_underbrush_harvested_winter_season_autumn" + ], + "fg": 90, + "rotates": false + }, + { + "id": [ + "t_underbrush_harvested_spring_season_winter", + "t_underbrush_harvested_summer_season_winter", + "t_underbrush_harvested_autumn_season_winter" + ], + "fg": 91, + "rotates": false + }, + { "id": "t_underbrush_harvested_winter_season_winter", "fg": 92, "rotates": false }, + { + "id": [ + "t_shrub", + "t_shrub_season_spring", + "t_shrub_peanut", + "t_shrub_peanut_season_spring", + "t_shrub_peanut_harvested", + "t_shrub_peanut_harvested_season_spring" + ], + "fg": 93, + "rotates": false + }, + { + "id": [ "t_shrub_peanut_season_summer", "t_shrub_peanut_harvested_season_summer", "t_shrub_season_summer" ], + "fg": 94, + "rotates": false + }, + { + "id": [ "t_shrub_season_autumn", "t_shrub_peanut_season_autumn", "t_shrub_peanut_harvested_season_autumn" ], + "fg": 95, + "rotates": false + }, + { + "id": [ + "t_shrub_peanut_season_winter", + "t_shrub_peanut_harvested_season_winter", + "t_shrub_blueberry_season_winter", + "t_shrub_strawberry_season_winter", + "t_shrub_season_winter" + ], + "fg": 96, + "rotates": false + }, + { + "id": [ "t_shrub_strawberry_harvested", "t_shrub_strawberry_season_spring", "t_shrub_strawberry_season_autumn" ], + "fg": 97, + "rotates": false + }, + { "id": "t_shrub_strawberry", "fg": 98, "rotates": false }, + { + "id": [ "t_shrub_blueberry_harvested", "t_shrub_blueberry_season_spring", "t_shrub_blueberry_season_autumn" ], + "fg": 99, + "rotates": false + }, + { "id": "t_shrub_blueberry", "fg": 100, "rotates": false }, + { "id": "t_shrub_fungal", "fg": 101, "rotates": false }, + { "id": [ "t_tree_young", "t_tree_young_season_spring" ], "fg": 102, "rotates": false }, + { "id": "t_tree_young_season_summer", "fg": 103, "rotates": false }, + { "id": "t_tree_young_season_autumn", "fg": 104, "rotates": false }, + { "id": "t_tree_fungal_young", "fg": 105, "rotates": false }, + { "id": "t_tree_young_season_winter", "fg": 106, "rotates": false }, + { "id": "t_tree_fungal", "fg": 107, "rotates": false }, + { "id": [ "t_tree_cherry", "t_tree_plum" ], "fg": 108, "rotates": false }, + { + "id": [ + "t_tree_season_autumn", + "t_tree_harvested_season_autumn", + "t_tree_cherry_season_autumn", + "t_tree_plum_season_autumn", + "t_tree_peach_season_autumn", + "t_tree_apricot_season_autumn" + ], + "fg": 109, + "rotates": false + }, + { "id": [ "t_tree_peach", "t_tree_apricot" ], "fg": 110, "rotates": false }, + { "id": [ "t_tree_peach_harvested", "t_tree_apricot_harvested" ], "fg": 111, "rotates": false }, + { + "id": [ "t_tree_harvested", "t_tree_season_summer", "t_tree_harvested_season_summer", "t_tree_harvested_season_spring" ], + "fg": 112, + "rotates": false + }, + { + "id": [ + "t_tree_season_spring", + "t_tree", + "t_tree_apple_season_summer", + "t_tree_pear_season_summer", + "t_tree_apple_harvested", + "t_tree_pear_harvested" + ], + "fg": 113, + "rotates": false + }, + { "id": [ "t_tree_apple", "t_tree_pear" ], "fg": 114, "rotates": false }, + { "id": "t_marloss_tree", "fg": 115, "rotates": false }, + { + "id": [ + "t_tree_cherry_season_spring", + "t_tree_plum_season_spring", + "t_tree_cherry_harvested", + "t_tree_plum_harvested", + "t_tree_apple_season_spring", + "t_tree_pear_season_spring", + "t_tree_peach_season_spring", + "t_tree_apricot_season_spring" + ], + "fg": 116, + "rotates": false + }, + { "id": "t_tree_maple_season_autumn", "fg": 117, "rotates": false }, + { + "id": [ + "t_tree_blackjack_season_autumn", + "t_tree_hickory_season_autumn", + "t_tree_hickory_harvested_season_autumn", + "t_tree_almond_season_autumn", + "t_tree_almond_harvested_season_autumn", + "t_tree_pecan_season_autumn", + "t_tree_pecan_harvested_season_autumn" + ], + "fg": 118, + "rotates": false + }, + { + "id": [ + "t_tree_blackjack_season_spring", + "t_tree_hickory_season_spring", + "t_tree_hickory", + "t_tree_hickory_harvested_season_spring", + "t_tree_hickory_harvested", + "t_tree_maple_season_spring", + "t_tree_maple", + "t_tree_almond_season_spring", + "t_tree_almond", + "t_tree_almond_harvested_season_spring", + "t_tree_almond_harvested", + "t_tree_pecan_season_spring", + "t_tree_pecan", + "t_tree_pecan_harvested_season_spring", + "t_tree_pecan_harvested" + ], + "fg": 119, + "rotates": false + }, + { + "id": [ + "t_tree_hickory_season_summer", + "t_tree_hickory_harvested_season_summer", + "t_tree_almond_season_summer", + "t_tree_almond_harvested_season_summer", + "t_tree_pecan_season_summer", + "t_tree_pecan_harvested_season_summer", + "t_tree_maple_season_summer", + "t_tree_blackjack" + ], + "fg": 120, + "rotates": false + }, + { "id": "t_tree_maple_tapped_season_autumn", "fg": 121, "rotates": false }, + { "id": "t_tree_maple_tapped_season_summer", "fg": 122, "rotates": false }, + { "id": [ "t_tree_maple_tapped", "t_tree_maple_tapped_season_spring" ], "fg": 123, "rotates": false }, + { "id": "mon_treent_green", "fg": 124, "rotates": false }, + { "id": "t_tree_birch_harvested_season_autumn", "fg": 125, "rotates": false }, + { "id": "t_tree_birch_season_autumn", "fg": 126, "rotates": false }, + { "id": "t_tree_birch_season_summer", "fg": 127, "rotates": false }, + { "id": "t_tree_birch_harvested_season_summer", "fg": 128, "rotates": false }, + { "id": [ "t_tree_birch_season_spring", "t_tree_birch" ], "fg": 129, "rotates": false }, + { "id": [ "t_tree_birch_harvested_season_spring", "t_tree_birch_harvested" ], "fg": 130, "rotates": false }, + { "id": "t_tree_willow_season_autumn", "fg": 131, "rotates": false }, + { "id": "t_tree_willow_harvested_season_autumn", "fg": 132, "rotates": false }, + { "id": "t_tree_willow_season_summer", "fg": 133, "rotates": false }, + { "id": [ "t_tree_willow_season_spring", "t_tree_willow" ], "fg": 134, "rotates": false }, + { "id": [ "t_tree_willow_harvested_season_spring", "t_tree_willow_harvested" ], "fg": 135, "rotates": false }, + { "id": "t_tree_willow_harvested_season_summer", "fg": 136, "rotates": false }, + { "id": "t_tree_pine", "fg": 137, "rotates": false }, + { "id": "t_tree_deadpine", "fg": 138, "rotates": false }, + { + "id": [ + "t_tree_hickory_dead", + "t_tree_blackjack_harvested_season_spring", + "t_tree_blackjack_harvested_season_summer", + "t_tree_blackjack_harvested_season_autumn", + "mon_treent" + ], + "fg": 139, + "rotates": false + }, + { "id": "t_tree_dead", "fg": 140, "rotates": false }, + { "id": "t_tree_deadpine_season_winter", "fg": 141, "rotates": false }, + { "id": "t_tree_pine_season_winter", "fg": 142, "rotates": false }, + { + "id": [ + "t_tree_blackjack_harvested_season_winter", + "mon_treent_season_winter", + "mon_treent_green_season_winter", + "t_tree_hickory_dead_season_winter" + ], + "fg": 143, + "rotates": false + }, + { + "id": [ + "t_tree_harvested_season_winter", + "t_tree_cherry_season_winter", + "t_tree_plum_season_winter", + "t_tree_apple_season_winter", + "t_tree_pear_season_winter", + "t_tree_peach_season_winter", + "t_tree_apricot_season_winter", + "t_tree_apple_harvested_season_winter", + "t_tree_apricot_harvested_season_winter", + "t_tree_cherry_harvested_season_winter", + "t_tree_peach_harvested_season_winter", + "t_tree_pear_harvested_season_winter", + "t_tree_plum_harvested_season_winter", + "t_tree_season_winter" + ], + "fg": 144, + "rotates": false + }, + { + "id": [ + "t_tree_birch_harvested_season_winter", + "t_tree_hickory_season_winter", + "t_tree_hickory_harvested_season_winter", + "t_tree_almond_season_winter", + "t_tree_almond_harvested_season_winter", + "t_tree_pecan_season_winter", + "t_tree_pecan_harvested_season_winter", + "t_tree_maple_season_winter", + "t_tree_willow_season_winter", + "t_tree_blackjack_season_winter" + ], + "fg": 145, + "rotates": false + }, + { "id": "t_tree_birch_season_winter", "fg": 146, "rotates": false }, + { "id": "t_tree_willow_harvested_season_winter", "fg": 147, "rotates": false }, + { "id": "t_tree_dead_season_winter", "fg": 148, "rotates": false }, + { "id": "t_tree_maple_tapped_season_winter", "fg": 149, "rotates": false }, + { "id": "t_trunk", "fg": 150, "rotates": false }, + { "id": "t_stump", "fg": 151, "rotates": false }, + { "id": "t_marloss", "fg": 152, "rotates": false }, + { "id": "t_fungus_mound", "fg": 153, "rotates": false }, + { "id": "t_fungus_floor_sup", "fg": 154, "rotates": false }, + { + "id": "vp_cargo_bag", + "fg": 154, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { "id": "t_fungus_floor_out", "fg": 156, "rotates": false }, + { "id": "t_fungus_floor_in", "fg": 157, "rotates": false }, + { "id": [ "t_fungus_wall_transformed", "t_fungus_wall" ], "fg": 158, "rotates": false }, + { + "id": "tr_goo", + "fg": 159, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 160 }, + { "id": "corner", "fg": 161 }, + { "id": "edge", "fg": 162 }, + { "id": "end_piece", "fg": 163 }, + { "id": "t_connection", "fg": 164 }, + { "id": "unconnected", "fg": 159 } + ] + }, + { "id": [ "t_pit_foxhole", "tr_sinkhole" ], "fg": 165, "rotates": false }, + { + "id": "t_pit_shallow", + "fg": 166, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 167 }, + { "id": "corner", "fg": 168 }, + { "id": "edge", "fg": 169 }, + { "id": "end_piece", "fg": 170 }, + { "id": "t_connection", "fg": 171 }, + { "id": "unconnected", "fg": 166 } + ] + }, + { + "id": [ "tr_pit", "t_pit" ], + "fg": 165, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 172 }, + { "id": "corner", "fg": 173 }, + { "id": "edge", "fg": 174 }, + { "id": "end_piece", "fg": 175 }, + { "id": "t_connection", "fg": 176 }, + { "id": "unconnected", "fg": 165 } + ] + }, + { + "id": [ "t_pit_spiked", "tr_spike_pit" ], + "fg": 177, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 178 }, + { "id": "corner", "fg": 179 }, + { "id": "edge", "fg": 180 }, + { "id": "end_piece", "fg": 181 }, + { "id": "t_connection", "fg": 182 }, + { "id": "unconnected", "fg": 177 } + ] + }, + { + "id": [ "tr_glass_pit", "t_pit_glass" ], + "fg": 183, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 184 }, + { "id": "corner", "fg": 185 }, + { "id": "edge", "fg": 186 }, + { "id": "end_piece", "fg": 187 }, + { "id": "t_connection", "fg": 188 }, + { "id": "unconnected", "fg": 183 } + ] + }, + { + "id": "t_pit_corpsed", + "fg": 189, + "bg": 194, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "bg": 194 }, + { "id": "corner", "fg": 190, "bg": 194 }, + { "id": "edge", "fg": 191, "bg": 194 }, + { "id": "end_piece", "fg": 192, "bg": 194 }, + { "id": "t_connection", "fg": 193, "bg": 194 }, + { "id": "unconnected", "fg": 189, "bg": 194 } + ] + }, + { + "id": "f_rubble_landfill", + "fg": 189, + "bg": 195, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "bg": 195 }, + { "id": "corner", "fg": 190, "bg": 195 }, + { "id": "edge", "fg": 191, "bg": 195 }, + { "id": "end_piece", "fg": 192, "bg": 195 }, + { "id": "t_connection", "fg": 193, "bg": 195 }, + { "id": "unconnected", "fg": 189, "bg": 195 } + ] + }, + { + "id": "f_rubble_landfill_season_winter", + "fg": 189, + "bg": 196, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "bg": 196 }, + { "id": "corner", "fg": 190, "bg": 196 }, + { "id": "edge", "fg": 191, "bg": 196 }, + { "id": "end_piece", "fg": 192, "bg": 196 }, + { "id": "t_connection", "fg": 193, "bg": 196 }, + { "id": "unconnected", "fg": 189, "bg": 196 } + ] + }, + { "id": [ "t_pit_glass_covered", "t_pit_spiked_covered", "t_pit_covered" ], "fg": 197, "rotates": false }, + { + "id": "t_sandbox", + "fg": 198, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 199 }, + { "id": "corner", "fg": 200 }, + { "id": "edge", "fg": 201 }, + { "id": "end_piece", "fg": 202 }, + { "id": "t_connection", "fg": 203 }, + { "id": "unconnected", "fg": 198 } + ] + }, + { "id": "t_wax", "fg": 204, "rotates": false }, + { "id": "t_floor_wax", "fg": 205, "rotates": false }, + { "id": "t_golf_hole", "fg": 206, "rotates": false }, + { "id": "t_rock_red", "fg": 207, "rotates": false }, + { "id": "t_rock_green", "fg": 208, "rotates": false }, + { "id": "t_rock_blue", "fg": 209, "rotates": false }, + { "id": "t_rock", "fg": 210, "rotates": false }, + { "id": "t_rock_smooth", "fg": 211, "rotates": false }, + { "id": "t_fault", "fg": 212, "rotates": false }, + { "id": "t_paper", "fg": 213, "rotates": false }, + { "id": "t_stairs_up", "fg": 214, "rotates": false }, + { "id": "t_stairs_down", "fg": 215, "rotates": false }, + { "id": "t_slope_up", "fg": 216, "rotates": false }, + { "id": "t_slope_down", "fg": 217, "rotates": false }, + { "id": "t_low_stairs_begin", "fg": 218, "rotates": false }, + { "id": "t_low_stairs_end", "fg": 219, "rotates": false }, + { "id": "t_manhole", "fg": 220, "rotates": false }, + { "id": [ "manhole_cover", "t_manhole_cover" ], "fg": 221, "rotates": false }, + { "id": "t_ladder_up", "fg": 222, "rotates": false }, + { "id": "t_ladder_down", "fg": 223, "rotates": false }, + { "id": "f_ladder", "fg": 224, "rotates": false }, + { + "id": "vp_travois", + "fg": 224, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { "id": "t_rope_up", "fg": 226, "rotates": false }, + { + "id": "t_root_wall", + "fg": 227, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 228 }, + { "id": "corner", "fg": 229 }, + { "id": "edge", "fg": 227 }, + { "id": "end_piece", "fg": 230 }, + { "id": "t_connection", "fg": 231 }, + { "id": "unconnected", "fg": 227 } + ] + }, + { + "id": "t_improvised_fence", + "fg": 232, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 233 }, + { "id": "corner", "fg": 234 }, + { "id": "edge", "fg": 232 }, + { "id": "end_piece", "fg": 235 }, + { "id": "t_connection", "fg": 236 }, + { "id": "unconnected", "fg": 232 } + ] + }, + { + "id": "t_fence_rope", + "fg": 227, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 233 }, + { "id": "corner", "fg": 234 }, + { "id": "edge", "fg": 227 }, + { "id": "end_piece", "fg": 235 }, + { "id": "t_connection", "fg": 236 }, + { "id": "unconnected", "fg": 227 } + ] + }, + { "id": "t_fence_post", "fg": 237, "rotates": false }, + { + "id": "vp_spike_wood", + "fg": 237, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { + "id": [ "t_fence_h", "t_fence_v", "t_fence" ], + "fg": 238, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 239 }, + { "id": "corner", "fg": [ 240, 241, 242, 238 ] }, + { "id": "edge", "fg": [ 243, 244, 243, 244 ] }, + { "id": "end_piece", "fg": [ 243, 244, 245, 238 ] }, + { "id": "t_connection", "fg": [ 244, 241, 239, 242 ] }, + { "id": "unconnected", "fg": 238 } + ] + }, + { "id": "t_fencegate_c", "fg": [ 246, 247, 246, 247 ], "rotates": true }, + { "id": "t_fencegate_o", "fg": [ 248, 249, 248, 249 ], "rotates": true }, + { "id": "t_palisade", "fg": [ 250, 251, 250, 251 ], "rotates": true }, + { "id": "t_palisade_gate", "fg": [ 252, 253, 252, 253 ], "rotates": true }, + { "id": "t_palisade_gate_o", "fg": [ 254, 255, 254, 255 ], "rotates": true }, + { "id": "t_portcullis", "fg": 256, "rotates": false }, + { "id": [ "t_support_s", "t_chainfence_posts" ], "fg": 257, "rotates": false }, + { + "id": "t_iron_fence", + "fg": 258, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 259 }, + { "id": "corner", "fg": 260 }, + { "id": "edge", "fg": 258 }, + { "id": "end_piece", "fg": 261 }, + { "id": "t_connection", "fg": 262 }, + { "id": "unconnected", "fg": 258 } + ] + }, + { + "id": [ "t_chainfence_v", "t_chainfence", "t_chainfence_h", "t_fence_wire" ], + "fg": 263, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 259 }, + { "id": "corner", "fg": 260 }, + { "id": "edge", "fg": 263 }, + { "id": "end_piece", "fg": 261 }, + { "id": "t_connection", "fg": 262 }, + { "id": "unconnected", "fg": 263 } + ] + }, + { + "id": "t_fence_barbed", + "fg": 264, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 259 }, + { "id": "corner", "fg": 265 }, + { "id": "edge", "fg": 264 }, + { "id": "end_piece", "fg": 266 }, + { "id": "t_connection", "fg": 267 }, + { "id": "unconnected", "fg": 264 } + ] + }, + { "id": "t_iron_fence_posts", "fg": 268, "rotates": false }, + { "id": "t_chaingate_o", "fg": 269, "rotates": false }, + { "id": "t_chaingate_c", "fg": 270, "rotates": false }, + { "id": "t_chaingate_l", "fg": 271, "rotates": false }, + { + "id": [ "t_reb_cage", "t_bars" ], + "fg": 272, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 273 }, + { "id": "corner", "fg": 274 }, + { "id": "edge", "fg": 275 }, + { "id": "end_piece", "fg": 275 }, + { "id": "t_connection", "fg": 276 }, + { "id": "unconnected", "fg": 272 } + ] + }, + { + "id": "t_window_bars", + "fg": 275, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 273 }, + { "id": "corner", "fg": 274 }, + { "id": "edge", "fg": 275 }, + { "id": "end_piece", "fg": 275 }, + { "id": "t_connection", "fg": 276 }, + { "id": "unconnected", "fg": 275 } + ] + }, + { "id": [ "t_ov_reb_cage", "t_ov_smreb_cage", "t_metal" ], "fg": 277, "rotates": false }, + { + "id": "t_wall_wattle_half", + "fg": 278, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 279 }, + { "id": "corner", "fg": 280 }, + { "id": "edge", "fg": 281 }, + { "id": "end_piece", "fg": 282 }, + { "id": "t_connection", "fg": 283 }, + { "id": "unconnected", "fg": 278 } + ] + }, + { + "id": [ "t_wall_half", "t_wall_log_half" ], + "fg": 284, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 285 }, + { "id": "corner", "fg": 286 }, + { "id": "edge", "fg": 287 }, + { "id": "end_piece", "fg": 288 }, + { "id": "t_connection", "fg": 289 }, + { "id": "unconnected", "fg": 284 } + ] + }, + { + "id": [ "t_scrap_wall_halfway", "t_junk_palisade" ], + "fg": 290, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 291 }, + { "id": "corner", "fg": 292 }, + { "id": "edge", "fg": 293 }, + { "id": "end_piece", "fg": 294 }, + { "id": "t_connection", "fg": 295 }, + { "id": "unconnected", "fg": 290 } + ] + }, + { + "id": [ "t_brick_wall_halfway", "f_sandbag_half" ], + "fg": 296, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 297 }, + { "id": "corner", "fg": 298 }, + { "id": "edge", "fg": 299 }, + { "id": "end_piece", "fg": 300 }, + { "id": "t_connection", "fg": 301 }, + { "id": "unconnected", "fg": 296 } + ] + }, + { + "id": [ "t_rock_wall_half", "t_sconc_wall_halfway", "t_strconc_wall_halfway" ], + "fg": 302, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 303 }, + { "id": "corner", "fg": 304 }, + { "id": "edge", "fg": 305 }, + { "id": "end_piece", "fg": 306 }, + { "id": "t_connection", "fg": 307 }, + { "id": "unconnected", "fg": 302 } + ] + }, + { + "id": "t_concrete_wall", + "fg": 308, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 309 }, + { "id": "corner", "fg": 310 }, + { "id": "edge", "fg": 311 }, + { "id": "end_piece", "fg": 312 }, + { "id": "t_connection", "fg": 313 }, + { "id": "unconnected", "fg": 308 } + ] + }, + { "id": [ "t_sliding_concrete_wall_c", "t_secretdoor_concrete_wall_c" ], "fg": 311, "rotates": true }, + { "id": "t_secretdoor_concrete_wall_o", "fg": 314, "rotates": true }, + { + "id": [ "t_railing_h", "t_railing_v", "t_guardrail_bg_dp", "t_railing" ], + "fg": 315, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 315 }, + { "id": "corner", "fg": 316 }, + { "id": "edge", "fg": 317 }, + { "id": "end_piece", "fg": 318 }, + { "id": "t_connection", "fg": 319 }, + { "id": "unconnected", "fg": 320 } + ] + }, + { + "id": [ "t_glass_railing", "t_glass_railing_h", "t_glass_railing_v" ], + "fg": 321, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 321 }, + { "id": "corner", "fg": 322 }, + { "id": "edge", "fg": 323 }, + { "id": "end_piece", "fg": 324 }, + { "id": "t_connection", "fg": 325 }, + { "id": "unconnected", "fg": 326 } + ] + }, + { + "id": "t_metal_railing", + "fg": 327, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 327 }, + { "id": "corner", "fg": 328 }, + { "id": "edge", "fg": 329 }, + { "id": "end_piece", "fg": 330 }, + { "id": "t_connection", "fg": 331 }, + { "id": "unconnected", "fg": 332 } + ] + }, + { + "id": [ + "t_railroad_track", + "t_railroad_track_h", + "t_railroad_track_v", + "t_railroad_track_d", + "t_railroad_track_d1", + "t_railroad_track_d2" + ], + "fg": 333, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 333 }, + { "id": "corner", "fg": [ 334, 335, 336, 337 ] }, + { "id": "edge", "fg": 338 }, + { "id": "end_piece", "fg": 338 }, + { "id": "t_connection", "fg": 339 }, + { "id": "unconnected", "fg": 338 } + ] + }, + { "id": "t_railroad_track_on_tie", "fg": 340 }, + { + "id": [ "t_railroad_tie_h", "t_railroad_tie_v", "t_railroad_tie" ], + "fg": 341, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "edge", "fg": 342 } ] + }, + { + "id": [ "t_wall_log", "t_wall_wood" ], + "fg": 343, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 344 }, + { "id": "corner", "fg": 345 }, + { "id": "edge", "fg": 346 }, + { "id": "end_piece", "fg": 347 }, + { "id": "t_connection", "fg": 348 }, + { "id": "unconnected", "fg": 343 } + ] + }, + { + "id": [ "t_wall_wood_chipped", "t_wall_log_chipped" ], + "fg": 349, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 350 }, + { "id": "corner", "fg": 351 }, + { "id": "edge", "fg": 352 }, + { "id": "end_piece", "fg": 353 }, + { "id": "t_connection", "fg": 354 }, + { "id": "unconnected", "fg": 349 } + ] + }, + { + "id": [ "t_wall_wood_broken", "t_wall_log_broken" ], + "fg": 355, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 356 }, + { "id": "corner", "fg": 357 }, + { "id": "edge", "fg": 358 }, + { "id": "end_piece", "fg": 358 }, + { "id": "t_connection", "fg": 356 }, + { "id": "unconnected", "fg": 355 } + ] + }, + { + "id": [ "t_scrap_wall", "t_junk_wall", "t_wall_metal" ], + "fg": 359, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 360 }, + { "id": "corner", "fg": 361 }, + { "id": "edge", "fg": 362 }, + { "id": "end_piece", "fg": 363 }, + { "id": "t_connection", "fg": 364 }, + { "id": "unconnected", "fg": 359 } + ] + }, + { + "id": "t_wall_r", + "fg": 365, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 366 }, + { "id": "corner", "fg": 367 }, + { "id": "edge", "fg": 368 }, + { "id": "end_piece", "fg": 369 }, + { "id": "t_connection", "fg": 370 }, + { "id": "unconnected", "fg": 365 } + ] + }, + { + "id": "t_wall_y", + "fg": 371, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 372 }, + { "id": "corner", "fg": 373 }, + { "id": "edge", "fg": 374 }, + { "id": "end_piece", "fg": 375 }, + { "id": "t_connection", "fg": 376 }, + { "id": "unconnected", "fg": 371 } + ] + }, + { + "id": "t_brick_wall", + "fg": 377, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 378 }, + { "id": "corner", "fg": 379 }, + { "id": "edge", "fg": 380 }, + { "id": "end_piece", "fg": 381 }, + { "id": "t_connection", "fg": 382 }, + { "id": "unconnected", "fg": 377 } + ] + }, + { "id": [ "t_sliding_brick_wall_c", "t_secretdoor_brick_wall_c" ], "fg": 380, "rotates": true }, + { "id": "t_secretdoor_brick_wall_o", "fg": 383, "rotates": true }, + { + "id": "f_sandbag_wall", + "fg": 384, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 385 }, + { "id": "corner", "fg": 386 }, + { "id": "edge", "fg": 387 }, + { "id": "end_piece", "fg": 388 }, + { "id": "t_connection", "fg": 389 }, + { "id": "unconnected", "fg": 384 } + ] + }, + { + "id": "t_wall_wattle", + "fg": 390, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 391 }, + { "id": "corner", "fg": 392 }, + { "id": "edge", "fg": 393 }, + { "id": "end_piece", "fg": 394 }, + { "id": "t_connection", "fg": 395 }, + { "id": "unconnected", "fg": 390 } + ] + }, + { "id": "t_wall_wattle_broken", "fg": 396, "rotates": true }, + { + "id": "t_wall_g", + "fg": 397, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 398 }, + { "id": "corner", "fg": 399 }, + { "id": "edge", "fg": 400 }, + { "id": "end_piece", "fg": 401 }, + { "id": "t_connection", "fg": 402 }, + { "id": "unconnected", "fg": 397 } + ] + }, + { + "id": "t_wall_b", + "fg": 403, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 404 }, + { "id": "corner", "fg": 405 }, + { "id": "edge", "fg": 406 }, + { "id": "end_piece", "fg": 407 }, + { "id": "t_connection", "fg": 408 }, + { "id": "unconnected", "fg": 403 } + ] + }, + { + "id": "t_wall_p", + "fg": 409, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 410 }, + { "id": "corner", "fg": 411 }, + { "id": "edge", "fg": 412 }, + { "id": "end_piece", "fg": 413 }, + { "id": "t_connection", "fg": 414 }, + { "id": "unconnected", "fg": 409 } + ] + }, + { + "id": [ "t_wall", "t_wall_w" ], + "fg": 415, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 416 }, + { "id": "corner", "fg": 417 }, + { "id": "edge", "fg": 418 }, + { "id": "end_piece", "fg": 419 }, + { "id": "t_connection", "fg": 420 }, + { "id": "unconnected", "fg": 415 } + ] + }, + { "id": [ "t_secretdoor_wall_c", "t_sliding_wall_c", "t_secretdoor_onetime" ], "fg": 418, "rotates": true }, + { "id": [ "t_sliding_wall_o", "t_secretdoor_wall_o" ], "fg": 421, "rotates": true }, + { + "id": [ "t_rock_wall", "t_sconc_wall", "t_strconc_wall" ], + "fg": 422, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 423 }, + { "id": "corner", "fg": 424 }, + { "id": "edge", "fg": 425 }, + { "id": "end_piece", "fg": 426 }, + { "id": "t_connection", "fg": 427 }, + { "id": "unconnected", "fg": 422 } + ] + }, + { + "id": [ "t_gutter", "t_gutter_north", "t_gutter_east", "t_gutter_south", "t_gutter_west" ], + "fg": 428, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 429 }, + { "id": "corner", "fg": 430 }, + { "id": "edge", "fg": 431 }, + { "id": "end_piece", "fg": 432 }, + { "id": "t_connection", "fg": 433 }, + { "id": "unconnected", "fg": 428 } + ] + }, + { + "id": "t_gutter_drop", + "fg": 434, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 435 }, + { "id": "corner", "fg": 436 }, + { "id": "edge", "fg": 437 }, + { "id": "end_piece", "fg": 438 }, + { "id": "t_connection", "fg": 439 }, + { "id": "unconnected", "fg": 434 } + ] + }, + { "id": "t_gutter_downspout", "fg": 440, "rotates": true }, + { + "id": "t_window_bars_alarm", + "fg": 441, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 442 }, + { "id": "corner", "fg": 443 }, + { "id": "edge", "fg": 444 }, + { "id": "end_piece", "fg": 445 }, + { "id": "t_connection", "fg": 446 }, + { "id": "unconnected", "fg": 441 } + ] + }, + { + "id": "t_reinforced_glass_shutter", + "fg": 447, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 448 }, + { "id": "corner", "fg": 449 }, + { "id": "edge", "fg": 450 }, + { "id": "end_piece", "fg": 451 }, + { "id": "t_connection", "fg": 452 }, + { "id": "unconnected", "fg": 447 } + ] + }, + { + "id": "t_reinforced_glass_shutter_open", + "fg": 453, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 454 }, + { "id": "corner", "fg": 455 }, + { "id": "edge", "fg": 456 }, + { "id": "end_piece", "fg": 457 }, + { "id": "t_connection", "fg": 458 }, + { "id": "unconnected", "fg": 453 } + ] + }, + { + "id": "t_reinforced_glass", + "fg": 459, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 460 }, + { "id": "corner", "fg": 461 }, + { "id": "edge", "fg": 462 }, + { "id": "end_piece", "fg": 463 }, + { "id": "t_connection", "fg": 464 }, + { "id": "unconnected", "fg": 459 } + ] + }, + { + "id": [ "t_wall_glass_alarm", "t_window", "t_window_alarm", "t_wall_glass" ], + "fg": 465, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 466 }, + { "id": "corner", "fg": 467 }, + { "id": "edge", "fg": 468 }, + { "id": "end_piece", "fg": 469 }, + { "id": "t_connection", "fg": 470 }, + { "id": "unconnected", "fg": 465 } + ] + }, + { + "id": [ + "t_door_glass_frosted_c", + "t_door_glass_lab_c", + "t_door_glass_frosted_lab_c", + "t_door_glass_red_c", + "t_door_glass_green_c", + "t_door_glass_white_c", + "t_door_glass_gray_c", + "t_door_glass_c" + ], + "fg": 471, + "rotates": true + }, + { + "id": [ + "t_door_glass_frosted_o", + "t_door_glass_lab_o", + "t_door_glass_frosted_lab_o", + "t_door_glass_red_o", + "t_door_glass_green_o", + "t_door_glass_white_o", + "t_door_glass_gray_o", + "t_door_glass_o" + ], + "fg": 472, + "rotates": true + }, + { + "id": "t_window_stained_red", + "fg": 473, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "t_connection", "fg": 474 } ] + }, + { + "id": "t_window_stained_green", + "fg": 475, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "t_connection", "fg": 476 } ] + }, + { + "id": "t_window_domestic", + "fg": 477, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "t_connection", "fg": 478 } ] + }, + { + "id": "t_window_open", + "fg": 479, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "t_connection", "fg": 480 } ] + }, + { + "id": "t_window_stained_blue", + "fg": 481, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "t_connection", "fg": 482 } ] + }, + { + "id": "t_window_no_curtains", + "fg": 483, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "t_connection", "fg": 484 } ] + }, + { + "id": "t_window_no_curtains_open", + "fg": 485, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "t_connection", "fg": 486 } ] + }, + { "id": "t_window_no_curtains_taped", "fg": 487, "rotates": false }, + { "id": [ "t_window_taped", "t_window_domestic_taped", "t_window_alarm_taped" ], "fg": 488, "rotates": false }, + { "id": "t_window_reinforced", "fg": 489, "rotates": false }, + { "id": "t_window_boarded", "fg": 490, "rotates": false }, + { "id": "t_window_enhanced", "fg": 491, "rotates": false }, + { "id": "t_window_reinforced_noglass", "fg": 492, "rotates": false }, + { "id": "t_window_boarded_noglass", "fg": 493, "rotates": false }, + { "id": "t_window_enhanced_noglass", "fg": 494, "rotates": false }, + { "id": "t_window_frame", "fg": 495, "rotates": false }, + { "id": [ "t_m_frame", "t_window_empty" ], "fg": 496, "rotates": false }, + { "id": "t_curtains", "fg": 497, "rotates": false }, + { + "id": [ "vp_v_curtain", "vp_aisle_curtain" ], + "fg": 497, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { "id": [ "f_curtain", "t_door_curtain_c" ], "fg": 498, "rotates": false }, + { "id": [ "f_curtain_open", "t_door_curtain_o" ], "fg": 499, "rotates": false }, + { "id": "t_glass_roof", "fg": 500, "rotates": false }, + { + "id": [ + "t_door_o", + "t_door_lab_o", + "t_door_o_peep", + "t_door_gray_o", + "t_door_red_o", + "t_door_green_o", + "t_door_white_o", + "t_door_frame", + "t_door_lab_frame", + "t_door_gray_frame", + "t_door_red_frame", + "t_door_green_frame", + "t_door_white_frame" + ], + "fg": 501, + "rotates": false + }, + { + "id": [ "t_door_c", "t_door_lab_c", "t_door_gray_c", "t_door_red_c", "t_door_green_c", "t_door_white_c" ], + "fg": 502, + "rotates": false + }, + { "id": [ "t_door_locked", "t_door_locked_alarm", "t_door_locked_interior" ], "fg": 503, "rotates": false }, + { "id": "t_door_locked_peep", "fg": 504, "rotates": false }, + { "id": "t_door_c_peep", "fg": 505, "rotates": false }, + { + "id": [ "t_door_b", "t_door_lab_b", "t_door_b_peep", "t_door_gray_b", "t_door_red_b", "t_door_green_b", "t_door_white_b" ], + "fg": 506, + "rotates": false + }, + { "id": [ "t_door_boarded_peep", "t_door_boarded" ], "fg": 507, "rotates": false }, + { "id": [ "t_door_boarded_damaged_peep", "t_door_boarded_damaged" ], "fg": 508, "rotates": false }, + { "id": "t_door_makeshift_o", "fg": 509, "rotates": false }, + { "id": "t_door_makeshift_c", "fg": 510, "rotates": false }, + { "id": "t_rdoor_o", "fg": 511, "rotates": false }, + { "id": "t_rdoor_c", "fg": 512, "rotates": false }, + { "id": "t_rdoor_b", "fg": 513, "rotates": false }, + { "id": "t_rdoor_boarded", "fg": 514, "rotates": false }, + { "id": "t_rdoor_boarded_damaged", "fg": 515, "rotates": false }, + { "id": [ "t_reinforced_door_glass_o", "t_reinforced_door_glass_lab_o" ], "fg": 516, "rotates": false }, + { "id": [ "t_reinforced_door_glass_lab_c", "t_reinforced_door_glass_c" ], "fg": 517, "rotates": false }, + { + "id": [ "t_door_metal_o", "t_door_metal_lab_o", "t_door_metal_o_peep", "t_mdoor_frame", "t_mdoor_lab_frame" ], + "fg": 518, + "rotates": false + }, + { "id": [ "t_door_metal_c", "t_door_metal_lab_c" ], "fg": 519, "rotates": false }, + { "id": [ "t_door_metal_locked", "t_door_metal_pickable" ], "fg": 520, "rotates": false }, + { "id": "t_door_metal_c_peep", "fg": 521, "rotates": false }, + { "id": "t_iron_gate_c", "fg": 522, "rotates": false }, + { "id": "t_iron_gate_l", "fg": 523, "rotates": false }, + { "id": [ "t_door_bar_o", "t_iron_gate_o" ], "fg": 524, "rotates": false }, + { "id": "t_door_bar_c", "fg": 525, "rotates": false }, + { "id": "t_door_bar_locked", "fg": 526, "rotates": false }, + { "id": "t_rootcellar", "fg": 527, "rotates": false }, + { "id": [ "t_dock", "t_sh_bridge" ], "fg": 528, "rotates": false }, + { "id": "t_grate", "fg": 529, "rotates": false }, + { "id": "t_bridge", "fg": 530, "rotates": false }, + { "id": [ "t_riverbridge_dp", "t_pontoon_dp" ], "fg": 531, "rotates": false }, + { + "id": "t_sewage_pipe", + "fg": 532, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 533 }, + { "id": "corner", "fg": 534 }, + { "id": "edge", "fg": 535 }, + { "id": "end_piece", "fg": 536 }, + { "id": "t_connection", "fg": 537 }, + { "id": "unconnected", "fg": 532 } + ] + }, + { + "id": "t_missile", + "fg": 538, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 538 }, + { "id": "corner", "fg": 539 }, + { "id": "edge", "fg": 538 }, + { "id": "end_piece", "fg": 538 }, + { "id": "t_connection", "fg": 540 }, + { "id": "unconnected", "fg": 538 } + ] + }, + { "id": "t_missile_exploded", "fg": 155, "rotates": false }, + { + "id": "t_slide", + "fg": 541, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "edge", "fg": 541 }, { "id": "end_piece", "fg": 542 } ] + }, + { + "id": "t_monkey_bars", + "fg": 543, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "center", "fg": 543 }, { "id": "corner", "fg": 544 }, { "id": "t_connection", "fg": 545 } ] + }, + { "id": "t_centrifuge", "fg": 546, "rotates": false }, + { + "id": "t_cvdbody", + "fg": 547, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 548 }, + { "id": "corner", "fg": 549 }, + { "id": "edge", "fg": 550 }, + { "id": "end_piece", "fg": 551 }, + { "id": "t_connection", "fg": 552 }, + { "id": "unconnected", "fg": 547 } + ] + }, + { + "id": "t_generator_broken", + "fg": 553, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "corner", "fg": 553 }, { "id": "t_connection", "fg": 554 } ] + }, + { + "id": "t_conveyor", + "fg": 555, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 555 }, + { "id": "corner", "fg": 556 }, + { "id": "edge", "fg": 555 }, + { "id": "end_piece", "fg": 555 }, + { "id": "t_connection", "fg": 557 }, + { "id": "unconnected", "fg": 555 } + ] + }, + { "id": [ "t_palisade_pulley", "t_barndoor" ], "fg": 558, "rotates": false }, + { + "id": [ + "t_gates_mech_control", + "t_gates_control_concrete", + "t_gates_control_brick", + "t_gates_mech_control_lab", + "t_gates_control_concrete_lab", + "t_gates_control_brick_lab" + ], + "fg": 559, + "rotates": false + }, + { + "id": [ "t_switch_even", "t_gates_control_metal", "t_gates_control_metal_lab" ], + "fg": 560, + "rotates": false + }, + { "id": "t_switch_gb", "fg": 561, "rotates": false }, + { "id": "t_switch_rb", "fg": 562, "rotates": false }, + { "id": "t_switch_rg", "fg": 563, "rotates": false }, + { "id": "t_machinery_light", "fg": 564, "rotates": false }, + { "id": "t_machinery_old", "fg": 565, "rotates": false }, + { "id": [ "t_machinery_heavy", "t_sewage_pump" ], "fg": 566, "rotates": false }, + { "id": "t_machinery_electronic", "fg": 567, "rotates": false }, + { "id": "f_autodoc", "fg": 568, "rotates": false }, + { "id": "f_robotic_arm", "fg": 569, "rotates": false }, + { "id": "t_ind_assembler", "fg": 570, "rotates": false }, + { "id": "t_ind_drill", "fg": 571, "rotates": false }, + { "id": "t_ind_furnace", "fg": 572, "rotates": false }, + { "id": "t_ind_lathe", "fg": 573, "rotates": false }, + { "id": "t_ind_mixer", "fg": 574, "rotates": false }, + { "id": "t_ind_pipe", "fg": 575, "rotates": false }, + { "id": "t_ind_press", "fg": 576, "rotates": false }, + { "id": "t_elevator_control", "fg": 577, "rotates": false }, + { "id": "t_elevator_control_off", "fg": 578, "rotates": false }, + { "id": "t_diesel_pump", "fg": 579, "rotates": false }, + { "id": "t_gas_pump_a", "fg": 580, "rotates": false }, + { "id": "t_gas_pump", "fg": 581, "rotates": false }, + { "id": "t_diesel_pump_smashed", "fg": 582, "rotates": false }, + { "id": "t_gas_pump_smashed", "fg": 583, "rotates": false }, + { "id": "t_slot_machine", "fg": 584, "rotates": false }, + { "id": "t_atm", "fg": 585, "rotates": false }, + { "id": [ "t_card_science", "t_card_military" ], "fg": 586, "rotates": false }, + { "id": "t_card_reader_broken", "fg": 587, "rotates": false }, + { + "id": [ "t_sliding_concrete_wall_control", "f_aut_gas_console_o", "electronics_controls", "t_console_broken" ], + "fg": 588, + "rotates": false + }, + { "id": "f_home_furnace", "fg": 589, "rotates": false }, + { "id": "t_cvdmachine", "fg": 590, "rotates": false }, + { + "id": [ + "t_radio_controls", + "t_containment_control", + "t_ins_bridge_control", + "t_jaildoor_control", + "t_outs_bridge_control", + "t_reinforced_glass_control" + ], + "fg": 591, + "rotates": false + }, + { "id": [ "f_aut_gas_console", "vp_controls_electronic", "t_console" ], "fg": 592, "rotates": false }, + { "id": "t_radio_tower", "fg": 593, "rotates": false }, + { "id": "t_utility_light", "fg": 594, "rotates": false }, + { "id": [ "t_support_l", "t_little_column", "t_column" ], "fg": 595, "rotates": false }, + { "id": "t_column_halfway", "fg": 596, "rotates": true }, + { "id": "f_bookcase", "fg": 597, "rotates": false }, + { + "id": [ + "t_secretdoor_bookcase_c", + "t_sliding_bookcase_c", + "t_sliding_bookcase_control", + "t_sliding_wall_control", + "t_decoy_bookcase" + ], + "fg": 598, + "rotates": false + }, + { "id": "t_secretdoor_bookcase_o", "fg": 599, "rotates": false }, + { "id": [ "f_locker", "t_switchgear_s" ], "fg": 600, "rotates": false }, + { "id": [ "f_fume_hood", "t_switchgear_l" ], "fg": 601, "rotates": false }, + { "id": [ "f_cupboard", "t_sai_box" ], "fg": 602, "rotates": false }, + { "id": [ "f_oven", "t_sai_box_damaged" ], "fg": 603, "rotates": false }, + { "id": "t_station_disc", "fg": 604, "rotates": false }, + { "id": "t_current_trans", "fg": 605, "rotates": false }, + { "id": "t_oil_circ_brkr_l", "fg": 606, "rotates": false }, + { "id": [ "t_potential_trans", "t_oil_circ_brkr_s" ], "fg": 607, "rotates": false }, + { "id": "t_milking_machine", "fg": 608, "rotates": false }, + { "id": "t_water_pump", "fg": 609, "rotates": false }, + { "id": "well_pump", "fg": 610, "rotates": false }, + { "id": "t_pedestal_wyrm", "fg": 611, "rotates": false }, + { "id": "tr_temple_flood", "fg": 612, "rotates": false }, + { "id": "t_pedestal_temple", "fg": 613, "rotates": false }, + { "id": "tr_temple_toggle", "fg": 614, "rotates": false }, + { "id": [ "t_backboard_in", "t_backboard" ], "fg": 615, "rotates": false }, + { "id": "t_vat", "fg": 616, "rotates": false }, + { "id": "t_plut_generator", "fg": 617, "rotates": false }, + { "id": "t_nuclear_reactor", "fg": 618, "rotates": false }, + { "id": [ "mon_hallu_mannequin", "f_mannequin" ], "fg": 619, "rotates": false }, + { "id": [ "f_statue", "t_sliding_brick_wall_control" ], "fg": 620, "rotates": false }, + { "id": "f_target", "fg": 621, "rotates": false }, + { "id": "t_bulk_tank", "fg": 622, "rotates": false }, + { "id": "t_covered_well", "fg": 623, "rotates": false }, + { "id": "vp_external_tank", "fg": 624, "rotates": true }, + { "id": "t_gas_tank", "fg": 625, "rotates": false }, + { "id": [ "55gal_drum", "30gal_drum", "keg", "keg_steel" ], "fg": 626, "rotates": false }, + { "id": [ "wooden_barrel", "f_wood_keg" ], "fg": 627, "rotates": false }, + { "id": "vp_tank_barrel", "fg": 627, "rotates": true }, + { "id": "30gal_barrel", "fg": 628, "rotates": false }, + { "id": "f_forge_rock", "fg": 629, "rotates": false }, + { "id": "f_clay_kiln", "fg": 630, "rotates": false }, + { "id": [ "broketent", "largebroketent" ], "fg": 631, "rotates": false }, + { "id": "damaged_shelter_kit", "fg": 632, "rotates": false }, + { "id": "t_improvised_shelter", "fg": 633, "rotates": false }, + { "id": "shelter_kit", "fg": 634, "rotates": false }, + { "id": [ "tent_kit", "large_tent_kit" ], "fg": 635, "rotates": false }, + { + "id": "f_skin_wall", + "fg": 634, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 636 }, + { "id": "corner", "fg": 637 }, + { "id": "edge", "fg": 638 }, + { "id": "end_piece", "fg": 639 }, + { "id": "t_connection", "fg": 640 }, + { "id": "unconnected", "fg": 634 } + ] + }, + { "id": "f_skin_door", "fg": 641, "rotates": false }, + { "id": "f_skin_door_o", "fg": 642, "rotates": false }, + { + "id": [ "f_large_canvas_wall", "f_canvas_wall" ], + "fg": 635, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 643 }, + { "id": "corner", "fg": 644 }, + { "id": "edge", "fg": 645 }, + { "id": "end_piece", "fg": 646 }, + { "id": "t_connection", "fg": 647 }, + { "id": "unconnected", "fg": 635 } + ] + }, + { "id": [ "f_large_canvas_door", "f_canvas_door" ], "fg": 648, "rotates": false }, + { "id": [ "f_large_canvas_door_o", "f_canvas_door_o" ], "fg": 649, "rotates": false }, + { "id": "t_leanto", "fg": 650, "rotates": false }, + { "id": "t_tarptent", "fg": 651, "rotates": false }, + { "id": "t_recycler", "fg": 652, "rotates": false }, + { + "id": [ "f_recycle_bin", "f_dumpster" ], + "fg": 653, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 654 }, + { "id": "corner", "fg": 655 }, + { "id": "edge", "fg": 656 }, + { "id": "end_piece", "fg": 657 }, + { "id": "t_connection", "fg": 658 }, + { "id": "unconnected", "fg": 653 } + ] + }, + { + "id": "f_pool_table", + "fg": 659, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "corner", "fg": 660 }, { "id": "t_connection", "fg": 659 } ] + }, + { "id": [ "tr_cot", "f_fiber_mat" ], "fg": 661, "rotates": false }, + { "id": [ "f_straw_bed", "tr_fur_rollmat" ], "fg": 662, "rotates": false }, + { "id": "tr_rollmat", "fg": 663, "rotates": false }, + { + "id": "vp_bed", + "fg": 663, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { "id": "f_makeshift_bed", "fg": 664, "rotates": false }, + { + "id": "f_bed", + "fg": 664, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 665 }, + { "id": "corner", "fg": 666 }, + { "id": "edge", "fg": 667 }, + { "id": "end_piece", "fg": 668 }, + { "id": "t_connection", "fg": 669 }, + { "id": "unconnected", "fg": 664 } + ] + }, + { + "id": "f_pillow_fort", + "fg": 670, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 671 }, + { "id": "corner", "fg": [ 672, 673, 674, 675 ] }, + { "id": "edge", "fg": [ 676, 670, 676, 670 ] }, + { "id": "end_piece", "fg": [ 677, 670, 678, 670 ] }, + { "id": "t_connection", "fg": [ 679, 680, 681, 682 ] }, + { "id": "unconnected", "fg": 670 } + ] + }, + { + "id": "f_counter", + "fg": 683, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 684 }, + { "id": "corner", "fg": 685 }, + { "id": "edge", "fg": 686 }, + { "id": "end_piece", "fg": 687 }, + { "id": "t_connection", "fg": 688 }, + { "id": "unconnected", "fg": 683 } + ] + }, + { + "id": "f_desk", + "fg": 689, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 690 }, + { "id": "corner", "fg": 691 }, + { "id": "edge", "fg": 692 }, + { "id": "end_piece", "fg": 693 }, + { "id": "t_connection", "fg": 694 }, + { "id": "unconnected", "fg": 689 } + ] + }, + { "id": [ "f_autodoc_couch", "f_sofa" ], "fg": 695, "rotates": false }, + { + "id": "f_table", + "fg": 696, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 697 }, + { "id": "corner", "fg": 698 }, + { "id": "edge", "fg": 699 }, + { "id": "end_piece", "fg": 700 }, + { "id": "t_connection", "fg": 701 }, + { "id": "unconnected", "fg": 696 } + ] + }, + { "id": "seat", "fg": 702, "rotates": false }, + { + "id": [ "vp_seat", "vp_folding_seat", "vp_reclining_seat" ], + "fg": 702, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_seat_wood", + "fg": 703, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { "id": "f_tourist_table", "fg": 704, "rotates": false }, + { "id": "tourist_table", "fg": 705, "rotates": false }, + { "id": "f_shackle", "fg": 706, "rotates": false }, + { "id": "f_shower", "fg": 707, "rotates": false }, + { "id": "f_toilet", "fg": 708, "rotates": false }, + { "id": "f_birdbath", "fg": 709, "rotates": false }, + { "id": "f_sink", "fg": 710, "rotates": false }, + { "id": "f_brazier", "fg": 711, "rotates": false }, + { "id": "brazier", "fg": 712, "rotates": false }, + { "id": "bowl_pewter", "fg": 713, "rotates": false }, + { "id": "ceramic_bowl", "fg": 714, "rotates": false }, + { "id": "bowl_clay", "fg": 715, "rotates": false }, + { "id": "glass_bowl", "fg": 716, "rotates": false }, + { "id": "bowl_plastic", "fg": 717, "rotates": false }, + { + "id": "f_bathtub", + "fg": 718, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 719 }, + { "id": "corner", "fg": 720 }, + { "id": "edge", "fg": 721 }, + { "id": "end_piece", "fg": 722 }, + { "id": "t_connection", "fg": 723 }, + { "id": "unconnected", "fg": 718 } + ] + }, + { + "id": "vp_blade_vertical", + "fg": 724, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 725 } ] + }, + { "id": "tr_blade", "fg": 724, "rotates": true }, + { "id": "f_blade", "fg": 726, "rotates": false }, + { "id": [ "f_cellphone_booster", "f_TV_antenna", "f_spike" ], "fg": 727, "rotates": false }, + { "id": "f_vent_pipe", "fg": 728, "rotates": false }, + { "id": "canister_empty", "fg": 729, "rotates": false }, + { "id": "f_roof_turbine_vent", "fg": 730, "rotates": false }, + { "id": [ "directional_antenna", "f_small_satelitte_dish" ], "fg": 731, "rotates": false }, + { "id": "f_chimney", "fg": 732, "rotates": false }, + { "id": [ "reinforced_solar_panel", "reinforced_solar_panel_v2" ], "fg": 733, "rotates": false }, + { "id": [ "solar_panel", "solar_panel_v2", "solar_panel_v3", "f_solar_unit" ], "fg": 734, "rotates": false }, + { + "id": [ "vp_reinforced_solar_panel", "vp_reinforced_solar_panel_v2" ], + "fg": 733, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 735 } ] + }, + { + "id": [ "vp_solar_panel", "vp_solar_panel_v2", "vp_solar_panel_v3" ], + "fg": 734, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 736 } ] + }, + { "id": "f_egg_sackws", "fg": 737, "rotates": false }, + { "id": "mon_trapdoor_queen", "fg": 738, "rotates": false }, + { "id": [ "f_egg_sackcs", "mon_trapdoor_egg", "f_egg_sackbw" ], "fg": 739, "rotates": false }, + { "id": "f_egg_sacke", "fg": 740, "rotates": false }, + { "id": "f_boulder_large", "fg": 741, "rotates": false }, + { "id": "f_boulder_medium", "fg": 742, "rotates": false }, + { "id": "f_boulder_small", "fg": 743, "rotates": false }, + { "id": "t_border_rock", "fg": 744, "rotates": false }, + { "id": "f_cattails", "fg": 745, "rotates": false }, + { "id": "f_lilypad", "fg": 746, "rotates": false }, + { "id": "f_flower_tulip", "fg": 747, "rotates": false }, + { "id": "f_dandelion", "fg": 748, "rotates": false }, + { "id": "f_datura", "fg": 749, "rotates": false }, + { "id": "f_bluebell", "fg": 750, "rotates": false }, + { "id": "f_dahlia", "fg": 751, "rotates": false }, + { "id": "f_lily", "fg": 752, "rotates": false }, + { "id": "f_flower_marloss", "fg": 753, "rotates": false }, + { "id": "f_flower_fungal", "fg": 754, "rotates": false }, + { "id": "f_mutpoppy", "fg": 755, "rotates": false }, + { "id": "f_flower_spurge", "fg": 756, "rotates": false }, + { "id": "f_black_eyed_susan", "fg": 757, "rotates": false }, + { "id": "f_sunflower", "fg": 758, "rotates": false }, + { "id": "f_lotus", "fg": 759, "rotates": false }, + { "id": "f_chamomile", "fg": 760, "rotates": false }, + { + "id": [ + "f_mutpoppy_season_winter", + "f_dandelion_season_winter", + "f_flower_spurge_season_winter", + "f_black_eyed_susan_season_winter", + "f_sunflower_season_winter", + "f_datura_season_winter", + "f_bluebell_season_winter", + "f_dahlia_season_winter", + "f_lily_season_winter", + "f_chamomile_season_winter", + "f_lotus_season_winter", + "f_flower_marloss_season_winter", + "f_flower_tulip_season_winter" + ], + "fg": 761, + "rotates": false + }, + { "id": "f_plant_seed", "fg": 762, "rotates": false }, + { "id": "f_plant_seedling", "fg": 763, "rotates": false }, + { "id": "f_plant_mature", "fg": 764, "rotates": false }, + { "id": "f_plant_harvest", "fg": 765, "rotates": false }, + { "id": "f_indoor_plant_y", "fg": 766, "rotates": false }, + { "id": "f_indoor_plant", "fg": 767, "rotates": false }, + { "id": "f_hay", "fg": 768, "rotates": false }, + { "id": "f_fungal_clump", "fg": 769, "rotates": false }, + { "id": "f_fungal_mass", "fg": 770, "rotates": false }, + { "id": "f_woodstove", "fg": 771, "rotates": false }, + { + "id": [ + "f_kiln_metal_empty", + "fuel_bunker", + "kiln", + "brick_kiln", + "kilnrig", + "char_kiln", + "vp_veh_kiln", + "vp_fuel_bunker", + "f_kiln_empty" + ], + "fg": 772, + "rotates": false + }, + { "id": [ "f_forge", "char_forge" ], "fg": 773, "rotates": false }, + { "id": [ "f_kiln_metal_full", "kiln_full", "f_kiln_full" ], "fg": 774, "rotates": false }, + { "id": "kiln_done", "fg": 775, "rotates": false }, + { "id": "kiln_lit", "fg": 776, "rotates": false }, + { "id": [ "anvil", "f_anvil" ], "fg": 777, "rotates": false }, + { "id": "f_fireplace", "fg": 778, "rotates": false }, + { "id": "f_firering", "fg": 779, "rotates": false }, + { "id": "metal_butcher_rack", "fg": 780, "rotates": false }, + { "id": "f_metal_butcher_rack", "fg": 781, "rotates": false }, + { "id": "f_butcher_rack", "fg": 782, "rotates": false }, + { "id": "f_smoking_rack", "fg": 783, "rotates": false }, + { "id": [ "f_utility_shelf", "f_rack" ], "fg": 784, "rotates": false }, + { "id": [ "f_filing_cabinet", "f_file_cabinet" ], "fg": 785, "rotates": false }, + { "id": "f_glass_cabinet", "fg": 786, "rotates": false }, + { "id": "f_piano", "fg": 787, "rotates": false }, + { "id": "f_wardrobe", "fg": 788, "rotates": false }, + { "id": "f_dresser", "fg": 789, "rotates": false }, + { "id": "f_rack_coat", "fg": 790, "rotates": false }, + { "id": [ "f_sign", "f_bulletin" ], "fg": 791, "rotates": false }, + { "id": "f_barricade_road", "fg": 792, "rotates": false }, + { "id": "f_lane", "fg": 793, "rotates": true }, + { "id": "f_crate_c", "fg": 794, "rotates": false }, + { "id": "f_crate_o", "fg": 795, "rotates": false }, + { + "id": "f_bench", + "fg": 796, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "t_connection", "fg": 797 } ] + }, + { "id": [ "f_stool", "f_chair" ], "fg": 798, "rotates": false }, + { "id": "f_armchair", "fg": 799, "rotates": false }, + { "id": "f_coffin_c", "fg": 800, "rotates": false }, + { "id": "f_coffin_o", "fg": 801, "rotates": false }, + { "id": "f_slab", "fg": 802, "rotates": false }, + { "id": "f_grave_head", "fg": 803, "rotates": false }, + { "id": "f_grave_monument", "fg": 804, "rotates": false }, + { "id": "f_grave_stone", "fg": 805, "rotates": false }, + { "id": "f_grave_stone_old", "fg": 806, "rotates": false }, + { "id": "f_mailbox", "fg": 807, "rotates": false }, + { "id": "f_air_conditioner", "fg": 808, "rotates": false }, + { "id": "f_water_heater", "fg": 809, "rotates": false }, + { "id": "f_chemical_mixer", "fg": 810, "rotates": false }, + { + "id": "vp_washing_machine", + "fg": 811, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 812 } ] + }, + { "id": "washing_machine", "fg": 811, "rotates": false }, + { "id": "f_washer", "fg": 813, "rotates": false }, + { "id": "f_dryer", "fg": 814, "rotates": false }, + { "id": "f_fridge", "fg": 815, "rotates": false }, + { "id": "f_glass_fridge", "fg": 816, "rotates": false }, + { "id": "f_bigmirror", "fg": 817, "rotates": false }, + { "id": "f_bigmirror_b", "fg": 818, "rotates": false }, + { "id": "f_arcade_machine", "fg": 819, "rotates": false }, + { "id": "f_pinball_machine", "fg": 820, "rotates": false }, + { "id": "f_ball_mach", "fg": 689, "rotates": false }, + { "id": "f_ergometer", "fg": 821, "rotates": false }, + { "id": "f_treadmill", "fg": 822, "rotates": false }, + { "id": "f_exercise", "fg": 823, "rotates": false }, + { "id": "f_floor_canvas", "fg": 824, "rotates": false }, + { "id": "f_vending_reinforced", "fg": 825, "rotates": false }, + { "id": "f_vending_c", "fg": 826, "rotates": false }, + { "id": "f_vending_o", "fg": 827, "rotates": false }, + { "id": "f_displaycase", "fg": 828, "rotates": false }, + { "id": "f_displaycase_b", "fg": 829, "rotates": false }, + { "id": [ "still", "f_still" ], "fg": 830, "rotates": false }, + { "id": [ "f_gun_safe_el", "f_gunsafe_ml", "f_safe_c" ], "fg": 831, "rotates": false }, + { "id": [ "f_safe_l", "f_gunsafe_mj" ], "fg": 832, "rotates": false }, + { "id": "f_safe_o", "fg": 833, "rotates": false }, + { "id": "f_trashcan", "fg": 834, "rotates": false }, + { "id": "f_fvat_empty", "fg": 835, "rotates": false }, + { "id": "f_fvat_full", "fg": 836, "rotates": false }, + { "id": "f_dive_block", "fg": 837, "rotates": false }, + { "id": "telepad", "fg": 838, "rotates": false }, + { "id": "tr_telepad", "fg": 839, "rotates": false }, + { "id": "tr_dissector", "fg": 840, "rotates": false }, + { "id": [ "tr_landmine_buried", "tr_beartrap_buried" ], "fg": 841, "rotates": false }, + { "id": "tr_landmine", "fg": 842, "rotates": false }, + { "id": "landmine", "fg": 843, "rotates": false }, + { "id": "tr_boobytrap", "fg": 844, "rotates": false }, + { "id": "boobytrap", "fg": 845, "rotates": false }, + { "id": "tr_bubblewrap", "fg": 846, "rotates": false }, + { "id": "bubblewrap", "fg": 847, "rotates": false }, + { + "id": [ "tr_snake", "tr_glow", "tr_hum", "tr_shadow", "fd_push_items", "tr_drain" ], + "fg": 848, + "rotates": false + }, + { "id": "tr_beartrap", "fg": 849, "rotates": false }, + { "id": "beartrap", "fg": 850, "rotates": false }, + { "id": [ "caltrops", "tr_caltrops" ], "fg": 851, "rotates": false }, + { "id": "blade_trap", "fg": 852, "rotates": false }, + { "id": [ "tr_light_snare", "tr_heavy_snare", "tr_snare" ], "fg": 853, "rotates": false }, + { "id": [ "heavy_snare_kit", "light_snare_kit" ], "fg": 854, "rotates": false }, + { "id": "snare_trigger", "fg": 855, "rotates": false }, + { "id": "tr_crossbow", "fg": 856, "rotates": false }, + { "id": "crossbow_trap", "fg": 857, "rotates": false }, + { "id": "tr_nailboard", "fg": 858, "rotates": false }, + { "id": "board_trap", "fg": 859, "rotates": false }, + { "id": [ "tr_shotgun_1", "tr_shotgun_2", "tr_shotgun_2_1" ], "fg": 860, "rotates": false }, + { "id": "shotgun_trap", "fg": 861, "rotates": false }, + { "id": "tr_tripwire", "fg": 862, "rotates": false }, + { "id": "tripwire", "fg": 863, "rotates": false }, + { + "id": [ + "mag_pistol", + "recipe_caseless", + "recipe_augs", + "recipe_mil_augs", + "textbook_anarch", + "decoy_anarch", + "recipe_elfa", + "decoy_elfa", + "mag_smg", + "novel_pulp", + "novel_satire", + "guidebook", + "holybook_bible2", + "holybook_quran", + "holybook_hadith", + "holybook_tanakh", + "holybook_bible3", + "scots_cookbook", + "holybook_kojiki", + "holybook_havamal" + ], + "fg": 864, + "rotates": false + }, + { + "id": [ + "novel_thriller", + "novel_sports", + "fairy_tales", + "holybook_talmud", + "holybook_tripitaka", + "holybook_pastafarian", + "holybook_slack", + "holybook_kallisti", + "manual_karate", + "manual_aikido", + "manual_judo", + "manual_tai_chi", + "manual_capoeira", + "manual_krav_maga", + "manual_muay_thai", + "manual_ninjutsu", + "manual_taekwondo", + "manual_zui_quan", + "manual_crane", + "manual_dragon", + "manual_leopard", + "manual_tiger", + "manual_snake", + "manual_centipede", + "manual_scorpion", + "manual_toad", + "manual_lizard", + "manual_venom_snake" + ], + "fg": 865, + "rotates": false + }, + { "id": "abdul_necro", "fg": 866, "rotates": false }, + { + "id": [ "mag_cutting", "mag_melee", "manual_melee", "mag_stabbing", "news_regional", "novel_crime2", "novel_war2" ], + "fg": 867, + "rotates": false + }, + { + "id": [ + "mag_mechanics", + "textbook_gaswarfare", + "recipe_mininuke_launch", + "recipe_lab_elec", + "phonebook", + "mag_unarmed", + "mag_launcher", + "textbook_speech", + "novel_buddy", + "essay_book", + "101_carpentry", + "radio_book", + "adv_chemistry", + "carpentry_book", + "manual_fabrication", + "textbook_weapwest", + "textbook_fireman", + "holybook_vedas", + "holybook_sutras", + "mag_animecon" + ], + "fg": 868, + "rotates": false + }, + { "id": "book_asgard", "fg": 869, "rotates": false }, + { + "id": [ + "photo_album", + "recipe_bullets", + "recipe_arrows", + "recipe_bows", + "modern_tanner", + "atomic_survival", + "trappers_companion", + "howto_computer", + "manual_launcher", + "manual_archery", + "novel_adventure", + "novel_war", + "novel_western", + "pocket_firstaid", + "pocket_firearms", + "tailor_portfolio", + "family_cookbook" + ], + "fg": 870, + "rotates": false + }, + { "id": "manual_pankration", "fg": 871, "rotates": false }, + { "id": "manual_swordsmanship", "fg": 872, "rotates": false }, + { + "id": [ + "recipe_alpha", + "recipe_chimera", + "recipe_serum", + "recipe_creepy", + "recipe_animal", + "recipe_maiar", + "recipe_labchem", + "recipe_raptor", + "holybook_bible1", + "cookbook_sushi", + "holybook_granth", + "holybook_scientology" + ], + "fg": 873, + "rotates": false + }, + { + "id": [ + "textbook_launcher", + "mag_computer", + "mag_survival", + "fun_survival", + "manual_bashing", + "manual_cutting", + "mag_rifle", + "manual_rifle", + "mag_shotgun", + "manual_shotgun", + "textbook_survival", + "survival_book", + "textbook_traps", + "manual_gun", + "book_archery", + "manual_throw", + "manual_swimming", + "novel_coa", + "novel_samurai", + "tall_tales", + "recipe_fauxfur", + "classic_literature", + "collector_book", + "manual_brawl", + "manual_knives", + "manual_stabbing", + "manual_mechanics", + "manual_survival", + "manual_speech", + "manual_business", + "manual_first_aid", + "pocket_survival", + "manual_computers", + "cookbook", + "cookbook_human", + "cookbook_italian", + "manual_electronics", + "manual_tailor", + "textbook_tailor", + "howto_traps", + "manual_traps", + "manual_carpentry", + "manual_driving", + "textbook_fabrication", + "manual_niten", + "manual_boxing", + "manual_eskrima", + "manual_fencing", + "manual_silat", + "manual_sojutsu" + ], + "fg": 874, + "rotates": false + }, + { + "id": [ + "jewelry_book", + "textbook_weapeast", + "recipe_melee", + "recipe_lab_cvd", + "glassblowing_book", + "commune_prospectus", + "necropolis_freq" + ], + "fg": 875, + "rotates": false + }, + { "id": "textbook_atomic", "fg": 876, "rotates": false }, + { + "id": [ + "advanced_electronics", + "mag_dude", + "textbook_computers", + "computer_science", + "repeater_mod_guide", + "textbook_business", + "textbook_mechanics", + "book_icef", + "textbook_chemistry", + "textbook_carpentry", + "SICP", + "textbook_robots", + "record_weather", + "record_patient", + "record_accounting", + "priest_diary", + "visions_solitude", + "textbook_armschina", + "textbook_biodiesel", + "textbook_armwest", + "holybook_mormon" + ], + "fg": 877, + "rotates": false + }, + { "id": "dnd_handbook", "fg": 878, "rotates": false }, + { + "id": [ + "manual_smg", + "novel_romance", + "novel_spy", + "novel_scifi", + "novel_drama", + "novel_swash", + "novel_fantasy", + "novel_mystery", + "novel_horror", + "novel_tragedy", + "ZSG", + "textbook_armeast", + "brewing_cookbook" + ], + "fg": 879, + "rotates": false + }, + { + "id": [ + "mag_porn", + "mag_traps", + "mag_electronics", + "mag_bashing", + "mag_tv", + "mag_news", + "mag_cars", + "mag_cooking", + "mag_glam", + "mag_beauty", + "mag_carpentry", + "mag_guns", + "mag_archery", + "mag_gaming", + "mag_comic", + "mag_firstaid", + "mag_dodge", + "mag_throwing", + "mag_swimming", + "novel_road", + "child_book", + "novel_erotic", + "poetry_book", + "plays_book", + "mag_tailor", + "mag_fabrication", + "mag_fieldrepair", + "manual_dodge_kid" + ], + "fg": 880, + "rotates": false + }, + { + "id": [ + "manual_pistol", + "textbook_computer", + "textbook_firstaid", + "booklet_firstaid", + "manual_dodge", + "novel_crime", + "novel_experimental", + "philosophy_book", + "story_book", + "textbook_electronics", + "emergency_book", + "welding_book", + "recipe_medicalmut", + "holybook_upanishads", + "novel_coa2", + "mag_barter" + ], + "fg": 881, + "rotates": false + }, + { + "id": [ + "recipe_atomic_battery", + "paper", + "sarcophagus_access_code", + "flyer", + "survnote", + "file", + "note", + "newest_newspaper", + "many_years_old_newspaper", + "years_old_newspaper", + "one_year_old_newspaper", + "months_old_newspaper", + "weeks_old_newspaper", + "necropolis_leaflet", + "black_box_transcript" + ], + "fg": 882, + "rotates": false + }, + { + "id": [ + "soup_fish", + "soup_chicken", + "soup_mushroom", + "soup_dumplings", + "protein_drink", + "hflesh_drink", + "spider_steak_soup", + "oxygen" + ], + "fg": 883, + "rotates": false + }, + { + "id": [ + "V8", + "wine_cabernet", + "wine_noir", + "bum_wine", + "drink_kalimotxo", + "blood", + "mutagen_jabberblood", + "curry_veggy", + "curry_meat", + "soup_tomato", + "brew_bum_wine", + "taint_tornado", + "mixed_alcohol_strong", + "oxyacetylene" + ], + "fg": 884, + "rotates": false + }, + { + "id": [ + "cooking_oil", + "cooking_oil2", + "protein_shake", + "hflesh_shake_fortified", + "hflesh_shake", + "mead", + "brew_mead", + "dandelion_wine", + "brew_dandelion_wine", + "dandelion_tea", + "drink_beeknees", + "drink_wsour", + "honey_gold", + "mugwort_oil", + "thyme_oil", + "protein_shake_fortified", + "lemonade", + "lamp_oil" + ], + "fg": 885, + "rotates": false + }, + { + "id": [ + "wine_chardonnay", + "creamsoda", + "lemonlime", + "bee_balm_tea", + "vinegar", + "brew_vinegar", + "gasoline", + "diesel", + "gas_fungicidal", + "wine_riesling" + ], + "fg": 886, + "rotates": false + }, + { + "id": [ "apple_cider", "energy_drink_atomic", "colamdew", "drink_wild_apple", "pine_tea" ], + "fg": 887, + "rotates": false + }, + { + "id": [ "drink_boozeberry", "maple_sap", "wash_rum", "wash_vodka", "cattail_jelly" ], + "fg": 888, + "rotates": false + }, + { + "id": [ "energy_drink", "poppysyrup", "iv_purifier", "purple_drink", "cranberry_juice", "pepto" ], + "fg": 889, + "rotates": false + }, + { + "id": [ "milk", "soup_cullenskink", "brew_milk_curdled", "milk_curdled", "eggnog", "eggnog_spiked" ], + "fg": 890, + "rotates": false + }, + { + "id": [ + "mutagen", + "mutagen_plant", + "mutagen_insect", + "mutagen_spider", + "mutagen_slime", + "mutagen_fish", + "mutagen_mouse", + "mutagen_rat", + "mutagen_beast", + "mutagen_cattle", + "mutagen_cephalopod", + "mutagen_bird", + "mutagen_lizard", + "mutagen_troglobite", + "mutagen_medical", + "mutagen_chimera", + "mutagen_alpha", + "mutagen_ursine", + "mutagen_feline", + "mutagen_lupine", + "mutagen_elfa", + "mutagen_raptor", + "pine_wine" + ], + "fg": 891, + "rotates": false + }, + { "id": [ "oj", "juice", "orangesoda", "triple_sec", "drink_screwdriver" ], "fg": 892, "rotates": false }, + { + "id": [ + "purifier", + "crispycran", + "drink_strawberry_surprise", + "fruit_wine", + "brew_fruit_wine", + "brandy", + "mixed_alcohol_weak", + "sports_drink", + "napalm" + ], + "fg": 893, + "rotates": false + }, + { + "id": [ + "sewage", + "water_sewage", + "cola", + "rootbeer", + "spezi", + "drink_hobo", + "broth", + "broth_bone", + "broth_human", + "chai_tea", + "hickory_nut_ambrosia", + "soup_meat", + "soup_woods", + "soup_human", + "whiskey", + "single_malt_whiskey", + "irish_coffee", + "drink_rumcola", + "drink_sewerbrew", + "rum", + "tequila", + "long_island", + "beer", + "european_pilsner", + "pale_ale", + "india_pale_ale", + "stout", + "belgian_ale", + "imperial_stout", + "syrup", + "coffee_syrup", + "brew_whiskey", + "hb_beer", + "brew_hb_beer", + "moonshine", + "brew_moonshine", + "molasses", + "tea", + "coffee", + "atomic_coffee", + "cola_meth", + "beet_syrup", + "soysauce", + "milk_coffee", + "milk_tea", + "tea_bark", + "hot_chocolate", + "mex_chocolate", + "wash_moonshine", + "wash_whiskey", + "choc_drink" + ], + "fg": 894, + "rotates": false + }, + { + "id": [ + "soup_veggy", + "herbal_tea", + "iv_mutagen", + "iv_mutagen_plant", + "iv_mutagen_insect", + "iv_mutagen_spider", + "iv_mutagen_slime", + "iv_mutagen_fish", + "iv_mutagen_mouse", + "iv_mutagen_rat", + "iv_mutagen_beast", + "iv_mutagen_ursine", + "iv_mutagen_feline", + "iv_mutagen_lupine", + "iv_mutagen_cattle", + "iv_mutagen_cephalopod", + "iv_mutagen_bird", + "iv_mutagen_lizard", + "iv_mutagen_troglobite", + "iv_mutagen_alpha", + "iv_mutagen_medical", + "iv_mutagen_chimera", + "iv_mutagen_elfa", + "iv_mutagen_raptor", + "brew_pine_wine", + "plut_slurry", + "plut_slurry_dense", + "gas_chloramine" + ], + "fg": 895, + "rotates": false + }, + { + "id": [ + "water", + "water_clean", + "water_mineral", + "saline", + "salt_water", + "sweet_water", + "chem_DMSO", + "chem_chloroform", + "chem_phenol", + "chem_glycerol", + "chem_hydrogen_peroxide", + "ether", + "vodka", + "gin", + "brew_rum", + "brew_vodka", + "bleach", + "ammonia", + "fertilizer_liquid", + "water_acid", + "water_acid_weak", + "acid", + "kompot", + "disinfectant", + "lye", + "water_smoke", + "chem_methanol", + "chem_ethanol", + "denat_alcohol", + "chem_acetic_acid", + "chem_acetone", + "chem_hydrogen_peroxide_conc", + "chem_nitric_acid", + "chem_sulphuric_acid", + "chem_formaldehyde" + ], + "fg": 896, + "rotates": false + }, + { "id": [ "mintpatties", "basketball", "coconut" ], "fg": 897, "rotates": false }, + { "id": [ "grapefruit", "irradiated_grapefruit", "honey_ant" ], "fg": 898, "rotates": false }, + { "id": [ "melon", "irradiated_melon", "cotton_boll", "egg_locust" ], "fg": 899, "rotates": false }, + { "id": [ "onion", "irradiated_onion" ], "fg": 900, "rotates": false }, + { "id": [ "orange", "irradiated_orange" ], "fg": 901, "rotates": false }, + { "id": [ "peach", "irradiated_peach" ], "fg": 902, "rotates": false }, + { "id": [ "razorclaw_roe", "egg_fish" ], "fg": 903, "rotates": false }, + { "id": [ "spider_egg", "cotton_ball" ], "fg": 904, "rotates": false }, + { "id": "pinecone", "fg": 905, "rotates": false }, + { "id": "marloss_seed", "fg": 906, "rotates": false }, + { "id": "garlic", "fg": 907, "rotates": false }, + { "id": [ "boiled_egg", "egg_reptile", "egg_wasp", "ant_egg" ], "fg": 908, "rotates": false }, + { "id": [ "lemon", "irradiated_lemon" ], "fg": 909, "rotates": false }, + { "id": "potato_baked", "fg": 910, "rotates": false }, + { + "id": [ "potato", "irradiated_potato", "kiwi", "irradiated_kiwi", "egg_bird" ], + "fg": 911, + "rotates": false + }, + { + "id": [ "watermelon", "irradiated_watermelon", "tool_rocket_candy", "tool_rocket_candy_act" ], + "fg": 912, + "rotates": false + }, + { "id": [ "irradiated_mango", "mango" ], "fg": 913, "rotates": false }, + { "id": [ "papaya", "irradiated_papaya" ], "fg": 914, "rotates": false }, + { "id": [ "irradiated_pomegranate", "pomegranate" ], "fg": 915, "rotates": false }, + { "id": [ "irradiated_tomato", "tomato" ], "fg": 916, "rotates": false }, + { "id": [ "irradiated_apple", "apple" ], "fg": 917, "rotates": false }, + { "id": "mycus_fruit", "fg": 918, "rotates": false }, + { "id": [ "irradiated_apricot", "apricot" ], "fg": 919, "rotates": false }, + { "id": "marloss_berry", "fg": 920, "rotates": false }, + { "id": [ "irradiated_pear", "pear" ], "fg": 921, "rotates": false }, + { "id": [ "irradiated_pumpkin", "pumpkin" ], "fg": 922, "rotates": false }, + { "id": [ "irradiated_cabbage", "cabbage" ], "fg": 923, "rotates": false }, + { "id": [ "lettuce", "irradiated_lettuce" ], "fg": 924, "rotates": false }, + { "id": [ "coal_lump", "coal" ], "fg": 925, "rotates": false }, + { + "id": [ "dandelion_fried", "sunflower", "spurge_flower", "black_eyed_susan_flower", "raw_dandelion" ], + "fg": 926, + "rotates": false + }, + { "id": [ "bee_balm", "lily_flower", "lotus_flower" ], "fg": 927, "rotates": false }, + { "id": [ "poppy_flower", "tulip_flower" ], "fg": 928, "rotates": false }, + { "id": "bluebell_flower", "fg": 929, "rotates": false }, + { "id": "dahlia_flower", "fg": 930, "rotates": false }, + { "id": [ "small_charcoal", "small_coal" ], "fg": 931, "rotates": false }, + { "id": "steel_chunk", "fg": 932, "rotates": false }, + { "id": "plant_sac", "fg": 933, "rotates": false }, + { "id": [ "seed_mushroom_morel", "fungal_seeds", "seed_mushroom" ], "fg": 934, "rotates": false }, + { + "id": [ "blueberries", "irradiated_blueberries", "blackberries", "irradiated_blackberries" ], + "fg": 935, + "rotates": false + }, + { "id": [ "kernels", "seed_corn" ], "fg": 936, "rotates": false }, + { + "id": [ + "seed_wheat", + "seed_barley", + "seed_sugar_beet", + "seed_cotton_boll", + "seed_tomato", + "dry_beans", + "beans_cooked", + "pelmeni", + "seed_carrot", + "seed_lettuce", + "oats", + "seed_celery", + "seed_oats", + "seed_cucumber", + "seed_zucchini", + "seed_potato_raw", + "seed_bee_balm", + "seed_blackberries", + "seed_buckwheat", + "seed_canola", + "seed_cranberries", + "seed_dogbane", + "seed_mugwort", + "seed_raspberries", + "seed_raw_dandelion", + "seed_thyme", + "seed_wild_herbs", + "seed_pumpkin", + "macaroni_cooked", + "ravioli", + "mre_ravioli", + "seed_weed", + "seed_chili_pepper" + ], + "fg": 937, + "rotates": false + }, + { "id": [ "veggy", "veggy_wild" ], "fg": 938, "rotates": false }, + { + "id": [ + "veggy_cooked", + "veggy_wild_cooked", + "choco_coffee_beans", + "maltballs", + "acorns", + "datura_seed", + "coffee_bean", + "roasted_coffee_bean", + "seed_broccoli", + "raw_beans", + "hickory_nut_roasted", + "hickory_nut_unshelled", + "seed_cabbage", + "seed_sunflower", + "macaroni_raw", + "seed_onion", + "mre_veggy", + "hickory_nut" + ], + "fg": 939, + "rotates": false + }, + { "id": "veggy_tainted", "fg": 940, "rotates": false }, + { + "id": [ "candy2", "candy3", "neccowafers", "gummy_vitamins", "maple_candy", "candy" ], + "fg": 941, + "rotates": false + }, + { "id": [ "irradiated_cranberries", "seed_strawberries", "cranberries" ], "fg": 942, "rotates": false }, + { + "id": [ "cherries", "irradiated_cherries", "raspberries", "irradiated_raspberries" ], + "fg": 943, + "rotates": false + }, + { "id": "ruined_chunks", "fg": 944, "rotates": false }, + { "id": [ "plums", "irradiated_plums" ], "fg": 945, "rotates": false }, + { "id": "seed_blueberries", "fg": 946, "rotates": false }, + { + "id": [ + "can_coconut", + "yoghurt", + "pudding", + "can_chicken", + "horseradish", + "con_milk", + "flour", + "sugar", + "salt", + "meal_bone", + "meal_bone_tainted", + "starch", + "mayonnaise" + ], + "fg": 947, + "rotates": false + }, + { "id": "sugar_fried", "fg": 948, "rotates": false }, + { "id": "fungicide", "fg": 949, "rotates": false }, + { "id": "meal_chitin_piece", "fg": 950, "rotates": false }, + { "id": [ "mustard", "honey_bottled", "marloss_gel" ], "fg": 951, "rotates": false }, + { "id": [ "sauce_pesto", "seasoning_italian", "tea_raw", "fertilizer" ], "fg": 952, "rotates": false }, + { + "id": [ "sauce_red", "ketchup", "strawberries_cooked", "fruit_cooked", "jam_fruit" ], + "fg": 953, + "rotates": false + }, + { "id": "slime_scrap", "fg": 954, "rotates": false }, + { "id": "blueberries_cooked", "fg": 955, "rotates": false }, + { "id": "fd_blood", "fg": 956, "rotates": false }, + { "id": "fd_blood_veggy", "fg": 957, "rotates": false }, + { "id": [ "fd_blood_invertebrate", "fd_gibs_invertebrate" ], "fg": 958, "rotates": false }, + { "id": [ "fd_blood_insect", "fd_gibs_insect" ], "fg": 959, "rotates": false }, + { "id": "fd_gibs_flesh", "fg": 960, "rotates": false }, + { "id": [ "feces_dog", "feces_cow", "feces_manure" ], "fg": 961, "rotates": false }, + { "id": "feces_bird", "fg": 962, "rotates": false }, + { + "id": [ + "pepper", + "can_sardine", + "can_herring", + "gunpowder", + "magnesium", + "oxy_powder", + "material_cement", + "chem_aluminium_powder", + "chem_black_powder", + "chem_carbide", + "chem_rocket_fuel", + "chem_thermite", + "chem_zinc_powder", + "incendiary", + "charcoal", + "material_sand", + "ash" + ], + "fg": 963, + "rotates": false + }, + { + "id": [ + "can_clams", + "can_chowder", + "rehydrated_fish", + "milk_powder", + "dry_rice", + "rice_cooked", + "beansnrice", + "yeast", + "bfipowder", + "morphine", + "sushi_rice", + "coke", + "meth", + "poppy_sleep", + "poppy_pain", + "lye_powder", + "detergent", + "chem_aluminium_sulphate", + "chem_ammonium_nitrate", + "chem_saltpetre", + "chem_rdx", + "material_quicklime", + "chem_hmtd" + ], + "fg": 964, + "rotates": false + }, + { + "id": [ + "can_beans", + "granola", + "macaroni_helper", + "hobo_helper", + "pork_beans", + "peanutbutter", + "mushroom_cooked", + "deluxe_beans", + "deluxe_veggy_beans", + "deluxe_beansnrice", + "deluxe_veggy_beansnrice", + "acorns_cooked", + "buckwheat", + "buckwheat_cooked", + "heroin", + "tobacco", + "coffee_raw", + "feces_roach", + "material_soil", + "dogfood", + "f_woodchips" + ], + "fg": 965, + "rotates": false + }, + { + "id": [ + "can_corn", + "can_pineapple", + "fertilizer_commercial", + "lemonade_powder", + "powder_eggs", + "cornmeal", + "deluxe_rice", + "deluxe_veggy_rice", + "can_cheese", + "chem_sulphur" + ], + "fg": 966, + "rotates": false + }, + { "id": [ "cooked_pumpkin", "dry_mushroom", "dry_mushroom_magic" ], "fg": 967, "rotates": false }, + { + "id": [ + "crack", + "dry_fish", + "oatmeal", + "quikclot", + "protein_powder", + "hflesh_powder", + "seasoning_salt", + "pine_nuts", + "cinnamon", + "fried_seeds", + "sauerkraut", + "sauerkraut_onions" + ], + "fg": 968, + "rotates": false + }, + { + "id": [ "chilly-p", "curry_powder", "can_tomato", "meat_salted", "hflesh_salted" ], + "fg": 969, + "rotates": false + }, + { "id": "dry_fruit", "fg": 970, "rotates": false }, + { "id": [ "dry_meat", "dry_hflesh" ], "fg": 971, "rotates": false }, + { "id": [ "dry_meat_tainted", "dry_veggy_tainted" ], "fg": 972, "rotates": false }, + { + "id": [ "rehydrated_fruit", "juice_pulp", "can_spam", "can_tuna", "can_salmon", "can_catfood", "chem_anfo", "catfood" ], + "fg": 973, + "rotates": false + }, + { + "id": [ "rehydrated_meat", "rehydrated_hflesh", "apple_canned", "apple_sugar", "meat_pickled", "human_pickled" ], + "fg": 974, + "rotates": false + }, + { "id": [ "rehydrated_veggy", "veggy_pickled" ], "fg": 975, "rotates": false }, + { + "id": [ + "chaw", + "dandelion_cooked", + "wild_herbs", + "veggy_salad", + "dried_salad", + "insta_salad", + "veggy_aspic", + "veggy_canned", + "veggy_salted", + "dry_veggy", + "homebrew_antiseptic", + "chem_chromium_oxide" + ], + "fg": 976, + "rotates": false + }, + { "id": [ "irradiated_strawberries", "strawberries" ], "fg": 977, "rotates": false }, + { "id": "meat_scrap_cooked", "fg": 978, "rotates": false }, + { "id": "fish_bait", "fg": 979, "rotates": false }, + { "id": "meat_scrap", "fg": 980, "rotates": false }, + { + "id": [ "brioche", "toastem", "toastem2", "toastem3", "toasterpastryfrozen", "wastebread", "bread" ], + "fg": 981, + "rotates": false + }, + { + "id": [ + "pemmican", + "hflesh_pemmican", + "toasterpastry", + "cloutie_dumpling", + "haggis", + "human_haggis", + "unfinished_charcoal", + "fish_smoked" + ], + "fg": 982, + "rotates": false + }, + { + "id": [ "fish", "lunchmeat", "fruit_leather", "fried_spam", "meat_aspic", "hflesh_aspic", "sashimi" ], + "fg": 983, + "rotates": false + }, + { "id": [ "fish_cooked", "fish_pickled", "salted_fish", "wool_staple" ], "fg": 984, "rotates": false }, + { "id": [ "fish_fried", "cornbread", "johnnycake", "noodles_fast" ], "fg": 985, "rotates": false }, + { "id": [ "fish_canned", "lutefisk" ], "fg": 986, "rotates": false }, + { "id": "sweetbread", "fg": 987, "rotates": false }, + { "id": [ "chips2", "chips3", "chips" ], "fg": 988, "rotates": false }, + { "id": [ "popcorn", "popcorn2", "popcorn3" ], "fg": 989, "rotates": false }, + { "id": [ "cereal", "cereal2", "cereal3", "can_peach" ], "fg": 990, "rotates": false }, + { "id": [ "bacon", "fetus" ], "fg": 991, "rotates": false }, + { "id": [ "frozen_dinner", "mre_chicken" ], "fg": 992, "rotates": false }, + { + "id": [ "jerky", "jerky_human", "cooked_dinner", "meat_smoked", "human_smoked", "mre_beef" ], + "fg": 993, + "rotates": false + }, + { "id": [ "human_flesh", "meat_canned", "human_canned", "meat" ], "fg": 994, "rotates": false }, + { "id": [ "meat_cooked", "human_cooked", "royal_beef", "spider_steak_cooked" ], "fg": 995, "rotates": false }, + { "id": "meat_tainted", "fg": 996, "rotates": false }, + { "id": "spider_steak", "fg": 997, "rotates": false }, + { "id": "spider_steak_fried", "fg": 998, "rotates": false }, + { "id": [ "stomach_large", "hstomach", "hstomach_large", "stomach" ], "fg": 999, "rotates": false }, + { + "id": [ "stomach_boiled", "hstomach_boiled", "small_stomach_boiled", "small_hstomach_boiled" ], + "fg": 1000, + "rotates": false + }, + { "id": "offal_cooked", "fg": 1001, "rotates": false }, + { "id": "offal", "fg": 1002, "rotates": false }, + { "id": "sausage_wasteland", "fg": 1003, "rotates": false }, + { "id": "spider_brain", "fg": 1004, "rotates": false }, + { "id": [ "helmet_bone_megabear", "megabear_skull_clean" ], "fg": 1005, "rotates": false }, + { "id": "megabear_skull_unclean", "fg": 1006, "rotates": false }, + { "id": "e_handcuffs", "fg": 1007, "rotates": false }, + { "id": "onion_rings", "fg": 1008, "rotates": false }, + { + "id": [ "deluxe_eggs", "nachos", "nachosc", "nachosm", "nachoshf", "nachosmc", "nachoshc", "chunk_sulfur", "scrambled_eggs" ], + "fg": 1009, + "rotates": false + }, + { "id": "fat_tainted", "fg": 1010, "rotates": false }, + { + "id": [ "onigiri", "seed_garlic", "fat", "material_limestone", "material_rocksalt", "marshmallow" ], + "fg": 1011, + "rotates": false + }, + { "id": [ "raw_tainted_fur", "raw_fur" ], "fg": 1012, "rotates": false }, + { "id": "cured_pelt", "fg": 1013, "rotates": false }, + { "id": "tanned_pelt", "fg": 1014, "rotates": false }, + { "id": [ "raw_hleather", "raw_tainted_leather", "raw_leather" ], "fg": 1015, "rotates": false }, + { "id": "cured_hide", "fg": 1016, "rotates": false }, + { "id": "tanned_hide", "fg": 1017, "rotates": false }, + { "id": "tanning_hide", "fg": 1018, "rotates": false }, + { "id": "tanning_pelt", "fg": 1019, "rotates": false }, + { "id": [ "fresh_fries", "fries", "cheese_fries", "fresh_fries_big" ], "fg": 1020, "rotates": false }, + { "id": "powder_candy", "fg": 1021, "rotates": false }, + { "id": [ "spaghetti_raw", "cracklins", "porkstick", "mre_hotdog" ], "fg": 1022, "rotates": false }, + { "id": "straw_pile", "fg": 1023, "rotates": false }, + { "id": "candycigarette", "fg": 1024, "rotates": false }, + { "id": "dogbane", "fg": 1025, "rotates": false }, + { "id": "seed_rhubarb", "fg": 1026, "rotates": false }, + { "id": "canola", "fg": 1027, "rotates": false }, + { "id": [ "irradiated_rhubarb", "rhubarb" ], "fg": 1028, "rotates": false }, + { "id": [ "thyme", "seed_veggy_wild" ], "fg": 1029, "rotates": false }, + { "id": [ "wheat", "barley" ], "fg": 1030, "rotates": false }, + { "id": [ "irradiated_broccoli", "cannabis", "broccoli" ], "fg": 1031, "rotates": false }, + { "id": [ "hops", "celery", "irradiated_celery" ], "fg": 1032, "rotates": false }, + { + "id": [ + "dahlia_root", + "dahlia_baked", + "cattail_rhizome", + "hickory_root", + "seed_hops", + "salsify_raw", + "salsify_baked", + "chicory_raw" + ], + "fg": 1033, + "rotates": false + }, + { "id": [ "mushroom_morel", "morel_cooked", "morel_fried", "mushroom" ], "fg": 1034, "rotates": false }, + { "id": [ "leg", "arm" ], "fg": 1035, "rotates": false }, + { "id": "fchicken", "fg": 1036, "rotates": false }, + { "id": "bone_tainted", "fg": 1037, "rotates": false }, + { "id": [ "bone_human", "bone" ], "fg": 1038, "rotates": false }, + { "id": [ "irradiated_banana", "banana" ], "fg": 1039, "rotates": false }, + { "id": [ "irradiated_carrot", "carrot" ], "fg": 1040, "rotates": false }, + { "id": "chili_pepper", "fg": 1041, "rotates": false }, + { "id": [ "irradiated_grapes", "grapes" ], "fg": 1042, "rotates": false }, + { "id": [ "irradiated_pineapple", "pineapple" ], "fg": 1043, "rotates": false }, + { "id": [ "mugwort", "pine_bough", "tobacco_raw", "weed" ], "fg": 1044, "rotates": false }, + { "id": "sugar_beet", "fg": 1045, "rotates": false }, + { "id": [ "corndogs_cooked", "corndogs_frozen" ], "fg": 1046, "rotates": false }, + { "id": [ "joint", "handrolled_cig" ], "fg": 1047, "rotates": false }, + { + "id": [ "mannwurstgravy", "sausagegravy", "cooked_cattail_stalk", "vibrator" ], + "fg": 1048, + "rotates": false + }, + { + "id": [ + "sausage", + "mre_maplesausage", + "hotdogs_frozen", + "hotdogs_cooked", + "hotdogs_campfire", + "chilidogs", + "chilidogs_human", + "mannwurst", + "currywurst", + "h_currywurst", + "sweet_sausage" + ], + "fg": 1049, + "rotates": false + }, + { + "id": [ "zucchini", "irradiated_zucchini", "cucumber", "irradiated_cucumber", "cattail_stalk", "stick_fiber", "pickle" ], + "fg": 1050, + "rotates": false + }, + { "id": [ "irradiated_corn", "corn" ], "fg": 1051, "rotates": false }, + { "id": [ "frozen_burrito", "cooked_burrito" ], "fg": 1052, "rotates": false }, + { "id": "cig", "fg": 1053, "rotates": false }, + { "id": "cig_lit", "fg": 1054, "rotates": false }, + { "id": "cig_butt", "fg": 1055, "rotates": false }, + { "id": "cigar", "fg": 1056, "rotates": false }, + { "id": "cigar_lit", "fg": 1057, "rotates": false }, + { "id": "cigar_butt", "fg": 1058, "rotates": false }, + { "id": [ "clay_lump", "clay_boiled", "clay_lump", "chocolate" ], "fg": 1059, "rotates": false }, + { "id": "gum", "fg": 1060, "rotates": false }, + { "id": "nic_gum", "fg": 1061, "rotates": false }, + { "id": [ "tallow", "lard", "caff_gum" ], "fg": 1062, "rotates": false }, + { "id": [ "tallow_tainted", "material_aluminium_ingot" ], "fg": 1063, "rotates": false }, + { "id": [ "hfleshbologna", "bologna" ], "fg": 1064, "rotates": false }, + { "id": "royal_jelly_sap", "fg": 1065, "rotates": false }, + { "id": "royal_jelly", "fg": 1066, "rotates": false }, + { "id": "honeycomb", "fg": 1067, "rotates": false }, + { "id": "wax", "fg": 1068, "rotates": false }, + { "id": [ "sushi_fishroll", "sushi_meatroll", "sushi_veggyroll" ], "fg": 1069, "rotates": false }, + { "id": [ "pie_meat", "pie_human", "pie_maple", "pie" ], "fg": 1070, "rotates": false }, + { "id": "pizza_cheese", "fg": 1071, "rotates": false }, + { "id": [ "pizza_meat", "pizza_human" ], "fg": 1072, "rotates": false }, + { "id": [ "pizza_veggy", "pie_veggy" ], "fg": 1073, "rotates": false }, + { "id": [ "waffles", "fruit_waffles" ], "fg": 1074, "rotates": false }, + { "id": "choc_waffles", "fg": 1075, "rotates": false }, + { "id": [ "biscuit", "flatbread", "tortilla_corn", "cookies" ], "fg": 1076, "rotates": false }, + { "id": [ "grahmcrackers", "hardtack", "frenchtoast", "crackers" ], "fg": 1077, "rotates": false }, + { + "id": [ "sandwich_pbh", "sandwich_cheese_grilled", "sandwich_cheese", "sandwich_honey", "sandwich_pbm", "fish_sandwich" ], + "fg": 1078, + "rotates": false + }, + { "id": [ "sandwich_cucumber", "sandwich_veggy" ], "fg": 1079, "rotates": false }, + { "id": [ "sandwich_pbj", "blt", "sandwich_jam" ], "fg": 1080, "rotates": false }, + { + "id": [ + "sandwich_t", + "sandwich_human", + "smores", + "sandwich_pb", + "cheeseburgerhuman", + "sandwich_deluxe", + "sandwich_dudeluxe", + "cheeseburger", + "hamburger", + "bobburger", + "sloppyjoe", + "manwich", + "sandwich_sauce", + "spider_steak_sandwich" + ], + "fg": 1081, + "rotates": false + }, + { "id": [ "tiotaco", "quesadilla_cheese", "taco" ], "fg": 1082, "rotates": false }, + { "id": [ "oatmeal_deluxe", "oatmeal_cooked" ], "fg": 1083, "rotates": false }, + { "id": [ "spaghetti_bolognese", "spaghetti_human", "chili", "chili_human" ], "fg": 1084, "rotates": false }, + { "id": "spaghetti_pesto", "fg": 1085, "rotates": false }, + { "id": [ "luigilasagne", "lasagne" ], "fg": 1086, "rotates": false }, + { "id": [ "folding_poncho", "lasagne_raw" ], "fg": 1087, "rotates": false }, + { "id": [ "cheese_hard", "cheese" ], "fg": 1088, "rotates": false }, + { "id": "glazed_tenderloin", "fg": 1089, "rotates": false }, + { "id": [ "fruit_pancakes", "choc_pancakes", "pancakes" ], "fg": 1090, "rotates": false }, + { "id": [ "brownie", "brownie_weed", "cake2" ], "fg": 1091, "rotates": false }, + { "id": [ "jihelucake", "cake3" ], "fg": 1092, "rotates": false }, + { "id": [ "chocpretzels", "pretzels" ], "fg": 1093, "rotates": false }, + { "id": "contacts", "fg": 1094, "rotates": false }, + { "id": "eyedrops", "fg": 1095, "rotates": false }, + { "id": [ "inhaler_stimgas", "inhaler", "inhaler_sewergas" ], "fg": 1096, "rotates": false }, + { "id": "bandages", "fg": 1097, "rotates": false }, + { "id": "medikit", "fg": 1098, "rotates": false }, + { "id": "duct_tape", "fg": 1099, "rotates": false }, + { "id": "medical_tape", "fg": 1100, "rotates": false }, + { "id": "resin_cord", "fg": 1101, "rotates": false }, + { "id": "medical_gauze", "fg": 1102, "rotates": false }, + { "id": "lsd", "fg": 1103, "rotates": false }, + { "id": [ "vitamins", "adderall" ], "fg": 1104, "rotates": false }, + { "id": "caffeine", "fg": 1105, "rotates": false }, + { "id": "thorazine", "fg": 1106, "rotates": false }, + { "id": "xanax", "fg": 1107, "rotates": false }, + { "id": [ "pills_sleep", "prussian_blue", "oxycodone" ], "fg": 1108, "rotates": false }, + { "id": "codeine", "fg": 1109, "rotates": false }, + { + "id": [ + "aspirin", + "antifungal", + "antiparasitic", + "pur_tablets", + "iodine", + "tramadol", + "diazepam", + "calcium_tablet", + "weak_antibiotic" + ], + "fg": 1110, + "rotates": false + }, + { "id": "prozac", "fg": 1111, "rotates": false }, + { "id": "antibiotics", "fg": 1112, "rotates": false }, + { "id": "nyquil", "fg": 1113, "rotates": false }, + { "id": "dayquil", "fg": 1114, "rotates": false }, + { "id": "panacea", "fg": 1115, "rotates": false }, + { "id": [ "advanced_ecig", "antenna" ], "fg": 1116, "rotates": false }, + { "id": [ "tie_skinny", "tie_necktie", "tie_clipon", "ecig" ], "fg": 1117, "rotates": false }, + { "id": "dr_stem_cell", "fg": 1118, "rotates": false }, + { "id": "permanent_marker", "fg": 1119, "rotates": false }, + { "id": [ "berserker_drug", "adrenaline_injector" ], "fg": 1120, "rotates": false }, + { "id": "berserker_drug_act", "fg": 1121, "rotates": false }, + { "id": [ "inj_vitb", "inj_iron" ], "fg": 1122, "rotates": false }, + { "id": [ "offal_canned", "r_paint", "pickles_ferment" ], "fg": 1123, "rotates": false }, + { + "id": [ "offal_pickled", "sauerkraut_ferment", "jar_spider_steak_pickled", "megabear_skull_picked" ], + "fg": 1124, + "rotates": false + }, + { "id": [ "y_paint", "honey_glassed" ], "fg": 1125, "rotates": false }, + { "id": "b_paint", "fg": 1126, "rotates": false }, + { "id": [ "g_paint", "jar_sauerkraut_pickled" ], "fg": 1127, "rotates": false }, + { "id": "p_paint", "fg": 1128, "rotates": false }, + { "id": "w_paint", "fg": 1129, "rotates": false }, + { "id": "jar_pickles_pickled", "fg": 1130, "rotates": false }, + { "id": "hazardous_waste_drum", "fg": 1131, "rotates": false }, + { "id": "can_food", "fg": 1132, "rotates": false }, + { "id": [ "popcan_stove", "can_drink" ], "fg": 1133, "rotates": false }, + { "id": "can_food_unsealed", "fg": 1134, "rotates": false }, + { "id": "can_drink_unsealed", "fg": 1135, "rotates": false }, + { "id": "jar_glass", "fg": 1136, "rotates": false }, + { "id": [ "jar_glass_sealed", "spider_steak_pickled" ], "fg": 1137, "rotates": false }, + { "id": "jar_3l_glass", "fg": 1138, "rotates": false }, + { "id": "jar_3l_glass_sealed", "fg": 1139, "rotates": false }, + { "id": [ "styrofoam_cup", "cup_plastic" ], "fg": 1140, "rotates": false }, + { "id": "cup_plastic_unsealed", "fg": 1141, "rotates": false }, + { "id": "glass", "fg": 1142, "rotates": false }, + { "id": "ceramic_cup", "fg": 1143, "rotates": false }, + { "id": [ "glass_tube_small", "test_tube" ], "fg": 1144, "rotates": false }, + { + "id": [ "rubber_slug", "canister_goo", "bot_fungal_boil", "bot_fungal_boil_egg" ], + "fg": 1145, + "rotates": false + }, + { "id": "clay_canister", "fg": 1146, "rotates": false }, + { "id": "bottle_folding", "fg": 1147, "rotates": false }, + { "id": "bottle_metal", "fg": 1148, "rotates": false }, + { "id": [ "bottle_twoliter", "bottle_plastic", "bottle_plastic_small" ], "fg": 1149, "rotates": false }, + { "id": "acidbomb_medium", "fg": 1150, "rotates": false }, + { "id": "nail_bomb", "fg": 1151, "rotates": false }, + { "id": "triffid_sap_grenade", "fg": 1152, "rotates": false }, + { "id": "bottle_glass", "fg": 1153, "rotates": false }, + { "id": "fertilizer_chelated", "fg": 1154, "rotates": false }, + { "id": [ "2lcanteen", "canteen_wood", "canteen" ], "fg": 1155, "rotates": false }, + { "id": "flask_hip", "fg": 1156, "rotates": false }, + { "id": "jug_plastic", "fg": 1157, "rotates": false }, + { "id": "jug_clay", "fg": 1158, "rotates": false }, + { "id": "clay_hydria", "fg": 1159, "rotates": false }, + { "id": [ "sac_treated", "sac_empty" ], "fg": 1160, "rotates": false }, + { "id": [ "sac_purse", "sac_purse_ankle", "sac_purse_arm", "sac_purse_leg" ], "fg": 1161, "rotates": false }, + { + "id": [ "waterskin2", "waterskin3", "large_stomach_sealed", "stomach_sealed", "waterskin" ], + "fg": 1162, + "rotates": false + }, + { "id": [ "milk_curdling", "milk_curdling2", "milk_curdling3" ], "fg": 1163, "rotates": false }, + { "id": [ "flask_yeast", "flask_glass" ], "fg": 1164, "rotates": false }, + { "id": [ "antidote_posion", "revival_serum", "antidote_badpoison" ], "fg": 1165, "rotates": false }, + { "id": "acidbomb", "fg": 1166, "rotates": false }, + { + "id": [ + "solarpack", + "q_solarpack", + "mbag", + "survivor_rucksack", + "survivor_duffel_bag", + "ammo_satchel", + "chestpouch", + "legpouch", + "legpouch_large", + "makeshift_knapsack", + "camelbak" + ], + "fg": 1167, + "rotates": false + }, + { "id": [ "backpack", "runner_bag", "slingpack" ], "fg": 1168, "rotates": false }, + { + "id": [ "backpack_leather", "survivor_pack", "survivor_runner_pack", "swag_bag" ], + "fg": 1169, + "rotates": false + }, + { "id": "duffelbag", "fg": 1170, "rotates": false }, + { "id": [ "fanny", "dive_bag" ], "fg": 1171, "rotates": false }, + { "id": "purse", "fg": 1172, "rotates": false }, + { "id": [ "plastic_shopping_bag", "plastic_bucket" ], "fg": 1173, "rotates": false }, + { "id": "straw_basket", "fg": 1174, "rotates": false }, + { "id": "bucket", "fg": 1175, "rotates": false }, + { "id": "plastic_bag_vac", "fg": 1176, "rotates": false }, + { + "id": [ + "bag_canvas", + "bag_canvas_small", + "mre_beef_box", + "mre_veggy_box", + "mre_chicken_box", + "mre_hotdog_box", + "mre_ravioli_box" + ], + "fg": 1177, + "rotates": false + }, + { "id": [ "bag_bundle_10", "bag_plastic" ], "fg": 1178, "rotates": false }, + { "id": [ "concrete", "mortar_build" ], "fg": 1179, "rotates": false }, + { "id": "box_cigarette", "fg": 1180, "rotates": false }, + { "id": "box_small", "fg": 1181, "rotates": false }, + { "id": "jerrycan_big", "fg": 1182, "rotates": false }, + { + "id": "vp_tank_medium", + "fg": 1182, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 1183 } ] + }, + { "id": [ "jerrypack", "jerrycan" ], "fg": 1184, "rotates": false }, + { + "id": "vp_tank_small", + "fg": 1184, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 1183 } ] + }, + { + "id": [ "metal_tank_small", "metal_tank_little", "metal_tank_small", "metal_tank" ], + "fg": 1185, + "rotates": false + }, + { + "id": [ "vp_tank", "vp_tank_little" ], + "fg": 1185, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 1183 } ] + }, + { "id": "stamina_vial", "fg": 1186, "rotates": false }, + { "id": [ "hose", "vine_30" ], "fg": 1187, "rotates": false }, + { "id": [ "leather_cat_tail", "fur_cat_tail", "string_6", "string_36" ], "fg": 1188, "rotates": false }, + { "id": [ "wire", "wire_barbed", "chain" ], "fg": 1189, "rotates": false }, + { "id": "spaghetti_cooked", "fg": 1190, "rotates": false }, + { "id": [ "flu_shot", "vaccine_shot" ], "fg": 1191, "rotates": false }, + { "id": "copper_knife", "fg": 1192, "rotates": false }, + { + "id": [ + "knife_steak", + "knife_butcher", + "knife_combat", + "diveknife", + "makeshift_knife", + "primitive_knife", + "knife_trench", + "switchblade", + "kris", + "knife_hunting", + "knife_rambo", + "knife_rm42", + "honey_scraper", + "bio_blade_weapon", + "kris_fake" + ], + "fg": 1193, + "rotates": false + }, + { "id": "glass_shiv", "fg": 1194, "rotates": false }, + { "id": "foil_alum", "fg": 1195, "rotates": false }, + { "id": [ "rolling_paper", "aluminum_foil", "wrapper" ], "fg": 1196, "rotates": false }, + { "id": "grenade_inc_act", "fg": 1197, "rotates": false }, + { "id": "scrambler_act", "fg": 1198, "rotates": false }, + { "id": "EMPbomb_act", "fg": 1199, "rotates": false }, + { "id": [ "flashbang_act", "t_lgtn_arrest" ], "fg": 1200, "rotates": false }, + { "id": "smokebomb_act", "fg": 1201, "rotates": false }, + { "id": "gasbomb_act", "fg": 1202, "rotates": false }, + { "id": "flashbang", "fg": 1203, "rotates": false }, + { "id": "grenade_inc", "fg": 1204, "rotates": false }, + { "id": "scrambler", "fg": 1205, "rotates": false }, + { "id": "EMPbomb", "fg": 1206, "rotates": false }, + { "id": "smokebomb", "fg": 1207, "rotates": false }, + { "id": "gasbomb", "fg": 1208, "rotates": false }, + { "id": "thermos", "fg": 1209, "rotates": false }, + { "id": "vacutainer", "fg": 1210, "rotates": false }, + { + "id": [ + "bio_null", + "bio_power_storage", + "bio_power_storage_mkII", + "bio_batteries", + "bio_metabolics", + "bio_solar", + "bio_torsionratchet", + "bio_furnace", + "bio_ethanol", + "bio_memory", + "bio_ears", + "bio_eye_enhancer", + "bio_dex_enhancer", + "bio_str_enhancer", + "bio_int_enhancer", + "bio_membrane", + "bio_targeting", + "bio_gills", + "bio_purifier", + "bio_climate", + "bio_storage", + "bio_recycler", + "bio_digestion", + "bio_tools", + "bio_shock", + "bio_heat_absorb", + "bio_carbon", + "bio_armor_head", + "bio_armor_torso", + "bio_armor_arms", + "bio_armor_legs", + "bio_flashlight", + "bio_night_vision", + "bio_infrared", + "bio_face_mask", + "bio_ads", + "bio_ods", + "bio_scent_mask", + "bio_scent_vision", + "bio_cloak", + "bio_painkiller", + "bio_nanobots", + "bio_heatsink", + "bio_resonator", + "bio_time_freeze", + "bio_teleport", + "bio_blood_anal", + "bio_blood_filter", + "bio_alarm", + "bio_evap", + "bio_lighter", + "bio_claws", + "bio_blaster", + "bio_laser", + "bio_emp", + "bio_hydraulics", + "bio_water_extractor", + "bio_magnet", + "bio_fingerhack", + "bio_lockpick", + "bio_ground_sonar", + "bio_power_armor_interface", + "bio_power_armor_interface_mkII", + "bio_flashbang", + "bio_railgun", + "bio_probability_travel", + "bio_shockwave", + "bio_chain_lightning", + "bio_night", + "bio_uncanny_dodge", + "bio_dis_shock", + "bio_dis_acid", + "bio_drain", + "bio_noise", + "bio_power_weakness", + "bio_sunglasses", + "bio_speed", + "bio_watch", + "bio_faraday", + "bio_armor_eyes", + "bio_leukocyte", + "bio_geiger", + "bio_radscrubber", + "bio_adrenaline", + "bio_razors", + "bio_blade", + "bio_itchy", + "bio_nostril", + "bio_thumbs", + "bio_spasm", + "bio_shakes", + "bio_leaky", + "bio_sleepy", + "bio_deformity", + "bio_voice", + "bio_pokedeye", + "bio_ankles", + "bio_trip", + "bio_cqb", + "bio_meteorologist", + "bio_ups", + "bio_remote", + "bio_advreactor", + "bio_plut_filter", + "bio_reactor", + "bio_reactor_upgrade", + "bio_stiff", + "bio_eye_optic", + "bio_chest_gun", + "bio_emp_armgun", + "bio_surgical_razor", + "bio_cable" + ], + "fg": 1211, + "rotates": false + }, + { "id": [ "control_chip", "burnt_out_bionic" ], "fg": 1212, "rotates": false }, + { + "id": [ "120mm_usable_heat", "120mm_usable_shot", "120mm_usable_slug", "120mm_usable_ap" ], + "fg": 1213, + "rotates": false + }, + { "id": "12mm", "fg": 1214, "rotates": false }, + { + "id": [ + "22_fmj", + "22_cb", + "22_ratshot", + "9mm", + "9mmP", + "9mmP2", + "9mmfmj", + "762_25", + "762_25hot", + "762_25typeP", + "reloaded_762_25", + "38_special", + "38_super", + "38_fmj", + "10mm", + "40sw", + "40fmj", + "44magnum", + "44fmj", + "45_acp", + "45_jhp", + "45_super", + "454_Casull", + "500_Magnum", + "57mm", + "46mm", + "762_m43", + "762_m87", + "223", + "556", + "556_incendiary", + "270", + "3006", + "3006fmj", + "3006_incendiary", + "308", + "762_51", + "762_51_incendiary", + "700nx", + "32_acp", + "300_winmag", + "762_54R", + "reloaded_9mm", + "reloaded_9mmP", + "reloaded_9mmP2", + "reloaded_9mmfmj", + "reloaded_38_special", + "reloaded_38_super", + "reloaded_38_fmj", + "reloaded_10mm", + "reloaded_40sw", + "reloaded_40fmj", + "reloaded_44magnum", + "reloaded_44fmj", + "reloaded_45_acp", + "reloaded_45_jhp", + "reloaded_45_super", + "reloaded_454_Casull", + "reloaded_500_Magnum", + "reloaded_57mm", + "reloaded_46mm", + "reloaded_762_m43", + "reloaded_762_m87", + "reloaded_223", + "reloaded_556", + "reloaded_556_incendiary", + "reloaded_270", + "reloaded_3006", + "reloaded_3006_incendiary", + "reloaded_308", + "reloaded_762_51", + "reloaded_762_51_incendiary", + "reloaded_50bmg", + "reloaded_50ss", + "reloaded_50_incendiary", + "reloaded_300_winmag", + "reloaded_32_acp", + "reloaded_700nx", + "reloaded_762_54R", + "reloaded_22_cb", + "reloaded_22_fmj", + "reloaded_22_lr", + "reloaded_22_ratshot", + "545", + "545_ap", + "9x18mm", + "9x18mmfmj", + "9x18mmP2", + "reloaded_545", + "reloaded_545_ap", + "reloaded_9x18mm", + "reloaded_9x18mmfmj", + "reloaded_9x18mmP2", + "reloaded_3006fmj", + "50bmg", + "50ss", + "50_incendiary", + "357sig_fmj", + "357sig_jhp", + "reloaded_357sig_fmj", + "reloaded_357sig_jhp", + "357", + "357_P", + "45_long_colt", + "reloaded_357", + "reloaded_357_P", + "reloaded_45_long_colt", + "22_lr" + ], + "fg": 1215, + "rotates": false + }, + { "id": [ "30mm_hei", "30mm_slug", "30mm_hedp" ], "fg": 1216, "rotates": false }, + { + "id": [ + "40mm_frag", + "40mm_incendiary", + "40mm_teargas", + "40mm_smoke", + "40mm_flare", + "40mm_flashbang", + "40mm_shot", + "40mm_flechette", + "reloaded_40mm_flechette", + "66mm_HEAT", + "120mm_HEAT", + "40mm_beanbag", + "84x246mm_he", + "84x246mm_hedp", + "84x246mm_smoke", + "m235tpa", + "40mm_concussive" + ], + "fg": 1217, + "rotates": false + }, + { "id": [ "reloaded_5x50dart", "5x50heavy", "5x50dart" ], "fg": 1218, "rotates": false }, + { + "id": [ + "shot_bird", + "shot_00", + "shot_slug", + "shot_he", + "shot_flechette", + "reloaded_shot_bird", + "reloaded_shot_00", + "reloaded_shot_slug", + "reloaded_shot_flechette", + "blun_flechette", + "blun_shot", + "blun_slug", + "reloaded_shot_beanbag", + "shot_scrap", + "shot_scrapbag", + "shot_beanbag", + "generic_no_ammo", + "signal_flare", + "410_birdshot", + "410_scrap", + "410_shot", + "410_slug", + "reloaded_410_birdshot", + "reloaded_410_shot", + "reloaded_410_slug", + "shot_410", + "shot_410_flechette", + "shot_410_flechette_reloaded", + "shot_410_hull", + "shot_410_inc", + "shot_410_inc_reloaded", + "shot_410_reloaded", + "shot_410_slug", + "shot_410_slug_reloaded" + ], + "fg": 1219, + "rotates": false + }, + { + "id": [ + "8mm_bootleg", + "8mm_fmj", + "8mm_jhp", + "8mm_inc", + "8mm_hvp", + "8mm_civilian", + "20x66_shot", + "20x66_flechette", + "20x66_slug", + "20x66_exp", + "20x66_frag", + "20x66_flare", + "20x66_inc", + "20x66_beanbag", + "20x66_bootleg_shot", + "20x66_bootleg_flechette", + "20x66_bootleg_slug", + "8mm_caseless" + ], + "fg": 1220, + "rotates": false + }, + { + "id": [ + "9mm_casing", + "22_casing", + "38_casing", + "40_casing", + "44_casing", + "45_casing", + "454_casing", + "500_casing", + "57mm_casing", + "46mm_casing", + "762_casing", + "223_casing", + "3006_casing", + "308_casing", + "40mm_casing", + "700nx_casing", + "300_casing", + "762R_casing", + "762_25_casing", + "32_casing", + "9x18mm_casing", + "545_casing", + "22_casing_new" + ], + "fg": 1221 + }, + { "id": [ "50_casing", "357sig_casing", "357_mag_casing", "45lc_casing" ], "fg": 1221, "rotates": false }, + { "id": "acidbomb_large", "fg": 1222, "rotates": false }, + { "id": "acidbomb_micro", "fg": 1223, "rotates": false }, + { "id": "acidbomb_small", "fg": 1224, "rotates": false }, + { "id": [ "stimpack_ammo", "ampoule" ], "fg": 1225, "rotates": false }, + { "id": [ "battery", "laser_capacitor" ], "fg": 1226, "rotates": false }, + { + "id": [ "laser_pack", "reloaded_laser_pack", "rechargeable_battery", "rechargeable_battery" ], + "fg": 1227, + "rotates": false + }, + { + "id": [ "plasma", "charge_shot", "rebreather_filter", "gasfilter_s", "gasfilter_m", "gasfilter_l" ], + "fg": 1228, + "rotates": false + }, + { "id": "plut_cell", "fg": 1229, "rotates": false }, + { "id": "battery_atomic", "fg": 1230, "rotates": false }, + { + "id": [ "155mm_frag", "155mm_heat", "155mm_shot", "155mm_slug", "atgm_heat" ], + "fg": 1231, + "rotates": false + }, + { "id": "bfg_shell", "fg": 1232, "rotates": false }, + { + "id": [ "bolt_wood", "arrow_fire_hardened_fletched", "arrow_heavy_fire_hardened_fletched" ], + "fg": 1233, + "rotates": false + }, + { "id": "arrow_plastic", "fg": 1234, "rotates": false }, + { + "id": [ + "bolt_metal", + "bolt_steel", + "bolt_steel_target", + "bolt_steel_bodkin", + "bolt_explosive", + "arrow_metal", + "arrow_metal_bodkin", + "arrow_metal_sharpened_fletched", + "arrow_metal_target", + "arrow_exploding", + "arrow_flamming" + ], + "fg": 1235, + "rotates": false + }, + { "id": "arrow_cf", "fg": 1236, "rotates": false }, + { "id": "bolt_bone", "fg": 1237, "rotates": false }, + { "id": "arrow_small_game_fletched", "fg": 1238, "rotates": false }, + { + "id": [ "arrow_wood_heavy", "arrow_field_point_fletched", "arrow_heavy_field_point_fletched", "flamable_arrow", "arrow_wood" ], + "fg": 1239, + "rotates": false + }, + { "id": [ "dart", "lawn_dart" ], "fg": 1240, "rotates": false }, + { "id": [ "bomblet_archdemon", "bomblet_explosive" ], "fg": 1241, "rotates": false }, + { "id": [ "bomblet_archvile", "bomblet_fire", "bomblet_vile" ], "fg": 1242, "rotates": false }, + { "id": "bomblet_casing", "fg": 1243, "rotates": false }, + { "id": "bomblet_chickenbot", "fg": 1244, "rotates": false }, + { "id": "bomblet_frag", "fg": 1245, "rotates": false }, + { "id": "bomblet_stun", "fg": 1246, "rotates": false }, + { "id": "bomblet_acid", "fg": 1247, "rotates": false }, + { "id": "cable", "fg": 1248, "rotates": false }, + { "id": "chain_link", "fg": 1249, "rotates": false }, + { "id": [ "chime_scrap_act", "chime_scrap" ], "fg": 1250, "rotates": false }, + { "id": [ "scrap_bronze", "scrap_copper", "copper" ], "fg": 1251, "rotates": false }, + { "id": "gold_small", "fg": 1252, "rotates": false }, + { + "id": [ "lead", "silver_small", "platinum_small", "bismuth", "tin", "scrap" ], + "fg": 1253, + "rotates": false + }, + { "id": [ "electric_primer_large", "electric_primer" ], "fg": 1254, "rotates": false }, + { "id": [ "spiked_rocket", "explosive_hm_rocket" ], "fg": 1255, "rotates": false }, + { "id": [ "incendiary_hm_rocket", "cyber_rocket" ], "fg": 1256, "rotates": false }, + { "id": "RPG-7_ammo", "fg": 1257, "rotates": false }, + { "id": [ "down_feather", "feather" ], "fg": 1258, "rotates": false }, + { "id": [ "throwing_knife", "survival_marker", "fighter_sting_juice" ], "fg": 1259, "rotates": false }, + { "id": "bee_sting", "fg": 1260, "rotates": false }, + { "id": "fighter_sting", "fg": 1261, "rotates": false }, + { "id": "wasp_sting", "fg": 1262, "rotates": false }, + { "id": "flaming_skull", "fg": 1263, "rotates": false }, + { "id": "bfg_shell_act", "fg": 1264, "rotates": false }, + { "id": "flaming_ball", "fg": 1265, "rotates": false }, + { "id": "fletching", "fg": 1266, "rotates": false }, + { "id": [ "36navy", "44army", "flintlock_shot", "flintlock_ammo" ], "fg": 1267, "rotates": false }, + { "id": [ "hell_laser_queen", "hell_laser" ], "fg": 1268, "rotates": true }, + { "id": "hell_napalm", "fg": 1269, "rotates": false }, + { "id": [ "hell_plasma_c", "hell_plasma_k", "hell_plasma_b" ], "fg": 1270, "rotates": false }, + { "id": [ "lance_charge_shot", "lance_charge" ], "fg": 1271, "rotates": false }, + { "id": "material_niter", "fg": 1272, "rotates": false }, + { "id": [ "mininuke", "mininuke_mod" ], "fg": 1273, "rotates": false }, + { "id": [ "chem_hexamine", "money" ], "fg": 1274, "rotates": false }, + { "id": [ "c_fishspear", "qiang", "m_fishspear" ], "fg": 1275, "rotates": false }, + { "id": [ "javelin", "javelin_copper", "javelin", "spear_wood" ], "fg": 1276, "rotates": false }, + { "id": [ "combatnail", "nail" ], "fg": 1277, "rotates": false }, + { "id": "nicotine_liquid", "fg": 1278, "rotates": false }, + { "id": [ "marble", "bearing", "bb", "bearing_lead", "pebble_clay", "pebble" ], "fg": 1279, "rotates": false }, + { + "id": [ "shotgun_primer", "smpistol_primer", "lgpistol_primer", "smrifle_primer", "lgrifle_primer" ], + "fg": 1280, + "rotates": false + }, + { "id": "sinew", "fg": 1281, "rotates": false }, + { "id": [ "thread", "yarn" ], "fg": 1282, "rotates": false }, + { "id": "plant_fibre", "fg": 1283, "rotates": false }, + { "id": [ "steel_rail", "rebar_rail" ], "fg": 1284, "rotates": false }, + { + "id": [ "blowgun", "skewer", "knitting_needles", "pointy_stick", "pool_cue", "digging_stick" ], + "fg": 1285, + "rotates": false + }, + { "id": [ "baton", "baton-extended" ], "fg": 1286, "rotates": false }, + { "id": "shrapnel", "fg": 1287, "rotates": false }, + { "id": "soap", "fg": 1288, "rotates": false }, + { "id": "solder_wire", "fg": 1289, "rotates": false }, + { "id": "throwing_axe", "fg": 1290, "rotates": false }, + { "id": "throwing_stick", "fg": 1291, "rotates": false }, + { "id": "triffid_sap", "fg": 1292, "rotates": false }, + { "id": "atomic_light", "fg": 1293, "rotates": false }, + { "id": [ "atomic_light_off", "baseball" ], "fg": 1294, "rotates": false }, + { "id": "lens", "fg": 1295, "rotates": false }, + { "id": [ "pool_ball", "bowling_ball", "pool_ball" ], "fg": 1296, "rotates": false }, + { + "id": "vp_atomic_light", + "fg": 1293, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { "id": [ "rock", "rock" ], "fg": 1297, "rotates": false }, + { "id": "solar_cell", "fg": 1298, "rotates": false }, + { "id": "sheet_metal_small", "fg": 1299, "rotates": false }, + { "id": "steel_lump", "fg": 1300, "rotates": false }, + { "id": [ "rag", "chestwrap", "nomex", "neoprene", "tinder" ], "fg": 1301, "rotates": false }, + { "id": [ "chestwrap_wool", "felt_patch" ], "fg": 1302, "rotates": false }, + { "id": "rag_bloody", "fg": 1303, "rotates": false }, + { + "id": [ "javelin_iron", "javelin_stone", "spear_knife", "pike", "javelin_iron", "spear_stone", "fishspear" ], + "fg": 1304, + "rotates": false + }, + { "id": "spear_dory", "fg": 1305, "rotates": false }, + { "id": [ "8x40_100_mag", "8x40_500_mag", "360_200_mag", "hk_g80mag", "5x50_100_mag" ], "fg": 1306 }, + { "id": [ "8x40_50_mag", "20x66_40_mag", "lw223bigmag", "5x50_50_mag" ], "fg": 1307 }, + { + "id": [ + "20x66_10_mag", + "stanag10", + "falmag", + "falbigmag", + "g3mag", + "m14mag", + "m1918bigmag", + "m1918mag", + "saiga10mag", + "8x40_10_mag" + ], + "fg": 1308 + }, + { + "id": [ + "mp5bigmag", + "360_400_mag", + "thompson_drum", + "g3bigmag", + "scarhbigmag", + "glock_drum_100rd", + "glock_drum_50rd", + "ppshdrum", + "saiga30mag_410", + "8x40_250_mag" + ], + "fg": 1309 + }, + { + "id": [ + "20x66_20_mag", + "lw223mag", + "stanag30", + "scarhmag", + "akmmag", + "akmbigmag", + "saiga30mag", + "ppshmag", + "saiga10mag_410", + "8x40_25_mag" + ], + "fg": 1310 + }, + { "id": [ "ak74mag", "rpk74mag" ], "fg": 1311 }, + { "id": "a180mag", "fg": 1312 }, + { "id": "aux_pressurized_tank", "fg": 1313, "rotates": false }, + { "id": [ "belt308", "belt40mm", "belt50", "belt30mm", "belt223" ], "fg": 1314 }, + { "id": [ "calicomag", "fnp90mag" ], "fg": 1315 }, + { "id": "garandclip", "fg": 1316 }, + { + "id": [ + "glockmag", + "glock40mag", + "glock40bigmag", + "lw21mag", + "m9bigmag", + "m9mag", + "usp9mag", + "makarovmag", + "mosquitomag", + "sw22mag", + "ppkmag", + "sigp230mag", + "taurus38mag", + "deaglemag", + "lw12mag", + "m1911bigmag", + "m1911mag", + "usp45mag", + "fn57mag", + "sig40mag", + "tokarevmag", + "glock17_17", + "glock17_22", + "p226mag_15rd_357sig", + "af2011a1mag", + "m1991_38smag", + "glockbigmag" + ], + "fg": 1317 + }, + { "id": "hd_battery", "fg": 1318, "rotates": false }, + { "id": "m107a1mag", "fg": 1319 }, + { "id": [ "ruger1022bigmag", "mp5mag" ], "fg": 1320 }, + { + "id": [ "smg_22_mag", "smg_38_mag", "smg_40_mag", "smg_45_mag", "smg_9mm_mag", "brute_shot_mag", "nailmag" ], + "fg": 1321 + }, + { "id": "pressurized_tank", "fg": 1322, "rotates": false }, + { "id": "rm4502", "fg": 1323, "rotates": false }, + { "id": "rm4504", "fg": 1324, "rotates": false }, + { "id": [ "survivor223mag", "m14smallmag", "blrmag", "m2010mag", "ruger1022mag" ], "fg": 1325 }, + { + "id": [ "battery_motorbike", "battery_car", "medium_storage_battery", "storage_battery", "small_storage_battery" ], + "fg": 1326, + "rotates": false + }, + { + "id": [ + "vp_small_storage_battery", + "vp_medium_storage_battery", + "vp_storage_battery", + "vp_storage_battery_removable", + "vp_battery_motorbike", + "vp_battery_car" + ], + "fg": 1326, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 1183 } ] + }, + { "id": "stanag50", "fg": 1327 }, + { + "id": [ + "stenmag", + "survivor9mm_mag", + "uzimag", + "skorpion82mag", + "skorpion61mag", + "mac10mag", + "tdi_mag", + "thompson_bigmag", + "thompson_mag", + "ump45mag", + "hk46mag", + "hk46bigmag", + "tec9mag" + ], + "fg": 1328 + }, + { "id": "tinyweldtank", "fg": 1329 }, + { "id": "weldtank", "fg": 1330 }, + { "id": [ "laser_cannon", "cerberus_laser", "unbio_blaster_gun" ], "fg": 1331, "rotates": false }, + { + "id": [ "flamethrower_simple", "flamethrower", "rm451_flamethrower", "hell_laser_napalm" ], + "fg": 1332, + "rotates": false + }, + { + "id": [ "m249", "30mm_autocannon", "rm614_lmg", "rm20", "rm298", "m240", "m60", "mgl" ], + "fg": 1333, + "rotates": false + }, + { "id": "fire_lance", "fg": 1334, "rotates": false }, + { + "id": [ + "fn_p90", + "rm802", + "bigun", + "heavy_rail_rifle", + "rm360_carbine", + "m134", + "tihar", + "helsing", + "watercannon", + "bomblet_launcher_double", + "bomblet_launcher_dualshot", + "bomblet_launcher_rotary", + "bomblet_launcher_single", + "bomblet_launcher_chickenbot" + ], + "fg": 1335, + "rotates": false + }, + { "id": "airspeargun", "fg": 1336, "rotates": false }, + { "id": [ "fn_fal", "ak74", "an94", "ak47" ], "fg": 1337, "rotates": false }, + { + "id": [ + "hk_g3", + "hk_g36", + "arx160", + "acr", + "ar15", + "m4a1", + "scar_l", + "scar_h", + "m107a1", + "h&k416a5", + "m27iar", + "rm51_assault_rifle" + ], + "fg": 1338, + "rotates": false + }, + { + "id": [ "tommygun", "ppsh", "smg_22", "smg_38", "smg_40", "smg_45", "smg_9mm", "american_180" ], + "fg": 1339, + "rotates": false + }, + { + "id": [ + "sig552", + "needlegun", + "uzi", + "tec9", + "calico", + "hk_mp5", + "mac_10", + "hk_ump45", + "sten", + "skorpion_61", + "skorpion_82", + "hk_mp7", + "rm2000_smg", + "paintballgun" + ], + "fg": 1340, + "rotates": false + }, + { "id": "atlatl", "fg": 1341, "rotates": false }, + { + "id": [ + "speargun", + "carbine_flintlock_double", + "rifle_flintlock", + "carbine_flintlock", + "rifle_308", + "surv_carbine_223", + "garand", + "m1903", + "rifle_22", + "marlin_9a", + "ruger_1022", + "survivor_special_700", + "rifle_3006", + "browning_blr", + "remington_700", + "sks", + "m1a", + "ruger_mini", + "savage_111f", + "win70", + "weatherby_5", + "mosin91_30", + "mosin44", + "l_long_45", + "bh_m89", + "henry_big_boy", + "colt_lightning", + "levergun_44", + "rifle_223", + "rifle_38", + "rifle_40", + "rifle_44", + "rifle_45", + "bbgun" + ], + "fg": 1342, + "rotates": false + }, + { "id": "nailrifle", "fg": 1343, "rotates": false }, + { + "id": [ + "rifle_9mm", + "m2010", + "m14ebr", + "rm11b_sniper_rifle", + "mosin44_ebr", + "mosin91_30_ebr", + "cx4", + "l_base_223", + "l_car_223", + "l_mbr_223", + "l_dsr_223", + "l_lmg_223", + "ksub2000", + "rm88_battle_rifle" + ], + "fg": 1344, + "rotates": false + }, + { "id": "BFG", "fg": 1345, "rotates": false }, + { "id": "bomblet_launcher_brute", "fg": 1346, "rotates": false }, + { "id": "chemical_thrower", "fg": 1347, "rotates": false }, + { "id": [ "compgreatbow", "compbow" ], "fg": 1348, "rotates": false }, + { "id": "ichaival_replica", "fg": 1349, "rotates": false }, + { "id": "compositebow", "fg": 1350, "rotates": false }, + { "id": [ "shockcannon", "shockcannon_plut", "shockcannon_ups", "emp_gun" ], "fg": 1351, "rotates": false }, + { + "id": [ + "revolver_shotgun", + "remington_870", + "mossberg_500", + "rm120c", + "m2browning", + "mark19", + "l_def_12", + "m1014", + "m2browning_sawn", + "abzats", + "ksg", + "shotgun_410" + ], + "fg": 1352, + "rotates": false + }, + { + "id": [ + "shotgun_s", + "pipe_shotgun", + "shotgun_d", + "pipe_double_shotgun", + "rebar_rifle", + "doublespeargun", + "blunderbuss", + "combination_gun", + "pipe_combination_gun", + "surv_levershotgun", + "410_pipe_shotgun", + "m6_asw" + ], + "fg": 1353, + "rotates": false + }, + { "id": "trex_gun", "fg": 1354, "rotates": false }, + { "id": "flamethrower_crude", "fg": 1355, "rotates": false }, + { "id": "minispeargun", "fg": 1356, "rotates": false }, + { + "id": [ "moss_brownie", "pistol_flintlock", "2_shot_special", "lemat_revolver", "colt_saa", "410_revolver" ], + "fg": 1357, + "rotates": false + }, + { + "id": [ + "cop_38", + "sig_mosquito", + "sw_22", + "glock_17", + "glock_19", + "glock_22", + "usp_9mm", + "sw_619", + "taurus_38", + "sig_40", + "sw_610", + "sw_500", + "raging_bull", + "ruger_redhawk", + "deagle_44", + "usp_45", + "m1911", + "fn57", + "hk_ucp", + "tokarev", + "walther_ppk", + "sig_p230", + "l_enforcer_45", + "l_sp_9mm", + "l_mp_9mm", + "l_sp_45", + "l_mp_45", + "l_bak_223", + "l_lookout_9mm", + "surv_hand_cannon", + "surv_six_shooter", + "sw629", + "colt_navy", + "rm99_pistol", + "rm103a_pistol", + "colt_army", + "m9", + "makarov", + "ruger_lcr_22", + "ruger_lcr_38", + "ashot", + "needlepistol", + "p226_357sig", + "af2011a1_38super", + "bond_410", + "m1991a1_38super", + "raging_judge" + ], + "fg": 1358, + "rotates": false + }, + { "id": "nailgun", "fg": 1359, "rotates": false }, + { "id": [ "v29", "v29_cheap" ], "fg": 1360, "rotates": false }, + { "id": [ "rx12_injector", "rx11_stimpack" ], "fg": 1361, "rotates": false }, + { "id": "wearable_rx12", "fg": 1362, "rotates": false }, + { "id": "flaregun", "fg": 1363, "rotates": false }, + { + "id": [ + "nx17", + "hk_g80", + "plasma_rifle", + "laser_rifle", + "hell_laser_gun", + "hell_laser_gun_queen", + "coilgun", + "laser_rifle_cheap", + "ftk93" + ], + "fg": 1364, + "rotates": false + }, + { "id": [ "saiga_12", "m1918", "saiga_410" ], "fg": 1365, "rotates": false }, + { + "id": [ "crossbow", "huge_crossbow", "rep_crossbow", "bullet_crossbow", "crossbow_makeshift", "hand_crossbow" ], + "fg": 1366, + "rotates": false + }, + { "id": [ "m320", "rm228", "triple_launcher_simple", "launcher_simple" ], "fg": 1367, "rotates": false }, + { "id": [ "m202_flash", "hell_launcher", "LAW" ], "fg": 1368, "rotates": false }, + { "id": "m3_carlgustav", "fg": 1369, "rotates": false }, + { "id": "mininuke_launcher", "fg": 1370, "rotates": false }, + { "id": "RPG", "fg": 1371, "rotates": false }, + { "id": "m79", "fg": 1372, "rotates": false }, + { + "id": [ "shortbow", "recurbow", "reflexbow", "longbow", "hybridbow", "reflexrecurvebow", "selfbow" ], + "fg": 1373, + "rotates": false + }, + { "id": [ "ithaca_doom", "ithaca_doom_dual", "410_lever" ], "fg": 1374, "rotates": false }, + { "id": [ "pipe__gun_44", "pipe_shotgunsawn" ], "fg": 1375, "rotates": false }, + { "id": "shotgun_sawn", "fg": 1376, "rotates": false }, + { "id": "sling", "fg": 1377, "rotates": false }, + { "id": "slingshot", "fg": 1378, "rotates": false }, + { "id": "steyr_aug", "fg": 1379, "rotates": false }, + { + "id": [ + "atgm_launcher", + "atgm_turret", + "howitzer_gun", + "tank_gun_auto", + "tank_gun_manual", + "tank_gun_rws", + "surv_rocket_launcher" + ], + "fg": 1380, + "rotates": false + }, + { "id": "TDI", "fg": 1381, "rotates": false }, + { + "id": [ + "retool_45", + "suppressor", + "grip", + "lwfeed", + "barrel_big", + "barrel_small", + "barrel_rifled", + "clip", + "clip2", + "spare_mag", + "brass_catcher", + "stabilizer", + "blowback", + "autofire", + "retool_9mm", + "retool_22", + "retool_57", + "retool_46", + "retool_308", + "retool_223", + "conversion_battle", + "conversion_sniper", + "m203", + "pipe_launcher40mm", + "u_shotgun", + "masterkey", + "gun_crossbow", + "laser_sight", + "improve_sights", + "red_dot_sight", + "holo_sight", + "rifle_scope", + "barrel_ported", + "pistol_grip", + "adjustable_stock", + "pistol_stock", + "crafted_suppressor", + "aux_flamer", + "pistol_bayonet", + "rm121aux", + "rail_laser_sight", + "pistol_scope", + "recoil_stock", + "waterproof_gunmod", + "tuned_mechanism", + "match_trigger", + "bipod", + "m320_mod", + "muzzle_brake", + "shot_suppressor", + "shoulder_strap", + "bow_sight", + "arrowrest", + "bow_stabilizer", + "folding_stock", + "light_grip", + "suppressor_compact", + "beltfeed", + "combination_gun_shotgun", + "combination_gun_shotgun_pipe", + "inter_bayonet", + "ksg_aux_shotgun", + "lemat_revolver_shotgun", + "offset_sights", + "riv_scope", + "riv_suppressor", + "acog_scope", + "autofire_654", + "beam_scatterer", + "electrolaser_conversion", + "high_density_capacitor", + "bomblet_undermod", + "M6_shotgun", + "retool_410", + "makeshift_pistol_bayonet", + "makeshift_sword_bayonet", + "sword_bayonet", + "ugl_buttstock", + "l_car_223_kit", + "l_mbr_223_kit", + "l_dsr_223_kit", + "l_lmg_223_kit", + "mn_classic_kit", + "mn_ebr_kit", + "makeshift_bayonet", + "briefcase_smg" + ], + "fg": 1382, + "rotates": false + }, + { + "id": [ "small_repairkit", "large_repairkit", "misc_repairkit", "weather_reader", "briefcase", "l_HFPack" ], + "fg": 1383, + "rotates": false + }, + { "id": [ "suitcase_l", "radio_car_box" ], "fg": 1384, "rotates": false }, + { "id": "suitcase_m", "fg": 1385, "rotates": false }, + { "id": [ "stethoscope", "wristrocket" ], "fg": 1386, "rotates": false }, + { "id": "hygrometer", "fg": 1387, "rotates": false }, + { "id": [ "barometer", "clock" ], "fg": 1388, "rotates": false }, + { + "id": "vp_vehicle_clock", + "fg": 1388, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { "id": "alarmclock", "fg": 1389, "rotates": false }, + { "id": [ "blade", "metal_smoother" ], "fg": 1390, "rotates": false }, + { "id": [ "bwirebat", "battletorch" ], "fg": 1391, "rotates": false }, + { "id": "coffeemaker", "fg": 1392, "rotates": false }, + { "id": [ "fan", "polisher" ], "fg": 1393, "rotates": false }, + { "id": [ "fishing_hook_basic", "fishing_hook_bone", "needle_curved" ], "fg": 1394, "rotates": false }, + { "id": "copper_ax", "fg": 1395, "rotates": false }, + { "id": [ "hatchet", "ax" ], "fg": 1396, "rotates": false }, + { "id": [ "mace", "paint_brush" ], "fg": 1397, "rotates": false }, + { "id": [ "pilot_light", "crude_firestarter" ], "fg": 1398, "rotates": false }, + { "id": "pocketwatch", "fg": 1399, "rotates": false }, + { + "id": [ "processor", "RAM", "amplifier", "transponder", "receiver", "radio_repeater_mod", "circuit", "radio_mod" ], + "fg": 1400, + "rotates": false + }, + { "id": [ "l-stick", "skewer_bone" ], "fg": 1401, "rotates": false }, + { "id": "l-stick_on", "fg": 1402, "rotates": false }, + { "id": "q_staff", "fg": 1403, "rotates": false }, + { "id": [ "rebar", "spear_rebar", "spear_steel", "spear_pipe", "flute" ], "fg": 1404, "rotates": false }, + { "id": "nailboard", "fg": 1405, "rotates": false }, + { "id": [ "jian_inferior", "sword_forged", "jian_fake", "jian" ], "fg": 1406, "rotates": false }, + { "id": [ "wood_smoother", "tonfa_wood" ], "fg": 1407, "rotates": false }, + { "id": "shocktonfa_on", "fg": 1408, "rotates": false }, + { "id": [ "tonfa", "PR24-retracted", "PR24-extended", "shocktonfa_off" ], "fg": 1409, "rotates": false }, + { "id": "golf_bag", "fg": 1410, "rotates": false }, + { "id": "LAW_Packed", "fg": 1411, "rotates": false }, + { "id": [ "multi_cooker", "mon_hallu_multicooker", "safe_box" ], "fg": 1412, "rotates": false }, + { "id": [ "UPS_off", "UPS_off" ], "fg": 1413, "rotates": false }, + { "id": [ "adv_UPS_off", "adv_UPS_off" ], "fg": 1414, "rotates": false }, + { "id": "airhorn", "fg": 1415, "rotates": false }, + { "id": "aperture_potato", "fg": 1416, "rotates": false }, + { "id": [ "ukulele", "violin", "acoustic_guitar", "banjo" ], "fg": 1417, "rotates": false }, + { "id": "violin_golden", "fg": 1418, "rotates": false }, + { "id": [ "battleaxe_inferior", "battleaxe_fake", "battleaxe" ], "fg": 1419, "rotates": false }, + { "id": "battletorch_lit", "fg": 1420, "rotates": false }, + { "id": "black_box", "fg": 1421, "rotates": false }, + { "id": "minion_dormant", "fg": 1422, "rotates": false }, + { "id": "blob_dormant", "fg": 1423, "rotates": false }, + { "id": "boltcutters", "fg": 1424, "rotates": false }, + { "id": [ "bomblet_vile_act", "bomblet_archvile_act" ], "fg": 1425, "rotates": false }, + { "id": "bomblet_chickenbot_act", "fg": 1426, "rotates": false }, + { "id": "bomblet_stun_act", "fg": 1427, "rotates": false }, + { "id": "bone_flute", "fg": 1428, "rotates": false }, + { "id": [ "zweifire_off", "broadfire_off" ], "fg": 1429, "rotates": false }, + { "id": "sword_crude", "fg": 1430, "rotates": false }, + { "id": [ "zweifire_on", "broadfire_on" ], "fg": 1431, "rotates": false }, + { + "id": [ + "broadsword_inferior", + "zweihander", + "zweihander_inferior", + "arming_sword", + "arming_sword_inferior", + "longsword", + "longsword_inferior", + "broadsword_fake", + "zweihander_fake", + "arming_sword_fake", + "longsword_fake", + "broadsword" + ], + "fg": 1432, + "rotates": false + }, + { "id": "sword_wood", "fg": 1433, "rotates": false }, + { "id": "c4", "fg": 1434, "rotates": false }, + { "id": "c4armed", "fg": 1435, "rotates": false }, + { "id": "camera", "fg": 1436, "rotates": false }, + { "id": "camera_pro", "fg": 1437, "rotates": false }, + { "id": [ "candle_smoke", "candle" ], "fg": 1438, "rotates": false }, + { "id": [ "candle_smoke_lit", "candle_lit" ], "fg": 1439, "rotates": false }, + { "id": [ "carver_on", "carver_off" ], "fg": 1440, "rotates": false }, + { "id": [ "gasdiscount_gold", "cash_card" ], "fg": 1441, "rotates": false }, + { "id": [ "gasdiscount_silver", "gasdiscount_platinum" ], "fg": 1442, "rotates": false }, + { "id": "id_military", "fg": 1443, "rotates": false }, + { "id": "id_science", "fg": 1444, "rotates": false }, + { "id": "cattlefodder", "fg": 1445, "rotates": false }, + { "id": "cell_phone", "fg": 1446, "rotates": false }, + { "id": "cell_phone_flashlight", "fg": 1447, "rotates": false }, + { + "id": [ "chainsaw_on", "elec_chainsaw_off", "elec_chainsaw_on", "chainsaw_off" ], + "fg": 1448, + "rotates": false + }, + { "id": [ "combatsaw_off", "combatsaw_on" ], "fg": 1449, "rotates": false }, + { "id": "char_purifier", "fg": 1450, "rotates": false }, + { "id": [ "chemistry_set_basic", "chemistry_set" ], "fg": 1451, "rotates": false }, + { "id": [ "chipper", "chisel" ], "fg": 1452, "rotates": false }, + { "id": "screwdriver", "fg": 1453, "rotates": false }, + { "id": "screwdriver_set", "fg": 1454, "rotates": false }, + { "id": "soldering_iron", "fg": 1455, "rotates": false }, + { "id": [ "circsaw_on", "circsaw_off" ], "fg": 1456, "rotates": false }, + { "id": "clarinet", "fg": 1457, "rotates": false }, + { "id": "laptop", "fg": 1458, "rotates": false }, + { "id": "control_laptop", "fg": 1459, "rotates": false }, + { "id": "con_mix", "fg": 1460, "rotates": false }, + { "id": "cordless_drill", "fg": 1461, "rotates": false }, + { "id": "cow_bell", "fg": 1462, "rotates": false }, + { "id": "crackpipe", "fg": 1463, "rotates": false }, + { "id": [ "makeshift_crowbar", "halligan", "crowbar" ], "fg": 1464, "rotates": false }, + { "id": "crucible", "fg": 1465, "rotates": false }, + { "id": "picklocks", "fg": 1466, "rotates": false }, + { "id": "crude_picklock", "fg": 1467, "rotates": false }, + { "id": [ "cs_lajatang_on", "cs_lajatang_off" ], "fg": 1468, "rotates": false }, + { "id": "dao", "fg": 1469, "rotates": false }, + { "id": "dehydrator", "fg": 1470, "rotates": false }, + { "id": [ "whistle", "dog_whistle" ], "fg": 1471, "rotates": false }, + { "id": "dusksword", "fg": 1472, "rotates": false }, + { "id": "dynamite", "fg": 1473, "rotates": false }, + { "id": "dynamite_act", "fg": 1474, "rotates": false }, + { "id": "eink_tablet_pc", "fg": 1475, "rotates": false }, + { "id": "electrohack", "fg": 1476, "rotates": false }, + { "id": "elec_hairtrimmer", "fg": 1477, "rotates": false }, + { "id": "etched_skull", "fg": 1478, "rotates": false }, + { "id": [ "sm_extinguisher", "extinguisher" ], "fg": 1479, "rotates": false }, + { "id": "throw_extinguisher", "fg": 1480, "rotates": false }, + { "id": [ "tool_black_powder_charge", "fertilizer_bomb" ], "fg": 1481, "rotates": false }, + { "id": [ "tool_black_powder_charge_act", "fertilizer_bomb_act" ], "fg": 1482, "rotates": false }, + { "id": "firecracker", "fg": 1483, "rotates": false }, + { "id": "firecracker_act", "fg": 1484, "rotates": false }, + { "id": "firecracker_pack", "fg": 1485, "rotates": false }, + { "id": "firecracker_pack_act", "fg": 1486, "rotates": false }, + { "id": "firekatana_off", "fg": 1487, "rotates": false }, + { "id": "firekatana_on", "fg": 1488, "rotates": false }, + { "id": [ "shishkebab_off", "firemachete_off" ], "fg": 1489, "rotates": false }, + { "id": [ "shishkebab_on", "firemachete_on" ], "fg": 1490, "rotates": false }, + { "id": "fire_ax", "fg": 1491, "rotates": false }, + { "id": [ "fire_drill_large", "fire_drill" ], "fg": 1492, "rotates": false }, + { "id": "fishing_rod_professional", "fg": 1493, "rotates": false }, + { "id": "fishing_rod_basic", "fg": 1494, "rotates": false }, + { "id": [ "heavy_flashlight", "reading_light", "flashlight" ], "fg": 1495, "rotates": false }, + { "id": [ "heavy_flashlight_on", "reading_light_on", "flashlight_on" ], "fg": 1496, "rotates": false }, + { "id": "flint_steel", "fg": 1497, "rotates": false }, + { + "id": [ + "v_planter_item", + "v_planter_item_advanced", + "v_plow_item", + "v_reaper_item", + "v_reaper_item_advanced", + "v_scoop_item", + "folding_bicycle" + ], + "fg": 1498, + "rotates": false + }, + { "id": "food_processor", "fg": 1499, "rotates": false }, + { "id": "char_smoker", "fg": 1500, "rotates": false }, + { "id": "forge", "fg": 1501, "rotates": false }, + { "id": "tr_metal_funnel", "fg": 1502, "rotates": false }, + { "id": "tr_funnel", "fg": 1503, "rotates": false }, + { "id": "tr_makeshift_funnel", "fg": 1504, "rotates": false }, + { "id": [ "tr_raincatcher", "t_raincatcher" ], "fg": 1505, "rotates": false }, + { "id": "tr_leather_funnel", "fg": 1506, "rotates": false }, + { + "id": "vp_funnel", + "fg": 1503, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_makeshift_funnel", + "fg": 1504, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_leather_funnel", + "fg": 1506, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_metal_funnel", + "fg": 1502, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { "id": "leather_funnel", "fg": 1507, "rotates": false }, + { "id": "makeshift_funnel", "fg": 1508, "rotates": false }, + { "id": "metal_funnel", "fg": 1509, "rotates": false }, + { "id": "funnel", "fg": 1510, "rotates": false }, + { "id": "teleporter", "fg": 1511, "rotates": false }, + { "id": "geiger_off", "fg": 1512, "rotates": false }, + { "id": "geiger_on", "fg": 1513, "rotates": false }, + { "id": "glowstick_dead", "fg": 1514, "rotates": false }, + { "id": "glowstick_lit", "fg": 1515, "rotates": false }, + { "id": "glowstick", "fg": 1516, "rotates": false }, + { "id": "granade", "fg": 1517, "rotates": false }, + { "id": "granade_act", "fg": 1518, "rotates": false }, + { "id": "grenade", "fg": 1519, "rotates": false }, + { "id": "grenade_act", "fg": 1520, "rotates": false }, + { "id": "saw", "fg": 1521, "rotates": false }, + { "id": "hacksaw", "fg": 1522, "rotates": false }, + { "id": "hammer", "fg": 1523, "rotates": false }, + { "id": "handflare", "fg": 1524, "rotates": false }, + { "id": "handflare_act", "fg": 1525, "rotates": false }, + { "id": "handflare_lit", "fg": 1526, "rotates": false }, + { "id": "hand_drill", "fg": 1527, "rotates": false }, + { "id": "hand_pump", "fg": 1528, "rotates": false }, + { "id": "heatpack_used", "fg": 1529, "rotates": false }, + { + "id": "vp_vehicle_scoop", + "fg": 1529, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_plow", + "fg": 1530, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 1531 } ] + }, + { "id": "heatpack", "fg": 1532, "rotates": false }, + { "id": [ "hobo_stove", "esbit_stove" ], "fg": 1533, "rotates": false }, + { "id": "hoe", "fg": 1535, "rotates": false }, + { "id": [ "horn_car", "horn_big", "beeper", "chimes", "horn_bicycle" ], "fg": 1536, "rotates": false }, + { "id": [ "gasoline_cooker", "oil_cooker", "hotplate" ], "fg": 1537, "rotates": false }, + { "id": "inflatable_boat", "fg": 1538, "rotates": false }, + { "id": [ "jack_makeshift", "jack_small", "jack" ], "fg": 1539, "rotates": false }, + { "id": [ "elec_jackhammer", "jackhammer" ], "fg": 1540, "rotates": false }, + { "id": [ "jumper_cable_heavy", "jumper_cable" ], "fg": 1541, "rotates": false }, + { + "id": [ + "katana_inferior", + "tanto", + "wakizashi", + "wakizashi_inferior", + "kukri", + "cutlass", + "cutlass_inferior", + "nodachi", + "scimitar", + "scimitar_inferior", + "cavalry_sabre", + "katana_fake", + "wakizashi_fake", + "cutlass_fake", + "nodachi_fake", + "scimitar_fake", + "cavalry_sabre_fake", + "katana" + ], + "fg": 1542, + "rotates": false + }, + { "id": "bokken", "fg": 1543, "rotates": false }, + { "id": "kevlar_harness", "fg": 1544, "rotates": false }, + { "id": "ceramic_armor", "fg": 1545, "rotates": false }, + { "id": "kevlar_plate", "fg": 1546, "rotates": false }, + { "id": "khopesh", "fg": 1547, "rotates": false }, + { "id": [ "multitool", "knife_swissarmy" ], "fg": 1548, "rotates": false }, + { "id": "pockknife", "fg": 1549, "rotates": false }, + { "id": "laevateinn_replica", "fg": 1550, "rotates": false }, + { "id": "lighter", "fg": 1551, "rotates": false }, + { "id": "lightstrip", "fg": 1552, "rotates": false }, + { "id": "lightstrip_inactive", "fg": 1553, "rotates": false }, + { "id": "link_sheet", "fg": 1554, "rotates": false }, + { "id": "lobotomizer", "fg": 1555, "rotates": false }, + { "id": [ "survivor_machete", "machete" ], "fg": 1556, "rotates": false }, + { "id": [ "pan", "waffleiron" ], "fg": 1557, "rotates": false }, + { "id": "magnifying_glass", "fg": 1558, "rotates": false }, + { "id": "makeshift_axe", "fg": 1559, "rotates": false }, + { "id": "makeshift_machete", "fg": 1560, "rotates": false }, + { "id": "matchbomb", "fg": 1561, "rotates": false }, + { "id": "matchbomb_act", "fg": 1562, "rotates": false }, + { "id": "matches", "fg": 1563, "rotates": true }, + { "id": "mininuke_act", "fg": 1564, "rotates": false }, + { "id": "mold_plastic", "fg": 1565, "rotates": false }, + { "id": [ "molotov_micro", "molotov" ], "fg": 1566, "rotates": false }, + { "id": [ "molotov_micro_act", "molotov_lit" ], "fg": 1567, "rotates": false }, + { "id": "mop", "fg": 1568, "rotates": false }, + { "id": "mortar_pestle", "fg": 1569, "rotates": false }, + { "id": "mp3", "fg": 1570, "rotates": false }, + { "id": "mp3_on", "fg": 1571, "rotates": false }, + { "id": "needle_wood", "fg": 1572, "rotates": false }, + { "id": "needle_bone", "fg": 1573, "rotates": false }, + { "id": "radio", "fg": 1574, "rotates": false }, + { "id": "noise_emitter", "fg": 1575, "rotates": false }, + { "id": "radio_on", "fg": 1576, "rotates": false }, + { "id": "noise_emitter_on", "fg": 1577, "rotates": false }, + { + "id": [ "smart_lamp", "gasoline_lantern", "electric_lantern", "oxylamp", "atomic_lamp_off", "oil_lamp" ], + "fg": 1578, + "rotates": false + }, + { + "id": [ "smart_lamp_on", "gasoline_lantern_on", "electric_lantern_on", "oxylamp_on", "oil_lamp_on" ], + "fg": 1579, + "rotates": false + }, + { "id": "atomic_lamp", "fg": 1580, "rotates": false }, + { + "id": "vp_atomic_lamp", + "fg": 1580, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": [ "smoxygen_tank", "scuba_tank", "scuba_tank_on", "small_scuba_tank", "small_scuba_tank_on", "oxygen_tank" ], + "fg": 1581, + "rotates": false + }, + { "id": "pet_carrier", "fg": 1582, "rotates": false }, + { "id": "pheromone", "fg": 1583, "rotates": false }, + { "id": [ "iceaxe", "pickaxe" ], "fg": 1584, "rotates": false }, + { "id": [ "tool_rdx_sand_bomb", "pipebomb" ], "fg": 1585, "rotates": false }, + { "id": [ "tool_rdx_sand_bomb_act", "pipebomb_act" ], "fg": 1586, "rotates": false }, + { "id": "pipe_glass", "fg": 1587, "rotates": false }, + { "id": "pipe_tobacco", "fg": 1588, "rotates": false }, + { "id": "plastic_chunk", "fg": 1589, "rotates": false }, + { "id": "pokeball", "fg": 1590, "rotates": false }, + { "id": "portable_game", "fg": 1591, "rotates": false }, + { "id": "portal", "fg": 1592, "rotates": false }, + { "id": "press", "fg": 1593, "rotates": false }, + { "id": [ "primitive_adze", "hand_axe", "primitive_axe" ], "fg": 1594, "rotates": false }, + { "id": [ "makeshift_hammer", "primitive_hammer" ], "fg": 1595, "rotates": false }, + { "id": [ "makeshift_shovel", "primitive_shovel" ], "fg": 1596, "rotates": false }, + { "id": "puller", "fg": 1597, "rotates": false }, + { "id": [ "remotevehcontrol", "radiocontrol" ], "fg": 1598, "rotates": false }, + { "id": "radio_car", "fg": 1599, "rotates": false }, + { "id": "radio_car_on", "fg": 1600, "rotates": false }, + { + "id": [ "rapier_fake", "fencing_foil", "fencing_epee", "fencing_sabre", "estoc", "estoc_fake", "rapier" ], + "fg": 1601, + "rotates": false + }, + { "id": "ref_lighter", "fg": 1602, "rotates": false }, + { "id": "ref_lighter_dare", "fg": 1603, "rotates": false }, + { "id": "ref_lighter_on", "fg": 1604, "rotates": false }, + { "id": "rocket_core", "fg": 1605, "rotates": false }, + { "id": "rocket_core_act", "fg": 1606, "rotates": false }, + { "id": "clay_quern", "fg": 1607, "rotates": false }, + { "id": "rock_quern", "fg": 1608, "rotates": false }, + { "id": "scalpel", "fg": 1609, "rotates": false }, + { "id": "scissors", "fg": 1610, "rotates": false }, + { "id": "scythe", "fg": 1611, "rotates": false }, + { "id": [ "tailors_kit", "sewing_kit" ], "fg": 1612, "rotates": false }, + { "id": [ "shavingkit", "survivor_shavingkit" ], "fg": 1613, "rotates": false }, + { "id": "i_staff", "fg": 1614, "rotates": false }, + { "id": "shock_staff", "fg": 1615, "rotates": false }, + { "id": [ "e_tool", "g_shovel", "e_tool_chinese", "shovel" ], "fg": 1616, "rotates": false }, + { "id": "sickle", "fg": 1617, "rotates": false }, + { "id": "smoke_machine", "fg": 1618, "rotates": false }, + { "id": "smoke_machine_act", "fg": 1619, "rotates": false }, + { "id": "smoke_machine_unpreped", "fg": 1620, "rotates": false }, + { "id": "spess_chunk", "fg": 1621 }, + { "id": "spray_can", "fg": 1622, "rotates": false }, + { "id": "stepladder", "fg": 1623, "rotates": false }, + { "id": "survivor_hairtrimmer", "fg": 1624, "rotates": false }, + { "id": "survivor_scope", "fg": 1625, "rotates": false }, + { "id": "swage", "fg": 1626, "rotates": false }, + { "id": "sword_xiphos", "fg": 1627, "rotates": false }, + { "id": "syringe", "fg": 1628, "rotates": false }, + { "id": [ "creepy_doll", "talking_doll" ], "fg": 1629, "rotates": false }, + { "id": "straw_doll", "fg": 1630, "rotates": false }, + { "id": "teddy", "fg": 1631, "rotates": false }, + { "id": "tazer", "fg": 1632, "rotates": false }, + { "id": "thermometer", "fg": 1633, "rotates": false }, + { "id": "tinderbox", "fg": 1634, "rotates": false }, + { "id": "tinderbox_on", "fg": 1635, "rotates": false }, + { "id": [ "pliers", "tongs" ], "fg": 1636, "rotates": false }, + { "id": "toolbox", "fg": 1637, "rotates": false }, + { "id": [ "tool_rdx_charge", "tool_anfo_charge" ], "fg": 1638, "rotates": false }, + { "id": [ "tool_rdx_charge_act", "tool_anfo_charge_act" ], "fg": 1639, "rotates": false }, + { "id": [ "gasbomb_makeshift", "tool_black_powder_bomb" ], "fg": 1640, "rotates": false }, + { "id": [ "gasbomb_makeshift_act", "tool_black_powder_bomb_act" ], "fg": 1641, "rotates": false }, + { "id": "torch", "fg": 1642, "rotates": false }, + { "id": "torch_lit", "fg": 1643, "rotates": false }, + { "id": "triffid_sap_grenade_act", "fg": 1644, "rotates": false }, + { "id": "triffid_sap_thrown", "fg": 1645, "rotates": false }, + { "id": [ "trimmer_on", "trimmer_off" ], "fg": 1646, "rotates": false }, + { "id": [ "tuba", "trumpet" ], "fg": 1647, "rotates": false }, + { "id": "two_way_radio", "fg": 1648, "rotates": false }, + { + "id": [ "makeshift_sealer", "battery_ups", "magazine_battery_mod", "stereo", "vac_sealer" ], + "fg": 1649, + "rotates": false + }, + { "id": "spiral_stone", "fg": 1650, "rotates": false }, + { "id": "vortex_stone", "fg": 1651, "rotates": false }, + { "id": "washboard", "fg": 1652, "rotates": false }, + { "id": [ "oxy_torch", "welder" ], "fg": 1653, "rotates": false }, + { "id": "welder_crude", "fg": 1654, "rotates": false }, + { "id": "whistle_multitool", "fg": 1655, "rotates": false }, + { + "id": [ "badge_deputy", "badge_marshal", "badge_detective", "badge_cybercop", "badge_swat" ], + "fg": 1656, + "rotates": false + }, + { "id": [ "rad_badge", "wrapped_rad_badge" ], "fg": 1657, "rotates": false }, + { "id": "wrench", "fg": 1658, "rotates": false }, + { "id": "xacto", "fg": 1659, "rotates": false }, + { "id": [ "fish_trap", "water_purifier" ], "fg": 1660, "rotates": false }, + { + "id": "vp_water_purifier", + "fg": 1660, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 1661 } ] + }, + { + "id": "vp_minireactor", + "fg": 1662, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 1183 } ] + }, + { "id": "minireactor", "fg": 1662, "rotates": false }, + { "id": [ "double_plutonium_core", "it_battery_mount", "battery_compartment" ], "fg": 1663, "rotates": false }, + { + "id": [ + "rm13_armor_on", + "armor_lightplate", + "cuirass_lightplate", + "armor_lorica", + "armor_plate", + "entry_suit", + "chainmail_suit", + "motorbike_armor", + "shark_suit", + "shark_suit_faraday", + "chainmail_hauberk", + "rm13_armor" + ], + "fg": 1664, + "rotates": false + }, + { "id": "armor_bone", "fg": 1665, "rotates": false }, + { "id": "armor_chitin", "fg": 1666, "rotates": false }, + { "id": [ "armor_larmor", "armor_blarmor", "touring_suit", "armor_lamellar" ], "fg": 1667, "rotates": false }, + { "id": "bookplate", "fg": 1668, "rotates": false }, + { "id": "football_armor", "fg": 1669, "rotates": false }, + { "id": "swat_armor", "fg": 1670, "rotates": false }, + { + "id": [ "mask_ski_loose", "thermal_mask", "thermal_mask_on", "balclava", "mask_ski" ], + "fg": 1671, + "rotates": false + }, + { "id": "f_leather_tarp", "fg": 1672, "rotates": false }, + { "id": "leather_tarp", "fg": 1673, "rotates": false }, + { "id": [ "emer_blanket", "generic_folded_vehicle" ], "fg": 1674, "rotates": false }, + { "id": "p_carpet", "fg": 1675, "rotates": false }, + { "id": "r_carpet", "fg": 1676, "rotates": false }, + { "id": "y_carpet", "fg": 1677, "rotates": false }, + { "id": "fiber_mat", "fg": 1678, "rotates": false }, + { "id": "g_carpet", "fg": 1679, "rotates": false }, + { "id": "fur_rollmat", "fg": 1680, "rotates": false }, + { "id": "rollmat", "fg": 1681, "rotates": false }, + { "id": "cot", "fg": 1682, "rotates": false }, + { "id": "electric_blanket", "fg": 1683, "rotates": false }, + { "id": "emer_blanket_on", "fg": 1684, "rotates": false }, + { "id": "towel", "fg": 1685, "rotates": false }, + { "id": "towel_soiled", "fg": 1686, "rotates": false }, + { "id": [ "blanket", "down_blanket", "towel_wet" ], "fg": 1687, "rotates": false }, + { "id": "sleeping_bag", "fg": 1688, "rotates": false }, + { "id": "snuggie", "fg": 1689, "rotates": false }, + { "id": [ "fur_blanket", "sleeping_bag_fur" ], "fg": 1690, "rotates": false }, + { "id": "electric_blanket_on", "fg": 1691, "rotates": false }, + { "id": "american_flag", "fg": 1692, "rotates": false }, + { + "id": [ "thermal_socks_on", "cleats", "tabi_dress", "wetsuit_booties", "nomex_socks", "boots_h20survivor", "thermal_socks" ], + "fg": 1693, + "rotates": false + }, + { "id": "clownshoes", "fg": 1694, "rotates": false }, + { "id": [ "socks", "tabi_gi", "socks_bowling", "sockmitts" ], "fg": 1695, "rotates": false }, + { "id": [ "socks_wool", "geta" ], "fg": 1696, "rotates": false }, + { "id": [ "blazer", "jacket_windbreaker" ], "fg": 1697, "rotates": false }, + { "id": [ "coat_rain", "bunker_coat", "folding_poncho_on" ], "fg": 1698, "rotates": false }, + { "id": [ "coat_winter", "jacket_leather_red" ], "fg": 1699, "rotates": false }, + { "id": [ "jacket_jean", "jacket_evac" ], "fg": 1700, "rotates": false }, + { "id": "jacket_leather", "fg": 1701, "rotates": false }, + { "id": [ "jacket_light", "cassock" ], "fg": 1702, "rotates": false }, + { + "id": [ + "keikogi", + "kariginu", + "kimono", + "kittel", + "thawb", + "coat_lab", + "jacket_chef", + "beekeeping_suit", + "fencing_jacket", + "winter_jacket_army" + ], + "fg": 1703, + "rotates": false + }, + { "id": [ "peacoat", "gambeson" ], "fg": 1704, "rotates": false }, + { "id": [ "cowboy_hat", "fedora" ], "fg": 1705, "rotates": false }, + { "id": [ "hairpin", "distaff_spindle" ], "fg": 1706, "rotates": false }, + { "id": "fc_hairpin", "fg": 1707, "rotates": false }, + { "id": [ "powered_earmuffs_on", "hat_noise_cancelling", "powered_earmuffs" ], "fg": 1708, "rotates": false }, + { "id": [ "helmet_riot_raised", "tac_fullhelmet", "helmet_riot" ], "fg": 1709, "rotates": false }, + { "id": [ "helmet_football", "headgear" ], "fg": 1710, "rotates": false }, + { "id": "keffiyeh", "fg": 1711, "rotates": false }, + { "id": [ "mask_filter", "mask_filter" ], "fg": 1712, "rotates": false }, + { + "id": [ + "mask_gas_xl", + "mask_survivor", + "mask_survivorxl", + "mask_hsurvivor", + "mask_lsurvivor", + "mask_bunker", + "mask_bunker_on", + "mask_wsurvivor", + "mask_wsurvivorxl", + "mask_fsurvivor", + "mask_fsurvivorxl", + "mask_h20survivor", + "mask_h20survivor_on", + "mask_h20survivorxl", + "mask_h20survivorxl_on", + "rebreather", + "rebreather_on", + "rebreather_xl", + "rebreather_xl_on", + "mask_gas" + ], + "fg": 1713, + "rotates": false + }, + { "id": [ "q_solarpack_on", "solarpack_on" ], "fg": 1714, "rotates": false }, + { "id": "copper_bracelet", "fg": 1715, "rotates": false }, + { "id": "gold_bracelet", "fg": 1716, "rotates": false }, + { "id": [ "silver_bracelet", "rad_monitor" ], "fg": 1717, "rotates": false }, + { "id": [ "bowhat", "porkpie" ], "fg": 1718, "rotates": false }, + { "id": [ "straw_hat", "hat_sombrero", "straw_fedora" ], "fg": 1719, "rotates": false }, + { "id": "tarp", "fg": 1720, "rotates": false }, + { + "id": [ "vest", "waistcoat", "sleeveless_trenchcoat", "chainmail_vest", "sleeveless_duster", "vest_leather_mod", "cloak" ], + "fg": 1721, + "rotates": false + }, + { "id": "cloak_fur", "fg": 1722, "rotates": false }, + { + "id": [ + "vest_leather", + "sleeveless_trenchcoat_leather", + "sleeveless_trenchcoat_fur", + "sleeveless_trenchcoat_survivor", + "sleeveless_duster_fur", + "sleeveless_duster_leather", + "sleeveless_duster_survivor", + "cloak_leather", + "jedi_cloak" + ], + "fg": 1723, + "rotates": false + }, + { "id": "optical_cloak", "fg": 1724, "rotates": false }, + { "id": "cloak_wool", "fg": 1725, "rotates": false }, + { "id": "holo_cloak", "fg": 1726, "rotates": false }, + { "id": "vest_leather_zuicide_short", "fg": 1727, "rotates": false }, + { "id": "vest_leather_zuicide_short_active", "fg": 1728, "rotates": false }, + { "id": "flotation_vest_ms", "fg": 1729, "rotates": false }, + { "id": "flotation_vest", "fg": 1730, "rotates": false }, + { "id": "tux", "fg": 1731, "rotates": false }, + { + "id": [ "thermal_suit_on", "thermal_outfit", "thermal_outfit_on", "wetsuit", "nomex_suit", "stillsuit", "thermal_suit" ], + "fg": 1732, + "rotates": false + }, + { "id": "armor_samurai", "fg": 1733, "rotates": false }, + { "id": "bondage_suit", "fg": 1734, "rotates": false }, + { "id": [ "clown_suit", "karate_gi", "judo_gi" ], "fg": 1735, "rotates": false }, + { "id": "dinosuit", "fg": 1736, "rotates": false }, + { "id": [ "hazmat_suit", "cleansuit", "subsuit_xl" ], "fg": 1737, "rotates": false }, + { "id": [ "jumpsuit", "jumpsuit_xl" ], "fg": 1738, "rotates": false }, + { "id": [ "union_suit", "wool_suit" ], "fg": 1739, "rotates": false }, + { "id": [ "wetsuit_spring", "halter_top", "tunic_rag" ], "fg": 1740, "rotates": false }, + { + "id": [ + "thermal_gloves_on", + "wetsuit_gloves", + "nomex_gloves", + "gloves_fsurvivor", + "gloves_h20survivor", + "gloves_hsurvivor", + "gloves_plate", + "megaarmor_gloves_1", + "thermal_gloves" + ], + "fg": 1741, + "rotates": false + }, + { "id": [ "fire_gauntlets", "gloves_survivor", "gloves_xlsurvivor" ], "fg": 1742, "rotates": false }, + { "id": [ "gauntlets_bone", "beekeeping_gloves" ], "fg": 1743, "rotates": false }, + { "id": [ "gloves_leather", "gauntlets_larmor", "gloves_work" ], "fg": 1744, "rotates": false }, + { + "id": [ "gloves_liner", "gloves_wraps", "winter_gloves_army", "long_glove_white", "gloves_golf" ], + "fg": 1745, + "rotates": false + }, + { "id": "gloves_lsurvivor", "fg": 1746, "rotates": false }, + { "id": "gloves_medical", "fg": 1747, "rotates": false }, + { "id": "gloves_rubber", "fg": 1748, "rotates": false }, + { "id": [ "gloves_winter", "gloves_wsurvivor" ], "fg": 1749, "rotates": false }, + { "id": "gloves_wool", "fg": 1750, "rotates": false }, + { + "id": [ "gloves_wraps_wool", "gloves_light", "gauntlets_chitin", "gloves_bag" ], + "fg": 1751, + "rotates": false + }, + { "id": [ "mittens", "boxing_gloves" ], "fg": 1752, "rotates": false }, + { "id": [ "survivor_light", "wearable_light" ], "fg": 1753, "rotates": false }, + { "id": [ "wearable_light_on", "survivor_light_on" ], "fg": 1754, "rotates": false }, + { "id": "megaarmor_torso_3_act", "fg": 1755, "rotates": false }, + { "id": "megaarmor_torso_3", "fg": 1756, "rotates": false }, + { "id": "bagpipes", "fg": 1757, "rotates": false }, + { "id": "binoculars", "fg": 1758, "rotates": false }, + { "id": "game_watch", "fg": 1759, "rotates": false }, + { "id": [ "goggles_nv_on", "goggles_ir", "goggles_ir_on", "goggles_nv" ], "fg": 1760, "rotates": false }, + { "id": "harmonica_holder", "fg": 1761, "rotates": false }, + { "id": "miner_hat", "fg": 1762, "rotates": false }, + { "id": "miner_hat_on", "fg": 1763, "rotates": false }, + { "id": "ref_lighter_string", "fg": 1764, "rotates": false }, + { + "id": [ "sac_purse_clean_water_ankle", "sac_purse_clean_water_arm", "sac_purse_clean_water_leg", "sac_purse_clean_water" ], + "fg": 1765, + "rotates": false + }, + { "id": "saxophone", "fg": 1766, "rotates": false }, + { + "id": [ + "scarf_long", + "knit_scarf", + "long_knit_scarf", + "knit_scarf_loose", + "long_knit_scarf_loose", + "long_patchwork_scarf", + "long_patchwork_scarf_loose", + "patchwork_scarf", + "patchwork_scarf_loose", + "scarf_long_loose", + "scarf_loose", + "scarf" + ], + "fg": 1767, + "rotates": false + }, + { + "id": [ "scarf_fur", "scarf_fur_long", "scarf_fur_long_loose", "scarf_fur_loose" ], + "fg": 1768, + "rotates": false + }, + { "id": "10gal_hat", "fg": 1769, "rotates": false }, + { "id": [ "anbc_suit", "aep_suit" ], "fg": 1770, "rotates": false }, + { "id": [ "hsurvivor_suit", "fsurvivor_suit", "h20survivor_suit" ], "fg": 1771, "rotates": false }, + { "id": "lsurvivor_suit", "fg": 1772, "rotates": false }, + { "id": [ "survivor_suit", "xlsurvivor_suit" ], "fg": 1773, "rotates": false }, + { "id": [ "wolfsuit", "armor_farmor" ], "fg": 1774, "rotates": false }, + { "id": "wsurvivor_suit", "fg": 1775, "rotates": false }, + { "id": "fishing_waders", "fg": 1776, "rotates": false }, + { "id": "apron_leather", "fg": 1777, "rotates": false }, + { "id": "armguard_chitin", "fg": 1778, "rotates": false }, + { + "id": [ "armguard_hard", "armguard_paper", "legguard_hard", "legguard_paper" ], + "fg": 1779, + "rotates": false + }, + { + "id": [ + "armguard_soft", + "chainmail_arms", + "armguard_metal", + "legguard_metal", + "chainmail_legs", + "armguard_lightplate", + "legguard_lightplate" + ], + "fg": 1780, + "rotates": false + }, + { + "id": [ + "arm_splint", + "leg_splint", + "2byarm_guard", + "2byshin_guard", + "vambrace_larmor", + "armguard_larmor", + "armguard_larmor_mod" + ], + "fg": 1781, + "rotates": false + }, + { + "id": [ "arm_warmers", "leg_warmers", "leg_warmers_f", "leg_warmers_xl", "leg_warmers_xlf" ], + "fg": 1782, + "rotates": false + }, + { "id": "megaarmor_armguards_1", "fg": 1783, "rotates": false }, + { "id": "armguard_bone", "fg": 1784, "rotates": false }, + { "id": "armor_cuirass", "fg": 1785, "rotates": false }, + { "id": [ "armor_plarmor", "jacket_leather_mod", "armor_scrapsuit" ], "fg": 1786, "rotates": false }, + { "id": "army_top", "fg": 1787, "rotates": false }, + { "id": "bandana", "fg": 1788, "rotates": false }, + { "id": [ "bandolier_rifle", "bandolier_shotgun", "bandolier_pistol" ], "fg": 1789, "rotates": false }, + { "id": "bandolier_wrist", "fg": 1790, "rotates": false }, + { "id": "brooch", "fg": 1791, "rotates": false }, + { "id": [ "tieclip", "collarpin" ], "fg": 1792, "rotates": false }, + { "id": "barrette", "fg": 1793, "rotates": false }, + { "id": [ "helmet_scavenger", "beekeeping_hood" ], "fg": 1794, "rotates": false }, + { "id": "helmet_chitin", "fg": 1795, "rotates": false }, + { "id": "helmet_plate", "fg": 1796, "rotates": false }, + { "id": [ "beret_wool", "beret" ], "fg": 1797, "rotates": false }, + { "id": [ "bra", "sports_bra", "bikini_top" ], "fg": 1798, "rotates": false }, + { "id": [ "bikini_top_fur", "fur_cat_ears" ], "fg": 1799, "rotates": false }, + { "id": "bikini_top_leather", "fg": 1800, "rotates": false }, + { "id": "bindle", "fg": 1801, "rotates": false }, + { "id": "bondage_mask", "fg": 1802, "rotates": false }, + { "id": [ "boots_larmor", "boots" ], "fg": 1803, "rotates": false }, + { "id": "boots_bone", "fg": 1804, "rotates": false }, + { "id": "boots_chitin", "fg": 1805, "rotates": false }, + { "id": [ "boots_combat", "boots_lsurvivor" ], "fg": 1806, "rotates": false }, + { "id": "boots_hiking", "fg": 1807, "rotates": false }, + { + "id": [ "boots_plate", "boots_fsurvivor", "boots_hsurvivor", "motorbike_boots", "megaarmor_boots_1" ], + "fg": 1808, + "rotates": false + }, + { "id": [ "boots_rubber", "boots_bunker" ], "fg": 1809, "rotates": false }, + { "id": [ "boots_winter", "boots_wsurvivor" ], "fg": 1810, "rotates": false }, + { "id": [ "sholster", "bootstrap" ], "fg": 1811, "rotates": false }, + { "id": "boots_fur", "fg": 1812, "rotates": false }, + { "id": [ "boots_survivor", "boots_xlsurvivor", "boots_steel" ], "fg": 1813, "rotates": false }, + { "id": "jeans", "fg": 1814, "rotates": false }, + { "id": "long_underpants", "fg": 1815, "rotates": false }, + { + "id": [ "pants", "tights", "technician_pants_gray", "motorbike_pants", "hakama_gi" ], + "fg": 1816, + "rotates": false + }, + { "id": [ "pants_cargo", "pants_survivor", "lsurvivor_pants" ], "fg": 1817, "rotates": false }, + { "id": [ "pants_leather", "breeches" ], "fg": 1818, "rotates": false }, + { "id": [ "pants_ski", "jeans_red" ], "fg": 1819, "rotates": false }, + { "id": [ "striped_pants", "zubon_gi", "fencing_pants", "winter_pants_army" ], "fg": 1820, "rotates": false }, + { "id": "bunker_pants", "fg": 1821, "rotates": false }, + { "id": "case_violin", "fg": 1822, "rotates": false }, + { "id": "chaps_leather", "fg": 1823, "rotates": false }, + { "id": [ "survivor_vest", "chestrig" ], "fg": 1824, "rotates": false }, + { "id": "chestwrap_fur", "fg": 1825, "rotates": false }, + { "id": "robe", "fg": 1826, "rotates": false }, + { "id": [ "coat_fur_sf", "coat_fur" ], "fg": 1827, "rotates": false }, + { "id": "gold_ear", "fg": 1828, "rotates": false }, + { "id": "silver_ear", "fg": 1829, "rotates": false }, + { "id": "copper_ear", "fg": 1830, "rotates": false }, + { "id": "corset", "fg": 1831, "rotates": false }, + { "id": "cowl_wool", "fg": 1832, "rotates": false }, + { "id": [ "crown_golden_survivor", "crown_golden" ], "fg": 1833, "rotates": false }, + { "id": [ "lsurvivor_armor", "dragonskin" ], "fg": 1834, "rotates": false }, + { "id": [ "kevlar", "makeshift_kevlar" ], "fg": 1835, "rotates": false }, + { + "id": [ "modularvest", "modularvestsuper", "modularveststeel", "modularvestceramic", "modularvestkevlar", "modularvesthard" ], + "fg": 1836, + "rotates": false + }, + { "id": [ "sundress", "sleeveless_tunic", "tunic", "gown", "dress" ], "fg": 1837, "rotates": false }, + { "id": [ "striped_shirt", "dress_shirt" ], "fg": 1838, "rotates": false }, + { "id": "long_undertop", "fg": 1839, "rotates": false }, + { "id": "postman_shirt", "fg": 1840, "rotates": false }, + { "id": [ "sheriffshirt", "longshirt" ], "fg": 1841, "rotates": false }, + { "id": "dress_wedding", "fg": 1842, "rotates": false }, + { "id": "dump_pouch", "fg": 1843, "rotates": false }, + { "id": "ear_plugs", "fg": 1844, "rotates": false }, + { "id": "glasses_bal", "fg": 1845, "rotates": false }, + { "id": "goggles_ski", "fg": 1846, "rotates": false }, + { "id": [ "goggles_welding", "survivor_goggles", "iggaak" ], "fg": 1847, "rotates": false }, + { "id": "eclipse_glasses", "fg": 1848, "rotates": false }, + { "id": [ "knee_pads", "elbow_pads" ], "fg": 1849, "rotates": false }, + { "id": "glasses_safety", "fg": 1850, "rotates": false }, + { "id": "fancy_sunglasses", "fg": 1851, "rotates": false }, + { "id": "flag_shirt", "fg": 1852, "rotates": false }, + { "id": "flintlock_pouch", "fg": 1853, "rotates": false }, + { + "id": [ "lowtops", "golf_shoes", "footrags", "footrags_wool", "socks_bag", "flip_flops" ], + "fg": 1854, + "rotates": false + }, + { + "id": [ + "mocassins", + "leathersandals", + "bastsandals", + "clogs", + "footrags_fur", + "footrags_leather", + "straw_sandals", + "slippers" + ], + "fg": 1855, + "rotates": false + }, + { "id": "shoes_bowling", "fg": 1856, "rotates": false }, + { "id": [ "sneakers", "dance_shoes", "shoes_birchbark", "dress_shoes" ], "fg": 1857, "rotates": false }, + { "id": [ "leather_collar", "locket_lucy", "fur_collar" ], "fg": 1858, "rotates": false }, + { "id": [ "glasses_eye", "fitover_sunglasses" ], "fg": 1859, "rotates": false }, + { "id": "glasses_reading", "fg": 1860, "rotates": false }, + { "id": "sunglasses", "fg": 1861, "rotates": false }, + { "id": "glasses_bifocal", "fg": 1862, "rotates": false }, + { "id": "glasses_monocle", "fg": 1863, "rotates": false }, + { + "id": [ "gloves_fingerless_mod", "gloves_wraps_fur", "gloves_wraps_leather", "gloves_fingerless" ], + "fg": 1864, + "rotates": false + }, + { "id": "gloves_fur", "fg": 1865, "rotates": false }, + { "id": "gloves_tactical", "fg": 1866, "rotates": false }, + { "id": "glove_jackson", "fg": 1867, "rotates": false }, + { "id": "goggles_swim", "fg": 1868, "rotates": false }, + { "id": [ "diamond_dental_grill", "gold_dental_grill" ], "fg": 1869, "rotates": false }, + { "id": [ "sf_watch", "gold_watch" ], "fg": 1870, "rotates": false }, + { "id": [ "wristwatch", "diving_watch" ], "fg": 1871, "rotates": false }, + { "id": [ "bandolier_bomblet", "grenade_pouch" ], "fg": 1872, "rotates": false }, + { "id": [ "helmet_netting", "hat_boonie" ], "fg": 1873, "rotates": false }, + { "id": [ "hat_hard", "firehelmet", "hat_hard_hooded" ], "fg": 1874, "rotates": false }, + { "id": [ "helmet_skid", "pot_helmet", "tinfoil_hat" ], "fg": 1875, "rotates": false }, + { "id": "hat_chef", "fg": 1876, "rotates": false }, + { "id": [ "tricorne", "eboshi", "hat_cotton" ], "fg": 1877, "rotates": false }, + { "id": "hat_knit", "fg": 1878, "rotates": false }, + { "id": "hat_fur", "fg": 1879, "rotates": false }, + { "id": "hat_hooded", "fg": 1880, "rotates": false }, + { "id": "hat_hunting", "fg": 1881, "rotates": false }, + { "id": [ "thigh_high_boots", "heels" ], "fg": 1882, "rotates": false }, + { "id": [ "helmet_bike", "maid_hat", "kufi" ], "fg": 1883, "rotates": false }, + { "id": [ "helmet_survivor", "helmet_xlsurvivor", "kippah" ], "fg": 1884, "rotates": false }, + { "id": [ "tac_helmet", "helmet_hsurvivor", "hat_newsboy" ], "fg": 1885, "rotates": false }, + { "id": "helmet_army", "fg": 1886, "rotates": false }, + { "id": "helmet_larmor", "fg": 1887, "rotates": false }, + { "id": [ "helmet_liner", "helmet_nomad", "veil_wedding" ], "fg": 1888, "rotates": false }, + { "id": "helmet_ball", "fg": 1889, "rotates": false }, + { "id": "helmet_barbute", "fg": 1890, "rotates": false }, + { "id": "hat_ball", "fg": 1891, "rotates": false }, + { "id": "postman_hat", "fg": 1892, "rotates": false }, + { "id": "hat_golf", "fg": 1893, "rotates": false }, + { "id": "helmet_bone", "fg": 1894, "rotates": false }, + { "id": "helmet_conical", "fg": 1895, "rotates": false }, + { "id": "helmet_corinthian", "fg": 1896, "rotates": false }, + { "id": "helmet_galea", "fg": 1897, "rotates": false }, + { "id": "helmet_kabuto", "fg": 1898, "rotates": false }, + { + "id": [ "nomex_hood", "wetsuit_hood", "hood_fsurvivor", "hood_h20survivor", "fencing_mask", "chainmail_hood", "helmet_motor" ], + "fg": 1899, + "rotates": false + }, + { "id": "helmet_nasal", "fg": 1900, "rotates": false }, + { "id": [ "back_holster", "XL_holster", "holster" ], "fg": 1901, "rotates": false }, + { "id": [ "wool_hoodie", "hoodie" ], "fg": 1902, "rotates": false }, + { "id": "hood_rain", "fg": 1903, "rotates": false }, + { "id": [ "hood_survivor", "hood_xlsurvivor" ], "fg": 1904, "rotates": false }, + { "id": "hood_wsurvivor", "fg": 1905, "rotates": false }, + { "id": "hood_lsurvivor", "fg": 1906, "rotates": false }, + { "id": "hot_pants_fur", "fg": 1907, "rotates": false }, + { "id": "hot_pants_leather", "fg": 1908, "rotates": false }, + { "id": [ "trunks", "boy_shorts", "boxer_shorts", "boxer_briefs" ], "fg": 1909, "rotates": false }, + { "id": "hot_pants", "fg": 1910, "rotates": false }, + { "id": [ "duster_fur", "trenchcoat_fur" ], "fg": 1911, "rotates": false }, + { "id": [ "trenchcoat", "duster", "greatcoat" ], "fg": 1912, "rotates": false }, + { + "id": [ "trenchcoat_leather", "trenchcoat_survivor", "duster_survivor", "armor_nomad", "duster_leather" ], + "fg": 1913, + "rotates": false + }, + { "id": "house_coat", "fg": 1914, "rotates": false }, + { "id": [ "armor_scavenger", "jacket_army" ], "fg": 1915, "rotates": false }, + { "id": "jacket_flannel", "fg": 1916, "rotates": false }, + { "id": "jersey", "fg": 1917, "rotates": false }, + { "id": "judo_belt_blue", "fg": 1918, "rotates": false }, + { "id": "judo_belt_brown", "fg": 1919, "rotates": false }, + { "id": "judo_belt_green", "fg": 1920, "rotates": false }, + { "id": "judo_belt_orange", "fg": 1921, "rotates": false }, + { "id": "judo_belt_white", "fg": 1922, "rotates": false }, + { "id": "judo_belt_yellow", "fg": 1923, "rotates": false }, + { "id": "judo_belt_black", "fg": 1924, "rotates": false }, + { "id": [ "boots_western", "knee_high_boots" ], "fg": 1925, "rotates": false }, + { + "id": [ "stockings", "stockings_tent_legs", "stockings_tent_arms", "leggings" ], + "fg": 1926, + "rotates": false + }, + { "id": [ "fireman_belt", "leather_belt" ], "fg": 1927, "rotates": false }, + { "id": "leather_cat_ears", "fg": 1928, "rotates": false }, + { "id": "ragpouch", "fg": 1929, "rotates": false }, + { "id": "leather_pouch", "fg": 1930, "rotates": false }, + { "id": "legguard_bronze", "fg": 1931, "rotates": false }, + { "id": "legrig", "fg": 1932, "rotates": false }, + { "id": "polo_shirt", "fg": 1933, "rotates": false }, + { "id": [ "tshirt", "undershirt", "tshirt_text", "technician_shirt_gray" ], "fg": 1934, "rotates": false }, + { "id": "linuxtshirt", "fg": 1935, "rotates": false }, + { + "id": [ "loincloth_wool", "briefs", "panties", "bikini_bottom", "loincloth" ], + "fg": 1936, + "rotates": false + }, + { "id": "loincloth_leather", "fg": 1937, "rotates": false }, + { "id": "loincloth_fur", "fg": 1938, "rotates": false }, + { "id": "maid_dress", "fg": 1939, "rotates": false }, + { "id": "makeshift_sling", "fg": 1940, "rotates": false }, + { "id": "mask_bal", "fg": 1941, "rotates": false }, + { "id": "mask_dust", "fg": 1942, "rotates": false }, + { "id": [ "mask_guy_fawkes", "mask_hockey" ], "fg": 1943, "rotates": false }, + { "id": "mask_rioter", "fg": 1944, "rotates": false }, + { "id": "megaarmor_head_1", "fg": 1945, "rotates": false }, + { "id": "megaarmor_leggings_1", "fg": 1946, "rotates": false }, + { "id": "megaarmor_torso_1", "fg": 1947, "rotates": false }, + { "id": "megaarmor_torso_2", "fg": 1948, "rotates": false }, + { "id": "mouthpiece", "fg": 1949, "rotates": false }, + { "id": "nanoskirt", "fg": 1950, "rotates": false }, + { "id": [ "locket", "holy_symbol_wood", "necklace" ], "fg": 1951, "rotates": false }, + { "id": "pearl_collar", "fg": 1952, "rotates": false }, + { "id": [ "small_relic", "holy_symbol" ], "fg": 1953, "rotates": false }, + { "id": [ "blindfold", "obi_gi" ], "fg": 1954, "rotates": false }, + { "id": "pants_checkered", "fg": 1955, "rotates": false }, + { "id": "pants_army", "fg": 1956, "rotates": false }, + { "id": "pants_fur", "fg": 1957, "rotates": false }, + { "id": [ "helmet_lobster", "pickelhaube" ], "fg": 1958, "rotates": false }, + { "id": "basket_laundry", "fg": 1959, "rotates": false }, + { "id": "poncho", "fg": 1960, "rotates": false }, + { "id": [ "shorts", "under_armor_shorts" ], "fg": 1961, "rotates": false }, + { "id": "shorts_cargo", "fg": 1962, "rotates": false }, + { "id": [ "shorts_denim", "b_shorts" ], "fg": 1963, "rotates": false }, + { "id": "postman_shorts", "fg": 1964, "rotates": false }, + { "id": [ "depowered_armor", "power_armor_basic" ], "fg": 1965, "rotates": false }, + { "id": "power_armor_frame", "fg": 1966, "rotates": false }, + { "id": "power_armor_heavy", "fg": 1967, "rotates": false }, + { "id": [ "depowered_helmet", "power_armor_helmet_basic" ], "fg": 1968, "rotates": false }, + { "id": "power_armor_helmet_heavy", "fg": 1969, "rotates": false }, + { "id": "power_armor_helmet_light", "fg": 1970, "rotates": false }, + { "id": "power_armor_light", "fg": 1971, "rotates": false }, + { "id": [ "quiver_birchbark", "sheath", "bootsheath", "quiver" ], "fg": 1972, "rotates": false }, + { + "id": [ "quiver_large_birchbark", "scabbard", "bscabbard", "baldric", "quiver_large" ], + "fg": 1973, + "rotates": false + }, + { "id": [ "diamond_ring", "ring" ], "fg": 1974, "rotates": false }, + { "id": [ "rollerskates", "roller_blades" ], "fg": 1975, "rotates": false }, + { "id": [ "molle_pack", "gobag", "rucksack" ], "fg": 1976, "rotates": false }, + { "id": [ "chestwrap_leather", "leather" ], "fg": 1977, "rotates": false }, + { "id": [ "v_curtain_item", "sheet" ], "fg": 1978, "rotates": false }, + { "id": [ "fur", "tanbark", "birchbark", "willowbark" ], "fg": 1979, "rotates": false }, + { "id": "shield_buckler", "fg": 1980, "rotates": false }, + { "id": "shield_heater", "fg": 1981, "rotates": false }, + { "id": "shield_hoplon", "fg": 1982, "rotates": false }, + { "id": "shield_kite", "fg": 1983, "rotates": false }, + { "id": "shield_round", "fg": 1984, "rotates": false }, + { "id": "shield_scutum", "fg": 1985, "rotates": false }, + { "id": "shield_wooden", "fg": 1986, "rotates": false }, + { "id": "shield_wooden_large", "fg": 1987, "rotates": false }, + { "id": [ "kilt", "skirt" ], "fg": 1988, "rotates": false }, + { "id": "skirt_leather", "fg": 1989, "rotates": false }, + { "id": "suit", "fg": 1990, "rotates": false }, + { "id": [ "swat_shield_act", "swat_shield" ], "fg": 1991, "rotates": false }, + { "id": "sweatshirt", "fg": 1992, "rotates": false }, + { "id": "sweater", "fg": 1993, "rotates": false }, + { "id": "swim_fins", "fg": 1994, "rotates": false }, + { "id": [ "camisole", "tank_top" ], "fg": 1995, "rotates": false }, + { "id": [ "under_armor", "kevlar_tee" ], "fg": 1996, "rotates": false }, + { "id": [ "survivor_belt", "survivor_belt_notools", "tool_belt" ], "fg": 1997, "rotates": false }, + { "id": "tophat", "fg": 1998, "rotates": false }, + { "id": "turban", "fg": 1999, "rotates": false }, + { "id": [ "puck", "ear_spool" ], "fg": 2000, "rotates": false }, + { "id": "120mm_casing", "fg": 2001, "rotates": false }, + { "id": "155mm_casing", "fg": 2002, "rotates": false }, + { "id": "30mm_casing", "fg": 2003, "rotates": false }, + { "id": "exploding_arrow_warhead", "fg": 2004, "rotates": false }, + { "id": [ "5x50_hull", "410_hull", "shot_hull" ], "fg": 2005 }, + { "id": "1st_aid", "fg": 2006, "rotates": false }, + { "id": "golf_tee", "fg": 2007, "rotates": false }, + { "id": "plastic_pot_flower", "fg": 2008, "rotates": false }, + { "id": "clay_pot_flower", "fg": 2009, "rotates": false }, + { "id": "2x4", "fg": 2010, "rotates": false }, + { "id": [ "chitin_plate", "alloy_plate", "alloy_sheet" ], "fg": 2011, "rotates": false }, + { "id": "hard_plate", "fg": 2012, "rotates": false }, + { "id": "mil_plate", "fg": 2013, "rotates": false }, + { "id": [ "steel_plate", "bone_plate" ], "fg": 2014, "rotates": false }, + { "id": "wood_plate", "fg": 2015, "rotates": false }, + { + "id": [ "ammolink30mm", "ammolink40mm", "ammolink50", "ammolink223", "ammolink308", "ammolink" ], + "fg": 2016 + }, + { "id": "arachnotron_guts", "fg": 2017, "rotates": false }, + { "id": "atomic_coffeepot", "fg": 2018, "rotates": false }, + { "id": "golf_ball", "fg": 2019, "rotates": false }, + { "id": "bat_metal", "fg": 2020, "rotates": false }, + { "id": "bat", "fg": 2021, "rotates": false }, + { "id": "battletorch_done", "fg": 2022, "rotates": false }, + { "id": "biollante_bud", "fg": 2023, "rotates": false }, + { "id": "bluebell_bud", "fg": 2024, "rotates": false }, + { "id": [ "dahlia_bud", "poppy_bud" ], "fg": 2025, "rotates": false }, + { "id": [ "knuckle_katar", "knuckle_nail", "bagh_nakha", "bio_claws_weapon" ], "fg": 2026, "rotates": false }, + { "id": [ "wasp_glue", "wasp_glue_super", "bone_glue" ], "fg": 2027, "rotates": false }, + { "id": "superglue", "fg": 2028, "rotates": false }, + { "id": "bowling_axe", "fg": 2029, "rotates": false }, + { "id": "bowling_pin", "fg": 2030, "rotates": false }, + { "id": "brick", "fg": 2031, "rotates": false }, + { "id": [ "carding_paddles", "broom" ], "fg": 2032, "rotates": false }, + { "id": "bullwhip", "fg": 2033, "rotates": false }, + { "id": "candlestick", "fg": 2034, "rotates": false }, + { "id": "cane", "fg": 2035, "rotates": false }, + { "id": [ "cantilever_small", "cantilever_medium" ], "fg": 2036, "rotates": false }, + { + "id": [ "vp_crane_medium", "vp_crane_small" ], + "fg": 2036, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { "id": "cargo_lock", "fg": 2037, "rotates": false }, + { "id": "glass_plate", "fg": 2038, "rotates": false }, + { "id": "tin_plate", "fg": 2039, "rotates": false }, + { "id": "ceramic_plate", "fg": 2040, "rotates": false }, + { "id": [ "material_shrd_limestone", "ceramic_shard" ], "fg": 2041, "rotates": false }, + { "id": "knuckle_brass", "fg": 2042, "rotates": false }, + { "id": "knuckle_steel", "fg": 2043, "rotates": false }, + { "id": "cestus", "fg": 2044, "rotates": false }, + { "id": "chitin_piece", "fg": 2045, "rotates": false }, + { "id": "teapot", "fg": 2046, "rotates": false }, + { "id": "clay_teapot", "fg": 2047, "rotates": false }, + { "id": [ "circsaw_blade", "clockworks" ], "fg": 2048, "rotates": false }, + { "id": "mon_blood_sacrifice", "fg": 2049, "rotates": false }, + { "id": "corpse", "fg": 2050, "rotates": false }, + { "id": "cudgel", "fg": 2051, "rotates": false }, + { "id": "pipe", "fg": 2052, "rotates": false }, + { "id": "cu_pipe", "fg": 2053, "rotates": false }, + { "id": "diamond", "fg": 2054, "rotates": false }, + { "id": [ "drivebelt_makeshift", "drivebelt" ], "fg": 2055, "rotates": false }, + { "id": "element", "fg": 2056, "rotates": false }, + { "id": [ "filter_air_makeshift", "filter_air" ], "fg": 2057, "rotates": false }, + { "id": [ "filter_liquid_makeshift", "filter_liquid" ], "fg": 2058 }, + { "id": "fish_bowl", "fg": 2059, "rotates": false }, + { "id": "frame", "fg": 2060, "rotates": false }, + { "id": [ "frame_wood", "frame_wood_light", "foldwoodframe" ], "fg": 2061, "rotates": false }, + { "id": "hdframe", "fg": 2062, "rotates": false }, + { "id": [ "xlframe", "foldframe" ], "fg": 2063, "rotates": false }, + { "id": "folding_basket", "fg": 2064, "rotates": false }, + { "id": "football", "fg": 2065, "rotates": false }, + { "id": [ "spork", "foon", "fork" ], "fg": 2066, "rotates": false }, + { "id": "glass_macuahuitl", "fg": 2067, "rotates": false }, + { "id": "glass_shard", "fg": 2068, "rotates": false }, + { "id": [ "reinforced_glass_sheet", "reinforced_glass_pane" ], "fg": 2069, "rotates": false }, + { "id": "glass_sheet", "fg": 2070, "rotates": false }, + { "id": "glass_tinted", "fg": 2071, "rotates": false }, + { "id": "glowplug", "fg": 2072, "rotates": false }, + { "id": "golf_club", "fg": 2073, "rotates": false }, + { "id": "grapnel", "fg": 2074, "rotates": false }, + { "id": "gungnir_replica", "fg": 2075, "rotates": false }, + { "id": "hammer_sledge", "fg": 2076, "rotates": false }, + { "id": "handflare_dead", "fg": 2077, "rotates": false }, + { "id": "hand_paddles", "fg": 2078, "rotates": false }, + { "id": "hockey_stick", "fg": 2079, "rotates": false }, + { "id": "ji", "fg": 2080, "rotates": false }, + { "id": "joint_lit", "fg": 2081, "rotates": false }, + { "id": "joint_roach", "fg": 2082, "rotates": false }, + { "id": "knife_butter", "fg": 2083, "rotates": false }, + { "id": "lajatang", "fg": 2084, "rotates": false }, + { "id": "lawnmower", "fg": 2085, "rotates": false }, + { "id": "light_bulb", "fg": 2086, "rotates": false }, + { "id": "log", "fg": 2087, "rotates": false }, + { + "id": [ "glaive", "halberd", "halberd_fake", "naginata", "makeshift_halberd" ], + "fg": 2088, + "rotates": false + }, + { "id": "mess_tin", "fg": 2089, "rotates": false }, + { "id": "television", "fg": 2090, "rotates": false }, + { "id": "microwave", "fg": 2091, "rotates": false }, + { "id": "mjolnir_replica", "fg": 2092, "rotates": false }, + { + "id": [ "mobile_memory_card_used", "mobile_memory_card_encrypted", "mobile_memory_card_science", "mobile_memory_card" ], + "fg": 2093, + "rotates": false + }, + { "id": "money_bundle", "fg": 2094, "rotates": false }, + { "id": [ "mjolnir", "morningstar" ], "fg": 2095, "rotates": false }, + { "id": [ "homewrecker", "nailbat" ], "fg": 2096, "rotates": false }, + { "id": "nuclear_waste", "fg": 2097, "rotates": false }, + { "id": "nuclear_fuel", "fg": 2098, "rotates": false }, + { "id": "pallet_lifter", "fg": 2099, "rotates": false }, + { "id": [ "can_sealer", "pastaextruder" ], "fg": 2100, "rotates": false }, + { "id": "peephole", "fg": 2101, "rotates": false }, + { "id": "petrified_eye", "fg": 2102, "rotates": false }, + { "id": [ "down_pillow", "pillow" ], "fg": 2103, "rotates": false }, + { "id": "bodypillow", "fg": 2104, "rotates": false }, + { "id": "pipe_solid", "fg": 2105, "rotates": false }, + { "id": "pipe_solid_spear", "fg": 2106, "rotates": false }, + { "id": [ "spear_forked", "pitchfork" ], "fg": 2107, "rotates": false }, + { "id": [ "clay_watercont", "survivor_mess_kit", "crucible_clay", "clay_pot" ], "fg": 2108, "rotates": false }, + { + "id": [ "charcoal_cooker", "rock_pot", "pot_makeshift", "pot_canning", "pressure_cooker", "f_standing_tank" ], + "fg": 2109, + "rotates": false + }, + { "id": [ "mess_kit", "mil_mess_kit" ], "fg": 2110, "rotates": false }, + { "id": "pot_makeshift_copper", "fg": 2111, "rotates": false }, + { "id": "pot_copper", "fg": 2112, "rotates": false }, + { "id": "pot", "fg": 2113, "rotates": false }, + { "id": [ "pot_xlhelmet", "pot_helmet" ], "fg": 2114, "rotates": false }, + { "id": [ "e_scrap", "power_supply" ], "fg": 2115, "rotates": false }, + { "id": "pump_complex", "fg": 2116, "rotates": false }, + { "id": "punch_dagger", "fg": 2117, "rotates": false }, + { "id": "razor_blade", "fg": 2118, "rotates": false }, + { + "id": [ "survivormap", "militarymap", "restaurantmap", "touristmap", "trailmap", "roadmap" ], + "fg": 2119, + "rotates": false + }, + { "id": "rock_sock", "fg": 2120, "rotates": false }, + { "id": [ "rope_6", "rope_makeshift_30", "rope_makeshift_6", "rope_30" ], "fg": 2121, "rotates": false }, + { "id": "sharp_rock", "fg": 2122, "rotates": false }, + { "id": "sharp_toothbrush", "fg": 2123, "rotates": false }, + { "id": [ "lead_plate", "sheet_metal" ], "fg": 2124, "rotates": false }, + { "id": "sheet_metal_lit", "fg": 2125, "rotates": false }, + { "id": "small_lcd_screen", "fg": 2126, "rotates": false }, + { "id": "spear_survivor", "fg": 2127, "rotates": false }, + { "id": "spear_copper", "fg": 2128, "rotates": false }, + { "id": "spike", "fg": 2129, "rotates": false }, + { "id": "spiked_plate", "fg": 2130, "rotates": false }, + { "id": "splinter", "fg": 2131, "rotates": false }, + { "id": "spoon", "fg": 2132, "rotates": false }, + { "id": "spring", "fg": 2133, "rotates": false }, + { + "id": "vp_muffler", + "fg": 2134, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_seatbelt", + "fg": 2134, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2135 } ] + }, + { "id": "stick_long", "fg": 2136, "rotates": false }, + { "id": "stick", "fg": 2137, "rotates": false }, + { "id": "sword_nail", "fg": 2138, "rotates": false }, + { "id": "toaster", "fg": 2139, "rotates": false }, + { "id": "torch_done", "fg": 2140, "rotates": false }, + { "id": "tree_spile", "fg": 2141, "rotates": false }, + { "id": [ "teleumbrella", "umbrella" ], "fg": 2142, "rotates": false }, + { "id": "usb_drive", "fg": 2143, "rotates": false }, + { "id": "warhammer", "fg": 2144, "rotates": false }, + { "id": "water_faucet", "fg": 2145, "rotates": false }, + { "id": "withered", "fg": 2146, "rotates": false }, + { "id": [ "mon_generator", "generator_7500w" ], "fg": 2147, "rotates": false }, + { "id": "mirror", "fg": 2148, "rotates": false }, + { "id": "bundle_wool", "fg": 2149, "rotates": false }, + { "id": "bundle_leather", "fg": 2150, "rotates": false }, + { "id": "bundle_rag", "fg": 2151, "rotates": false }, + { "id": "scythe_war", "fg": 2152, "rotates": false }, + { "id": "fd_bees", "fg": 2153, "rotates": false }, + { + "id": "tr_portal", + "fg": 2154, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 2155 }, + { "id": "corner", "fg": 2156 }, + { "id": "edge", "fg": 2157 }, + { "id": "end_piece", "fg": 2158 }, + { "id": "t_connection", "fg": 2159 }, + { "id": "unconnected", "fg": 2154 } + ] + }, + { + "id": "fd_web", + "fg": 2160, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 2161 }, + { "id": "corner", "fg": 2162 }, + { "id": "edge", "fg": 2163 }, + { "id": "end_piece", "fg": 2164 }, + { "id": "t_connection", "fg": 2165 }, + { "id": "unconnected", "fg": 2160 } + ] + }, + { + "id": "fd_slime", + "fg": 2166, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 2167 }, + { "id": "corner", "fg": 2168 }, + { "id": "edge", "fg": 2169 }, + { "id": "end_piece", "fg": 2170 }, + { "id": "t_connection", "fg": 2171 }, + { "id": "unconnected", "fg": 2166 } + ] + }, + { + "id": "fd_sludge", + "fg": 2172, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 2173 }, + { "id": "corner", "fg": 2174 }, + { "id": "edge", "fg": 2175 }, + { "id": "end_piece", "fg": 2176 }, + { "id": "t_connection", "fg": 2177 }, + { "id": "unconnected", "fg": 2172 } + ] + }, + { "id": "fd_acid_vent", "fg": 2178, "rotates": false }, + { + "id": "fd_acid", + "fg": 2179, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 2180 }, + { "id": "corner", "fg": 2181 }, + { "id": "edge", "fg": 2182 }, + { "id": "end_piece", "fg": 2183 }, + { "id": "t_connection", "fg": 2184 }, + { "id": "unconnected", "fg": 2179 } + ] + }, + { + "id": [ "fd_bile", "fd_gibs_veggy", "fd_sap" ], + "fg": 2185, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 2186 }, + { "id": "corner", "fg": 2187 }, + { "id": "edge", "fg": 2188 }, + { "id": "end_piece", "fg": 2189 }, + { "id": "t_connection", "fg": 2190 }, + { "id": "unconnected", "fg": 2185 } + ] + }, + { "id": "fd_shock_vent", "fg": 2191, "rotates": false }, + { + "id": "fd_electricity", + "fg": 2192, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 2193 }, + { "id": "corner", "fg": 2194 }, + { "id": "edge", "fg": 2195 }, + { "id": "end_piece", "fg": 2196 }, + { "id": "t_connection", "fg": 2197 }, + { "id": "unconnected", "fg": 2192 } + ] + }, + { "id": "fd_fire_vent", "fg": 2198, "rotates": false }, + { "id": "animation_bullet_flame", "fg": 2199 }, + { + "id": "fd_incendiary", + "fg": 2199, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 2200 }, + { "id": "corner", "fg": 2201 }, + { "id": "edge", "fg": 2202 }, + { "id": "end_piece", "fg": 2203 }, + { "id": "t_connection", "fg": 2204 }, + { "id": "unconnected", "fg": 2199 } + ] + }, + { + "id": [ "fd_flame_burst", "fd_fire" ], + "fg": 2205, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 2200 }, + { "id": "corner", "fg": 2201 }, + { "id": "edge", "fg": 2202 }, + { "id": "end_piece", "fg": 2203 }, + { "id": "t_connection", "fg": 2204 }, + { "id": "unconnected", "fg": 2205 } + ] + }, + { + "id": "fd_fungicidal_gas", + "fg": 2206, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 2207 }, + { "id": "corner", "fg": 2208 }, + { "id": "edge", "fg": 2209 }, + { "id": "end_piece", "fg": 2210 }, + { "id": "t_connection", "fg": 2211 }, + { "id": "unconnected", "fg": 2206 } + ] + }, + { "id": "fd_gas_vent", "fg": 2212, "rotates": false }, + { + "id": [ "fd_toxic_gas", "fd_nuke_gas" ], + "fg": 2213, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 2214 }, + { "id": "corner", "fg": 2215 }, + { "id": "edge", "fg": 2216 }, + { "id": "end_piece", "fg": 2217 }, + { "id": "t_connection", "fg": 2218 }, + { "id": "unconnected", "fg": 2213 } + ] + }, + { + "id": "fd_fungal_haze", + "fg": 2219, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 2220 }, + { "id": "corner", "fg": 2221 }, + { "id": "edge", "fg": 2222 }, + { "id": "end_piece", "fg": 2223 }, + { "id": "t_connection", "fg": 2224 }, + { "id": "unconnected", "fg": 2219 } + ] + }, + { + "id": [ "fd_fatigue", "fd_relax_gas" ], + "fg": 2225, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 2226 }, + { "id": "corner", "fg": 2227 }, + { "id": "edge", "fg": 2228 }, + { "id": "end_piece", "fg": 2229 }, + { "id": "t_connection", "fg": 2230 }, + { "id": "unconnected", "fg": 2225 } + ] + }, + { + "id": [ "fd_cigsmoke", "fd_weedsmoke", "fd_methsmoke", "fd_cracksmoke" ], + "fg": 2231, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 2232 }, + { "id": "corner", "fg": 2233 }, + { "id": "edge", "fg": 2234 }, + { "id": "end_piece", "fg": 2235 }, + { "id": "t_connection", "fg": 2236 }, + { "id": "unconnected", "fg": 2231 } + ] + }, + { "id": "f_smoking_rack_active", "fg": 2237, "rotates": false }, + { + "id": [ "fd_smoke", "fd_tear_gas" ], + "fg": 2237, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 2238 }, + { "id": "corner", "fg": 2239 }, + { "id": "edge", "fg": 2240 }, + { "id": "end_piece", "fg": 2241 }, + { "id": "t_connection", "fg": 2242 }, + { "id": "unconnected", "fg": 2237 } + ] + }, + { + "id": "vp_xlframe_cover", + "fg": 2243, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 725 } ] + }, + { + "id": "vp_xlframe_vertical", + "fg": 275, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 725 } ] + }, + { + "id": "vp_xlframe_vertical_2", + "fg": 2244, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 725 } ] + }, + { + "id": [ "vp_folding_frame", "vp_xlframe_horizontal" ], + "fg": 2245, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 725 } ] + }, + { + "id": "vp_xlframe_horizontal_2", + "fg": 2246, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 725 } ] + }, + { + "id": "vp_xlframe_cross", + "fg": 273, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 725 } ] + }, + { + "id": "vp_xlframe_nw", + "fg": 274, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 725 } ] + }, + { + "id": "vp_xlframe_sw", + "fg": 2247, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 725 } ] + }, + { + "id": "vp_xlframe_se", + "fg": 2248, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 725 } ] + }, + { + "id": "vp_xlframe_ne", + "fg": 2249, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 725 } ] + }, + { + "id": [ "vp_halfboard_cover", "vp_frame_cover" ], + "fg": 2250, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { "id": "vp_frame_handle", "fg": 2250, "rotates": true }, + { + "id": "vp_frame_vertical", + "fg": 2251, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_frame_vertical_2", + "fg": 2252, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_frame_horizontal", + "fg": 2253, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_frame_horizontal_2", + "fg": 2254, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_frame_cross", + "fg": 2255, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_frame_nw", + "fg": 2256, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_frame_sw", + "fg": 2257, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_frame_se", + "fg": 2258, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_frame_ne", + "fg": 2259, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": [ "vp_frame_wood_cover", "vp_frame_wood_handle", "vp_frame_wood_light_cover", "vp_frame_wood_light_handle" ], + "fg": 2260, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { + "id": "vp_folding_wooden_frame", + "fg": 2261, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { + "id": [ "vp_frame_wood_light_vertical", "vp_frame_wood_vertical" ], + "fg": 2262, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { + "id": [ "vp_frame_wood_light_vertical_2", "vp_frame_wood_vertical_2" ], + "fg": 2263, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { + "id": [ "vp_frame_wood_light_horizontal", "vp_frame_wood_horizontal" ], + "fg": 2264, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { + "id": [ "vp_frame_wood_light_horizontal_2", "vp_frame_wood_horizontal_2" ], + "fg": 2265, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { + "id": [ "vp_frame_wood_light_cross", "vp_frame_wood_cross" ], + "fg": 2266, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { + "id": [ "vp_frame_wood_light_nw", "vp_frame_wood_nw" ], + "fg": 2267, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { + "id": [ "vp_frame_wood_light_sw", "vp_frame_wood_sw" ], + "fg": 2268, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { + "id": [ "vp_frame_wood_light_se", "vp_frame_wood_se" ], + "fg": 2269, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { + "id": [ "vp_frame_wood_light_ne", "vp_frame_wood_ne" ], + "fg": 2270, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { + "id": "vp_hdframe_cover", + "fg": 2271, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": "vp_hdframe_vertical", + "fg": 2273, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": "vp_hdframe_vertical_2", + "fg": 2274, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": "vp_hdframe_horizontal", + "fg": 2275, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": "vp_hdframe_horizontal_2", + "fg": 2276, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": "vp_hdframe_cross", + "fg": 2277, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": "vp_hdframe_nw", + "fg": 2278, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": "vp_hdframe_sw", + "fg": 2279, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": "vp_hdframe_se", + "fg": 2280, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": "vp_hdframe_ne", + "fg": 2281, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": [ "vp_door_opaque", "vp_door_internal", "vp_door" ], + "fg": 2282, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2283 }, { "id": "open", "fg": 2284 } ] + }, + { "id": "vp_fdoor", "fg": 2282, "rotates": false }, + { + "id": [ "vp_door_trunk", "vp_hatch", "vp_door_shutter", "vp_door_sliding" ], + "fg": 2285, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2286 }, { "id": "open", "fg": 2287 } ] + }, + { + "id": "vp_hatch_opaque", + "fg": 2285, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "open", "fg": 2287 } ] + }, + { + "id": [ "vp_door_wood", "vp_door_wood_opaque" ], + "fg": 2288, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2289 }, { "id": "open", "fg": 2290 } ] + }, + { + "id": [ "vp_hdhatch", "vp_hdhatch_opaque" ], + "fg": 2291, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2292 }, { "id": "open", "fg": 2293 } ] + }, + { "id": "boat_board", "fg": 2294, "rotates": false }, + { + "id": "vp_boat_board", + "fg": 2295, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "broken", "fg": 225 }, + { "id": "center", "fg": 2296 }, + { "id": "corner", "fg": 2297 }, + { "id": "edge", "fg": 2298 }, + { "id": "end_piece", "fg": 2298 }, + { "id": "t_connection", "fg": 2299 }, + { "id": "unconnected", "fg": 2295 } + ] + }, + { "id": "hd_steel_drum", "fg": 2300, "rotates": true }, + { + "id": "vp_roller_drum", + "fg": 2301, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { "id": [ "wheel_metal", "wheel" ], "fg": 2302, "rotates": false }, + { "id": "wheel_wood", "fg": 2303, "rotates": false }, + { + "id": [ "vp_wheel_bicycle_steerable", "vp_wheel_bicycle" ], + "fg": 2304, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2305 } ] + }, + { + "id": "vp_wheel_wheelchair", + "fg": 2306, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2305 } ] + }, + { + "id": "vp_wheel_caster", + "fg": 2307, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2305 } ] + }, + { + "id": "vp_wheel_wood", + "fg": 2303, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { + "id": [ "vp_wheel", "vp_wheel_steerable", "vp_metal_wheel" ], + "fg": 2302, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2305 } ] + }, + { "id": [ "wheel_wide", "wheel_wide_or" ], "fg": 2308, "rotates": false }, + { + "id": [ "vp_wheel_armor", "vp_wheel_armor_steerable" ], + "fg": 2309, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2305 } ] + }, + { + "id": [ "vp_wheel_wide", "vp_wheel_wide_steerable" ], + "fg": 2308, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2305 } ] + }, + { "id": "wheel_armor", "fg": 2309, "rotates": false }, + { + "id": [ "wheel_bicycle_or", "wheel_motorbike", "wheel_motorbike_or", "wheel_slick", "wheel_bicycle" ], + "fg": 2310, + "rotates": false + }, + { + "id": [ "vp_wheel_unicycle", "vp_wheel_motorbike", "vp_wheel_motorbike_steerable" ], + "fg": 2310, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2305 } ] + }, + { "id": [ "wheel_barrow", "wheel_small" ], "fg": 2311, "rotates": true }, + { + "id": [ "vp_wheel_small", "vp_wheel_small_steerable", "vp_wheel_barrow" ], + "fg": 2311, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2305 } ] + }, + { + "id": "vp_wheel_wood_b", + "fg": 2312, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { "id": "wheel_wood_b", "fg": 2312, "rotates": false }, + { "id": "wheel_caster", "fg": 2313, "rotates": false }, + { "id": "wheel_wheelchair", "fg": 2314, "rotates": false }, + { + "id": "vp_hand_rims", + "fg": 2315, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 1183 } ] + }, + { "id": "hand_rims", "fg": 2315, "rotates": false }, + { + "id": "vp_hand_paddles", + "fg": 2316, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { "id": "foot_crank", "fg": 2317, "rotates": false }, + { + "id": [ "vp_engine_motor", "vp_foot_pedals" ], + "fg": 2250, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 1183 } ] + }, + { + "id": [ + "v12_diesel", + "1cyl_combustion", + "1cyl_combustion_small", + "v2_combustion", + "i4_combustion", + "v6_combustion", + "v8_combustion", + "v12_combustion", + "i6_diesel", + "v6_diesel", + "v8_diesel" + ], + "fg": 2318, + "rotates": false + }, + { + "id": [ + "vp_engine_1cyl", + "vp_engine_1cyl_small", + "vp_engine_vtwin", + "vp_engine_inline4", + "vp_engine_v6", + "vp_engine_v8", + "vp_engine_v12", + "vp_diesel_engine_v12", + "vp_engine_electric", + "vp_engine_electric_large", + "vp_engine_electric_small", + "vp_engine_electric_enhanced", + "vp_diesel_engine_i6", + "vp_diesel_engine_v6", + "vp_diesel_engine_v8" + ], + "fg": 2318, + "rotates": true + }, + { + "id": "vp_door_motor", + "fg": 2319, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { "id": "tr_engine", "fg": 2320, "rotates": false }, + { + "id": [ + "motor_large", + "motor_small", + "motor_enhanced", + "alternator_bicycle", + "alternator_motorbike", + "alternator_car", + "alternator_truck", + "motor" + ], + "fg": 2321, + "rotates": false + }, + { + "id": [ "vp_alternator_bicycle", "vp_alternator_motorbike", "vp_alternator_car", "vp_alternator_truck" ], + "fg": 2321, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 1183 } ] + }, + { + "id": [ "vp_veh_table", "vp_veh_table_wood" ], + "fg": 2322, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { "id": "v_table", "fg": 2322, "rotates": false }, + { "id": "inflatable_airbag", "fg": 2323, "rotates": false }, + { "id": "inflatable_section", "fg": 2324, "rotates": false }, + { "id": "vehicle_dashboard", "fg": 2325, "rotates": false }, + { "id": "basket", "fg": 2326, "rotates": false }, + { + "id": [ "vp_box", "vp_folding wood box", "vp_wood box", "vp_basketsm", "vp_basketsm_external" ], + "fg": 2327, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { + "id": [ "vp_basketlg", "vp_basketlg_folding", "vp_basketlg_external" ], + "fg": 2326, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { "id": "bike_basket", "fg": 2327, "rotates": false }, + { + "id": [ "vp_cargo_space", "vp_cargo_space_external" ], + "fg": 2328, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_trunk", + "fg": 2329, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { "id": "cargo_rack", "fg": 2328, "rotates": false }, + { "id": "drive_by_wire_controls", "fg": 2330, "rotates": false }, + { "id": "robot_controls", "fg": 2331, "rotates": false }, + { + "id": "vp_robot_controls", + "fg": 2331, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_controls", + "fg": 2332, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_drive_by_wire_controls", + "fg": 2330, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 1183 } ] + }, + { "id": "vehicle_controls", "fg": 2332, "rotates": false }, + { "id": [ "vp_fridge_cargo", "fridge_cargo" ], "fg": 2333, "rotates": false }, + { + "id": "vp_veh_forge", + "fg": 2334, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 812 } ] + }, + { + "id": "vp_water_faucet", + "fg": 2335, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 812 } ] + }, + { "id": "forgerig", "fg": 2334, "rotates": false }, + { "id": "muffler", "fg": 2336, "rotates": false }, + { + "id": "vp_chemlab", + "fg": 2337, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 812 } ] + }, + { "id": "chemlab", "fg": 2337, "rotates": false }, + { + "id": [ "car_headlight", "wide_headlight_reinforced", "car_wide_headlight", "headlight_reinforced" ], + "fg": 2338, + "rotates": true + }, + { "id": "floodlight", "fg": 2338, "rotates": false }, + { + "id": "vp_headlight_reinforced", + "fg": 2339, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": [ "vp_horn_car", "vp_horn_big", "vp_beeper", "vp_chimes" ], + "fg": 2340, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": [ "vp_head_light", "vp_headlight", "vp_floodlight" ], + "fg": 2338, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_kitchen_unit", + "fg": 2341, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 812 } ] + }, + { "id": "kitchen_unit", "fg": 2341, "rotates": false }, + { "id": "light_emergency_red", "fg": 2342, "rotates": false }, + { "id": "omnicamera", "fg": 2343, "rotates": false }, + { + "id": "vp_light_blue", + "fg": 2344, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_light_red", + "fg": 2342, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 1183 } ] + }, + { + "id": "vp_omnicam", + "fg": 2343, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 1183 } ] + }, + { "id": "light_emergency_blue", "fg": 2344, "rotates": false }, + { "id": "minifreezer", "fg": 2345, "rotates": false }, + { + "id": "vp_minifridge", + "fg": 2346, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 812 } ] + }, + { + "id": "vp_minifreezer", + "fg": 2345, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 812 } ] + }, + { "id": "minifridge", "fg": 2346, "rotates": false }, + { + "id": "vp_recharge_station", + "fg": 2347, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 812 } ] + }, + { "id": "recharge_station", "fg": 2347, "rotates": false }, + { + "id": "vp_tracker", + "fg": 2348, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_vehicle_alarm", + "fg": 2348, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 1183 } ] + }, + { "id": "veh_tracker", "fg": 2348, "rotates": false }, + { "id": "craftrig", "fg": 2349, "rotates": true }, + { + "id": "vp_welding_rig", + "fg": 2350, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 812 } ] + }, + { + "id": "vp_craft_rig", + "fg": 2349, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 812 } ] + }, + { "id": "weldrig", "fg": 2350, "rotates": false }, + { + "id": "vp_saddle", + "fg": 2351, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { "id": "saddle", "fg": 2351, "rotates": false }, + { + "id": "vp_cam_control", + "fg": 2352, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 1183 } ] + }, + { "id": "camera_control", "fg": 2352, "rotates": false }, + { "id": "w_table", "fg": 2353, "rotates": false }, + { + "id": [ "vp_inboard_mirror", "vp_wing_mirror" ], + "fg": 2354, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_horn_bicycle", + "fg": 2355, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_inflatable_airbag", + "fg": 2356, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "broken", "fg": 2272 }, + { "id": "center", "fg": 2357 }, + { "id": "corner", "fg": 2358 }, + { "id": "edge", "fg": 2359 }, + { "id": "end_piece", "fg": 2359 }, + { "id": "t_connection", "fg": 2360 }, + { "id": "unconnected", "fg": 2356 } + ] + }, + { + "id": "vp_inflatable_section", + "fg": 2361, + "rotates": true, + "multitile": true, + "additional_tiles": [ + { "id": "broken", "fg": 2272 }, + { "id": "center", "fg": 2362 }, + { "id": "corner", "fg": 2363 }, + { "id": "edge", "fg": 2364 }, + { "id": "end_piece", "fg": 2364 }, + { "id": "t_connection", "fg": 2365 }, + { "id": "unconnected", "fg": 2361 } + ] + }, + { + "id": [ + "vp_fxlhalfboard_vertical", + "vp_board_vertical", + "vp_clothboard_vertical", + "vp_cloth_halfboard_vertical", + "vp_xlhalfboard_vertical", + "vp_halfboard_vertical" + ], + "fg": 2366, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": [ + "vp_fxlhalfboard_vertical_2", + "vp_xlhalfboard_vertical_2", + "vp_halfboard_vertical_2", + "vp_cloth_halfboard_vertical_2" + ], + "fg": 2367, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": [ + "vp_fxlhalfboard_horizontal", + "vp_clothboard_horizontal", + "vp_cloth_halfboard_horizontal", + "vp_xlhalfboard_horizontal", + "vp_halfboard_horizontal", + "vp_board_horizontal" + ], + "fg": 2368, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": [ + "vp_fxlhalfboard_horizontal_2", + "vp_xlhalfboard_horizontal_2", + "vp_halfboard_horizontal_2", + "vp_cloth_halfboard_horizontal_2" + ], + "fg": 2369, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_halfboard_cross", + "fg": 2370, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": [ + "vp_fxlhalfboard_nw", + "vp_clothboard_nw", + "vp_cloth_halfboard_nw", + "vp_xlhalfboard_nw", + "vp_halfboard_nw", + "vp_board_nw" + ], + "fg": 2371, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": [ + "vp_fxlhalfboard_sw", + "vp_clothboard_sw", + "vp_cloth_halfboard_sw", + "vp_xlhalfboard_sw", + "vp_halfboard_sw", + "vp_board_sw" + ], + "fg": 2372, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": [ + "vp_fxlhalfboard_se", + "vp_clothboard_se", + "vp_cloth_halfboard_se", + "vp_xlhalfboard_se", + "vp_halfboard_se", + "vp_board_se" + ], + "fg": 2373, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": [ + "vp_fxlhalfboard_ne", + "vp_clothboard_ne", + "vp_cloth_halfboard_ne", + "vp_xlhalfboard_ne", + "vp_halfboard_ne", + "vp_board_ne" + ], + "fg": 2374, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": [ "vp_hdboard_vertical", "vp_hdhalfboard_vertical" ], + "fg": 2375, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": "vp_hdhalfboard_vertical_2", + "fg": 2376, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": [ "vp_hdboard_horizontal", "vp_hdhalfboard_horizontal" ], + "fg": 2377, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": "vp_hdhalfboard_horizontal_2", + "fg": 2378, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": [ "vp_hdboard_nw", "vp_hdhalfboard_nw" ], + "fg": 2379, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": [ "vp_hdboard_sw", "vp_hdhalfboard_sw" ], + "fg": 2380, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": [ "vp_hdboard_se", "vp_hdhalfboard_se" ], + "fg": 2381, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": [ "vp_hdboard_ne", "vp_hdhalfboard_ne" ], + "fg": 2382, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": [ "vp_woodboard_vertical", "vp_woodhalfboard_vertical" ], + "fg": 2383, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { + "id": "vp_woodhalfboard_vertical_2", + "fg": 2384, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { + "id": [ "vp_woodboard_horizontal", "vp_woodhalfboard_horizontal" ], + "fg": 2385, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { + "id": "vp_woodhalfboard_horizontal_2", + "fg": 2386, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { + "id": [ "vp_woodboard_nw", "vp_woodhalfboard_nw" ], + "fg": 2387, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { + "id": [ "vp_woodboard_sw", "vp_woodhalfboard_sw" ], + "fg": 2388, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { + "id": [ "vp_woodboard_se", "vp_woodhalfboard_se" ], + "fg": 2389, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { + "id": [ "vp_woodboard_ne", "vp_woodhalfboard_ne" ], + "fg": 2390, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { + "id": "vp_stowboard_vertical", + "fg": 2391, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_stowboard_horizontal", + "fg": 2392, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_stowboard_nw", + "fg": 2393, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_stowboard_sw", + "fg": 2394, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_stowboard_se", + "fg": 2395, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_stowboard_ne", + "fg": 2396, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_hdstowboard_vertical", + "fg": 2397, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": "vp_hdstowboard_horizontal", + "fg": 2398, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": "vp_hdstowboard_nw", + "fg": 2399, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": "vp_hdstowboard_sw", + "fg": 2400, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": "vp_hdstowboard_se", + "fg": 2401, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": "vp_hdstowboard_ne", + "fg": 2402, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": "vp_aisle_vertical", + "fg": 2403, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_aisle_horizontal", + "fg": 2404, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_wooden_aisle_vertical", + "fg": 2405, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { + "id": "vp_wooden_aisle_horizontal", + "fg": 2406, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 225 } ] + }, + { + "id": [ "vp_aisle_lights", "vp_lit_aisle_vertical" ], + "fg": 2407, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_lit_aisle_horizontal", + "fg": 2408, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_trunk_floor", + "fg": 2409, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": [ "vp_roof_cloth", "vp_roof_wood", "vp_roof" ], + "fg": 2410, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": "vp_hdroof", + "fg": 2411, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": [ "vp_jumper_cable_heavy", "vp_jumper_cable" ], + "fg": 2412, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": [ "vp_mounted_m1918", "vp_flamethrower" ], + "fg": 2413, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { + "id": [ "vp_mounted_rm298", "vp_mounted_rm614" ], + "fg": 2414, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 155 } ] + }, + { "id": [ "vp_tow_launcher", "vp_tow_turret" ], "fg": 2413, "rotates": true }, + { + "id": [ "vp_fusion_gun", "vp_laser_rifle" ], + "fg": 2415, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2416 } ] + }, + { + "id": [ "vp_mounted_browning", "vp_mounted_mk19", "vp_mounted_abzats" ], + "fg": 2417, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2272 } ] + }, + { + "id": [ "vp_m249", "vp_mounted_m240", "vp_mounted_m60", "vp_mounted_m134" ], + "fg": 2418, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 1661 } ] + }, + { + "id": [ "vp_plasmagun", "vp_plasma_gun" ], + "fg": 2419, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 1661 } ] + }, + { + "id": [ "vp_mounted_howitzer", "vp_mounted_tank_auto", "vp_mounted_tank_manual", "vp_mounted_tank_rws", "vp_m240", "vp_m60" ], + "fg": 2417, + "rotates": true + }, + { "id": "vp_mounted_30mm_autocannon", "fg": 2414, "rotates": true }, + { + "id": [ "vp_watercannon", "vp_shockcannon_mounted" ], + "fg": 2419, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 1531 } ] + }, + { "id": "vp_bfg_mounted", "fg": 2420, "rotates": true }, + { + "id": "vp_blade_horizontal", + "fg": 2421, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 725 } ] + }, + { "id": "vp_cargo_lock", "fg": 2422, "rotates": false }, + { "id": "vp_crane_tiny", "fg": 2423, "rotates": true }, + { + "id": "vp_storage_battery_mount", + "fg": 2424, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 1183 } ] + }, + { + "id": "vp_generator_7500w", + "fg": 2425, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 1183 } ] + }, + { "id": "vp_external_tank_small", "fg": 2426, "rotates": true }, + { "id": "vp_forklift_fork", "fg": 2427, "rotates": true }, + { + "id": "vp_stereo", + "fg": 2428, + "rotates": false, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 812 } ] + }, + { + "id": [ "vp_reaper_advanced", "vp_reaper" ], + "fg": 2429, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 1661 } ] + }, + { "id": "vp_plating_hard", "fg": 2430, "rotates": true }, + { "id": "vp_plating_military", "fg": 2431, "rotates": true }, + { "id": [ "vp_plating_steel", "vp_plating_chitin" ], "fg": 2432, "rotates": true }, + { "id": "vp_plating_superalloy", "fg": 2433, "rotates": true }, + { "id": "vp_plating_wood", "fg": 2434, "rotates": true }, + { "id": "vp_plating_bone", "fg": 2435, "rotates": true }, + { "id": "vp_plating_spiked", "fg": 2436, "rotates": true }, + { + "id": "vp_reinforced_windshield", + "fg": 2437, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2438 } ] + }, + { + "id": "vp_seatbelt_heavyduty", + "fg": 2439, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2135 } ] + }, + { + "id": [ "vp_seed_drill_advanced", "vp_seed_drill" ], + "fg": 2440, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 1531 } ] + }, + { + "id": "vp_spike", + "fg": 2441, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 725 } ] + }, + { + "id": "vp_windshield", + "fg": 2442, + "rotates": true, + "multitile": true, + "additional_tiles": [ { "id": "broken", "fg": 2438 } ] + }, + { "id": "mon_flashbang_hack", "fg": 2443, "rotates": false }, + { "id": "bot_flashbang_hack", "fg": 2444, "rotates": false }, + { "id": "broken_flashbang_hack", "fg": 2445, "rotates": false }, + { "id": "mon_gasbomb_hack", "fg": 2446, "rotates": false }, + { "id": "bot_gasbomb_hack", "fg": 2447, "rotates": false }, + { "id": "broken_gasbomb_hack", "fg": 2448, "rotates": false }, + { "id": "mon_EMP_hack", "fg": 2449, "rotates": false }, + { "id": "bot_EMP_hack", "fg": 2450, "rotates": false }, + { "id": "broken_EMP_hack", "fg": 2451, "rotates": false }, + { "id": "mon_grenade_hack", "fg": 2452, "rotates": false }, + { "id": "bot_grenade_hack", "fg": 2453, "rotates": false }, + { "id": "broken_grenade_hack", "fg": 2454, "rotates": false }, + { "id": "mon_c4_hack", "fg": 2455, "rotates": false }, + { "id": "bot_c4_hack", "fg": 2456, "rotates": false }, + { "id": "broken_c4_hack", "fg": 2457, "rotates": false }, + { "id": "mon_manhack", "fg": 2458, "rotates": false }, + { "id": "bot_manhack", "fg": 2459, "rotates": false }, + { "id": "broken_manhack", "fg": 2460, "rotates": false }, + { "id": "mon_manhack_fire", "fg": 2461, "rotates": false }, + { "id": "bot_manhack_fire", "fg": 2462, "rotates": false }, + { "id": "broken_manhack_fire", "fg": 2463, "rotates": false }, + { "id": "mon_manhack_missile", "fg": 2464, "rotates": false }, + { "id": "bot_manhack_missile", "fg": 2465, "rotates": false }, + { "id": "manhack_firebomb", "fg": 2466, "rotates": false }, + { "id": "manhack_firebomb_act", "fg": 2467, "rotates": false }, + { "id": "mon_mininuke_hack", "fg": 2468, "rotates": false }, + { "id": "bot_mininuke_hack", "fg": 2469, "rotates": false }, + { "id": "broken_mininuke_hack", "fg": 2470, "rotates": false }, + { "id": "mon_broken_cyborg", "fg": 2471, "rotates": false }, + { "id": "mon_prototype_cyborg", "fg": 2472, "rotates": false }, + { "id": "mon_chickenbot", "fg": 2473, "rotates": false }, + { "id": "mon_copbot", "fg": 2474, "rotates": false }, + { "id": "broken_copbot", "fg": 2475, "rotates": false }, + { "id": "mon_cyborg_cop", "fg": 2476, "rotates": false }, + { "id": "mon_cyborg_guard", "fg": 2477, "rotates": false }, + { "id": "mon_eyebot", "fg": 2478, "rotates": false }, + { "id": "broken_eyebot", "fg": 2479, "rotates": false }, + { "id": "mon_hazmatbot", "fg": 2480, "rotates": false }, + { "id": "mon_turret", "fg": 2481, "rotates": false }, + { "id": "bot_turret", "fg": 2482, "rotates": false }, + { "id": "mon_turret_rifle", "fg": 2483, "rotates": false }, + { "id": "bot_rifleturret", "fg": 2484, "rotates": false }, + { "id": "mon_turret_shockcannon", "fg": 2485, "rotates": false }, + { "id": "bot_turret_shockcannon", "fg": 2486, "rotates": false }, + { "id": "mon_laserturret", "fg": 2487, "rotates": false }, + { "id": "bot_laserturret", "fg": 2488, "rotates": false }, + { "id": "mon_turret_bmg", "fg": 2489, "rotates": false }, + { "id": "mon_turret_searchlight", "fg": 2490, "rotates": false }, + { "id": "mon_science_bot", "fg": 2491, "rotates": false }, + { "id": "bot_science_bot", "fg": 2492, "rotates": false }, + { "id": "broken_science_bot", "fg": 2493, "rotates": false }, + { "id": "mon_molebot", "fg": 2494, "rotates": false }, + { "id": "broken_molebot", "fg": 2495, "rotates": false }, + { "id": "mon_riotbot", "fg": 2496, "rotates": false }, + { "id": "broken_riotbot", "fg": 2497, "rotates": false }, + { "id": "mon_dispatch", "fg": 2498, "rotates": false }, + { "id": "bot_dispatch", "fg": 2499, "rotates": false }, + { "id": "broken_dispatch", "fg": 2500, "rotates": false }, + { "id": "mon_dispatch_military", "fg": 2501, "rotates": false }, + { "id": "bot_dispatch_military", "fg": 2502, "rotates": false }, + { "id": "broken_dispatch_military", "fg": 2503, "rotates": false }, + { "id": "mon_robot_drone", "fg": 2504, "rotates": false }, + { "id": "bot_robot_drone", "fg": 2505, "rotates": false }, + { "id": "broken_robot_drone", "fg": 2506, "rotates": false }, + { "id": "mon_secubot", "fg": 2507, "rotates": false }, + { "id": "bot_antimateriel", "fg": 2508, "rotates": false }, + { "id": "mon_skitterbot", "fg": 2509, "rotates": false }, + { "id": "bot_skitterbot", "fg": 2510, "rotates": false }, + { "id": "broken_skitterbot", "fg": 2511, "rotates": false }, + { "id": "mon_tankbot", "fg": 2512, "rotates": false }, + { "id": "broken_tankbot", "fg": 2513, "rotates": false }, + { "id": "mon_w11b20b4", "fg": 2514, "rotates": false }, + { "id": "mon_w11h10", "fg": 2515, "rotates": false }, + { "id": "mon_w12b10", "fg": 2516, "rotates": false }, + { "id": "mon_w12n10", "fg": 2517, "rotates": false }, + { "id": "mon_w11b10", "fg": 2518, "rotates": false }, + { "id": "mon_generator_SCINET", "fg": 2519, "rotates": false }, + { + "id": [ + "bot_cyberdemon", + "bot_hell_baron", + "bot_hell_knight", + "bot_imp", + "bot_imp_black", + "bot_lostsoul", + "bot_mancubus", + "bot_mechaspider", + "bot_rat", + "bot_revenant", + "bot_spider_trapdoor_giant", + "bot_spider_trapdoor_giant_guardian", + "bot_spider_web_omega", + "bot_spider_web_s", + "bot_trapdoor_s", + "bot_pinky", + "bot_acidic_pk", + "bot_blind", + "bot_cacodemon_revive", + "bot_cherub", + "bot_cherub_fly", + "bot_churl_revive", + "bot_grabber", + "bot_hell_knight_revive", + "bot_hollow", + "bot_imp_revive", + "bot_pinky_revive", + "bot_shady", + "bot_thing_head", + "bot_thing_spider", + "bot_tripod", + "bot_cacodemon" + ], + "fg": 2520, + "rotates": false + }, + { "id": "mon_doom_archdemon", "fg": 2521, "rotates": false }, + { + "id": [ "mon_doom_archvile_2", "mon_doom_archvile_3", "mon_doom_archvile_4", "mon_doom_archvile_5", "mon_doom_archvile" ], + "fg": 2522, + "rotates": false + }, + { "id": "mon_doom_archvile_queen", "fg": 2523, "rotates": false }, + { "id": [ "mon_hell_knight_revive", "mon_hell_knight" ], "fg": 2524, "rotates": false }, + { "id": "mon_hell_baron", "fg": 2525, "rotates": false }, + { "id": "mon_cyberdemon", "fg": 2526, "rotates": false }, + { "id": "mon_mechaspider_queen", "fg": 2527, "rotates": false }, + { "id": "mon_mechaspider", "fg": 2528, "rotates": false }, + { "id": "broken_mechaspider", "fg": 2529, "rotates": false }, + { "id": [ "mon_cacodemon_revive", "mon_cacodemon" ], "fg": 2530, "rotates": false }, + { "id": "mon_mancubus", "fg": 2531, "rotates": false }, + { "id": "mon_revenant", "fg": 2532, "rotates": false }, + { "id": "mon_tripod", "fg": 2533, "rotates": false }, + { "id": "broken_tripod", "fg": 2534, "rotates": false }, + { "id": [ "mon_imp_revive", "mon_imp" ], "fg": 2535, "rotates": false }, + { "id": "mon_imp_black", "fg": 2536, "rotates": false }, + { "id": [ "mon_pinky_revive", "mon_pinky" ], "fg": 2537, "rotates": false }, + { "id": "mon_lostsoul", "fg": 2538, "rotates": false }, + { "id": "mon_lostsoul_mount", "fg": 2539, "rotates": false }, + { "id": [ "mon_cherub_fly", "mon_cherub" ], "fg": 2540, "rotates": false }, + { "id": [ "mon_doom_churl", "mon_doom_churl_revive" ], "fg": 2541, "rotates": false }, + { "id": "mon_doom_slave", "fg": 2542, "rotates": false }, + { "id": "mon_doom_cur", "fg": 2543, "rotates": false }, + { "id": "mon_doom_sacrifice", "fg": 2544, "rotates": false }, + { "id": "mon_soulcube", "fg": 2545, "rotates": false }, + { "id": [ "broken_soulcube", "soulcube" ], "fg": 2546, "rotates": false }, + { "id": "soulcube_on", "fg": 2547, "rotates": false }, + { "id": "soulcube_charging", "fg": 2548, "rotates": false }, + { "id": "mon_shoggoth", "fg": 2549, "rotates": false }, + { "id": "mon_flying_polyp", "fg": 2550, "rotates": false }, + { "id": "mon_legion", "fg": 2551, "rotates": false }, + { "id": "mon_mi_go_fly", "fg": 2552, "rotates": false }, + { "id": "mon_mi_go_terminal", "fg": 2553, "rotates": false }, + { "id": "mon_mi_go", "fg": 2554, "rotates": false }, + { "id": "mon_thing", "fg": 2555, "rotates": false }, + { "id": "mon_thing_head", "fg": 2556, "rotates": false }, + { "id": "mon_thing_spider", "fg": 2557, "rotates": false }, + { "id": "mon_thing_swamp", "fg": 2558, "rotates": false }, + { "id": "mon_gozu", "fg": 2559, "rotates": false }, + { "id": "mon_headless_dog_thing", "fg": 2560, "rotates": false }, + { "id": "mon_darkman", "fg": 2561, "rotates": false }, + { "id": "mon_shadow", "fg": 2562, "rotates": false }, + { "id": "mon_blank", "fg": 2563, "rotates": false }, + { "id": "mon_nuculais", "fg": 2564, "rotates": false }, + { "id": "mon_horror_dusk_queen", "fg": 2565, "rotates": false }, + { "id": "mon_horror_dusk", "fg": 2566, "rotates": false }, + { "id": "mon_hunting_horror", "fg": 2567, "rotates": false }, + { "id": "mon_flaming_eye", "fg": 2568, "rotates": false }, + { "id": "mon_stemcell_nether", "fg": 2569, "rotates": false }, + { "id": "mon_amigara_horror", "fg": 2570, "rotates": false }, + { "id": "mon_vortex", "fg": 2571, "rotates": false }, + { "id": "mon_twisted_body", "fg": 2572, "rotates": false }, + { "id": "mon_flesh_angel", "fg": 2573, "rotates": false }, + { "id": "mon_charred_nightmare", "fg": 2574, "rotates": false }, + { "id": "mon_crawler", "fg": 2575, "rotates": false }, + { "id": "debug_mon", "fg": 2576, "rotates": false }, + { "id": [ "mon_jabberwock_pk", "mon_jabberwock" ], "fg": 2577, "rotates": false }, + { "id": "mon_human_snail", "fg": 2578, "rotates": false }, + { + "id": [ "mon_irradiated_wanderer_2", "mon_irradiated_wanderer_3", "mon_irradiated_wanderer_4", "mon_irradiated_wanderer_1" ], + "fg": 2579, + "rotates": false + }, + { "id": "mon_marloss_man", "fg": 2580, "rotates": false }, + { "id": "mon_furvivor", "fg": 2581, "rotates": false }, + { + "id": [ "mon_furvivor_glock", "mon_furvivor_pk", "mon_furvivor_shotgun", "mon_furvivor_smg", "mon_furvivor_deagle" ], + "fg": 2582, + "rotates": false + }, + { "id": "mon_cult_slave", "fg": 2583, "rotates": false }, + { "id": "mon_hologram", "fg": 2584, "rotates": false }, + { "id": [ "mon_shia", "mon_zombie_jackson" ], "fg": 2585, "rotates": false }, + { "id": "mon_chud", "fg": 2586, "rotates": false }, + { "id": "mon_dementia", "fg": 2587, "rotates": false }, + { "id": "mon_hallu_mom", "fg": 2588, "rotates": false }, + { "id": "mon_one_eye", "fg": 2589, "rotates": false }, + { "id": "mon_ratman_ninja", "fg": 2590, "rotates": false }, + { "id": "mon_rat_king", "fg": 2591, "rotates": false }, + { "id": "mon_leonardo", "fg": 2592, "rotates": false }, + { "id": "mon_michelangelo", "fg": 2593, "rotates": false }, + { "id": "mon_raphael", "fg": 2594, "rotates": false }, + { "id": "mon_donatello", "fg": 2595, "rotates": false }, + { "id": "mon_cult_churl", "fg": 2596, "rotates": false }, + { "id": "mon_bear_mega_mating", "fg": 2597, "rotates": false }, + { "id": "mon_bear_mega", "fg": 2598, "rotates": false }, + { "id": "mon_zombie_bear_mega", "fg": 2599, "rotates": false }, + { "id": "mon_bear_mega_kid", "fg": 2600, "rotates": false }, + { "id": "mon_bear_mega_baby", "fg": 2601, "rotates": false }, + { "id": [ "mon_bear_pk", "mon_bear_weak", "mon_bear" ], "fg": 2602, "rotates": false }, + { "id": [ "mon_bear_smoky", "mon_bear_smoky_pk" ], "fg": 2603, "rotates": false }, + { "id": "mon_zombear", "fg": 2604, "rotates": false }, + { "id": "mon_bobcat", "fg": 2605, "rotates": false }, + { "id": [ "mon_cougar_pk", "mon_cougar_weak", "mon_cougar" ], "fg": 2606, "rotates": false }, + { "id": "mon_fougar", "fg": 2607, "rotates": false }, + { "id": "mon_zougar", "fg": 2608, "rotates": false }, + { "id": "mon_cat", "fg": 2609, "rotates": false }, + { "id": "mon_wolf", "fg": 2610, "rotates": false }, + { "id": "mon_folf", "fg": 2611, "rotates": false }, + { "id": "mon_zolf", "fg": 2612, "rotates": false }, + { "id": "mon_zolf_shady", "fg": 2613, "rotates": false }, + { "id": "mon_zolf_scorched", "fg": 2614, "rotates": false }, + { + "id": [ + "mon_dog_bcollie", + "mon_dog_boxer", + "mon_dog_gshepherd", + "mon_dog_gpyrenees", + "mon_dog_rottweiler", + "mon_dog_auscattle", + "mon_dog_thing", + "mon_dog_large", + "mon_dog" + ], + "fg": 2615, + "rotates": false + }, + { + "id": [ + "mon_dog_bull", + "mon_dog_bull_pup", + "mon_dog_pitbullmix", + "mon_dog_pitbullmix_pup", + "mon_dog_beagle", + "mon_dog_beagle_pup", + "mon_dog_bcollie_pup", + "mon_dog_boxer_pup", + "mon_dog_chihuahua", + "mon_dog_chihuahua_pup", + "mon_dog_dachshund", + "mon_dog_dachshund_pup", + "mon_dog_gshepherd_pup", + "mon_dog_gpyrenees_pup", + "mon_dog_rottweiler_pup", + "mon_dog_auscattle_pup", + "mon_dog_pup" + ], + "fg": 2616, + "rotates": false + }, + { "id": [ "mon_coyote_wolf", "mon_coyote_small", "mon_coyote" ], "fg": 2617, "rotates": false }, + { "id": "mon_coyote_wolf_zerg", "fg": 2618, "rotates": false }, + { "id": "mon_fox_red", "fg": 2619, "rotates": false }, + { "id": "mon_fox_gray", "fg": 2620, "rotates": false }, + { "id": "mon_pig_saber", "fg": 2621, "rotates": false }, + { "id": "mon_pig", "fg": 2622, "rotates": false }, + { "id": "mon_fungus_pig", "fg": 2623, "rotates": false }, + { "id": "mon_zombie_pig", "fg": 2624, "rotates": false }, + { "id": [ "mon_moose_pk", "mon_moose_weak", "mon_moose" ], "fg": 2625, "rotates": false }, + { "id": "mon_foose", "fg": 2626, "rotates": false }, + { "id": "mon_zoose", "fg": 2627, "rotates": false }, + { "id": "mon_horse", "fg": 2628, "rotates": false }, + { "id": "mon_horse_zombie", "fg": 2629, "rotates": false }, + { "id": "mon_horse_zombie_scorched", "fg": 2630, "rotates": false }, + { "id": "mon_deer_rutting", "fg": 2631, "rotates": false }, + { "id": "mon_deer", "fg": 2632, "rotates": false }, + { "id": "mon_deer_small", "fg": 2633, "rotates": false }, + { "id": "mon_feer", "fg": 2634, "rotates": false }, + { "id": "mon_goat", "fg": 2635, "rotates": false }, + { "id": "mon_sheep", "fg": 2636, "rotates": false }, + { "id": "mon_cow", "fg": 2637, "rotates": false }, + { "id": "mon_nakedmolerat_giant", "fg": 2638, "rotates": false }, + { "id": [ "mon_beaver", "mon_muskrat", "mon_chipmunk" ], "fg": 2639, "rotates": false }, + { "id": "mon_mole_large", "fg": 2640, "rotates": false }, + { "id": [ "mon_squirrel_red", "mon_groundhog" ], "fg": 2641, "rotates": false }, + { "id": "mon_squirrel", "fg": 2642, "rotates": false }, + { "id": [ "mon_shrew", "mon_deer_mouse" ], "fg": 2643, "rotates": false }, + { "id": "mon_lemming", "fg": 2644, "rotates": false }, + { "id": "mon_rabbit", "fg": 2645, "rotates": false }, + { "id": "mon_hare", "fg": 2646, "rotates": false }, + { "id": "mon_skunk", "fg": 2647, "rotates": false }, + { "id": [ "mon_opossum", "mon_raccoon", "mon_black_rat" ], "fg": 2648, "rotates": false }, + { "id": "mon_otter", "fg": 2649, "rotates": false }, + { "id": [ "mon_sewer_rat", "mon_weasel", "mon_mink" ], "fg": 2650, "rotates": false }, + { "id": "mon_bat_vampire", "fg": 2651, "rotates": false }, + { "id": "mon_bat", "fg": 2652, "rotates": false }, + { "id": "mon_albino_penguin", "fg": 2653, "rotates": false }, + { "id": "mon_robin", "fg": 2654, "rotates": false }, + { "id": "mon_bjay", "fg": 2655, "rotates": false }, + { "id": "mon_turkey", "fg": 2656, "rotates": false }, + { "id": "mon_chicken", "fg": 2657, "rotates": false }, + { "id": "mon_duck", "fg": 2658, "rotates": false }, + { "id": "mon_crow", "fg": 2659, "rotates": false }, + { "id": "mon_gull", "fg": 2660, "rotates": false }, + { "id": "mon_pidgeon", "fg": 2661, "rotates": false }, + { "id": [ "mon_duck_chick", "mon_chicken_chick" ], "fg": 2662, "rotates": false }, + { + "id": [ "mon_grouse_chick", "mon_crow_chick", "mon_turkey_chick", "mon_pheasant_chick" ], + "fg": 2663, + "rotates": false + }, + { "id": "mon_cockatrice_chick", "fg": 2664, "rotates": false }, + { "id": "mon_dimorphodon", "fg": 2665, "rotates": false }, + { "id": "mon_parasaurolophus", "fg": 2666, "rotates": false }, + { "id": "mon_spinosaurus", "fg": 2667, "rotates": false }, + { "id": "mon_stegosaurus", "fg": 2668, "rotates": false }, + { "id": "mon_titanis", "fg": 2669, "rotates": false }, + { "id": "mon_allosaurus", "fg": 2670, "rotates": false }, + { "id": "mon_ankylosaurus", "fg": 2671, "rotates": false }, + { "id": "mon_eoraptor", "fg": 2672, "rotates": false }, + { "id": "mon_gallimimus", "fg": 2673, "rotates": false }, + { "id": "mon_utahraptor", "fg": 2674, "rotates": false }, + { "id": "mon_compsognathus", "fg": 2675, "rotates": false }, + { "id": "mon_deinonychus", "fg": 2676, "rotates": false }, + { "id": "mon_velociraptor", "fg": 2677, "rotates": false }, + { "id": "mon_dilophosaurus", "fg": 2678, "rotates": false }, + { "id": "mon_rattlesnake_giant", "fg": 2679, "rotates": false }, + { "id": "mon_rattlesnake", "fg": 2680, "rotates": false }, + { "id": "mon_shadow_snake", "fg": 2681, "rotates": false }, + { "id": "mon_sewer_snake", "fg": 2682, "rotates": false }, + { "id": "mon_gator", "fg": 2683, "rotates": false }, + { "id": "mon_frog_giant", "fg": 2684, "rotates": false }, + { "id": "mon_fish_blinky", "fg": 2685, "rotates": false }, + { + "id": [ "mon_fish_trout", "mon_fish_perch", "mon_fish_salmon", "mon_fish_sunfish", "mon_fish_bowfin" ], + "fg": 2686, + "rotates": false + }, + { "id": "mon_fish_carp", "fg": 2687, "rotates": false }, + { "id": [ "mon_fish_bullhead", "mon_fish_sbass", "mon_fish_lbass" ], "fg": 2688, "rotates": false }, + { "id": [ "mon_fish_pike", "mon_fish_bluegill" ], "fg": 2689, "rotates": false }, + { "id": "mon_sewer_fish", "fg": 2690, "rotates": false }, + { "id": [ "mon_zhark", "mon_mutant_carp", "mon_mutant_salmon" ], "fg": 2691, "rotates": false }, + { "id": [ "mon_fish_whitefish", "mon_fish_pickerel", "mon_fish_pbass" ], "fg": 2692, "rotates": false }, + { "id": "mon_fish_flying", "fg": 2693, "rotates": false }, + { "id": "mon_fish_eel_large", "fg": 2694, "rotates": false }, + { "id": "mon_fish_eel", "fg": 2695, "rotates": false }, + { "id": "mon_alpha_razorclaw", "fg": 2696, "rotates": false }, + { "id": "mon_razorclaw", "fg": 2697, "rotates": false }, + { "id": [ "mon_giant_crayfish", "mon_fish_lobster_giant" ], "fg": 2698, "rotates": false }, + { "id": [ "mon_fish_lobster", "mon_fish_crayfish" ], "fg": 2699, "rotates": false }, + { "id": "mon_spider_jumping_giant_acid", "fg": 2700, "rotates": false }, + { "id": "mon_spider_jumping_giant", "fg": 2701, "rotates": false }, + { "id": "mon_spider_jumping", "fg": 2702, "rotates": false }, + { "id": "mon_spider_trapdoor_giant_guardian", "fg": 2703, "rotates": false }, + { "id": [ "mon_spider_trapdoor_giant", "mon_spider_trapdoor_giant_pk" ], "fg": 2704, "rotates": false }, + { "id": [ "mon_spider_trapdoor", "mon_spider_trapdoor_giant_s" ], "fg": 2705, "rotates": false }, + { "id": "mon_spider_web_queen", "fg": 2706, "rotates": false }, + { "id": "mon_spider_web_alpha", "fg": 2707, "rotates": false }, + { "id": [ "mon_spider_web_omega", "mon_spider_web_mu" ], "fg": 2708, "rotates": false }, + { "id": "mon_spider_web", "fg": 2709, "rotates": false }, + { "id": "mon_spider_web_s", "fg": 2710, "rotates": false }, + { "id": [ "mon_spider_wolf_giant", "mon_spider_wolf_giant_pk" ], "fg": 2711, "rotates": false }, + { "id": "mon_spider_wolf", "fg": 2712, "rotates": false }, + { "id": "mon_spider_cellar_giant", "fg": 2713, "rotates": false }, + { "id": "mon_spider_cellar_giant_s", "fg": 2714, "rotates": false }, + { "id": "mon_spider_widow_giant", "fg": 2715, "rotates": false }, + { "id": [ "mon_spider_widow_giant_s", "mon_spider_widow" ], "fg": 2716, "rotates": false }, + { "id": "mon_dermatik", "fg": 2717, "rotates": false }, + { "id": "mon_dermatik_larva", "fg": 2718, "rotates": false }, + { "id": "mon_wasp_queen", "fg": 2719, "rotates": false }, + { "id": "mon_wasp", "fg": 2720, "rotates": false }, + { "id": "mon_bee_queen", "fg": 2721, "rotates": false }, + { "id": "mon_bee_king", "fg": 2722, "rotates": false }, + { "id": [ "mon_bee_scout", "mon_bee_soldier", "mon_bee" ], "fg": 2723, "rotates": false }, + { "id": "mon_butterfly", "fg": 2724, "rotates": false }, + { "id": "mon_caterpillar", "fg": 2725, "rotates": false }, + { "id": "mon_moth", "fg": 2726, "rotates": false }, + { "id": "mon_dragonfly_giant", "fg": 2727, "rotates": false }, + { "id": [ "mon_frog", "mon_dragonfly" ], "fg": 2728, "rotates": false }, + { "id": "mon_mosquito_giant", "fg": 2729, "rotates": false }, + { "id": "mon_locust", "fg": 2730, "rotates": false }, + { "id": "mon_locust_nymph", "fg": 2731, "rotates": false }, + { "id": "mon_fly", "fg": 2732, "rotates": false }, + { "id": "mon_centipede_giant", "fg": 2733, "rotates": false }, + { "id": "mon_plague_vector", "fg": 2734, "rotates": false }, + { "id": "mon_skittering_plague", "fg": 2735, "rotates": false }, + { "id": "mon_plague_nymph", "fg": 2736, "rotates": false }, + { "id": [ "mon_pregnant_giant_cockroach", "mon_giant_cockroach" ], "fg": 2737, "rotates": false }, + { "id": "mon_giant_cockroach_nymph", "fg": 2738, "rotates": false }, + { "id": [ "mon_centipede", "mon_slug", "mon_mosquito" ], "fg": 2739, "rotates": false }, + { "id": "mon_wasp_small", "fg": 2740, "rotates": false }, + { "id": [ "mon_pupae_pk", "mon_pupae" ], "fg": 2741, "rotates": false }, + { "id": "mon_ant_acid_kwama", "fg": 2742, "rotates": false }, + { "id": "mon_ant_queen_firebug", "fg": 2743, "rotates": false }, + { "id": "mon_ant_acid_queen", "fg": 2744, "rotates": false }, + { "id": "mon_ant_acid_soldier", "fg": 2745, "rotates": false }, + { "id": "mon_ant_soldier_terminal", "fg": 2746, "rotates": false }, + { "id": "mon_ant_terminal", "fg": 2747, "rotates": false }, + { "id": [ "mon_ant_queen", "mon_ant_queen_young" ], "fg": 2748, "rotates": false }, + { "id": "mon_ant_soldier", "fg": 2749, "rotates": false }, + { "id": [ "mon_ant_soldier_pk", "mon_ant_soldier_pk_weak" ], "fg": 2750, "rotates": false }, + { "id": "mon_ant_acid", "fg": 2751, "rotates": false }, + { "id": "mon_ant_male", "fg": 2752, "rotates": false }, + { "id": "mon_ant", "fg": 2753, "rotates": false }, + { "id": "mon_fant", "fg": 2754, "rotates": false }, + { "id": "mon_ant_fungus", "fg": 2755, "rotates": false }, + { "id": "mon_ant_scrib", "fg": 2756, "rotates": false }, + { "id": [ "mon_ant_larva", "mon_bee_larvae", "mon_maggot", "mon_wasp_larvae" ], "fg": 2757, "rotates": false }, + { "id": "mon_ant_acid_larva", "fg": 2758, "rotates": false }, + { "id": "mon_slug_giant", "fg": 2759, "rotates": false }, + { "id": "mon_sludge_crawler_queen", "fg": 2760, "rotates": false }, + { "id": "mon_sludge_crawler", "fg": 2761, "rotates": false }, + { "id": "mon_dark_wyrm", "fg": 2762, "rotates": false }, + { "id": "mon_graboid", "fg": 2763, "rotates": false }, + { "id": "mon_yugg", "fg": 2764, "rotates": false }, + { "id": "mon_worm", "fg": 2765, "rotates": false }, + { "id": "mon_halfworm", "fg": 2766, "rotates": false }, + { "id": "mon_tardigrade", "fg": 2767, "rotates": false }, + { "id": "mon_fardigrade", "fg": 2768, "rotates": false }, + { "id": [ "mon_biollante", "mon_biollante_pk" ], "fg": 2769, "rotates": false }, + { "id": "mon_vinebeast_terminal", "fg": 2770, "rotates": false }, + { "id": [ "mon_vinebeast", "mon_vinebeast_pk" ], "fg": 2771, "rotates": false }, + { + "id": [ "mon_creeper_vine_terminal", "mon_creeper_vine_terminal_pk" ], + "fg": 2772, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 2773 }, + { "id": "corner", "fg": 2774 }, + { "id": "edge", "fg": 2775 }, + { "id": "end_piece", "fg": 2776 }, + { "id": "t_connection", "fg": 2777 }, + { "id": "unconnected", "fg": 2772 } + ] + }, + { "id": "mon_finebeast", "fg": 2778, "rotates": false }, + { + "id": [ "mon_creeper_vine_pk", "mon_creeper_vine" ], + "fg": 2779, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 2780 }, + { "id": "corner", "fg": 2781 }, + { "id": "edge", "fg": 2782 }, + { "id": "end_piece", "fg": 2783 }, + { "id": "t_connection", "fg": 2784 }, + { "id": "unconnected", "fg": 2779 } + ] + }, + { "id": "mon_creeper_root", "fg": 2785, "rotates": false }, + { "id": "mon_creeper_hub", "fg": 2786, "rotates": false }, + { "id": "mon_finecraft", "fg": 2787, "rotates": false }, + { "id": "mon_dionaea", "fg": 2788, "rotates": false }, + { "id": "mon_fionaea", "fg": 2789, "rotates": false }, + { "id": "mon_dionaea_sprout", "fg": 2790, "rotates": false }, + { "id": "mon_triffid_heart", "fg": 2791, "rotates": false }, + { "id": "mon_triffid_queen", "fg": 2792, "rotates": false }, + { "id": [ "mon_triffid_pk", "mon_triffid" ], "fg": 2793, "rotates": false }, + { "id": "mon_triffid_young", "fg": 2794, "rotates": false }, + { "id": "mon_triffid_sprig", "fg": 2795, "rotates": false }, + { "id": "mon_fungal_fighter", "fg": 2796, "rotates": false }, + { "id": [ "mon_fungaloid_dormant", "mon_fungaloid_pk", "mon_fungaloid" ], "fg": 2797, "rotates": false }, + { "id": "mon_fungaloid_young", "fg": 2798, "rotates": false }, + { "id": "mon_fungal_blossom", "fg": 2799, "rotates": false }, + { "id": "mon_fungal_tendril", "fg": 2800, "rotates": false }, + { "id": "mon_fungal_wall", "fg": 2801, "rotates": false }, + { "id": "mon_fungal_hedgerow", "fg": 2802, "rotates": false }, + { "id": [ "mon_fungus_boil", "mon_spore" ], "fg": 2803, "rotates": false }, + { "id": "mon_zombie_thorny", "fg": 2804 }, + { "id": "mon_zombie_fiend_shocker", "fg": 2805, "rotates": false }, + { "id": [ "mon_zombie_fiend_pk", "mon_zombie_fiend" ], "fg": 2806, "rotates": false }, + { "id": "mon_zombie_nullfield", "fg": 2807, "rotates": false }, + { "id": "mon_zombie_electric_fungal", "fg": 2808, "rotates": false }, + { "id": [ "mon_zombie_electric_pk", "mon_zombie_electric" ], "fg": 2809, "rotates": false }, + { "id": "mon_zombie_scorched_shocker", "fg": 2810, "rotates": false }, + { "id": "mon_zombie_lord", "fg": 2811, "rotates": false }, + { "id": [ "mon_zombie_master_pk", "mon_zombie_master" ], "fg": 2812, "rotates": false }, + { "id": "mon_zombie_scorched_master", "fg": 2813, "rotates": false }, + { "id": [ "mon_zombie_necro_pk", "mon_zombie_necro" ], "fg": 2814, "rotates": false }, + { "id": "mon_zombie_scorched_necro", "fg": 2815, "rotates": false }, + { "id": "mon_zombie_predator", "fg": 2816, "rotates": false }, + { "id": [ "mon_zombie_runner_pk", "mon_zombie_runner" ], "fg": 2817, "rotates": false }, + { "id": "mon_zombie_soldier_blackops_2", "fg": 2818, "rotates": false }, + { "id": "mon_zombie_soldier_blackops_1", "fg": 2819, "rotates": false }, + { "id": "mon_zombie_military_pilot", "fg": 2820, "rotates": false }, + { "id": "mon_zombie_flamer", "fg": 2821, "rotates": false }, + { "id": "mon_zombie_soldier_acid_1", "fg": 2822, "rotates": false }, + { "id": "mon_zombie_armored", "fg": 2823, "rotates": false }, + { "id": "mon_zombie_grenadier", "fg": 2824, "rotates": false }, + { "id": "mon_zombie_grenadier_elite", "fg": 2825, "rotates": false }, + { "id": "mon_zombie_soldier", "fg": 2826, "rotates": false }, + { "id": "mon_zombie_soldier_acid_2", "fg": 2827, "rotates": false }, + { "id": "mon_zombie_bio_op", "fg": 2828, "rotates": false }, + { "id": "mon_zombie_fireman", "fg": 2829, "rotates": false }, + { "id": "mon_zombie_hazmat", "fg": 2830, "rotates": false }, + { "id": "mon_zombie_survivor", "fg": 2831, "rotates": false }, + { "id": "mon_zombie_cop", "fg": 2832, "rotates": false }, + { "id": "mon_zombie_scientist", "fg": 2833, "rotates": false }, + { "id": "mon_zombie_technician", "fg": 2834, "rotates": false }, + { "id": "mon_zombie_labsecurity", "fg": 2835, "rotates": false }, + { "id": "mon_gas_zombie", "fg": 2837, "rotates": false }, + { "id": "mon_zombie_corrosive", "fg": 2838, "rotates": false }, + { "id": "mon_homunculus", "fg": 2836, "rotates": false }, + { "id": "mon_zombie_kevlar_1", "fg": 2839, "rotates": false }, + { "id": "mon_zombie_brute_ninja", "fg": 2840, "rotates": false }, + { "id": "mon_zombie_brute_shocker", "fg": 2841, "rotates": false }, + { "id": "mon_zombie_brute", "fg": 2842, "rotates": false }, + { "id": "mon_zombie_brute_grappler", "fg": 2843, "rotates": false }, + { "id": "mon_zombie_grappler", "fg": 2844, "rotates": false }, + { "id": "mon_zombie_grabber", "fg": 2845, "rotates": false }, + { "id": "mon_zombie_mancroc", "fg": 2846, "rotates": false }, + { "id": "mon_zombie_biter", "fg": 2847, "rotates": false }, + { "id": "mon_zombie_anklebiter", "fg": 2848, "rotates": false }, + { "id": [ "mon_beekeeper", "mon_beekeeper_pk" ], "fg": 2849, "rotates": false }, + { "id": "mon_zombie_radbag", "fg": 2850, "rotates": false }, + { "id": [ "mon_boomer_huge_pk", "mon_boomer_huge" ], "fg": 2853, "rotates": false }, + { "id": "mon_boomer", "fg": 2854, "rotates": false }, + { "id": "mon_boomer_fungus", "fg": 2855, "rotates": false }, + { "id": [ "mon_zombie_gasbag", "mon_zombie_gasbag_pk" ], "fg": 2856, "rotates": false }, + { "id": [ "mon_zombie_fat", "mon_zombie_fat_2", "mon_zombie_fat_3" ], "fg": 2857, "rotates": false }, + { "id": [ "mon_zombie_smoker_pk", "mon_zombie_smoker" ], "fg": 2851, "rotates": false }, + { "id": "mon_zombie_spitter", "fg": 2852, "rotates": false }, + { "id": "mon_skeleton_brute", "fg": 2858, "rotates": false }, + { "id": "mon_skeleton", "fg": 2859, "rotates": false }, + { "id": "mon_skeleton_scorched", "fg": 2860, "rotates": false }, + { "id": "mon_zombie_waif", "fg": 2861, "rotates": false }, + { "id": "mon_zombie_creepy", "fg": 2862, "rotates": false }, + { "id": "mon_zombie_sproglodyte", "fg": 2863, "rotates": false }, + { "id": "mon_zombie_snotgobbler", "fg": 2864, "rotates": false }, + { "id": "mon_zombie_screecher", "fg": 2865, "rotates": false }, + { "id": "mon_zombie_shrieker", "fg": 2866, "rotates": false }, + { "id": "mon_zombie_shriekling", "fg": 2867, "rotates": false }, + { "id": [ "mon_zombie_child_scorched_2", "mon_zombie_child_scorched" ], "fg": 2868, "rotates": false }, + { "id": [ "mon_zombie_child_reaver", "mon_kreck" ], "fg": 2869, "rotates": false }, + { + "id": [ "mon_zombie_child_2", "mon_zombie_child_3", "mon_zombie_child_pk", "mon_zombie_child" ], + "fg": 2870, + "rotates": false + }, + { "id": "mon_zombie_child_fungus", "fg": 2871, "rotates": false }, + { "id": [ "mon_dog_zombie_cop", "mon_dog_zombie_cop_pk" ], "fg": 2872, "rotates": false }, + { + "id": [ "mon_dog_zombie_rot", "mon_dog_zombie_rot_pain", "mon_dog_zombie_rot_worms" ], + "fg": 2873, + "rotates": false + }, + { "id": [ "mon_dog_skeleton", "mon_dog_skeleton_pk" ], "fg": 2874, "rotates": false }, + { "id": [ "mon_zombie_dog", "mon_zombie_dog_pk", "mon_zombie_fast" ], "fg": 2875, "rotates": false }, + { "id": "mon_zombie_hunter", "fg": 2876, "rotates": false }, + { + "id": [ "mon_zombie_crawler_pk", "mon_zombie_crawler_pk_weak", "mon_zombie_crawler" ], + "fg": 2877, + "rotates": false + }, + { "id": "mon_zombie_crawler_scorched", "fg": 2878, "rotates": false }, + { "id": "mon_zombie_cripple", "fg": 2879, "rotates": false }, + { "id": [ "mon_zombie_blind_pk", "mon_zombie_blind" ], "fg": 2880, "rotates": false }, + { "id": "mon_zombie_skull", "fg": 2881, "rotates": false }, + { "id": "mon_gracke", "fg": 2882, "rotates": false }, + { "id": [ "mon_zombie_hollow", "mon_zombie_hollow_pk" ], "fg": 2883, "rotates": false }, + { "id": "mon_zombie_ears", "fg": 2884, "rotates": false }, + { "id": "mon_zombie_brainless", "fg": 2885, "rotates": false }, + { + "id": [ + "mon_zombie_rot_flu", + "mon_zombie_rot_pain", + "mon_zombie_rot_worms", + "mon_zombie_rot_pk", + "mon_zombie_rot_pk_flu", + "mon_zombie_rot_pk_pain", + "mon_zombie_rot_pk_worms", + "mon_zombie_rot" + ], + "fg": 2886, + "rotates": false + }, + { "id": "mon_zombie_shady_ghost", "fg": 2887, "rotates": false }, + { "id": [ "mon_zombie_shady_pk", "mon_zombie_shady" ], "fg": 2888, "rotates": false }, + { "id": "mon_zombie_fungus", "fg": 2889, "rotates": false }, + { "id": [ "mon_zombie_acidic", "mon_zombie_acidic_pk" ], "fg": 2890, "rotates": false }, + { "id": [ "mon_zombie_tough", "mon_zombie_tough_2", "mon_zombie_tough_3" ], "fg": 2891, "rotates": false }, + { "id": "mon_zombie_scales", "fg": 2892, "rotates": false }, + { "id": [ "mon_zombie_swimmer", "mon_zombie_swimmer_pk" ], "fg": 2893, "rotates": false }, + { "id": "mon_zombie_dancer", "fg": 2894, "rotates": false }, + { "id": [ "mon_zombie_scorched_pk", "mon_zombie_scorched" ], "fg": 2895, "rotates": false }, + { "id": [ "mon_zombie_pk", "mon_zombie_2", "mon_zombie_3", "mon_zombie" ], "fg": 2896, "rotates": false }, + { "id": "mon_zanimal_scorched", "fg": 2897, "rotates": false }, + { "id": "mon_zanimal_skeleton", "fg": 2898, "rotates": false }, + { "id": "mon_zanimal_skeleton_dead", "fg": 2899, "rotates": false }, + { "id": "mon_blob_brain", "fg": 2900, "rotates": false }, + { "id": "mon_breather_hub", "fg": 2901, "rotates": false }, + { "id": [ "mon_gelatin", "mon_blob_large" ], "fg": 2902, "rotates": false }, + { "id": "mon_player_blob", "fg": 2903, "rotates": false }, + { "id": "mon_blob", "fg": 2904, "rotates": false }, + { "id": "mon_blob_small", "fg": 2905, "rotates": false }, + { "id": "mon_breather", "fg": 2906, "rotates": false }, + { "id": "player_female", "fg": 2907, "rotates": false }, + { "id": "player_male", "fg": 2908, "rotates": false }, + { "id": "npc_female", "fg": 2909, "rotates": false }, + { "id": "npc_male", "fg": 2910, "rotates": false }, + { "id": "overlay_mutation_bio_armor_legs", "fg": 2911 }, + { "id": "overlay_male_mutation_bio_armor_legs", "fg": 2912 }, + { "id": "overlay_mutation_bio_armor_torso", "fg": 2913 }, + { "id": "overlay_male_mutation_bio_armor_torso", "fg": 2914 }, + { "id": "overlay_mutation_bio_armor_arms", "fg": 2915 }, + { "id": "overlay_male_mutation_bio_armor_arms", "fg": 2916 }, + { "id": "overlay_mutation_bio_armor_head", "fg": 2917 }, + { "id": "overlay_male_mutation_bio_armor_head", "fg": 2918 }, + { "id": "overlay_mutation_bio_blaster", "fg": 2919 }, + { "id": "overlay_male_mutation_bio_blaster", "fg": 2920 }, + { "id": "overlay_mutation_bio_deformity", "fg": 2921 }, + { "id": "overlay_male_mutation_bio_deformity", "fg": 2922 }, + { "id": [ "overlay_mutation_active_bio_scent_vision", "overlay_mutation_active_bio_blindfold" ], "fg": 2923 }, + { + "id": [ "overlay_male_mutation_active_bio_scent_vision", "overlay_male_mutation_active_bio_blindfold" ], + "fg": 2924 + }, + { "id": "overlay_mutation_active_bio_night_vision", "fg": 2925 }, + { "id": "overlay_male_mutation_active_bio_night_vision", "fg": 2926 }, + { "id": "overlay_mutation_active_bio_infrared", "fg": 2927 }, + { "id": "overlay_male_mutation_active_bio_infrared", "fg": 2928 }, + { "id": "overlay_mutation_THRESH_MARLOSS", "fg": 2929 }, + { "id": "overlay_male_mutation_THRESH_MARLOSS", "fg": 2930 }, + { "id": "overlay_mutation_THRESH_ALPHA", "fg": 2931 }, + { "id": "overlay_male_mutation_THRESH_ALPHA", "fg": 2932 }, + { "id": "overlay_mutation_THRESH_ELFA", "fg": 2933 }, + { "id": "overlay_male_mutation_THRESH_ELFA", "fg": 2934 }, + { "id": "overlay_mutation_THRESH_CHIMERA", "fg": 2935 }, + { "id": "overlay_mutation_THRESH_BEAST", "fg": 2936 }, + { "id": "overlay_male_mutation_THRESH_BEAST", "fg": 2937 }, + { "id": "overlay_mutation_THRESH_FELINE", "fg": 2938 }, + { "id": "overlay_mutation_THRESH_LUPINE", "fg": 2939 }, + { "id": "overlay_mutation_THRESH_RAT", "fg": 2940 }, + { "id": "overlay_mutation_THRESH_MOUSE", "fg": 2941 }, + { "id": "overlay_mutation_THRESH_TROGLOBITE", "fg": 2942 }, + { "id": "overlay_male_mutation_THRESH_TROGLOBITE", "fg": 2943 }, + { "id": "overlay_mutation_THRESH_BIRD", "fg": 2944 }, + { "id": "overlay_mutation_THRESH_RAPTOR", "fg": 2945 }, + { "id": "overlay_mutation_THRESH_FISH", "fg": 2946 }, + { "id": "overlay_mutation_THRESH_CEPHALOPOD", "fg": 2947 }, + { "id": "overlay_male_mutation_THRESH_CEPHALOPOD", "fg": 2948 }, + { "id": "overlay_mutation_INT_UP_4", "fg": 2949 }, + { "id": "overlay_male_mutation_INT_UP_4", "fg": 2950 }, + { "id": "overlay_mutation_THRESH_SPIDER", "fg": 2951 }, + { "id": "overlay_male_mutation_THRESH_SPIDER", "fg": 2952 }, + { "id": "overlay_mutation_THRESH_INSECT", "fg": 2953 }, + { "id": "overlay_mutation_THRESH_PLANT", "fg": 2954 }, + { "id": "overlay_male_mutation_THRESH_PLANT", "fg": 2955 }, + { "id": [ "overlay_mutation_FLOWERS", "overlay_mutation_ROSEBUDS" ], "fg": 2956 }, + { "id": [ "overlay_male_mutation_FLOWERS", "overlay_male_mutation_ROSEBUDS" ], "fg": 2957 }, + { "id": "overlay_mutation_THRESH_MYCUS", "fg": 2958 }, + { "id": "overlay_mutation_THRESH_SLIME", "fg": 2959 }, + { "id": "overlay_male_mutation_THRESH_SLIME", "fg": 2960 }, + { "id": [ "overlay_mutation_BENDY2", "overlay_mutation_BENDY3", "overlay_mutation_BENDY1" ], "fg": 2961 }, + { + "id": [ "overlay_male_mutation_BENDY2", "overlay_male_mutation_BENDY3", "overlay_male_mutation_BENDY1" ], + "fg": 2962 + }, + { "id": "overlay_mutation_AMORPHOUS", "fg": 2963 }, + { "id": "overlay_male_mutation_AMORPHOUS", "fg": 2964 }, + { "id": "overlay_mutation_PER_SLIME", "fg": 2965 }, + { "id": "overlay_male_mutation_PER_SLIME", "fg": 2966 }, + { "id": "overlay_mutation_PER_SLIME_OK", "fg": 2967 }, + { "id": "f_planter", "fg": 2968, "rotates": false }, + { "id": "f_planter_seed", "fg": 2969, "rotates": false }, + { "id": "f_planter_seedling", "fg": 2970, "rotates": false }, + { "id": "f_planter_mature", "fg": 2971, "rotates": false }, + { "id": "f_planter_harvest", "fg": 2972, "rotates": false }, + { "id": "vp_autoclave", "fg": 2973, "rotates": false }, + { "id": [ "f_autoclave", "f_autoclave_full" ], "fg": 2974, "rotates": false }, + { "id": "vp_dishwasher", "fg": 2975, "rotates": false }, + { "id": "t_door_gray_o", "fg": 2976, "rotates": false }, + { "id": "t_door_gray_c", "fg": 2977, "rotates": false }, + { "id": "t_door_gray_b", "fg": 2978, "rotates": false }, + { "id": "t_door_red_o", "fg": 2979, "rotates": false }, + { "id": "t_door_red_c", "fg": 2980, "rotates": false }, + { "id": "t_door_red_b", "fg": 2981, "rotates": false }, + { "id": "t_door_green_o", "fg": 2982, "rotates": false }, + { "id": "t_door_green_c", "fg": 2983, "rotates": false }, + { "id": "t_door_green_b", "fg": 2984, "rotates": false }, + { "id": "t_door_white_o", "fg": 2985, "rotates": false }, + { "id": "t_door_white_c", "fg": 2986, "rotates": false }, + { "id": "t_door_white_b", "fg": 2987, "rotates": false }, + { "id": "sponge", "fg": 2988, "rotates": false }, + { "id": "wash_kit", "fg": 2989, "rotates": false }, + { "id": "pouch_autoclave", "fg": 2990, "rotates": false }, + { "id": "f_alien_tendril", "fg": 2991, "rotates": false }, + { + "id": "t_wall_resin", + "fg": 227, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 2993 }, + { "id": "corner", "fg": 2994 }, + { "id": "edge", "fg": 2995 }, + { "id": "end_piece", "fg": 2996 }, + { "id": "t_connection", "fg": 2997 }, + { "id": "unconnected", "fg": 2992 } + ] + }, + { "id": "t_resin_hole_c", "fg": 2998, "rotates": false }, + { "id": "t_resin_hole_o", "fg": 2999, "rotates": false }, + { "id": "t_resin_hole", "fg": 3000, "rotates": false }, + { "id": "t_floor_resin", "fg": 3001, "rotates": false }, + { + "id": "t_wall_resin_cage", + "fg": 227, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 3003 }, + { "id": "corner", "fg": 3004 }, + { "id": "edge", "fg": 3005 }, + { "id": "end_piece", "fg": 3006 }, + { "id": "t_connection", "fg": 3007 }, + { "id": "unconnected", "fg": 3003 } + ] + }, + { "id": "f_alien_pod_organ", "fg": 3008, "rotates": false }, + { "id": "f_alien_pod", "fg": 3009, "rotates": false }, + { "id": "f_alien_pod_resin", "fg": 3010, "rotates": false }, + { "id": "f_alien_anemone", "fg": 3011, "rotates": false }, + { "id": "f_alien_scar", "fg": 3012, "rotates": false }, + { "id": "f_alien_gasper", "fg": 3013, "rotates": false }, + { "id": "f_alien_zapper", "fg": 3014, "rotates": false }, + { + "id": "f_alien_table", + "fg": 227, + "rotates": false, + "multitile": true, + "additional_tiles": [ + { "id": "center", "fg": 3016 }, + { "id": "corner", "fg": 3017 }, + { "id": "edge", "fg": 3018 }, + { "id": "end_piece", "fg": 3019 }, + { "id": "t_connection", "fg": 3020 }, + { "id": "unconnected", "fg": 3015 } + ] + }, + { "id": "tie_bow", "fg": 3021, "rotates": false }, + { "id": "backpack_hiking", "fg": 3022, "rotates": false }, + { "id": "backpack_tactical_large", "fg": 3023, "rotates": false }, + { "id": "backpack_giant", "fg": 3024, "rotates": false }, + { "id": "petpack", "fg": 3025, "rotates": false }, + { "id": "bigback", "fg": 3026, "rotates": false }, + { "id": "travelpack", "fg": 3027, "rotates": false }, + { "id": "guitar_electric", "fg": 3028, "rotates": false }, + { "id": "fp_loyalty_card", "fg": 3029, "rotates": false }, + { + "id": [ "wheel_mount_heavy", "vp_wheel_mount_heavy", "vp_wheel_mount_heavy_steerable" ], + "fg": 3030, + "rotates": false + }, + { + "id": [ "wheel_mount_medium", "vp_wheel_mount_medium", "vp_wheel_mount_medium_steerable" ], + "fg": 3031, + "rotates": false + }, + { + "id": [ "wheel_mount_light", "vp_wheel_mount_light", "vp_wheel_mount_light_steerable" ], + "fg": 3032, + "rotates": false + }, + { "id": "t_tree_juniper", "fg": 3033, "rotates": false }, + { "id": "t_tree_juniper_season_winter", "fg": 3034, "rotates": false }, + { "id": "t_tree_juniper_harvested", "fg": 3035, "rotates": false }, + { "id": "hinge", "fg": 3036, "rotates": false }, + { "id": "wood_sheet", "fg": 3037, "rotates": false }, + { "id": "wood_panel", "fg": 3038, "rotates": false }, + { "id": "condom", "fg": 3039, "rotates": false }, + { "id": "zombie_revival_indicator", "fg": 3040 } + ] + }, + { + "file": "tiles_20x20.png", + "sprite_width": 20, + "sprite_height": 20, + "sprite_offset_x": -5, + "sprite_offset_y": -10, + "tiles": [ + { "id": "mon_dragon_dummy", "fg": 3056, "rotates": false }, + { "id": "mon_tyrannosaurus", "fg": 3057, "rotates": false }, + { "id": "mon_triceratops", "fg": 3058, "rotates": false }, + { "id": "mon_fungaloid_queen", "fg": 3059 }, + { "id": "mon_fungaloid_seeder", "fg": 3060 }, + { "id": "mon_fungaloid_tower", "fg": 3061 }, + { "id": "mon_skeleton_hulk", "fg": 3062, "rotates": false }, + { "id": "mon_zombie_kevlar_2", "fg": 3063, "rotates": false }, + { "id": "mon_zombie_hulk_pk", "fg": 3064, "rotates": false }, + { "id": "mon_zombie_hulk", "fg": 3064, "rotates": false }, + { "id": "overlay_mutation_THRESH_URSINE", "fg": 3065 }, + { "id": "overlay_mutation_THRESH_CATTLE", "fg": 3066 }, + { "id": "overlay_male_mutation_THRESH_CATTLE", "fg": 3067 }, + { "id": "overlay_mutation_THRESH_LIZARD", "fg": 3068 } + ] + }, + { + "file": "fallback.png", + "tiles": [ ], + "ascii": [ + { "offset": 0, "bold": false, "color": "BLACK" }, + { "offset": 256, "bold": true, "color": "WHITE" }, + { "offset": 512, "bold": false, "color": "WHITE" }, + { "offset": 768, "bold": true, "color": "BLACK" }, + { "offset": 1024, "bold": false, "color": "RED" }, + { "offset": 1280, "bold": false, "color": "GREEN" }, + { "offset": 1536, "bold": false, "color": "BLUE" }, + { "offset": 1792, "bold": false, "color": "CYAN" }, + { "offset": 2048, "bold": false, "color": "MAGENTA" }, + { "offset": 2304, "bold": false, "color": "YELLOW" }, + { "offset": 2560, "bold": true, "color": "RED" }, + { "offset": 2816, "bold": true, "color": "GREEN" }, + { "offset": 3072, "bold": true, "color": "BLUE" }, + { "offset": 3328, "bold": true, "color": "CYAN" }, + { "offset": 3584, "bold": true, "color": "MAGENTA" }, + { "offset": 3840, "bold": true, "color": "YELLOW" } + ] + } + ], + "overlay_ordering": [ + { "id": "THRESH_MARLOSS", "order": 400 }, + { "id": [ "bio_armor_legs", "bio_armor_torso", "bio_armor_arms" ], "order": 500 }, + { "id": "bio_armor_head", "order": 505 }, + { "id": "bio_blaster", "order": 510 }, + { "id": "bio_deformity", "order": 515 }, + { "id": [ "active_bio_blindfold", "active_bio_scent_vision" ], "order": 520 }, + { "id": "active_bio_night_vision", "order": 521 }, + { "id": "active_bio_infrared", "order": 522 }, + { + "id": [ + "THRESH_ALPHA", + "THRESH_CHIMERA", + "THRESH_BEAST", + "THRESH_URSINE", + "THRESH_FELINE", + "THRESH_LUPINE", + "THRESH_CATTLE", + "THRESH_RAT", + "THRESH_MOUSE", + "THRESH_TROGLOBITE", + "THRESH_BIRD", + "THRESH_RAPTOR", + "THRESH_LIZARD", + "THRESH_FISH", + "THRESH_CEPHALOPOD", + "THRESH_SPIDER", + "THRESH_INSECT", + "THRESH_PLANT", + "THRESH_MYCUS", + "THRESH_SLIME" + ], + "order": 5000 + }, + { "id": [ "BENDY1", "BENDY2", "BENDY3" ], "order": 5100 }, + { "id": [ "AMORPHOUS", "INT_UP_4", "FLOWERS", "ROSEBUDS" ], "order": 5200 }, + { "id": [ "PER_SLIME", "THRESH_ELFA" ], "order": 5300 }, + { "id": "PER_SLIME_OK", "order": 5400 } + ] +} diff --git a/gfx/RetroDays+Tileset/tiles.png b/gfx/RetroDays+Tileset/tiles.png new file mode 100644 index 0000000000000..729766ab9dd38 Binary files /dev/null and b/gfx/RetroDays+Tileset/tiles.png differ diff --git a/gfx/RetroDays+Tileset/tiles_20x20.png b/gfx/RetroDays+Tileset/tiles_20x20.png new file mode 100644 index 0000000000000..20d4596f967ae Binary files /dev/null and b/gfx/RetroDays+Tileset/tiles_20x20.png differ diff --git a/gfx/RetroDays+Tileset/tileset.txt b/gfx/RetroDays+Tileset/tileset.txt new file mode 100644 index 0000000000000..c1270c625ca8f --- /dev/null +++ b/gfx/RetroDays+Tileset/tileset.txt @@ -0,0 +1,9 @@ +#RETRO DAYS+ TILESET +#Name of the tileset +NAME: retrodays+ +#Viewing (Option) name of the tileset +VIEW: RetroDays+ +#JSON Path - Default of gfx/tile_config.json +JSON: tile_config.json +#Tileset Path - Default of gfx/tinytile.png +TILESET: tiles.png diff --git a/src/activity_item_handling.cpp b/src/activity_item_handling.cpp index d648198931001..4d4bce6ced17d 100644 --- a/src/activity_item_handling.cpp +++ b/src/activity_item_handling.cpp @@ -70,21 +70,22 @@ const int ACTIVITY_SEARCH_DISTANCE = 60; /** Activity-associated item */ struct act_item { - /// Pointer to the inventory item - const item *it; + /// inventory item + item_location loc; /// How many items need to be processed int count; /// Amount of moves that processing will consume int consumed_moves; - act_item( const item *it, int count, int consumed_moves ) - : it( it ), + act_item( const item_location &loc, int count, int consumed_moves ) + : loc( loc ), count( count ), consumed_moves( consumed_moves ) {} }; // TODO: Deliberately unified with multidrop. Unify further. -using drop_indexes = std::list>; +using drop_location = std::pair; +using drop_locations = std::list>; static bool same_type( const std::list &items ) { @@ -351,30 +352,28 @@ void put_into_vehicle_or_drop( Character &c, item_drop_reason reason, const std: drop_on_map( c, reason, items, where ); } -static drop_indexes convert_to_indexes( const player_activity &act ) +static drop_locations convert_to_locations( const player_activity &act ) { - drop_indexes res; + drop_locations res; - if( act.values.size() % 2 != 0 ) { + if( act.values.size() != act.targets.size() ) { debugmsg( "Drop/stash activity contains an odd number of values." ); return res; } - for( auto iter = act.values.begin(); iter != act.values.end(); iter += 2 ) { - res.emplace_back( *iter, *std::next( iter ) ); + for( size_t i = 0; i < act.values.size(); i++ ) { + res.emplace_back( act.targets[i], act.values[i] ); } return res; } -static drop_indexes convert_to_indexes( const player &p, const std::list &items ) +static drop_locations convert_to_locations( const std::list &items ) { - drop_indexes res; + drop_locations res; - for( const auto &ait : items ) { - const int pos = p.get_item_position( ait.it ); - - if( pos != INT_MIN && ait.count > 0 ) { - if( res.empty() || res.back().first != pos ) { - res.emplace_back( pos, ait.count ); + for( const act_item &ait : items ) { + if( ait.loc && ait.count > 0 ) { + if( res.empty() || res.back().first != ait.loc ) { + res.emplace_back( ait.loc, ait.count ); } else { res.back().second += ait.count; } @@ -383,31 +382,30 @@ static drop_indexes convert_to_indexes( const player &p, const std::list convert_to_items( const player &p, const drop_indexes &drop, - int min_pos, int max_pos ) +static std::list convert_to_items( Character &p, const drop_locations &drop, + std::function filter ) { std::list res; - for( const auto &rec : drop ) { - const auto pos = rec.first; - const auto count = rec.second; + for( const drop_location &rec : drop ) { + const item_location loc = rec.first; + const int count = rec.second; - if( pos < min_pos || pos > max_pos ) { + if( !filter( loc ) ) { continue; - } else if( pos >= 0 ) { + } else if( !p.is_worn( *loc ) && !p.is_wielding( *loc ) ) { int obtained = 0; - for( const auto &it : p.inv.const_stack( pos ) ) { + for( const item &it : p.inv.const_stack( p.get_item_position( &*loc ) ) ) { if( obtained >= count ) { break; } const int qty = it.count_by_charges() ? std::min( it.charges, count - obtained ) : 1; obtained += qty; - // TODO: Use a calculated cost - res.emplace_back( &it, qty, 100 ); + item_location loc( p, const_cast( &it ) ); + res.emplace_back( loc, qty, loc.obtain_cost( p, qty ) ); } } else { - // TODO: Use a calculated cost - res.emplace_back( &p.i_at( pos ), count, pos == -1 ? 0 : 100 ); + res.emplace_back( loc, count, p.is_wielding( *loc ) ? 0 : loc.obtain_cost( p ) ); } } @@ -417,35 +415,46 @@ static std::list convert_to_items( const player &p, const drop_indexes // Prepares items for dropping by reordering them so that the drop // cost is minimal and "dependent" items get taken off first. // Implements the "backpack" logic. -static std::list reorder_for_dropping( const player &p, const drop_indexes &drop ) +static std::list reorder_for_dropping( Character &p, const drop_locations &drop ) { - auto res = convert_to_items( p, drop, -1, -1 ); - auto inv = convert_to_items( p, drop, 0, INT_MAX ); - auto worn = convert_to_items( p, drop, INT_MIN, -2 ); + std::list res = convert_to_items( p, drop, + [&p]( item_location loc ) { + return p.is_wielding( *loc ); + } ); + std::list inv = convert_to_items( p, drop, + [&p]( item_location loc ) { + return !p.is_wielding( *loc ) && !p.is_worn( *loc ); + } ); + std::list worn = convert_to_items( p, drop, + [&p]( item_location loc ) { + return p.is_worn( *loc ); + } ); // Sort inventory items by volume in ascending order inv.sort( []( const act_item & first, const act_item & second ) { - return first.it->volume() < second.it->volume(); + return first.loc->volume() < second.loc->volume(); } ); // Add missing dependent worn items (if any). for( const auto &wait : worn ) { - for( const auto dit : p.get_dependent_worn_items( *wait.it ) ) { + for( item *dit : p.get_dependent_worn_items( *wait.loc ) ) { const auto iter = std::find_if( worn.begin(), worn.end(), [dit]( const act_item & ait ) { - return ait.it == dit; + return &*ait.loc == dit; } ); if( iter == worn.end() ) { // TODO: Use a calculated cost - worn.emplace_front( dit, dit->count(), 100 ); + const item_location loc( p, dit ); + act_item act( loc, loc->count(), loc.obtain_cost( p, loc->count() ) ); + worn.emplace_front( loc, loc->count(), loc.obtain_cost( p ) ); } } } // Sort worn items by storage in descending order, but dependent items always go first. worn.sort( []( const act_item & first, const act_item & second ) { - return first.it->is_worn_only_with( *second.it ) - || ( first.it->get_storage() > second.it->get_storage() - && !second.it->is_worn_only_with( *first.it ) ); + return first.loc->is_worn_only_with( *second.loc ) + || ( first.loc->get_storage() > second.loc->get_storage() + && !second.loc->is_worn_only_with( *first.loc ) ); } ); // Cumulatively increases @@ -454,9 +463,9 @@ static std::list reorder_for_dropping( const player &p, const drop_ind units::volume remaining_storage = p.volume_capacity(); while( !worn.empty() && !inv.empty() ) { - storage_loss += worn.front().it->get_storage(); + storage_loss += worn.front().loc->get_storage(); remaining_storage -= p.volume_capacity_reduced_by( storage_loss ); - units::volume inventory_item_volume = inv.front().it->volume(); + units::volume inventory_item_volume = inv.front().loc->volume(); // Does not fit if( remaining_storage < inventory_item_volume ) { break; @@ -492,7 +501,7 @@ static void debug_drop_list( const std::list &list ) std::string res( "Items ordered to drop:\n" ); for( const auto &ait : list ) { res += string_format( "Drop %d %s for %d moves\n", - ait.count, ait.it->display_name( ait.count ), ait.consumed_moves ); + ait.count, ait.loc->display_name( ait.count ), ait.consumed_moves ); } popup( res, PF_GET_KEY ); } @@ -501,21 +510,21 @@ static std::list obtain_activity_items( player_activity &act, player &p ) { std::list res; - auto items = reorder_for_dropping( p, convert_to_indexes( act ) ); + std::list items = reorder_for_dropping( p, convert_to_locations( act ) ); debug_drop_list( items ); while( !items.empty() && ( p.is_npc() || p.moves > 0 || items.front().consumed_moves == 0 ) ) { - const auto &ait = items.front(); + act_item &ait = items.front(); p.mod_moves( -ait.consumed_moves ); - if( p.is_worn( *ait.it ) ) { - p.takeoff( *ait.it, &res ); - } else if( ait.it->count_by_charges() ) { - res.push_back( p.reduce_charges( const_cast( ait.it ), ait.count ) ); + if( p.is_worn( *ait.loc ) ) { + p.takeoff( *ait.loc, &res ); + } else if( ait.loc->count_by_charges() ) { + res.push_back( p.reduce_charges( const_cast( &*ait.loc ), ait.count ) ); } else { - res.push_back( p.i_rem( ait.it ) ); + res.push_back( p.i_rem( &*ait.loc ) ); } items.pop_front(); @@ -527,10 +536,11 @@ static std::list obtain_activity_items( player_activity &act, player &p ) res.insert( res.begin(), excess.begin(), excess.end() ); } // Load anything that remains (if any) into the activity + act.targets.clear(); act.values.clear(); if( !items.empty() ) { - for( const auto &drop : convert_to_indexes( p, items ) ) { - act.values.push_back( drop.first ); + for( const drop_location &drop : convert_to_locations( items ) ) { + act.targets.push_back( drop.first ); act.values.push_back( drop.second ); } } @@ -607,14 +617,14 @@ void activity_on_turn_wear( player_activity &act, player &p ) void activity_handlers::washing_finish( player_activity *act, player *p ) { - auto items = reorder_for_dropping( *p, convert_to_indexes( *act ) ); + std::list items = reorder_for_dropping( *p, convert_to_locations( *act ) ); // Check again that we have enough water and soap incase the amount in our inventory changed somehow // Consume the water and soap units::volume total_volume = 0_ml; for( const act_item &filthy_item : items ) { - total_volume += filthy_item.it->volume(); + total_volume += filthy_item.loc->volume(); } washing_requirements required = washing_requirements_for_volume( total_volume ); @@ -638,7 +648,7 @@ void activity_handlers::washing_finish( player_activity *act, player *p ) } for( const auto &ait : items ) { - item *filthy_item = const_cast( ait.it ); + item *filthy_item = const_cast( &*ait.loc ); filthy_item->item_tags.erase( "FILTHY" ); p->on_worn_item_washed( *filthy_item ); } @@ -1926,10 +1936,11 @@ static bool tidy_activity( player &p, const tripoint &src_loc, } // we are adjacent to an unsorted zone, we came here to just drop items we are carrying if( mgr.has( zone_type_id( z_loot_unsorted ), g->m.getabs( src_loc ) ) ) { - for( auto inv_elem : p.inv_dump() ) { + for( item *inv_elem : p.inv_dump() ) { if( inv_elem->has_var( "activity_var" ) ) { inv_elem->erase_var( "activity_var" ); - p.drop( p.get_item_position( inv_elem ), src_loc ); + item_location loc( p, inv_elem ); + p.drop( loc, src_loc ); } } } diff --git a/src/advanced_inv.cpp b/src/advanced_inv.cpp index 64ee19edfe6c5..aec50f7cbf500 100644 --- a/src/advanced_inv.cpp +++ b/src/advanced_inv.cpp @@ -759,8 +759,8 @@ enum aim_entry { bool advanced_inventory::move_all_items( bool nested_call ) { - auto &spane = panes[src]; - auto &dpane = panes[dest]; + advanced_inventory_pane &spane = panes[src]; + advanced_inventory_pane &dpane = panes[dest]; // AIM_ALL source area routine if( spane.get_area() == AIM_ALL ) { @@ -775,8 +775,8 @@ bool advanced_inventory::move_all_items( bool nested_call ) return false; } - auto &sarea = squares[spane.get_area()]; - auto &darea = squares[dpane.get_area()]; + advanced_inv_area &sarea = squares[spane.get_area()]; + advanced_inv_area &darea = squares[dpane.get_area()]; // Check first if the destination area still have enough room for moving all. if( !is_processing() && sarea.volume > darea.free_volume( dpane.in_vehicle() ) && @@ -787,12 +787,12 @@ bool advanced_inventory::move_all_items( bool nested_call ) // make sure that there are items to be moved bool done = false; // copy the current pane, to be restored after the move is queued - auto shadow = panes[src]; + advanced_inventory_pane shadow = panes[src]; // here we recursively call this function with each area in order to // put all items in the proper destination area, with minimal fuss - auto &loc = uistate.adv_inv_aim_all_location; + int &loc = uistate.adv_inv_aim_all_location; // re-entry nonsense - auto &entry = uistate.adv_inv_re_enter_move_all; + int &entry = uistate.adv_inv_re_enter_move_all; // if we are just starting out, set entry to initial value switch( static_cast( entry++ ) ) { case ENTRY_START: @@ -855,8 +855,8 @@ bool advanced_inventory::move_all_items( bool nested_call ) popup( _( "You can't put items there!" ) ); return false; } - auto &sarea = squares[spane.get_area()]; - auto &darea = squares[dpane.get_area()]; + advanced_inv_area &sarea = squares[spane.get_area()]; + advanced_inv_area &darea = squares[dpane.get_area()]; // Make sure source and destination are different, otherwise items will disappear // Need to check actual position to account for dragged vehicles @@ -882,31 +882,43 @@ bool advanced_inventory::move_all_items( bool nested_call ) } if( spane.get_area() == AIM_INVENTORY || spane.get_area() == AIM_WORN ) { - std::list> dropped; + drop_locations dropped; // keep a list of favorites separated, only drop non-fav first if they exist - std::list> dropped_favorite; + drop_locations dropped_favorite; if( spane.get_area() == AIM_INVENTORY ) { for( size_t index = 0; index < g->u.inv.size(); ++index ) { - const auto &stack = g->u.inv.const_stack( index ); - const auto &it = stack.front(); + const std::list &stack = g->u.inv.const_stack( index ); + const item &it = stack.front(); + item_location indexed_item( g->u, const_cast( &it ) ); if( !spane.is_filtered( it ) ) { - ( it.is_favorite ? dropped_favorite : dropped ).emplace_back( static_cast( index ), - it.count_by_charges() ? static_cast( it.charges ) : static_cast( stack.size() ) ); + int count; + if( it.count_by_charges() ) { + count = it.charges; + } else { + count = stack.size(); + } + if( it.is_favorite ) { + dropped_favorite.emplace_back( indexed_item, count ); + } else { + dropped.emplace_back( indexed_item, count ); + } } } } else if( spane.get_area() == AIM_WORN ) { // do this in reverse, to account for vector item removal messing with future indices auto iter = g->u.worn.rbegin(); for( size_t idx = 0; idx < g->u.worn.size(); ++idx, ++iter ) { - const size_t index = g->u.worn.size() - idx - 1; - const auto &it = *iter; + item &it = *iter; if( !spane.is_filtered( it ) ) { - ( it.is_favorite ? dropped_favorite : dropped ).emplace_back( player::worn_position_to_index( - index ), - it.count() ); + item_location loc( g->u, &it ); + if( it.is_favorite ) { + dropped_favorite.emplace_back( loc, it.count() ); + } else { + dropped.emplace_back( loc, it.count() ); + } } } } @@ -1264,7 +1276,7 @@ void advanced_inventory::display() g->u.activity.str_values.push_back( "force_ground" ); } - g->u.activity.values.push_back( idx ); + g->u.activity.targets.push_back( item_location( g->u, &g->u.i_at( idx ) ) ); g->u.activity.values.push_back( amount_to_move ); // exit so that the activity can be carried out @@ -1381,6 +1393,7 @@ void advanced_inventory::display() if( spane.get_area() == AIM_INVENTORY || spane.get_area() == AIM_WORN ) { int idx = spane.get_area() == AIM_INVENTORY ? sitem->idx : player::worn_position_to_index( sitem->idx ); + item_location loc( g->u, &g->u.i_at( idx ) ); // Setup a "return to AIM" activity. If examining the item creates a new activity // (e.g. reading, reloading, activating), the new activity will be put on top of // "return to AIM". Once the new activity is finished, "return to AIM" comes back @@ -1389,7 +1402,7 @@ void advanced_inventory::display() // "return to AIM". do_return_entry(); assert( g->u.has_activity( activity_id( "ACT_ADV_INVENTORY" ) ) ); - ret = g->inventory_item_menu( idx, info_startx, info_width, + ret = g->inventory_item_menu( loc, info_startx, info_width, src == advanced_inventory::side::left ? game::LEFT_OF_INFO : game::RIGHT_OF_INFO ); if( !g->u.has_activity( activity_id( "ACT_ADV_INVENTORY" ) ) ) { exit = true; diff --git a/src/advanced_inv_area.cpp b/src/advanced_inv_area.cpp index 73349dac5cf38..2890677790bef 100644 --- a/src/advanced_inv_area.cpp +++ b/src/advanced_inv_area.cpp @@ -454,3 +454,10 @@ advanced_inv_area::itemstack advanced_inv_area::i_stacked( T items ) } return stacks; } + +// instantiate the template +template +advanced_inv_area::itemstack advanced_inv_area::i_stacked( vehicle_stack items ); + +template +advanced_inv_area::itemstack advanced_inv_area::i_stacked( map_stack items ); diff --git a/src/advanced_inv_pane.cpp b/src/advanced_inv_pane.cpp index ad0fe4b50fa73..9b8e2161d28c6 100644 --- a/src/advanced_inv_pane.cpp +++ b/src/advanced_inv_pane.cpp @@ -1,3 +1,4 @@ +#include "advanced_inv_area.h" #include "auto_pickup.h" #include "avatar.h" #include "cata_utility.h" diff --git a/src/avatar.cpp b/src/avatar.cpp index 52e4191142c33..8079cf678c855 100644 --- a/src/avatar.cpp +++ b/src/avatar.cpp @@ -1164,7 +1164,7 @@ void avatar::reset_stats() } // Radiation - set_fake_effect_dur( effect_irradiated, 1_turns * radiation ); + set_fake_effect_dur( effect_irradiated, 1_turns * get_rad() ); // Morale const int morale = get_morale_level(); set_fake_effect_dur( effect_happy, 1_turns * morale ); diff --git a/src/avatar.h b/src/avatar.h index 341df17c8f5ce..f5185184109ec 100644 --- a/src/avatar.h +++ b/src/avatar.h @@ -22,11 +22,29 @@ class JsonObject; class JsonOut; class mission; class npc; +class monster; namespace debug_menu { class mission_debug; } // namespace debug_menu struct points_left; +struct mtype; + +// Monster visible in different directions (safe mode & compass) +struct monster_visible_info { + // New monsters visible from last update + std::vector> new_seen_mon; + + // Unique monsters (and types of monsters) visible in different directions + // 7 0 1 unique_types uses these indices; + // 6 8 2 0-7 are provide by direction_from() + // 5 4 3 8 is used for local monsters (for when we explain them below) + std::vector unique_types[9]; + std::vector unique_mons[9]; + + // If the moster visible in this direction is dangerous + bool dangerous[8]; +}; class avatar : public player { @@ -187,6 +205,10 @@ class avatar : public player bool invoke_item( item *, const std::string &, const tripoint &pt ) override; bool invoke_item( item *, const std::string & ) override; + monster_visible_info &get_mon_visible() { + return mon_visible; + } + private: map_memory player_map_memory; bool show_map_memory; @@ -224,6 +246,8 @@ class avatar : public player int dex_upgrade = 0; int int_upgrade = 0; int per_upgrade = 0; + + monster_visible_info mon_visible; }; struct points_left { diff --git a/src/bionics.cpp b/src/bionics.cpp index 2e517fa8b8b67..b6b4ee5909a94 100644 --- a/src/bionics.cpp +++ b/src/bionics.cpp @@ -464,7 +464,7 @@ bool player::activate_bionic( int b, bool eff_only ) std::vector good; std::vector bad; - if( radiation > 0 ) { + if( get_rad() > 0 ) { bad.push_back( _( "Irradiated" ) ); } @@ -537,12 +537,12 @@ bool player::activate_bionic( int b, bool eff_only ) mod_power_level( bionics[bionic_id( "bio_lighter" )].power_activate ); } } else if( bio.id == "bio_geiger" ) { - add_msg_if_player( m_info, _( "Your radiation level: %d" ), radiation ); + add_msg_if_player( m_info, _( "Your radiation level: %d" ), get_rad() ); } else if( bio.id == "bio_radscrubber" ) { - if( radiation > 4 ) { - radiation -= 5; + if( get_rad() > 4 ) { + mod_rad( -5 ); } else { - radiation = 0; + set_rad( 0 ); } } else if( bio.id == "bio_adrenaline" ) { if( has_effect( effect_adrenaline ) ) { diff --git a/src/character.cpp b/src/character.cpp index 5d2f75985b3f6..2fefebdea9db5 100644 --- a/src/character.cpp +++ b/src/character.cpp @@ -123,6 +123,7 @@ static const efftype_id effect_infected( "infected" ); static const efftype_id effect_in_pit( "in_pit" ); static const efftype_id effect_lightsnare( "lightsnare" ); static const efftype_id effect_lying_down( "lying_down" ); +static const efftype_id effect_mending( "mending" ); static const efftype_id effect_narcosis( "narcosis" ); static const efftype_id effect_nausea( "nausea" ); static const efftype_id effect_no_sight( "no_sight" ); @@ -237,7 +238,7 @@ Character::Character() : thirst = 0; fatigue = 0; sleep_deprivation = 0; - radiation = 0; + set_rad( 0 ); tank_plut = 0; reactor_plut = 0; slow_rad = 0; @@ -1728,15 +1729,39 @@ bool Character::i_add_or_drop( item &it, int qty ) return retval; } -void Character::drop( int pos, const tripoint &where ) +std::list Character::get_dependent_worn_items( const item &it ) { - const item &it = i_at( pos ); - const int count = it.count(); + std::list dependent; + // Adds dependent worn items recursively + const std::function add_dependent = [&]( const item & it ) { + for( item &wit : worn ) { + if( &wit == &it || !wit.is_worn_only_with( it ) ) { + continue; + } + const auto iter = std::find_if( dependent.begin(), dependent.end(), + [&wit]( const item * dit ) { + return &wit == dit; + } ); + if( iter == dependent.end() ) { // Not in the list yet + add_dependent( wit ); + dependent.push_back( &wit ); + } + } + }; + + if( is_worn( it ) ) { + add_dependent( it ); + } - drop( { std::make_pair( pos, count ) }, where ); + return dependent; } -void Character::drop( const std::list> &what, const tripoint &target, +void Character::drop( item_location loc, const tripoint &where ) +{ + drop( { std::make_pair( loc, loc->count() ) }, where ); +} + +void Character::drop( const drop_locations &what, const tripoint &target, bool stash ) { const activity_id type( stash ? "ACT_STASH" : "ACT_DROP" ); @@ -1754,9 +1779,9 @@ void Character::drop( const std::list> &what, const tripoint assign_activity( type ); activity.placement = target - pos(); - for( auto item_pair : what ) { - if( can_unwield( i_at( item_pair.first ) ).success() ) { - activity.values.push_back( item_pair.first ); + for( drop_location item_pair : what ) { + if( can_unwield( *item_pair.first ).success() ) { + activity.targets.push_back( item_pair.first ); activity.values.push_back( item_pair.second ); } } @@ -3342,7 +3367,10 @@ std::pair Character::get_fatigue_description() const void Character::mod_thirst( int nthirst ) { - set_thirst( thirst + nthirst ); + if( has_trait_flag( "NO_THIRST" ) ) { + return; + } + set_thirst( std::max( -100, thirst + nthirst ) ); } void Character::set_thirst( int nthirst ) @@ -4088,22 +4116,7 @@ hp_part Character::body_window( const std::string &menu_header, max_bp_name_len = std::max( max_bp_name_len, utf8_width( e.name ) ); } - const auto hp_str = [precise]( const int hp, const int maximal_hp ) -> std::string { - if( hp <= 0 ) - { - return "==%=="; - } else if( precise ) - { - return string_format( "%d", hp ); - } else - { - std::string h_bar = get_hp_bar( hp, maximal_hp, false ).first; - nc_color h_bar_col = get_hp_bar( hp, maximal_hp, false ).second; - return colorize( h_bar, h_bar_col ) + colorize( std::string( 5 - utf8_width( h_bar ), - '.' ), c_white ); - } - }; uilist bmenu; bmenu.desc_enabled = true; @@ -4125,7 +4138,8 @@ hp_part Character::body_window( const std::string &menu_header, // The same as in the main UI sidebar. Independent of the capability of the healing item/effect! const nc_color all_state_col = limb_color( bp, true, true, true ); // Broken means no HP can be restored, it requires surgical attention. - const bool limb_is_broken = current_hp == 0; + const bool limb_is_broken = is_limb_broken( hp ); + const bool limb_is_mending = worn_with_flag( "SPLINT", bp ); if( show_all ) { e.allowed = true; @@ -4160,11 +4174,30 @@ hp_part Character::body_window( const std::string &menu_header, int new_d_power = static_cast( std::floor( disinfectant_power ) ); const auto &aligned_name = std::string( max_bp_name_len - utf8_width( e.name ), ' ' ) + e.name; - msg += colorize( aligned_name, all_state_col ) + " " + hp_str( current_hp, maximal_hp ); - - if( limb_is_broken ) { + std::string hp_str; + if( limb_is_mending ) { + desc += colorize( _( "It is broken but has been set and just needs time to heal." ), + c_blue ) + "\n"; + const auto &eff = get_effect( effect_mending, bp ); + const int mend_perc = eff.is_null() ? 0.0 : 100 * eff.get_duration() / eff.get_max_duration(); + + if( precise ) { + hp_str = colorize( string_format( "=%2d%%=", mend_perc ), c_blue ); + } else { + const int num = mend_perc / 20; + hp_str = colorize( std::string( num, '#' ) + std::string( 5 - num, '=' ), c_blue ); + } + } else if( limb_is_broken ) { desc += colorize( _( "It is broken. It needs a splint or surgical attention." ), c_red ) + "\n"; - } + hp_str = "==%=="; + } else if( precise ) { + hp_str = string_format( "%d", current_hp ); + } else { + std::pair h_bar = get_hp_bar( current_hp, maximal_hp, false ); + hp_str = colorize( h_bar.first, h_bar.second ) + + colorize( std::string( 5 - utf8_width( h_bar.first ), '.' ), c_white ); + }; + msg += colorize( aligned_name, all_state_col ) + " " + hp_str; // BLEEDING block if( bleeding ) { @@ -5267,6 +5300,24 @@ void Character::mod_stim( int mod ) stim += mod; } +int Character::get_rad() const +{ + return radiation; +} + +void Character::set_rad( int new_rad ) +{ + radiation = new_rad; +} + +void Character::mod_rad( int mod ) +{ + if( has_trait_flag( "NO_RADIATION" ) ) { + return; + } + set_rad( std::max( 0, get_rad() + mod ) ); +} + int Character::get_stamina() const { return stamina; @@ -6278,7 +6329,7 @@ void Character::heal( body_part healed, int dam ) void Character::heal( hp_part healed, int dam ) { - if( hp_cur[healed] > 0 ) { + if( !is_limb_broken( healed ) ) { int effective_heal = std::min( dam, hp_max[healed] - hp_cur[healed] ); hp_cur[healed] += effective_heal; g->events().send( getID(), effective_heal ); diff --git a/src/character.h b/src/character.h index 02610eeb724de..362b39a4aa989 100644 --- a/src/character.h +++ b/src/character.h @@ -59,6 +59,9 @@ struct points_left; class faction; struct construction; +using drop_location = std::pair; +using drop_locations = std::list; + enum vision_modes { DEBUG_NIGHTVISION, NV_GOGGLES, @@ -1075,10 +1078,11 @@ class Character : public Creature, public visitable ret_val can_unwield( const item &it ) const; void drop_invalid_inventory(); + /** Returns all items that must be taken off before taking off this item */ + std::list get_dependent_worn_items( const item &it ); /** Drops an item to the specified location */ - void drop( int pos, const tripoint &where ); - virtual void drop( const std::list> &what, const tripoint &target, - bool stash = false ); + void drop( item_location loc, const tripoint &where ); + virtual void drop( const drop_locations &what, const tripoint &target, bool stash = false ); virtual bool has_artifact_with( art_effect_passive effect ) const; @@ -1263,7 +1267,6 @@ class Character : public Creature, public visitable std::list consumption_history; int oxygen; - int radiation; int tank_plut; int reactor_plut; int slow_rad; @@ -1371,6 +1374,10 @@ class Character : public Creature, public visitable void set_stim( int new_stim ); void mod_stim( int mod ); + int get_rad() const; + void set_rad( int new_rad ); + void mod_rad( int mod ); + int get_stamina() const; int get_stamina_max() const; void set_stamina( int new_stamina ); @@ -1697,6 +1704,8 @@ class Character : public Creature, public visitable int stim; int pkill; + int radiation; + scenttype_id type_of_scent; struct weighted_int_list melee_miss_reasons; diff --git a/src/color.cpp b/src/color.cpp index e5c4824eb6af0..514d0313c9d9d 100644 --- a/src/color.cpp +++ b/src/color.cpp @@ -559,7 +559,7 @@ nc_color color_from_string( const std::string &color ) while( ( pos = new_color.find( i.second, pos ) ) != std::string::npos ) { new_color.replace( pos, i.second.length(), i.first ); pos += i.first.length(); - debugmsg( "Deprecated foreground color suffix was used: (%d) in (%s). Please update mod that uses that.", + debugmsg( "Deprecated foreground color suffix was used: (%s) in (%s). Please update mod that uses that.", i.second, color ); } } diff --git a/src/computer.cpp b/src/computer.cpp index cf3828e432cd7..86feb60d722ab 100644 --- a/src/computer.cpp +++ b/src/computer.cpp @@ -1126,7 +1126,7 @@ void computer::activate_function( computer_action action ) print_newline(); } print_error( _( "GEIGER COUNTER @ CONSOLE:… %s mSv/h." ), g->m.get_radiation( g->u.pos() ) ); - print_error( _( "PERSONAL DOSIMETRY:… %s mSv." ), g->u.radiation ); + print_error( _( "PERSONAL DOSIMETRY:… %s mSv." ), g->u.get_rad() ); print_newline(); query_any( _( "Press any key…" ) ); break; diff --git a/src/crafting.cpp b/src/crafting.cpp index cea5d6c85cd02..65e81f1b2aff0 100644 --- a/src/crafting.cpp +++ b/src/crafting.cpp @@ -29,6 +29,7 @@ #include "map.h" #include "map_iterator.h" #include "messages.h" +#include "mutation.h" #include "npc.h" #include "options.h" #include "output.h" @@ -73,8 +74,6 @@ static const efftype_id effect_contacts( "contacts" ); void drop_or_handle( const item &newit, player &p ); static const trait_id trait_DEBUG_HS( "DEBUG_HS" ); -static const trait_id trait_PAWS_LARGE( "PAWS_LARGE" ); -static const trait_id trait_PAWS( "PAWS" ); static const trait_id trait_BURROW( "BURROW" ); static bool crafting_allowed( const player &p, const recipe &rec ) @@ -923,17 +922,12 @@ double player::crafting_success_roll( const recipe &making ) const // It's tough to craft with paws. Fortunately it's just a matter of grip and fine-motor, // not inability to see what you're doing - if( has_trait( trait_PAWS ) || has_trait( trait_PAWS_LARGE ) ) { - int paws_rank_penalty = 0; - if( has_trait( trait_PAWS_LARGE ) ) { - paws_rank_penalty += 1; - } - if( making.skill_used == skill_id( "electronics" ) - || making.skill_used == skill_id( "tailor" ) - || making.skill_used == skill_id( "mechanics" ) ) { - paws_rank_penalty += 1; + for( const std::pair< trait_id, trait_data > &mut : my_mutations ) { + for( const std::pair &skib : mut.first->craft_skill_bonus ) { + if( making.skill_used == skib.first ) { + skill_dice += skib.second; + } } - skill_dice -= paws_rank_penalty * 4; } // Sides on dice is 16 plus your current intelligence diff --git a/src/debug_menu.cpp b/src/debug_menu.cpp index a5442c61ed99e..e61b1222e809f 100644 --- a/src/debug_menu.cpp +++ b/src/debug_menu.cpp @@ -733,7 +733,7 @@ void character_edit_menu() uilist smenu; smenu.addentry( 0, true, 'h', "%s: %d", _( "Health" ), p.get_healthy() ); smenu.addentry( 1, true, 'm', "%s: %d", _( "Health modifier" ), p.get_healthy_mod() ); - smenu.addentry( 2, true, 'r', "%s: %d", _( "Radiation" ), p.radiation ); + smenu.addentry( 2, true, 'r', "%s: %d", _( "Radiation" ), p.get_rad() ); smenu.query(); int value; switch( smenu.ret ) { @@ -748,8 +748,8 @@ void character_edit_menu() } break; case 2: - if( query_int( value, _( "Set the value to? Currently: %d" ), p.radiation ) ) { - p.radiation = value; + if( query_int( value, _( "Set the value to? Currently: %d" ), p.get_rad() ) ) { + p.set_rad( value ); } break; default: diff --git a/src/game.cpp b/src/game.cpp index 2032b72754951..a3e546ebfc4e6 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -1553,6 +1553,7 @@ bool game::do_turn() } } update_stair_monsters(); + mon_info_update(); u.process_turn(); if( u.moves < 0 && get_option( "FORCE_REDRAW" ) ) { draw(); @@ -1955,18 +1956,17 @@ void game::handle_key_blocking_activity() /* item submenu for 'i' and '/' * It use draw_item_info to draw item info and action menu * -* @param pos position of item in inventory +* @param locThisItem the item * @param iStartX Left coordinate of the item info window * @param iWidth width of the item info window (height = height of terminal) * @return getch */ -int game::inventory_item_menu( int pos, int iStartX, int iWidth, +int game::inventory_item_menu( item_location locThisItem, int iStartX, int iWidth, const inventory_item_menu_positon position ) { int cMenu = static_cast( '+' ); - item &oThisItem = u.i_at( pos ); - item_location locThisItem( u, &oThisItem ); + item &oThisItem = *locThisItem; if( u.has_item( oThisItem ) ) { #if defined(__ANDROID__) if( get_option( "ANDROID_INVENTORY_AUTOADD" ) ) { @@ -2108,7 +2108,7 @@ int game::inventory_item_menu( int pos, int iStartX, int iWidth, u.takeoff( oThisItem ); break; case 'd': - u.drop( pos, u.pos() ); + u.drop( locThisItem, u.pos() ); break; case 'U': unload( oThisItem ); @@ -3818,26 +3818,161 @@ std::vector game::get_fishable_monsters( std::unordered_set // Print monster info to the given window void game::mon_info( const catacurses::window &w, int hor_padding ) { + const monster_visible_info &mon_visible = u.get_mon_visible(); + const auto &unique_types = mon_visible.unique_types; + const auto &unique_mons = mon_visible.unique_mons; + const auto &dangerous = mon_visible.dangerous; + const int width = getmaxx( w ) - 2 * hor_padding; const int maxheight = getmaxy( w ); const int startrow = 0; + // Print the direction headings + // Reminder: + // 7 0 1 unique_types uses these indices; + // 6 8 2 0-7 are provide by direction_from() + // 5 4 3 8 is used for local monsters (for when we explain them below) + + const std::array dir_labels = {{ + _( "North:" ), _( "NE:" ), _( "East:" ), _( "SE:" ), + _( "South:" ), _( "SW:" ), _( "West:" ), _( "NW:" ) + } + }; + std::array widths; + for( int i = 0; i < 8; i++ ) { + widths[i] = utf8_width( dir_labels[i] ); + } + std::array xcoords; + const std::array ycoords = {{ 0, 0, 1, 2, 2, 2, 1, 0 }}; + xcoords[0] = xcoords[4] = width / 3; + xcoords[1] = xcoords[3] = xcoords[2] = ( width / 3 ) * 2; + xcoords[5] = xcoords[6] = xcoords[7] = 0; + //for the alignment of the 1,2,3 rows on the right edge + xcoords[2] -= utf8_width( _( "East:" ) ) - utf8_width( _( "NE:" ) ); + for( int i = 0; i < 8; i++ ) { + nc_color c = unique_types[i].empty() && unique_mons[i].empty() ? c_dark_gray + : ( dangerous[i] ? c_light_red : c_light_gray ); + mvwprintz( w, point( xcoords[i] + hor_padding, ycoords[i] + startrow ), c, dir_labels[i] ); + } + + // Print the symbols of all monsters in all directions. + for( int i = 0; i < 8; i++ ) { + point pr( xcoords[i] + widths[i] + 1, ycoords[i] + startrow ); + + // The list of symbols needs a space on each end. + int symroom = ( width / 3 ) - widths[i] - 2; + const int typeshere_npc = unique_types[i].size(); + const int typeshere_mon = unique_mons[i].size(); + const int typeshere = typeshere_mon + typeshere_npc; + for( int j = 0; j < typeshere && j < symroom; j++ ) { + nc_color c; + std::string sym; + if( symroom < typeshere && j == symroom - 1 ) { + // We've run out of room! + c = c_white; + sym = "+"; + } else if( j < typeshere_npc ) { + switch( unique_types[i][j]->get_attitude() ) { + case NPCATT_KILL: + c = c_red; + break; + case NPCATT_FOLLOW: + c = c_light_green; + break; + default: + c = c_pink; + break; + } + sym = "@"; + } else { + const mtype &mt = *unique_mons[i][j - typeshere_npc]; + c = mt.color; + sym = mt.sym; + } + mvwprintz( w, pr, c, sym ); + + pr.x++; + } + } + + // Now we print their full names! + + std::set listed_mons; + + // Start printing monster names on row 4. Rows 0-2 are for labels, and row 3 + // is blank. + point pr( hor_padding, 4 + startrow ); + + // Print monster names, starting with those at location 8 (nearby). + for( int j = 8; j >= 0 && pr.y < maxheight; j-- ) { + // Separate names by some number of spaces (more for local monsters). + int namesep = ( j == 8 ? 2 : 1 ); + for( const mtype *type : unique_mons[j] ) { + if( pr.y >= maxheight ) { + // no space to print to anyway + break; + } + if( listed_mons.count( type ) > 0 ) { + // this type is already printed. + continue; + } + listed_mons.insert( type ); + + const mtype &mt = *type; + const std::string name = mt.nname(); + + // Move to the next row if necessary. (The +2 is for the "Z "). + if( pr.x + 2 + utf8_width( name ) >= width ) { + pr.y++; + pr.x = hor_padding; + } + + if( pr.y < maxheight ) { // Don't print if we've overflowed + mvwprintz( w, pr, mt.color, mt.sym ); + pr.x += 2; // symbol and space + nc_color danger = c_dark_gray; + if( mt.difficulty >= 30 ) { + danger = c_red; + } else if( mt.difficulty >= 16 ) { + danger = c_light_red; + } else if( mt.difficulty >= 8 ) { + danger = c_white; + } else if( mt.agro > 0 ) { + danger = c_light_gray; + } + mvwprintz( w, pr, danger, name ); + pr.x += utf8_width( name ) + namesep; + } + } + } +} + +void game::mon_info_update( ) +{ int newseen = 0; - const int iProxyDist = ( get_option( "SAFEMODEPROXIMITY" ) <= 0 ) ? MAX_VIEW_DISTANCE : - get_option( "SAFEMODEPROXIMITY" ); + const int safe_proxy_dist = get_option( "SAFEMODEPROXIMITY" ); + const int iProxyDist = ( safe_proxy_dist <= 0 ) ? MAX_VIEW_DISTANCE : + safe_proxy_dist; + + monster_visible_info &mon_visible = u.get_mon_visible(); + auto &new_seen_mon = mon_visible.new_seen_mon; + auto &unique_types = mon_visible.unique_types; + auto &unique_mons = mon_visible.unique_mons; + auto &dangerous = mon_visible.dangerous; + // 7 0 1 unique_types uses these indices; // 6 8 2 0-7 are provide by direction_from() // 5 4 3 8 is used for local monsters (for when we explain them below) - std::vector unique_types[9]; - std::vector unique_mons[9]; - // dangerous_types tracks whether we should print in red to warn the player - bool dangerous[8]; - for( auto &dangerou : dangerous ) { - dangerou = false; + for( auto &t : unique_types ) { + t.clear(); } + for( auto &m : unique_mons ) { + m.clear(); + } + std::fill( dangerous, dangerous + sizeof( dangerous ), false ); - tripoint view = u.pos() + u.view_offset; + const tripoint view = u.pos() + u.view_offset; new_seen_mon.clear(); static int previous_turn = 0; @@ -3845,10 +3980,10 @@ void game::mon_info( const catacurses::window &w, int hor_padding ) const int current_turn = to_turns( calendar::turn - calendar::turn_zero ); const int sm_ignored_turns = get_option( "SAFEMODEIGNORETURNS" ); - for( auto &c : u.get_visible_creatures( MAPSIZE_X ) ) { - const auto m = dynamic_cast( c ); - const auto p = dynamic_cast( c ); - const auto dir_to_mon = direction_from( view.xy(), point( c->posx(), c->posy() ) ); + for( Creature *c : u.get_visible_creatures( MAPSIZE_X ) ) { + monster *m = dynamic_cast( c ); + npc *p = dynamic_cast( c ); + const direction dir_to_mon = direction_from( view.xy(), point( c->posx(), c->posy() ) ); const int mx = POSX + ( c->posx() - view.x ); const int my = POSY + ( c->posy() - view.y ); int index = 8; @@ -3909,7 +4044,7 @@ void game::mon_info( const catacurses::window &w, int hor_padding ) if( m != nullptr ) { //Safemode monster check - auto &critter = *m; + monster &critter = *m; const monster_attitude matt = critter.attitude( &u ); const int mon_dist = rl_dist( u.pos(), critter.pos() ); @@ -3941,7 +4076,7 @@ void game::mon_info( const catacurses::window &w, int hor_padding ) } } - auto &vec = unique_mons[index]; + std::vector &vec = unique_mons[index]; if( std::find( vec.begin(), vec.end(), critter.type ) == vec.end() ) { vec.push_back( critter.type ); } @@ -4006,127 +4141,9 @@ void game::mon_info( const catacurses::window &w, int hor_padding ) previous_turn = current_turn; mostseen = newseen; - - // Print the direction headings - // Reminder: - // 7 0 1 unique_types uses these indices; - // 6 8 2 0-7 are provide by direction_from() - // 5 4 3 8 is used for local monsters (for when we explain them below) - - const std::array dir_labels = {{ - _( "North:" ), _( "NE:" ), _( "East:" ), _( "SE:" ), - _( "South:" ), _( "SW:" ), _( "West:" ), _( "NW:" ) - } - }; - std::array widths; - for( int i = 0; i < 8; i++ ) { - widths[i] = utf8_width( dir_labels[i] ); - } - std::array xcoords; - const std::array ycoords = {{ 0, 0, 1, 2, 2, 2, 1, 0 }}; - xcoords[0] = xcoords[4] = width / 3; - xcoords[1] = xcoords[3] = xcoords[2] = ( width / 3 ) * 2; - xcoords[5] = xcoords[6] = xcoords[7] = 0; - //for the alignment of the 1,2,3 rows on the right edge - xcoords[2] -= utf8_width( _( "East:" ) ) - utf8_width( _( "NE:" ) ); - for( int i = 0; i < 8; i++ ) { - nc_color c = unique_types[i].empty() && unique_mons[i].empty() ? c_dark_gray - : ( dangerous[i] ? c_light_red : c_light_gray ); - mvwprintz( w, point( xcoords[i] + hor_padding, ycoords[i] + startrow ), c, dir_labels[i] ); - } - - // Print the symbols of all monsters in all directions. - for( int i = 0; i < 8; i++ ) { - point pr( xcoords[i] + widths[i] + 1, ycoords[i] + startrow ); - - // The list of symbols needs a space on each end. - int symroom = ( width / 3 ) - widths[i] - 2; - const int typeshere_npc = unique_types[i].size(); - const int typeshere_mon = unique_mons[i].size(); - const int typeshere = typeshere_mon + typeshere_npc; - for( int j = 0; j < typeshere && j < symroom; j++ ) { - nc_color c; - std::string sym; - if( symroom < typeshere && j == symroom - 1 ) { - // We've run out of room! - c = c_white; - sym = "+"; - } else if( j < typeshere_npc ) { - switch( unique_types[i][j]->get_attitude() ) { - case NPCATT_KILL: - c = c_red; - break; - case NPCATT_FOLLOW: - c = c_light_green; - break; - default: - c = c_pink; - break; - } - sym = "@"; - } else { - const mtype &mt = *unique_mons[i][j - typeshere_npc]; - c = mt.color; - sym = mt.sym; - } - mvwprintz( w, pr, c, sym ); - - pr.x++; - } - } - - // Now we print their full names! - - std::set listed_mons; - - // Start printing monster names on row 4. Rows 0-2 are for labels, and row 3 - // is blank. - point pr( hor_padding, 4 + startrow ); - - // Print monster names, starting with those at location 8 (nearby). - for( int j = 8; j >= 0 && pr.y < maxheight; j-- ) { - // Separate names by some number of spaces (more for local monsters). - int namesep = ( j == 8 ? 2 : 1 ); - for( const mtype *type : unique_mons[j] ) { - if( pr.y >= maxheight ) { - // no space to print to anyway - break; - } - if( listed_mons.count( type ) > 0 ) { - // this type is already printed. - continue; - } - listed_mons.insert( type ); - - const mtype &mt = *type; - const std::string name = mt.nname(); - - // Move to the next row if necessary. (The +2 is for the "Z "). - if( pr.x + 2 + utf8_width( name ) >= width ) { - pr.y++; - pr.x = hor_padding; - } - - if( pr.y < maxheight ) { // Don't print if we've overflowed - mvwprintz( w, pr, mt.color, mt.sym ); - pr.x += 2; // symbol and space - nc_color danger = c_dark_gray; - if( mt.difficulty >= 30 ) { - danger = c_red; - } else if( mt.difficulty >= 16 ) { - danger = c_light_red; - } else if( mt.difficulty >= 8 ) { - danger = c_white; - } else if( mt.agro > 0 ) { - danger = c_light_gray; - } - mvwprintz( w, pr, danger, name ); - pr.x += utf8_width( name ) + namesep; - } - } - } } + void game::cleanup_dead() { // Dead monsters need to stay in the tracker until everything else that needs to die does so @@ -8662,6 +8679,9 @@ bool game::check_safe_mode_allowed( bool repeat_safe_mode_warnings ) } // Monsters around and we don't want to run std::string spotted_creature_name; + const monster_visible_info &mon_visible = u.get_mon_visible(); + const auto &new_seen_mon = mon_visible.new_seen_mon; + if( new_seen_mon.empty() ) { // naming consistent with code in game::mon_info spotted_creature_name = _( "a survivor" ); @@ -8928,16 +8948,28 @@ bool game::walk_move( const tripoint &dest_loc ) u.set_underwater( false ); if( !shifting_furniture && !pushing && is_dangerous_tile( dest_loc ) ) { - if( !u.movement_mode_is( CMM_RUN ) ) { - std::vector harmful_stuff = get_dangerous_tile( dest_loc ); + std::vector harmful_stuff = get_dangerous_tile( dest_loc ); + if( get_option( "DANGEROUS_TERRAIN_WARNING_PROMPT" ) == "ALWAYS" && + !prompt_dangerous_tile( dest_loc ) ) { + return true; + } else if( get_option( "DANGEROUS_TERRAIN_WARNING_PROMPT" ) == "RUNNING" && + ( !u.movement_mode_is( CMM_RUN ) || !prompt_dangerous_tile( dest_loc ) ) ) { + add_msg( m_warning, + _( "Stepping into that %1$s looks risky. Run into it if you wish to enter anyway." ), + enumerate_as_string( harmful_stuff ) ); + return true; + } else if( get_option( "DANGEROUS_TERRAIN_WARNING_PROMPT" ) == "CROUCHING" && + ( !u.movement_mode_is( CMM_CROUCH ) || !prompt_dangerous_tile( dest_loc ) ) ) { + add_msg( m_warning, + _( "Stepping into that %1$s looks risky. Crouch and move into it if you wish to enter anyway." ), + enumerate_as_string( harmful_stuff ) ); + return true; + } else if( get_option( "DANGEROUS_TERRAIN_WARNING_PROMPT" ) == "NEVER" && + !u.movement_mode_is( CMM_RUN ) ) { add_msg( m_warning, _( "Stepping into that %1$s looks risky. Run into it if you wish to enter anyway." ), enumerate_as_string( harmful_stuff ) ); return true; - } else if( !get_option( "DANGEROUS_RUNNING" ) ) { - if( !prompt_dangerous_tile( dest_loc ) ) { - return true; - } } } // Used to decide whether to print a 'moving is slow message @@ -11324,8 +11356,8 @@ void game::process_artifact( item &it, player &p ) break; case AEP_PBLUE: - if( p.radiation > 0 ) { - p.radiation--; + if( p.get_rad() > 0 ) { + p.mod_rad( -1 ); } break; @@ -11466,7 +11498,7 @@ bool check_art_charge_req( item &it ) reqsmet = p.has_effect( effect_sleep ); break; case( ACR_RAD ): - reqsmet = ( ( g->m.get_radiation( p.pos() ) > 0 ) || ( p.radiation > 0 ) ); + reqsmet = ( ( g->m.get_radiation( p.pos() ) > 0 ) || ( p.get_rad() > 0 ) ); break; case( ACR_WET ): reqsmet = std::any_of( p.body_wetness.begin(), p.body_wetness.end(), diff --git a/src/game.h b/src/game.h index 083bd43e7f6d8..df64522ef294f 100644 --- a/src/game.h +++ b/src/game.h @@ -568,7 +568,7 @@ class game RIGHT_OF_INFO, LEFT_TERMINAL_EDGE, }; - int inventory_item_menu( int pos, int startx = 0, int width = 50, + int inventory_item_menu( item_location locThisItem, int startx = 0, int width = 50, inventory_item_menu_positon position = RIGHT_OF_INFO ); /** Custom-filtered menu for inventory and nearby items and those that within specified radius */ @@ -787,6 +787,7 @@ class game void set_critter_died(); void mon_info( const catacurses::window &, int hor_padding = 0 ); // Prints a list of nearby monsters + void mon_info_update( ); //Update seen monsters information void cleanup_dead(); // Delete any dead NPCs/monsters bool is_dangerous_tile( const tripoint &dest_loc ) const; std::vector get_dangerous_tile( const tripoint &dest_loc ) const; @@ -1002,7 +1003,6 @@ class game std::string list_item_upvote; std::string list_item_downvote; - std::vector> new_seen_mon; bool safe_mode_warning_logged; bool bVMonsterLookFire; character_id next_npc_id; diff --git a/src/game_inventory.cpp b/src/game_inventory.cpp index 812aa3f5c484b..c1f2b746152e4 100644 --- a/src/game_inventory.cpp +++ b/src/game_inventory.cpp @@ -201,7 +201,7 @@ void game_menus::inv::common( avatar &you ) } g->refresh_all(); - res = g->inventory_item_menu( you.get_item_position( location.get_item() ) ); + res = g->inventory_item_menu( location ); g->refresh_all(); } while( loop_options.count( res ) != 0 ); @@ -224,7 +224,7 @@ item_location game_menus::inv::titled_menu( avatar &you, const std::string &titl class armor_inventory_preset: public inventory_selector_preset { public: - armor_inventory_preset( const player &pl, const std::string &color_in ) : + armor_inventory_preset( player &pl, const std::string &color_in ) : p( pl ), color( color_in ) { append_cell( [ this ]( const item_location & loc ) { return get_number_string( loc->get_encumber( p ) ); @@ -265,7 +265,7 @@ class armor_inventory_preset: public inventory_selector_preset } protected: - const player &p; + player &p; private: std::string get_number_string( int number ) const { return number ? string_format( "<%s>%d", color, number ) : std::string(); @@ -277,7 +277,7 @@ class armor_inventory_preset: public inventory_selector_preset class wear_inventory_preset: public armor_inventory_preset { public: - wear_inventory_preset( const player &p, const std::string &color ) : + wear_inventory_preset( player &p, const std::string &color ) : armor_inventory_preset( p, color ) {} @@ -305,7 +305,7 @@ item_location game_menus::inv::wear( player &p ) class take_off_inventory_preset: public armor_inventory_preset { public: - take_off_inventory_preset( const player &p, const std::string &color ) : + take_off_inventory_preset( player &p, const std::string &color ) : armor_inventory_preset( p, color ) {} @@ -314,7 +314,7 @@ class take_off_inventory_preset: public armor_inventory_preset } std::string get_denial( const item_location &loc ) const override { - const auto ret = p.can_takeoff( *loc ); + const ret_val ret = p.can_takeoff( *loc ); if( !ret.success() ) { return trim_punctuation_marks( ret.str() ); @@ -1324,7 +1324,7 @@ item_location game_menus::inv::saw_barrel( player &p, item &tool ) ); } -std::list> game_menus::inv::multidrop( player &p ) +drop_locations game_menus::inv::multidrop( player &p ) { p.inv.restack( p ); @@ -1340,7 +1340,7 @@ std::list> game_menus::inv::multidrop( player &p ) if( inv_s.empty() ) { popup( std::string( _( "You have nothing to drop." ) ), PF_GET_KEY ); - return std::list >(); + return drop_locations(); } return inv_s.execute(); diff --git a/src/game_inventory.h b/src/game_inventory.h index 069605dc183c9..0d2c69c302e49 100644 --- a/src/game_inventory.h +++ b/src/game_inventory.h @@ -24,6 +24,8 @@ class repair_item_actor; using item_filter = std::function; using item_location_filter = std::function; +using drop_location = std::pair; +using drop_locations = std::list; class inventory_filter_preset : public inventory_selector_preset { @@ -65,9 +67,9 @@ void swap_letters( player &p ); /** * Select items to drop. - * @return A list of pairs of position, quantity. + * @return A list of pairs of item_location, quantity. */ -std::list> multidrop( player &p ); +drop_locations multidrop( player &p ); /** Consuming an item. */ item_location consume( player &p ); diff --git a/src/handle_action.cpp b/src/handle_action.cpp index 73eb61c4f5f04..99eddb35a34a9 100644 --- a/src/handle_action.cpp +++ b/src/handle_action.cpp @@ -2108,7 +2108,7 @@ bool game::handle_action() case ACTION_IGNORE_ENEMY: if( safe_mode == SAFE_MODE_STOP ) { add_msg( m_info, _( "Ignoring enemy!" ) ); - for( auto &elem : new_seen_mon ) { + for( auto &elem : u.get_mon_visible().new_seen_mon ) { monster &critter = *elem; critter.ignoring = rl_dist( u.pos(), critter.pos() ); } diff --git a/src/inventory_ui.cpp b/src/inventory_ui.cpp index e078ceebe2e82..fbc8c9f4f17c9 100644 --- a/src/inventory_ui.cpp +++ b/src/inventory_ui.cpp @@ -1608,7 +1608,7 @@ void inventory_selector::draw_footer( const catacurses::window &w ) const } } -inventory_selector::inventory_selector( const player &u, const inventory_selector_preset &preset ) +inventory_selector::inventory_selector( player &u, const inventory_selector_preset &preset ) : u( u ) , preset( preset ) , ctxt( "INVENTORY" ) @@ -1838,7 +1838,7 @@ item_location inventory_pick_selector::execute() } } -inventory_multiselector::inventory_multiselector( const player &p, +inventory_multiselector::inventory_multiselector( player &p, const inventory_selector_preset &preset, const std::string &selection_column_title ) : inventory_selector( p, preset ), @@ -1867,7 +1867,7 @@ void inventory_multiselector::on_entry_add( const inventory_entry &entry ) } } -inventory_compare_selector::inventory_compare_selector( const player &p ) : +inventory_compare_selector::inventory_compare_selector( player &p ) : inventory_multiselector( p, default_preset, _( "ITEMS TO COMPARE" ) ) {} std::pair inventory_compare_selector::execute() @@ -1929,7 +1929,7 @@ void inventory_compare_selector::toggle_entry( inventory_entry *entry ) } inventory_iuse_selector::inventory_iuse_selector( - const player &p, + player &p, const std::string &selector_title, const inventory_selector_preset &preset, const GetStats &get_st @@ -1938,8 +1938,7 @@ inventory_iuse_selector::inventory_iuse_selector( get_stats( get_st ), max_chosen_count( std::numeric_limits::max() ) {} - -std::list> inventory_iuse_selector::execute() +drop_locations inventory_iuse_selector::execute() { int count = 0; while( true ) { @@ -1984,7 +1983,7 @@ std::list> inventory_iuse_selector::execute() } break; } else if( input.action == "QUIT" ) { - return std::list >(); + return drop_locations(); } else if( input.action == "INVENTORY_FILTER" ) { set_filter(); } else { @@ -1993,11 +1992,11 @@ std::list> inventory_iuse_selector::execute() } } - std::list> dropped_pos_and_qty; + drop_locations dropped_pos_and_qty; - for( auto use_pair : to_use ) { - dropped_pos_and_qty.push_back( std::make_pair( u.get_item_position( use_pair.first ), - use_pair.second ) ); + for( const std::pair &use_pair : to_use ) { + item_location loc( u, const_cast( use_pair.first ) ); + dropped_pos_and_qty.push_back( std::make_pair( loc, use_pair.second ) ); } return dropped_pos_and_qty; @@ -2029,7 +2028,7 @@ inventory_selector::stats inventory_iuse_selector::get_raw_stats() const return stats{{ stat{{ "", "", "", "" }}, stat{{ "", "", "", "" }} }}; } -inventory_drop_selector::inventory_drop_selector( const player &p, +inventory_drop_selector::inventory_drop_selector( player &p, const inventory_selector_preset &preset ) : inventory_multiselector( p, preset, _( "ITEMS TO DROP" ) ), max_chosen_count( std::numeric_limits::max() ) @@ -2060,7 +2059,7 @@ void inventory_drop_selector::process_selected( int &count, count = 0; } -std::list> inventory_drop_selector::execute() +drop_locations inventory_drop_selector::execute() { int count = 0; while( true ) { @@ -2132,7 +2131,7 @@ std::list> inventory_drop_selector::execute() } break; } else if( input.action == "QUIT" ) { - return std::list >(); + return drop_locations(); } else if( input.action == "INVENTORY_FILTER" ) { set_filter(); } else if( input.action == "TOGGLE_FAVORITE" ) { @@ -2143,11 +2142,11 @@ std::list> inventory_drop_selector::execute() } } - std::list> dropped_pos_and_qty; + drop_locations dropped_pos_and_qty; - for( auto drop_pair : dropping ) { - dropped_pos_and_qty.push_back( std::make_pair( u.get_item_position( drop_pair.first ), - drop_pair.second ) ); + for( const std::pair &drop_pair : dropping ) { + item_location loc( u, const_cast( drop_pair.first ) ); + dropped_pos_and_qty.push_back( std::make_pair( loc, drop_pair.second ) ); } return dropped_pos_and_qty; diff --git a/src/inventory_ui.h b/src/inventory_ui.h index 5d5105bc77c3d..b2829064fded7 100644 --- a/src/inventory_ui.h +++ b/src/inventory_ui.h @@ -41,6 +41,9 @@ enum class scroll_direction : int { struct navigation_mode_data; struct inventory_input; +using drop_location = std::pair; +using drop_locations = std::list; + class inventory_entry { public: @@ -420,7 +423,7 @@ class selection_column : public inventory_column class inventory_selector { public: - inventory_selector( const player &u, const inventory_selector_preset &preset = default_preset ); + inventory_selector( player &u, const inventory_selector_preset &preset = default_preset ); ~inventory_selector(); /** These functions add items from map / vehicles. */ void add_character_items( Character &character ); @@ -453,7 +456,7 @@ class inventory_selector bool keep_open = false; protected: - const player &u; + player &u; const inventory_selector_preset &preset; /** @@ -622,7 +625,7 @@ inventory_selector::stat display_stat( const std::string &caption, int cur_value class inventory_pick_selector : public inventory_selector { public: - inventory_pick_selector( const player &p, + inventory_pick_selector( player &p, const inventory_selector_preset &preset = default_preset ) : inventory_selector( p, preset ) {} @@ -632,7 +635,7 @@ class inventory_pick_selector : public inventory_selector class inventory_multiselector : public inventory_selector { public: - inventory_multiselector( const player &p, const inventory_selector_preset &preset = default_preset, + inventory_multiselector( player &p, const inventory_selector_preset &preset = default_preset, const std::string &selection_column_title = "" ); protected: void rearrange_columns( size_t client_width ) override; @@ -645,7 +648,7 @@ class inventory_multiselector : public inventory_selector class inventory_compare_selector : public inventory_multiselector { public: - inventory_compare_selector( const player &p ); + inventory_compare_selector( player &p ); std::pair execute(); protected: @@ -660,11 +663,11 @@ class inventory_iuse_selector : public inventory_multiselector { public: using GetStats = std::function & )>; - inventory_iuse_selector( const player &p, + inventory_iuse_selector( player &p, const std::string &selector_title, const inventory_selector_preset &preset = default_preset, const GetStats & = {} ); - std::list> execute(); + drop_locations execute(); protected: stats get_raw_stats() const override; @@ -679,9 +682,9 @@ class inventory_iuse_selector : public inventory_multiselector class inventory_drop_selector : public inventory_multiselector { public: - inventory_drop_selector( const player &p, + inventory_drop_selector( player &p, const inventory_selector_preset &preset = default_preset ); - std::list> execute(); + drop_locations execute(); protected: stats get_raw_stats() const override; diff --git a/src/item.cpp b/src/item.cpp index 4d5d3a848a292..8a3e7a54bfd95 100644 --- a/src/item.cpp +++ b/src/item.cpp @@ -4024,16 +4024,31 @@ std::string item::display_name( unsigned int quantity ) const max_amount = to_joule( type->battery->max_capacity ); } + std::string ammotext; + if( ( ( is_gun() && ammo_required() ) || is_magazine() ) && get_option( "AMMO_IN_NAMES" ) ) { + if( ammo_current() != "null" ) { + ammotext = find_type( ammo_current() )->ammo->type->name(); + } else { + ammotext = ammotype( *ammo_types().begin() )->name(); + } + } + if( amount || show_amt ) { if( is_money() ) { amt = string_format( " $%.2f", amount / 100.0 ); } else { + if( !ammotext.empty() ) { + ammotext = " " + ammotext; + } + if( max_amount != 0 ) { - amt = string_format( " (%i/%i)", amount, max_amount ); + amt = string_format( " (%i/%i%s)", amount, max_amount, ammotext ); } else { - amt = string_format( " (%i)", amount ); + amt = string_format( " (%i%s)", amount, ammotext ); } } + } else if( !ammotext.empty() ) { + amt = " (" + ammotext + ")"; } // This is a hack to prevent possible crashing when displaying maps as items during character creation diff --git a/src/iuse.cpp b/src/iuse.cpp index fc831355d959b..aeb1593c3b92f 100644 --- a/src/iuse.cpp +++ b/src/iuse.cpp @@ -1252,7 +1252,7 @@ static void marloss_common( player &p, item &it, const trait_id ¤t_color ) iuse dummy; dummy.purifier( &p, &it, false, p.pos() ); if( effect == 6 ) { - p.radiation = 0; + p.set_rad( 0 ); } } else if( effect == 7 ) { @@ -1397,7 +1397,7 @@ int iuse::mycus( player *p, item *it, bool t, const tripoint &pos ) p->add_msg_if_player( m_good, _( "You feel better all over." ) ); p->mod_painkiller( 30 ); this->purifier( p, it, t, pos ); // Clear out some of that goo you may have floating around - p->radiation = 0; + p->set_rad( 0 ); p->healall( 4 ); // Can't make you a whole new person, but not for lack of trying p->add_msg_if_player( m_good, _( "As it settles in, you feel ecstasy radiating through every part of your body…" ) ); @@ -3427,14 +3427,14 @@ int iuse::geiger( player *p, item *it, bool t, const tripoint &pos ) } const tripoint &pnt = *pnt_; if( pnt == g->u.pos() ) { - p->add_msg_if_player( m_info, _( "Your radiation level: %d mSv (%d mSv from items)" ), p->radiation, + p->add_msg_if_player( m_info, _( "Your radiation level: %d mSv (%d mSv from items)" ), p->get_rad(), p->leak_level( "RADIOACTIVE" ) ); break; } if( npc *const person_ = g->critter_at( pnt ) ) { npc &person = *person_; p->add_msg_if_player( m_info, _( "%s's radiation level: %d mSv (%d mSv from items)" ), - person.name, person.radiation, + person.name, person.get_rad(), person.leak_level( "RADIOACTIVE" ) ); } break; @@ -5819,12 +5819,12 @@ int iuse::radglove( player *p, item *it, bool, const tripoint & ) return 0; } else { p->add_msg_if_player( _( "You activate your radiation biomonitor." ) ); - if( p->radiation >= 1 ) { + if( p->get_rad() >= 1 ) { p->add_msg_if_player( m_warning, _( "You are currently irradiated." ) ); p->add_msg_player_or_say( m_info, _( "Your radiation level: %d mSv." ), _( "It says here that my radiation level is %d mSv." ), - p->radiation ); + p->get_rad() ); } else { p->add_msg_player_or_say( m_info, _( "You are not currently irradiated." ), @@ -6290,7 +6290,9 @@ static bool einkpc_download_memory_card( player &p, item &eink, item &mc ) for( const auto &e : recipe_dict ) { const auto &r = e.second; - + if( r.never_learn ) { + continue; + } if( science ) { if( r.difficulty >= 3 && one_in( r.difficulty + 1 ) ) { candidates.push_back( &r ); @@ -9448,19 +9450,19 @@ int iuse::wash_items( player *p, bool soft_items, bool hard_items ) popup( std::string( _( "You have nothing to clean." ) ), PF_GET_KEY ); return 0; } - const std::list> to_clean = inv_s.execute(); + const drop_locations to_clean = inv_s.execute(); if( to_clean.empty() ) { return 0; } // Determine if we have enough water and cleanser for all the items. units::volume total_volume = 0_ml; - for( std::pair pair : to_clean ) { - item i = p->i_at( pair.first ); - if( pair.first == INT_MIN ) { + for( drop_location pair : to_clean ) { + if( !pair.first ) { p->add_msg_if_player( m_info, _( "Never mind." ) ); return 0; } + item &i = *pair.first; total_volume += i.volume() * pair.second / ( i.count_by_charges() ? i.charges : 1 ); } @@ -9487,8 +9489,8 @@ int iuse::wash_items( player *p, bool soft_items, bool hard_items ) // Assign the activity values. p->assign_activity( activity_id( "ACT_WASH" ), required.time ); - for( std::pair pair : to_clean ) { - p->activity.values.push_back( pair.first ); + for( drop_location pair : to_clean ) { + p->activity.targets.push_back( pair.first ); p->activity.values.push_back( pair.second ); } diff --git a/src/json.cpp b/src/json.cpp index 5c6a1b95d3eeb..2badf08acfaa7 100644 --- a/src/json.cpp +++ b/src/json.cpp @@ -109,8 +109,11 @@ void JsonObject::finish() const std::string &name = p.first; if( !visited_members.count( name ) && !string_starts_with( name, "//" ) && name != "blueprint" ) { - dbg( D_ERROR ) << "Failed to visit member '" << name << "' in JsonObject at " - << jsin->line_number( start ) << ":\n" << str() << std::endl; + try { + throw_error( string_format( "Failed to visit member %s in JsonObject", name ), name ); + } catch( const JsonError &e ) { + debugmsg( "\n%s", e.what() ); + } } } } diff --git a/src/map.cpp b/src/map.cpp index 3ed741cfb49b3..76760fb5b6057 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -7332,44 +7332,29 @@ bool tinymap::inbounds( const tripoint &p ) const // set up a map just long enough scribble on it // this tinymap should never, ever get saved -bool tinymap::fake_load( const furn_id &fur_type, const ter_id &ter_type, const trap_id &trap_type, - int fake_map_z ) +fake_map::fake_map( const furn_id &fur_type, const ter_id &ter_type, const trap_id &trap_type, + const int fake_map_z ) { const tripoint tripoint_below_zero( 0, 0, fake_map_z ); - bool do_terset = true; set_abs_sub( tripoint_below_zero ); for( int gridx = 0; gridx < my_MAPSIZE; gridx++ ) { for( int gridy = 0; gridy < my_MAPSIZE; gridy++ ) { - const tripoint gridp( gridx, gridy, fake_map_z ); - submap *tmpsub = MAPBUFFER.lookup_submap( gridp ); - if( tmpsub == nullptr ) { - generate_uniform( gridp, ter_type ); - do_terset = false; - tmpsub = MAPBUFFER.lookup_submap( gridp ); - if( tmpsub == nullptr ) { - dbg( D_ERROR ) << "failed to generate a fake submap at 0,0,-9 "; - debugmsg( "failed to generate a fake submap at 0,0,-9" ); - return false; - } - } - const size_t gridn = get_nonant( gridp ); + std::unique_ptr sm = std::make_unique(); - setsubmap( gridn, tmpsub ); - } - } + std::uninitialized_fill_n( &sm->ter[0][0], SEEX * SEEY, ter_type ); + std::uninitialized_fill_n( &sm->frn[0][0], SEEX * SEEY, fur_type ); + std::uninitialized_fill_n( &sm->trp[0][0], SEEX * SEEY, trap_type ); + + setsubmap( get_nonant( { gridx, gridy, fake_map_z } ), sm.get() ); - for( const tripoint &pos : points_in_rectangle( tripoint_below_zero, - tripoint( MAPSIZE * SEEX, MAPSIZE * SEEY, fake_map_z ) ) ) { - if( do_terset ) { - ter_set( pos, ter_type ); + temp_submaps_.emplace_back( std::move( sm ) ); } - furn_set( pos, fur_type ); - trap_set( pos, trap_type ); } - return true; } +fake_map::~fake_map() = default; + void map::set_graffiti( const tripoint &p, const std::string &contents ) { if( !inbounds( p ) ) { diff --git a/src/map.h b/src/map.h index 65a89eb8d3c65..8de02608fc198 100644 --- a/src/map.h +++ b/src/map.h @@ -1834,8 +1834,15 @@ class tinymap : public map public: tinymap( int mapsize = 2, bool zlevels = false ); bool inbounds( const tripoint &p ) const override; - bool fake_load( const furn_id &fur_type, const ter_id &ter_type, const trap_id &trap_type, - int fake_map_z ); }; +class fake_map : public tinymap +{ + private: + std::vector> temp_submaps_; + public: + fake_map( const furn_id &fur_type, const ter_id &ter_type, const trap_id &trap_type, + int fake_map_z ); + ~fake_map() override; +}; #endif diff --git a/src/mapgen.cpp b/src/mapgen.cpp index f4b5f8c7eb289..4eb206c519909 100644 --- a/src/mapgen.cpp +++ b/src/mapgen.cpp @@ -1041,14 +1041,11 @@ class jmapgen_liquid_item : public jmapgen_piece class jmapgen_item_group : public jmapgen_piece { public: - std::string group_id; + Group_tag group_id; jmapgen_int chance; - jmapgen_item_group( const JsonObject &jsi ) : - group_id( jsi.get_string( "item" ) ) - , chance( jsi, "chance", 1, 1 ) { - if( !item_group::group_is_defined( group_id ) ) { - set_mapgen_defer( jsi, "item", "no such item group '" + group_id + "'" ); - } + jmapgen_item_group( const JsonObject &jsi ) : chance( jsi, "chance", 1, 1 ) { + JsonValue group = jsi.get_member( "item" ); + group_id = item_group::load_item_group( group, "collection" ); repeat = jmapgen_int( jsi, "repeat", 1, 1 ); } void apply( mapgendata &dat, const jmapgen_int &x, const jmapgen_int &y ) const override { @@ -1128,8 +1125,8 @@ class jmapgen_monster_group : public jmapgen_piece } }; /** - * Place spawn points for a specific monster (not a group). - * "monster": id of the monster. + * Place spawn points for a specific monster. + * "monster": id of the monster. or "group": id of the monster group. * "friendly": whether the new monster is friendly to the player character. * "name": the name of the monster (if it has one). * "chance": the percentage chance of a monster, affected by spawn density @@ -1198,37 +1195,38 @@ class jmapgen_monster : public jmapgen_piece // Instead, apply a multipler to the number of monsters for really high densities. // For example, a 50% chance at spawn density 4 becomes a 75% chance of ~2.7 monsters. int odds_after_density = raw_odds * get_option( "SPAWN_DENSITY" ) ; - int max_odds = 100 - ( 100 - raw_odds ) / 2; + int max_odds = ( 100 + raw_odds ) / 2; float density_multiplier = 1; if( odds_after_density > max_odds ) { density_multiplier = 1.0f * odds_after_density / max_odds; odds_after_density = max_odds; } - if( !x_in_y( odds_after_density, 100 ) ) { - return; - } - int mission_id = -1; if( dat.mission() && target ) { mission_id = dat.mission()->get_id(); } - if( m_id != mongroup_id::NULL_ID() ) { - // Spawn single monster from a group - dat.m.place_spawns( m_id, 1, point( x.get(), y.get() ), point( x.get(), y.get() ), 1.0f, true, - false, - name, mission_id ); - } else { - int spawn_count = roll_remainder( density_multiplier ); - if( one_or_none ) { // don't let high spawn density alone cause more than 1 to spawn. - spawn_count = std::min( spawn_count, 1 ); - } - if( raw_odds == 100 ) { // don't spawn less than 1 if odds were 100%, even with low spawn density. - spawn_count = std::max( spawn_count, 1 ); + + int spawn_count = roll_remainder( density_multiplier ); + + if( one_or_none ) { // don't let high spawn density alone cause more than 1 to spawn. + spawn_count = std::min( spawn_count, 1 ); + } + if( raw_odds == 100 ) { // don't spawn less than 1 if odds were 100%, even with low spawn density. + spawn_count = std::max( spawn_count, 1 ); + } else { + if( !x_in_y( odds_after_density, 100 ) ) { + return; } + } + if( m_id != mongroup_id::NULL_ID() ) { + MonsterGroupResult spawn_details = MonsterGroupManager::GetResultFromGroup( m_id ); + dat.m.add_spawn( spawn_details.name, spawn_count * pack_size.get(), point( x.get(), y.get() ), + friendly, -1, mission_id, name ); + } else { dat.m.add_spawn( *( ids.pick() ), spawn_count * pack_size.get(), point( x.get(), y.get() ), friendly, -1, mission_id, name ); } @@ -7274,8 +7272,6 @@ std::pair, std::map> get_changed_ids_from_up const std::string &update_mapgen_id ) { const int fake_map_z = -9; - const tripoint tripoint_below_zero( 0, 0, fake_map_z ); - const tripoint tripoint_fake_map_edge( 23, 23, fake_map_z ); std::map terrains; std::map furnitures; @@ -7286,10 +7282,8 @@ std::pair, std::map> get_changed_ids_from_up return std::make_pair( terrains, furnitures ); } - tinymap fake_map; - if( !fake_map.fake_load( f_null, t_dirt, tr_null, fake_map_z ) ) { - return std::make_pair( terrains, furnitures ); - } + ::fake_map fake_map( f_null, t_dirt, tr_null, fake_map_z ); + oter_id any = oter_id( "field" ); // just need a variable here, it doesn't need to be valid const regional_settings dummy_settings; @@ -7298,20 +7292,13 @@ std::pair, std::map> get_changed_ids_from_up any, any, 0, dummy_settings, fake_map, any, 0.0f, calendar::turn, nullptr ); if( update_function->second[0]->update_map( fake_md ) ) { - for( const tripoint &pos : fake_map.points_in_rectangle( tripoint_below_zero, - tripoint_fake_map_edge ) ) { + for( const tripoint &pos : fake_map.points_on_zlevel( fake_map_z ) ) { ter_id ter_at_pos = fake_map.ter( pos ); if( ter_at_pos != t_dirt ) { - if( terrains.find( ter_at_pos ) == terrains.end() ) { - terrains[ter_at_pos] = 0; - } terrains[ter_at_pos] += 1; } if( fake_map.has_furn( pos ) ) { furn_id furn_at_pos = fake_map.furn( pos ); - if( furnitures.find( furn_at_pos ) == furnitures.end() ) { - furnitures[furn_at_pos] = 0; - } furnitures[furn_at_pos] += 1; } } diff --git a/src/mutation.h b/src/mutation.h index 053738d2c38cb..ee12948f04fbb 100644 --- a/src/mutation.h +++ b/src/mutation.h @@ -146,6 +146,9 @@ struct mutation_branch { cata::optional scent_mask; int bleed_resist = 0; + /**Map of crafting skills modifiers, can be negative*/ + std::map craft_skill_bonus; + /**What do you smell like*/ cata::optional scent_typeid; diff --git a/src/mutation_data.cpp b/src/mutation_data.cpp index c7bb5dbd88ab8..f3c9209783917 100644 --- a/src/mutation_data.cpp +++ b/src/mutation_data.cpp @@ -411,6 +411,15 @@ void mutation_branch::load( const JsonObject &jo, const std::string & ) spells_learned.emplace( sp, ja.next_int() ); } + for( JsonArray ja : jo.get_array( "craft_skill_bonus" ) ) { + const skill_id skid( ja.next_string() ); + if( skid.is_valid() ) { + craft_skill_bonus.emplace( skid, ja.next_int() ); + } else { + jo.throw_error( "invalid skill_id" ); + } + } + for( JsonArray ja : jo.get_array( "lumination" ) ) { const body_part bp = get_body_part_token( ja.next_string() ); lumination.emplace( bp, ja.next_float() ); diff --git a/src/npc.cpp b/src/npc.cpp index 7e0ec9b6710d8..97388f25faf9a 100644 --- a/src/npc.cpp +++ b/src/npc.cpp @@ -1051,7 +1051,7 @@ bool npc::wear_if_wanted( const item &it ) for( int i = 0; i < num_hp_parts; i++ ) { hp_part hpp = static_cast( i ); body_part bp = player::hp_to_bp( hpp ); - if( hp_cur[i] <= 0 && it.covers( bp ) ) { + if( is_limb_broken( hpp ) && it.covers( bp ) ) { splint = true; break; } @@ -1159,9 +1159,20 @@ bool npc::wield( item &it ) // check if the item is in a holster int position = inv.position_by_item( &it ); - item &holster = inv.find_item( position ); - if( holster.tname() != it.tname() && holster.is_holster() && !holster.contents.empty() ) { - invoke_item( &holster ); + if( position != INT_MIN ) { + item &maybe_holster = inv.find_item( position ); + assert( !maybe_holster.is_null() ); + if( &maybe_holster != &it && maybe_holster.is_holster() ) { + assert( !maybe_holster.contents.empty() ); + const size_t old_size = maybe_holster.contents.size(); + invoke_item( &maybe_holster ); + // @TODO change invoke_item to somehow report this change + // Hacky: test whether wielding the item from the holster has been done. + // (Wielding may be prevented by various reasons: see player::wield_contained) + if( old_size != maybe_holster.contents.size() ) { + return true; + } + } } moves -= 15; @@ -1178,7 +1189,7 @@ bool npc::wield( item &it ) return true; } -void npc::drop( const std::list> &what, const tripoint &target, +void npc::drop( const drop_locations &what, const tripoint &target, bool stash ) { Character::drop( what, target, stash ); diff --git a/src/npc.h b/src/npc.h index 837ed246ea1c0..cc40cfc466a5c 100644 --- a/src/npc.h +++ b/src/npc.h @@ -61,6 +61,8 @@ using npc_class_id = string_id; using mission_type_id = string_id; using mfaction_id = int_id; using overmap_location_str_id = string_id; +using drop_location = std::pair; +using drop_locations = std::list; void parse_tags( std::string &phrase, const Character &u, const Character &me, const itype_id &item_type = "null" ); @@ -915,7 +917,7 @@ class npc : public player void do_npc_read(); void stow_item( item &it ); bool wield( item &it ) override; - void drop( const std::list> &what, const tripoint &target, + void drop( const drop_locations &what, const tripoint &target, bool stash ) override; bool adjust_worn(); bool has_healing_item( healing_options try_to_fix ); diff --git a/src/npcmove.cpp b/src/npcmove.cpp index b08ee25201ded..80b52f8e5b41f 100644 --- a/src/npcmove.cpp +++ b/src/npcmove.cpp @@ -2178,7 +2178,7 @@ bool npc::can_move_to( const tripoint &p, bool no_bashing ) const { // Allow moving into any bashable spots, but penalize them during pathing // Doors are not passable for hallucinations - return( rl_dist( pos(), p ) <= 1 && + return( rl_dist( pos(), p ) <= 1 && g->m.has_floor( p ) && !g->is_dangerous_tile( p ) && ( g->m.passable( p ) || ( can_open_door( p, !g->m.is_outside( pos() ) ) && !is_hallucination() ) || ( !no_bashing && g->m.bash_rating( smash_ability(), p ) > 0 ) ) ); @@ -4319,13 +4319,13 @@ bool npc::complain() } // Radiation every 10 minutes - if( radiation > 90 ) { + if( get_rad() > 90 ) { activate_bionic_by_id( bio_radscrubber ); std::string speech = _( "I'm suffering from radiation sickness…" ); - if( complain_about( radiation_string, 10_minutes, speech, radiation > 150 ) ) { + if( complain_about( radiation_string, 10_minutes, speech, get_rad() > 150 ) ) { return true; } - } else if( !radiation ) { + } else if( !get_rad() ) { deactivate_bionic_by_id( bio_radscrubber ); } diff --git a/src/options.cpp b/src/options.cpp index 1f8c6a6a81e59..df472bb059c3b 100644 --- a/src/options.cpp +++ b/src/options.cpp @@ -1140,9 +1140,11 @@ void options_manager::add_options_general() false ); - add( "DANGEROUS_RUNNING", "general", translate_marker( "Dangerous running" ), - translate_marker( "If true, the player will not be prevented from moving into known hazardous tiles while running." ), - false + add( "DANGEROUS_TERRAIN_WARNING_PROMPT", "general", + translate_marker( "Dangerous terrain warning prompt" ), + translate_marker( "Always: You will be prompted to move onto dangerous tiles. Running: You will only be able to move onto dangerous tiles while running and will be prompted. Crouching: You will only be able to move onto a dangerous tile while crouching and will be prompted. Never: You will not be able to move onto a dangerous tile unless running and will not be warned or prompted." ), + { { "ALWAYS", to_translation( "Always" ) }, { "RUNNING", translate_marker( "Running" ) }, { "CROUCHING", translate_marker( "Crouching" ) }, { "NEVER", translate_marker( "Never" ) } }, + "ALWAYS" ); mOptionsSort["general"]++; @@ -1544,6 +1546,10 @@ void options_manager::add_options_interface() translate_marker( "If true, show item symbols in inventory and pick up menu." ), false ); + add( "AMMO_IN_NAMES", "interface", translate_marker( "Add ammo to weapon/magazine names" ), + translate_marker( "If true, the default ammo is added to weapon and magazine names. For example \"Mosin-Nagant M44 (4/5)\" becomes \"Mosin-Nagant M44 (4/5 7.62x54mm)\"." ), + true + ); mOptionsSort["interface"]++; diff --git a/src/overmap_ui.cpp b/src/overmap_ui.cpp index 15bad3645c8d0..34f9449f87fd2 100644 --- a/src/overmap_ui.cpp +++ b/src/overmap_ui.cpp @@ -1326,7 +1326,7 @@ static tripoint display( const tripoint &orig, const draw_data_t &data = draw_da if( data.select != tripoint( -1, -1, -1 ) ) { curs = tripoint( data.select ); } - + bool chosen_water_option = false; // Configure input context for navigating the map. input_context ictxt( "OVERMAP" ); ictxt.register_action( "ANY_INPUT" ); @@ -1425,21 +1425,30 @@ static tripoint display( const tripoint &orig, const draw_data_t &data = draw_da curs.y = p.y; } } else if( action == "CHOOSE_DESTINATION" ) { - bool in_road_vehicle = g->u.in_vehicle && g->u.controlling_vehicle; + path_type ptype; + bool in_vehicle = g->u.in_vehicle && g->u.controlling_vehicle; const optional_vpart_position vp = g->m.veh_at( g->u.pos() ); - bool in_boat = false; - if( vp && in_road_vehicle ) { + if( vp && in_vehicle ) { vehicle &veh = vp->vehicle(); - in_boat = veh.can_float() && veh.is_watercraft() && veh.is_in_water(); - if( in_boat ) { - in_road_vehicle = false; + ptype.only_water = veh.can_float() && veh.is_watercraft() && veh.is_in_water(); + ptype.only_road = !ptype.only_water; + } else { + const oter_id oter = overmap_buffer.ter( curs ); + // if we choose a water tile, then we dont need to be prompted if we want to swim + if( is_river_or_lake( oter ) ) { + ptype.amphibious = true; + } else if( !chosen_water_option ) { + if( query_yn( _( "Allow swimming to get to destination?" ) ) ) { + ptype.amphibious = true; + } + chosen_water_option = true; } } const tripoint player_omt_pos = g->u.global_omt_location(); if( !g->u.omt_path.empty() && g->u.omt_path.front() == curs ) { if( query_yn( _( "Travel to this point?" ) ) ) { // renew the path incase of a leftover dangling path point - g->u.omt_path = overmap_buffer.get_npc_path( player_omt_pos, curs, in_road_vehicle, in_boat ); + g->u.omt_path = overmap_buffer.get_npc_path( player_omt_pos, curs, ptype ); if( g->u.in_vehicle && g->u.controlling_vehicle ) { vehicle *player_veh = veh_pointer_or_null( g->m.veh_at( g->u.pos() ) ); player_veh->omt_path = g->u.omt_path; @@ -1455,7 +1464,7 @@ static tripoint display( const tripoint &orig, const draw_data_t &data = draw_da if( curs == player_omt_pos ) { g->u.omt_path.clear(); } else { - g->u.omt_path = overmap_buffer.get_npc_path( player_omt_pos, curs, in_road_vehicle, in_boat ); + g->u.omt_path = overmap_buffer.get_npc_path( player_omt_pos, curs, ptype ); } } else if( action == "TOGGLE_BLINKING" ) { uistate.overmap_blinking = !uistate.overmap_blinking; diff --git a/src/overmapbuffer.cpp b/src/overmapbuffer.cpp index ec2bc9d205830..bccaff5c8395b 100644 --- a/src/overmapbuffer.cpp +++ b/src/overmapbuffer.cpp @@ -666,8 +666,14 @@ bool overmapbuffer::reveal( const tripoint ¢er, int radius, return result; } +std::vector overmapbuffer::get_npc_path( const tripoint &src, const tripoint &dest ) +{ + path_type ptype; + return get_npc_path( src, dest, ptype ); +} + std::vector overmapbuffer::get_npc_path( const tripoint &src, const tripoint &dest, - bool road_only, bool do_boat ) + path_type &ptype ) { std::vector path; static const int RADIUS = 4; // Maximal radius of search (in overmaps) @@ -692,17 +698,17 @@ std::vector overmapbuffer::get_npc_path( const tripoint &src, const tr int res = 0; const oter_id oter = get_ter_at( cur.pos ); int travel_cost = static_cast( oter->get_travel_cost() ); - if( road_only && ( !is_ot_match( "road", oter, ot_match_type::type ) && - !is_ot_match( "bridge", oter, ot_match_type::type ) && - !is_ot_match( "road_nesw_manhole", oter, ot_match_type::type ) ) ) { + if( ptype.only_road && ( !is_ot_match( "road", oter, ot_match_type::type ) && + !is_ot_match( "bridge", oter, ot_match_type::type ) && + !is_ot_match( "road_nesw_manhole", oter, ot_match_type::type ) ) ) { return pf::rejected; } - if( do_boat && ( !is_river_or_lake( oter ) || - is_ot_match( "bridge", oter, ot_match_type::type ) ) ) { + if( ptype.only_water && ( !is_river_or_lake( oter ) || + is_ot_match( "bridge", oter, ot_match_type::type ) ) ) { return pf::rejected; } if( is_ot_match( "empty_rock", oter, ot_match_type::type ) || - is_ot_match( "open_air", oter, ot_match_type::type ) || ( !do_boat && oter->is_lake() ) ) { + is_ot_match( "open_air", oter, ot_match_type::type ) ) { return pf::rejected; } else if( is_ot_match( "forest", oter, ot_match_type::type ) ) { travel_cost = 10; @@ -713,7 +719,7 @@ std::vector overmapbuffer::get_npc_path( const tripoint &src, const tr is_ot_match( "road_nesw_manhole", oter, ot_match_type::type ) ) { travel_cost = 1; } else if( is_river_or_lake( oter ) ) { - travel_cost = do_boat ? 1 : 20; + travel_cost = ptype.only_water || ptype.amphibious ? 1 : 20; } res += travel_cost; res += manhattan_dist( finish, cur.pos ); diff --git a/src/overmapbuffer.h b/src/overmapbuffer.h index 07fc3482ab88e..7f8a84d07b84a 100644 --- a/src/overmapbuffer.h +++ b/src/overmapbuffer.h @@ -33,6 +33,12 @@ class vehicle; class basecamp; class map_extra; +struct path_type { + bool only_road = false; + bool only_water = false; + bool amphibious = false; +}; + struct radio_tower_reference { /** The radio tower itself, points into @ref overmap::radios */ radio_tower *tower; @@ -301,8 +307,8 @@ class overmapbuffer bool reveal( const tripoint ¢er, int radius ); bool reveal( const tripoint ¢er, int radius, const std::function &filter ); - std::vector get_npc_path( const tripoint &src, const tripoint &dest, - bool road_only = false, bool do_boat = false ); + std::vector get_npc_path( const tripoint &src, const tripoint &dest ); + std::vector get_npc_path( const tripoint &src, const tripoint &dest, path_type &ptype ); bool reveal_route( const tripoint &source, const tripoint &dest, int radius = 0, bool road_only = false ); /** diff --git a/src/pickup.cpp b/src/pickup.cpp index 863209a068d37..288ea626d3f7b 100644 --- a/src/pickup.cpp +++ b/src/pickup.cpp @@ -567,6 +567,15 @@ void Pickup::pick_up( const tripoint &p, int min, from_where get_items_from ) int pickupH = maxitems + pickupBorderRows; int pickupW = 44; + //find max length of item name and resize pickup window width + for( const std::list &cur_list : stacked_here ) { + const item &this_item = *cur_list.front(); + int item_len = utf8_width( remove_color_tags( this_item.display_name() ) ) + 10; + if( item_len > pickupW && item_len < TERMX ) { + pickupW = item_len; + } + } + int itemsW = pickupW; int pickupX = 0; diff --git a/src/player.cpp b/src/player.cpp index fbfe23d0c5b07..067d76e01bf1e 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -1922,7 +1922,7 @@ void player::apply_damage( Creature *source, body_part hurt, int dam, const bool hp_cur[hurtpart] -= dam_to_bodypart; g->events().send( getID(), dam_to_bodypart ); - if( hp_cur[hurtpart] <= 0 && ( source == nullptr || !source->is_hallucination() ) ) { + if( is_limb_broken( hurtpart ) && ( source == nullptr || !source->is_hallucination() ) ) { if( !weapon.is_null() && can_unwield( weapon ).success() ) { put_into_vehicle_or_drop( *this, item_drop_reason::tumbling, { weapon } ); i_rem( &weapon ); @@ -2231,7 +2231,7 @@ void player::update_body( const time_point &from, const time_point &to ) reset_activity_level(); } // Radiation kills health even at low doses - update_health( has_trait( trait_RADIOGENIC ) ? 0 : -radiation ); + update_health( has_trait( trait_RADIOGENIC ) ? 0 : -get_rad() ); get_sick(); } @@ -2274,8 +2274,7 @@ void player::update_stomach( const time_point &from, const time_point &to ) // Digest nutrients in guts, they will be distributed to needs levels food_summary digested_to_body = guts.digest( *this, rates, five_mins, half_hours ); // Water from stomach skips guts and gets absorbed by body - set_thirst( std::max( - -100, get_thirst() - units::to_milliliter( digested_to_guts.water ) / 5 ) ); + mod_thirst( - units::to_milliliter( digested_to_guts.water ) / 5 ); guts.ingest( digested_to_guts ); // Apply nutrients, unless this is an NPC and NO_NPC_FOOD is enabled. if( !is_npc() || !get_option( "NO_NPC_FOOD" ) ) { @@ -2342,7 +2341,7 @@ void player::update_stomach( const time_point &from, const time_point &to ) void player::get_sick() { // NPCs are too dumb to handle infections now - if( is_npc() || has_trait( trait_DISIMMUNE ) ) { + if( is_npc() || has_trait_flag( "NO_DISEASE" ) ) { // In a shocking twist, disease immunity prevents diseases. return; } @@ -2832,8 +2831,8 @@ void player::regen( int rate_multiplier ) } } - if( radiation > 0 ) { - radiation = std::max( 0, radiation - roll_remainder( rate_multiplier / 50.0f ) ); + if( get_rad() > 0 ) { + mod_rad( -roll_remainder( rate_multiplier / 50.0f ) ); } } @@ -2999,10 +2998,10 @@ void player::process_one_effect( effect &it, bool is_new ) if( val != 0 ) { mod = 1; if( is_new || it.activated( calendar::turn, "RAD", val, reduced, mod ) ) { - radiation += bound_mod_to_vals( radiation, val, it.get_max_val( "RAD", reduced ), 0 ); + mod_rad( bound_mod_to_vals( get_rad(), val, it.get_max_val( "RAD", reduced ), 0 ) ); // Radiation can't go negative - if( radiation < 0 ) { - radiation = 0; + if( get_rad() < 0 ) { + set_rad( 0 ); } } } @@ -4773,34 +4772,7 @@ hint_rating player::rate_action_takeoff( const item &it ) const return HINT_IFFY; } -std::list player::get_dependent_worn_items( const item &it ) const -{ - std::list dependent; - // Adds dependent worn items recursively - const std::function add_dependent = [ & ]( const item & it ) { - for( const auto &wit : worn ) { - if( &wit == &it || !wit.is_worn_only_with( it ) ) { - continue; - } - const auto iter = std::find_if( dependent.begin(), dependent.end(), - [ &wit ]( const item * dit ) { - return &wit == dit; - } ); - if( iter == dependent.end() ) { // Not in the list yet - add_dependent( wit ); - dependent.push_back( &wit ); - } - } - }; - - if( is_worn( it ) ) { - add_dependent( it ); - } - - return dependent; -} - -ret_val player::can_takeoff( const item &it, const std::list *res ) const +ret_val player::can_takeoff( const item &it, const std::list *res ) { auto iter = std::find_if( worn.begin(), worn.end(), [ &it ]( const item & wit ) { return &it == &wit; @@ -4824,7 +4796,7 @@ ret_val player::can_takeoff( const item &it, const std::list *res ) return ret_val::make_success(); } -bool player::takeoff( const item &it, std::list *res ) +bool player::takeoff( item &it, std::list *res ) { const auto ret = can_takeoff( it, res ); if( !ret.success() ) { @@ -4840,7 +4812,8 @@ bool player::takeoff( const item &it, std::list *res ) if( volume_carried() + it.volume() > volume_capacity_reduced_by( it.get_storage() ) ) { if( is_npc() || query_yn( _( "No room in inventory for your %s. Drop it?" ), colorize( it.tname(), it.color_in_inventory() ) ) ) { - drop( get_item_position( &it ), pos() ); + item_location loc( *this, &it ); + drop( loc, pos() ); return true; // the drop activity ends up taking off the item anyway so shouldn't try to do it again here } else { return false; @@ -6462,7 +6435,7 @@ void player::environmental_revert_effect() set_stim( 0 ); set_pain( 0 ); set_painkiller( 0 ); - radiation = 0; + set_rad( 0 ); recalc_sight_limits(); reset_encumbrance(); diff --git a/src/player.h b/src/player.h index 81f548d5dbdb8..b6f4a5d873257 100644 --- a/src/player.h +++ b/src/player.h @@ -743,7 +743,7 @@ class player : public Character * Check player capable of taking off an item. * @param it Thing to be taken off */ - ret_val can_takeoff( const item &it, const std::list *res = nullptr ) const; + ret_val can_takeoff( const item &it, const std::list *res = nullptr ); /** * Check player capable of wielding an item. @@ -804,10 +804,8 @@ class player : public Character cata::optional::iterator> wear_item( const item &to_wear, bool interactive = true ); - /** Returns all items that must be taken off before taking off this item */ - std::list get_dependent_worn_items( const item &it ) const; /** Takes off an item, returning false on fail. The taken off item is processed in the interact */ - bool takeoff( const item &it, std::list *res = nullptr ); + bool takeoff( item &it, std::list *res = nullptr ); bool takeoff( int pos ); /** So far only called by unload() from game.cpp */ diff --git a/src/player_hardcoded_effects.cpp b/src/player_hardcoded_effects.cpp index 7914c99e38e21..8ee8026192902 100644 --- a/src/player_hardcoded_effects.cpp +++ b/src/player_hardcoded_effects.cpp @@ -1290,13 +1290,11 @@ void player::hardcoded_effects( effect &it ) } } } else if( id == effect_mending ) { - // TODO: Remove this and encapsulate hp_cur instead - if( hp_cur[bp_to_hp( bp )] > 0 ) { + if( !is_limb_broken( bp_to_hp( bp ) ) ) { it.set_duration( 0_turns ); } } else if( id == effect_disabled ) { - // TODO: Remove this and encapsulate hp_cur instead - if( hp_cur[bp_to_hp( bp )] > 0 ) { + if( !is_limb_broken( bp_to_hp( bp ) ) ) { // Just unpause, in case someone added it as a temporary effect (numbing poison etc.) it.unpause_effect(); } diff --git a/src/profession.cpp b/src/profession.cpp index 2ec55f98be56a..e185f61c6d434 100644 --- a/src/profession.cpp +++ b/src/profession.cpp @@ -37,17 +37,18 @@ static class json_item_substitution void check_consistency(); private: - void do_load( const JsonObject &jo ); - struct trait_requirements { - static trait_requirements load( JsonArray &arr ); - std::vector present, absent; + trait_requirements( const JsonObject &obj ); + trait_requirements() = default; + std::vector present; + std::vector absent; bool meets_condition( const std::vector &traits ) const; }; struct substitution { trait_requirements trait_reqs; struct info { - static info load( JsonArray &arr ); + info( const JsonValue &value ); + info() = default; itype_id new_item; double ratio = 1.0; // new charges / old charges }; @@ -482,39 +483,31 @@ void json_item_substitution::reset() bonuses.clear(); } -json_item_substitution::substitution::info json_item_substitution::substitution::info::load( - JsonArray &arr ) +json_item_substitution::substitution::info::info( const JsonValue &value ) { - json_item_substitution::substitution::info ret; - ret.new_item = arr.next_string(); - if( arr.test_float() && ( ret.ratio = arr.next_float() ) <= 0.0 ) { - arr.throw_error( "Ratio must be positive" ); + if( value.test_string() ) { + new_item = value.get_string(); + } else { + const JsonObject jo = value.get_object(); + new_item = jo.get_string( "item" ); + ratio = jo.get_float( "ratio" ); + if( ratio <= 0.0 ) { + jo.throw_error( "Ratio must be positive", "ratio" ); + } } - return ret; } -json_item_substitution::trait_requirements json_item_substitution::trait_requirements::load( - JsonArray &arr ) +json_item_substitution::trait_requirements::trait_requirements( const JsonObject &obj ) { - trait_requirements ret; - arr.read_next( ret.present ); - if( arr.test_array() ) { - arr.read_next( ret.absent ); + for( const std::string &line : obj.get_array( "present" ) ) { + present.emplace_back( line ); } - return ret; -} - -void json_item_substitution::load( const JsonObject &jo ) -{ - if( !jo.has_array( "substitutions" ) ) { - jo.throw_error( "No `substitutions` array found." ); - } - for( JsonObject subobj : jo.get_array( "substitutions" ) ) { - do_load( subobj ); + for( const std::string &line : obj.get_array( "absent" ) ) { + absent.emplace_back( line ); } } -void json_item_substitution::do_load( const JsonObject &jo ) +void json_item_substitution::load( const JsonObject &jo ) { const bool item_mode = jo.has_string( "item" ); const std::string title = jo.get_string( item_mode ? "item" : "trait" ); @@ -530,32 +523,33 @@ void json_item_substitution::do_load( const JsonObject &jo ) jo.throw_error( "Duplicate definition of item" ); } - if( jo.has_array( "bonus" ) ) { - if( !item_mode ) { - jo.throw_error( "Bonuses can only be used in item mode" ); + if( item_mode ) { + if( jo.has_member( "bonus" ) ) { + bonuses.emplace_back( title, trait_requirements( jo.get_object( "bonus" ) ) ); } - JsonArray arr = jo.get_array( "bonus" ); - bonuses.emplace_back( title, trait_requirements::load( arr ) ); - } else if( !jo.has_array( "sub" ) ) { - jo.throw_error( "Missing sub array" ); - } - for( JsonArray line : jo.get_array( "sub" ) ) { - substitution s; - const itype_id old_it = item_mode ? title : line.next_string(); - if( item_mode ) { - s.trait_reqs = trait_requirements::load( line ); - } else { + for( const JsonValue &sub : jo.get_array( "sub" ) ) { + substitution s; + JsonObject obj = sub.get_object(); + s.trait_reqs = trait_requirements( obj ); + for( const JsonValue &info : obj.get_array( "new" ) ) { + s.infos.emplace_back( info ); + } + substitutions[title].push_back( s ); + } + } else { + for( const JsonObject &sub : jo.get_array( "sub" ) ) { + substitution s; + const itype_id old_it = sub.get_string( "item" ); if( check_duplicate_item( old_it ) ) { - line.throw_error( "Duplicate definition of item" ); + sub.throw_error( "Duplicate definition of item" ); } s.trait_reqs.present.push_back( trait_id( title ) ); + for( const JsonValue &info : sub.get_array( "new" ) ) { + s.infos.emplace_back( info ); + } + substitutions[old_it].push_back( s ); } - // Error if the array doesn't have at least one new_item - do { - s.infos.push_back( substitution::info::load( line ) ); - } while( line.has_more() ); - substitutions[old_it].push_back( s ); } } diff --git a/src/savegame.cpp b/src/savegame.cpp index fa4d81e7ddeb1..136722172e72e 100644 --- a/src/savegame.cpp +++ b/src/savegame.cpp @@ -49,7 +49,7 @@ extern std::map> quick_shortcuts_map; * Changes that break backwards compatibility should bump this number, so the game can * load a legacy format loader. */ -const int savegame_version = 25; +const int savegame_version = 26; /* * This is a global set by detected version header in .sav, maps.txt, or overmap. @@ -706,7 +706,6 @@ void overmap::convert_terrain( const std::unordered_map & old.compare( 0, 5, "cabin" ) == 0 || old.compare( 0, 5, "pond_" ) == 0 || old.compare( 0, 6, "bandit" ) == 0 || - old.compare( 0, 7, "haz_sar" ) == 0 || // remove after 0.E. old.compare( 0, 7, "shelter" ) == 0 || old.compare( 0, 8, "campsite" ) == 0 || old.compare( 0, 9, "pwr_large" ) == 0 || @@ -786,6 +785,52 @@ void overmap::convert_terrain( const std::unordered_map & } else { debugmsg( "Malformed Megastore" ); } + + } else if( old.compare( 0, 7, "haz_sar" ) == 0 ) { + if( old == "haz_sar_entrance" || old == "haz_sar_entrance_north" ) { + ter_set( pos, oter_id( "haz_sar_1_1_north" ) ); + ter_set( pos + point_west, oter_id( "haz_sar_1_2_north" ) ); + ter_set( pos + point_south, oter_id( "haz_sar_1_3_north" ) ); + ter_set( pos + point_south_west, oter_id( "haz_sar_1_4_north" ) ); + } else if( old == "haz_sar_entrance_south" ) { + ter_set( pos, oter_id( "haz_sar_1_1_south" ) ); + ter_set( pos + point_north, oter_id( "haz_sar_1_2_south" ) ); + ter_set( pos + point_west, oter_id( "haz_sar_1_3_south" ) ); + ter_set( pos + point_north_west, oter_id( "haz_sar_1_4_south" ) ); + } else if( old == "haz_sar_entrance_east" ) { + ter_set( pos, oter_id( "haz_sar_1_1_east" ) ); + ter_set( pos + point_north, oter_id( "haz_sar_1_2_east" ) ); + ter_set( pos + point_west, oter_id( "haz_sar_1_3_east" ) ); + ter_set( pos + point_north_west, oter_id( "haz_sar_1_4_east" ) ); + } else if( old == "haz_sar_entrance_west" ) { + ter_set( pos, oter_id( "haz_sar_1_1_west" ) ); + ter_set( pos + point_south, oter_id( "haz_sar_1_2_west" ) ); + ter_set( pos + point_east, oter_id( "haz_sar_1_3_west" ) ); + ter_set( pos + point_south_east, oter_id( "haz_sar_1_4_west" ) ); + } + + if( old == "haz_sar_entrance_b1" || old == "haz_sar_entrance_b1_north" ) { + ter_set( pos, oter_id( "haz_sar_b_1_north" ) ); + ter_set( pos + point_west, oter_id( "haz_sar_b_2_north" ) ); + ter_set( pos + point_south, oter_id( "haz_sar_b_3_north" ) ); + ter_set( pos + point_south_west, oter_id( "haz_sar_b_4_north" ) ); + } else if( old == "haz_sar_entrance_b1_south" ) { + ter_set( pos, oter_id( "haz_sar_b_1_south" ) ); + ter_set( pos + point_north, oter_id( "haz_sar_b_2_south" ) ); + ter_set( pos + point_west, oter_id( "haz_sar_b_3_south" ) ); + ter_set( pos + point_north_west, oter_id( "haz_sar_b_4_south" ) ); + } else if( old == "haz_sar_entrance_b1_east" ) { + ter_set( pos, oter_id( "haz_sar_b_1_east" ) ); + ter_set( pos + point_north, oter_id( "haz_sar_b_2_east" ) ); + ter_set( pos + point_west, oter_id( "haz_sar_b_3_east" ) ); + ter_set( pos + point_north_west, oter_id( "haz_sar_b_4_east" ) ); + } else if( old == "haz_sar_entrance_b1_west" ) { + ter_set( pos, oter_id( "haz_sar_b_1_west" ) ); + ter_set( pos + point_south, oter_id( "haz_sar_b_2_west" ) ); + ter_set( pos + point_east, oter_id( "haz_sar_b_3_west" ) ); + ter_set( pos + point_south_east, oter_id( "haz_sar_b_4_west" ) ); + } + } else if( old == "house_base_north" ) { ter_set( pos, oter_id( "house_north" ) ); } else if( old == "house_base_south" ) { diff --git a/src/sdltiles.cpp b/src/sdltiles.cpp index bdb00e4d0372b..382e836634376 100644 --- a/src/sdltiles.cpp +++ b/src/sdltiles.cpp @@ -709,8 +709,23 @@ void CachedTTFFont::OutputChar( const std::string &ch, const int x, const int y, bool BitmapFont::isGlyphProvided( const std::string &ch ) const { - uint32_t t = UTF8_getch( ch ); - return t < 256; + const uint32_t t = UTF8_getch( ch ); + switch( t ) { + case LINE_XOXO_UNICODE: + case LINE_OXOX_UNICODE: + case LINE_XXOO_UNICODE: + case LINE_OXXO_UNICODE: + case LINE_OOXX_UNICODE: + case LINE_XOOX_UNICODE: + case LINE_XXXO_UNICODE: + case LINE_XXOX_UNICODE: + case LINE_XOXX_UNICODE: + case LINE_OXXX_UNICODE: + case LINE_XXXX_UNICODE: + return true; + default: + return t < 256; + } } void BitmapFont::OutputChar( const std::string &ch, const int x, const int y, @@ -723,25 +738,64 @@ void BitmapFont::OutputChar( const std::string &ch, const int x, const int y, void BitmapFont::OutputChar( const int t, const int x, const int y, const unsigned char color, const float opacity ) { - if( t > 256 ) { - return; - } - SDL_Rect src; - src.x = ( t % tilewidth ) * fontwidth; - src.y = ( t / tilewidth ) * fontheight; - src.w = fontwidth; - src.h = fontheight; - SDL_Rect rect; - rect.x = x; - rect.y = y; - rect.w = fontwidth; - rect.h = fontheight; - if( opacity != 1.0f ) { - SDL_SetTextureAlphaMod( ascii[color].get(), opacity * 255 ); - } - RenderCopy( renderer, ascii[color], &src, &rect ); - if( opacity != 1.0f ) { - SDL_SetTextureAlphaMod( ascii[color].get(), 255 ); + if( t <= 256 ) { + SDL_Rect src; + src.x = ( t % tilewidth ) * fontwidth; + src.y = ( t / tilewidth ) * fontheight; + src.w = fontwidth; + src.h = fontheight; + SDL_Rect rect; + rect.x = x; + rect.y = y; + rect.w = fontwidth; + rect.h = fontheight; + if( opacity != 1.0f ) { + SDL_SetTextureAlphaMod( ascii[color].get(), opacity * 255 ); + } + RenderCopy( renderer, ascii[color], &src, &rect ); + if( opacity != 1.0f ) { + SDL_SetTextureAlphaMod( ascii[color].get(), 255 ); + } + } else { + unsigned char uc = 0; + switch( t ) { + case LINE_XOXO_UNICODE: + uc = LINE_XOXO_C; + break; + case LINE_OXOX_UNICODE: + uc = LINE_OXOX_C; + break; + case LINE_XXOO_UNICODE: + uc = LINE_XXOO_C; + break; + case LINE_OXXO_UNICODE: + uc = LINE_OXXO_C; + break; + case LINE_OOXX_UNICODE: + uc = LINE_OOXX_C; + break; + case LINE_XOOX_UNICODE: + uc = LINE_XOOX_C; + break; + case LINE_XXXO_UNICODE: + uc = LINE_XXXO_C; + break; + case LINE_XXOX_UNICODE: + uc = LINE_XXOX_C; + break; + case LINE_XOXX_UNICODE: + uc = LINE_XOXX_C; + break; + case LINE_OXXX_UNICODE: + uc = LINE_OXXX_C; + break; + case LINE_XXXX_UNICODE: + uc = LINE_XXXX_C; + break; + default: + return; + } + draw_ascii_lines( uc, x, y, color ); } } diff --git a/src/suffer.cpp b/src/suffer.cpp index 778af70ec33d6..cb98005ec8bf4 100644 --- a/src/suffer.cpp +++ b/src/suffer.cpp @@ -480,7 +480,8 @@ void Character::suffer_from_schizophrenia() str[0] = toupper( str[0] ); add_msg_if_player( m_bad, "%s", str ); - drop( get_item_position( &weapon ), pos() ); + item_location loc( *this, &weapon ); + drop( loc, pos() ); return; } // Talk to self @@ -1032,45 +1033,45 @@ void Character::suffer_from_radiation() } if( calendar::once_every( 15_minutes ) ) { - if( radiation < 0 ) { - radiation = 0; - } else if( radiation > 2000 ) { - radiation = 2000; + if( get_rad() < 0 ) { + set_rad( 0 ); + } else if( get_rad() > 2000 ) { + set_rad( 2000 ); } - if( get_option( "RAD_MUTATION" ) && rng( 100, 10000 ) < radiation ) { + if( get_option( "RAD_MUTATION" ) && rng( 100, 10000 ) < get_rad() ) { mutate(); - radiation -= 50; - } else if( radiation > 50 && rng( 1, 3000 ) < radiation && ( stomach.contains() > 0_ml || + mod_rad( -50 ); + } else if( get_rad() > 50 && rng( 1, 3000 ) < get_rad() && ( stomach.contains() > 0_ml || radiation_increasing || !in_sleep_state() ) ) { vomit(); - radiation -= 1; + mod_rad( -1 ); } } const bool radiogenic = has_trait( trait_RADIOGENIC ); - if( radiogenic && calendar::once_every( 30_minutes ) && radiation > 0 ) { + if( radiogenic && calendar::once_every( 30_minutes ) && get_rad() > 0 ) { // At 200 irradiation, twice as fast as REGEN - if( x_in_y( radiation, 200 ) ) { + if( x_in_y( get_rad(), 200 ) ) { healall( 1 ); if( rad_mut == 0 ) { // Don't heal radiation if we're generating it naturally // That would counter the main downside of radioactivity - radiation -= 5; + mod_rad( -5 ); } } } - if( !radiogenic && radiation > 0 ) { + if( !radiogenic && get_rad() > 0 ) { // Even if you heal the radiation itself, the damage is done. const int hmod = get_healthy_mod(); - if( hmod > 200 - radiation ) { - set_healthy_mod( std::max( -200, 200 - radiation ) ); + if( hmod > 200 - get_rad() ) { + set_healthy_mod( std::max( -200, 200 - get_rad() ) ); } } - if( radiation > 200 && calendar::once_every( 10_minutes ) && x_in_y( radiation, 1000 ) ) { + if( get_rad() > 200 && calendar::once_every( 10_minutes ) && x_in_y( get_rad(), 1000 ) ) { hurtall( 1, nullptr ); - radiation -= 5; + mod_rad( -5 ); } if( !reactor_plut && !tank_plut && !slow_rad ) { @@ -1145,7 +1146,7 @@ void Character::suffer_from_radiation() tank_plut *= 0.6; } while( slow_rad >= 1000 ) { - radiation += 1; + mod_rad( 1 ); slow_rad -= 1000; } } @@ -1503,7 +1504,7 @@ bool Character::irradiate( float rads, bool bypass ) } int rads_max = roll_remainder( rads ); - radiation += rng( 0, rads_max ); + mod_rad( rng( 0, rads_max ) ); // Apply rads to any radiation badges. for( item *const it : inv_dump() ) { @@ -1550,7 +1551,7 @@ void Character::mend( int rate_multiplier ) // Wearing splints can slowly mend a broken limb back to 1 hp. bool any_broken = false; for( int i = 0; i < num_hp_parts; i++ ) { - if( hp_cur[i] <= 0 ) { + if( is_limb_broken( static_cast( i ) ) ) { any_broken = true; break; } @@ -1577,8 +1578,8 @@ void Character::mend( int rate_multiplier ) healing_factor *= addiction_scaling( 0.25f, 0.75f, addiction_level( ADD_ALCOHOL ) ); } - if( radiation > 0 && !has_trait( trait_RADIOGENIC ) ) { - healing_factor *= clamp( ( 1000.0f - radiation ) / 1000.0f, 0.0f, 1.0f ); + if( get_rad() > 0 && !has_trait( trait_RADIOGENIC ) ) { + healing_factor *= clamp( ( 1000.0f - get_rad() ) / 1000.0f, 0.0f, 1.0f ); } // Bed rest speeds up mending @@ -1624,7 +1625,7 @@ void Character::mend( int rate_multiplier ) } for( int i = 0; i < num_hp_parts; i++ ) { - const bool broken = ( hp_cur[i] <= 0 ); + const bool broken = is_limb_broken( static_cast( i ) ); if( !broken ) { continue; } diff --git a/src/units.cpp b/src/units.cpp index a2122749dded9..de19b3665ba15 100644 --- a/src/units.cpp +++ b/src/units.cpp @@ -7,7 +7,7 @@ template<> void volume::serialize( JsonOut &jsout ) const { if( value_ % 1000 == 0 ) { - jsout.write( string_format( "%d L", value_ ) ); + jsout.write( string_format( "%d L", value_ / 1000 ) ); } else { jsout.write( string_format( "%d ml", value_ ) ); } @@ -17,9 +17,9 @@ template<> void mass::serialize( JsonOut &jsout ) const { if( value_ % 1000000 == 0 ) { - jsout.write( string_format( "%d kg", value_ ) ); + jsout.write( string_format( "%d kg", value_ / 1000000 ) ); } else if( value_ % 1000 == 0 ) { - jsout.write( string_format( "%d g", value_ ) ); + jsout.write( string_format( "%d g", value_ / 1000 ) ); } else { jsout.write( string_format( "%d mg", value_ ) ); } diff --git a/tests/invlet_test.cpp b/tests/invlet_test.cpp index bcf9b48aa64d7..28737f2095475 100644 --- a/tests/invlet_test.cpp +++ b/tests/invlet_test.cpp @@ -244,9 +244,9 @@ static void drop_at_feet( player &p, const int id ) item *found = retrieve_item( p, id ); REQUIRE( found ); - int pos = p.get_item_position( found ); + item_location loc( p, found ); p.moves = 100; - p.drop( pos, p.pos() ); + p.drop( loc, p.pos() ); p.activity.do_turn( p ); REQUIRE( g->m.i_at( p.pos() ).size() == size_before + 1 ); diff --git a/tools/format/CMakeLists.txt b/tools/format/CMakeLists.txt new file mode 100644 index 0000000000000..465eeaae64bee --- /dev/null +++ b/tools/format/CMakeLists.txt @@ -0,0 +1,11 @@ +include(ExternalProject) + +add_executable( + json_formatter + format.cpp + ${CMAKE_SOURCE_DIR}/src/json.cpp + ) + +ADD_DEFINITIONS(-DCATA_IN_TOOL) + +INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src ) diff --git a/tools/format/format.cpp b/tools/format/format.cpp index 320c7f2aa3cae..06b1e45446f0a 100644 --- a/tools/format/format.cpp +++ b/tools/format/format.cpp @@ -94,8 +94,16 @@ static void format( JsonIn &jsin, JsonOut &jsout, int depth, bool force_wrap ) } else if( jsin.test_object() ) { format_collection( jsin, jsout, depth, write_object, force_wrap ); } else if( jsin.test_string() ) { - std::string str = jsin.get_string(); - jsout.write( str ); + // The string may contain escape sequences which we want to keep in the output. + const int start_pos = jsin.tell(); + jsin.get_string(); + const int end_pos = jsin.tell(); + std::string str = jsin.substr( start_pos, end_pos - start_pos ); + str = str.substr( str.find( '"' ) ); + str = str.substr( 0, str.rfind( '"' ) + 1 ); + jsout.write_separator(); + *jsout.get_stream() << str; + jsout.set_need_separator(); } else if( jsin.test_number() ) { // Have to introspect into the string to distinguish integers from floats. // Otherwise they won't serialize correctly.