From cd672e4e97375464857f1a5e84a102e079bdfa06 Mon Sep 17 00:00:00 2001 From: John Candlebury Date: Thu, 9 Jul 2020 23:09:02 -0600 Subject: [PATCH] Hub 01 laser turrets. (#41943) * Robofac laser turrets. * Format json * Update data/json/monsters/robofac_robots.json Co-authored-by: Anton Burmistrov * Fix weight Co-authored-by: Anton Burmistrov --- data/json/items/generic.json | 9 +++++ data/json/mapgen/robofachq_static.json | 18 +++++----- data/json/monster_factions.json | 6 ++++ data/json/monsters/robofac_robots.json | 36 ++++++++++++++++++++ data/json/npcs/factions.json | 1 + data/json/recipes/recipe_deconstruction.json | 20 +++++++++++ 6 files changed, 82 insertions(+), 8 deletions(-) create mode 100644 data/json/monsters/robofac_robots.json diff --git a/data/json/items/generic.json b/data/json/items/generic.json index 58261f4009325..1b662c9e1207c 100644 --- a/data/json/items/generic.json +++ b/data/json/items/generic.json @@ -3025,6 +3025,15 @@ "to_hit": -3, "flags": [ "TRADER_AVOID", "NO_REPAIR" ] }, + { + "type": "GENERIC", + "id": "broken_robofac_laserturret_mk1", + "symbol": ",", + "color": "green", + "name": { "str": "broken laser turret" }, + "weight": "40 kg", + "copy-from": "broken_turret" + }, { "type": "GENERIC", "id": "fire_brick", diff --git a/data/json/mapgen/robofachq_static.json b/data/json/mapgen/robofachq_static.json index 662312a1303ad..9a80c7b2bdad6 100644 --- a/data/json/mapgen/robofachq_static.json +++ b/data/json/mapgen/robofachq_static.json @@ -121,13 +121,13 @@ "fill_ter": "t_thconc_floor", "rows": [ "############################################| |############################################", - "########|||||||||||||||||||||||||#|||||||||||||22|||############################################", + "########|||||||||||||||||||||||||#|||||||||||||55|||############################################", "########|k ht|A h ^|#|lll|lllll| YY |############################################", "########|i k k htth ht| Cd6ddC |#|bYb|bYbYb|T YY T|########||||||||############################", "########|k o k htth ht| CCCCCC |#|b b|b b b|| YY ||######||=A6666A=||##########################", "########| W ^|^ h ^|#|l l|l l l| YY |######|,=Y Y=,|##########################", "########|FFFF| htth ?||||[[||||||l l|l l l|T YY T|######|,= htth =,|##########################", - "########|||||| htth ?||^^ ^^|| |||22||||||||||,= htth =,|##########################", + "########|||||| htth ?||^^ ^^|| |||55||||||||||,= htth =,|##########################", "########|ffff| 2 YY 2Y bbb bbbb| |L | i|,= htth =,|##########################", "########| |^??t t??^| ,, ||||||||||||| |LY2 Y;|,= htth =,|##########################", "###||||||hd ||||||||||| ,, 2 r r r| d( Y b|||||2||,= htth =,|##########################", @@ -211,7 +211,7 @@ { "item": "lab_bookshelves", "chance": 55, "repeat": [ 1, 3 ] } ] }, - "monster": { "T": { "monster": "mon_turret_rifle" } }, + "monster": { "T": { "monster": "mon_robofac_laserturret_mk1" } }, "npcs": { "G": { "class": "hub_security" }, "Q": { "class": "hub_security_head" } } } }, @@ -450,19 +450,19 @@ "##############################################||5555||tt tt|####################################", "#####################################||||||||||^ ^| h h|####################################", "#####################################|rrrrrrrr|^ ^| |####################################", - "#####################################|r r|| ||||2|||####################################", + "#####################################|r r||T T||||2|||####################################", "#####################################|r YY 2 (t r|####################################", "#####################################|||||||||| YY (thY r|####################################", - "#####################################|bbbbbbbb| YY (t Y r|####################################", + "#####################################|bbbbbbbb| YY (tGY r|####################################", "#####################################|Y Y2 ( r|####################################", "#####################################| llllll ||2222||||2|||####################################", - "#####################################|2||||||2|^ Y^|####################################", + "#####################################|2||||||2|^ G Y^|####################################", "#####################################| ~| |~ |^ Y^|####################################", "#####################################| i| |i |^ Y^|####################################", "#####################################||||||||||| ||||||||####################################", "#####################################|lll 2 ^|##########################################", "#####################################|^ ( YY ^|##########################################", - "#####################################| d ( YY ^|##########################################", + "#####################################| dG ( YY ^|##########################################", "#####################################|^hdh ( ^|##########################################", "#####################################|||||||| ||||##########################################" ], @@ -472,7 +472,9 @@ "l": [ { "item": "NC_ROBOFAC_FIELD_RESEARCHER_worn", "chance": 50 }, { "item": "NC_ROBOFAC_SCIENTIST_worn", "chance": 50 } ], "i": { "item": "cleaning", "chance": 50 }, "B": [ { "item": "textbooks", "chance": 50 }, { "item": "manuals", "chance": 50 } ] - } + }, + "monster": { "T": { "monster": "mon_robofac_laserturret_mk1" } }, + "npcs": { "G": { "class": "hub_security" } } } }, { diff --git a/data/json/monster_factions.json b/data/json/monster_factions.json index 510b9501d9a28..5614331a49660 100644 --- a/data/json/monster_factions.json +++ b/data/json/monster_factions.json @@ -54,6 +54,12 @@ "name": "jabberwock", "by_mood": [ "jabberwock" ] }, + { + "type": "MONSTER_FACTION", + "name": "robofac", + "neutral": [ "cop_bot", "defense_bot", "utility_bot", "animal" ], + "hate": [ "zombie", "fungus", "cult", "triffid", "nether" ] + }, { "type": "MONSTER_FACTION", "name": "bot", diff --git a/data/json/monsters/robofac_robots.json b/data/json/monsters/robofac_robots.json new file mode 100644 index 0000000000000..b369d63535236 --- /dev/null +++ b/data/json/monsters/robofac_robots.json @@ -0,0 +1,36 @@ +[ + { + "id": "mon_robofac_laserturret_mk1", + "type": "MONSTER", + "name": { "str": "prototype laser turret" }, + "description": "This appears to be a very experimental automated tower. Plating-less and seemingly half-built, it's little more than an oversized laser emitter and a camera, both welded to a swiveling platform.", + "default_faction": "robofac", + "species": [ "ROBOT" ], + "volume": "30000 ml", + "weight": "40750 g", + "hp": 30, + "speed": 100, + "material": [ "steel" ], + "symbol": "2", + "color": "white", + "aggression": 100, + "morale": 100, + "armor_bash": 2, + "armor_cut": 5, + "armor_bullet": 2, + "vision_day": 50, + "special_attacks": [ + { + "type": "gun", + "cooldown": 1, + "gun_type": "v29", + "fake_skills": [ [ "gun", 4 ], [ "pistol", 4 ] ], + "ranges": [ [ 0, 30, "DEFAULT" ] ] + } + ], + "special_when_hit": [ "RETURN_FIRE", 100 ], + "death_drops": { }, + "death_function": [ "BROKEN" ], + "flags": [ "SEES", "NOHEAD", "ELECTRONIC", "COLDPROOF", "IMMOBILE", "NO_BREATHE" ] + } +] diff --git a/data/json/npcs/factions.json b/data/json/npcs/factions.json index ab58aa84435c4..a02e7fa68c8f8 100644 --- a/data/json/npcs/factions.json +++ b/data/json/npcs/factions.json @@ -54,6 +54,7 @@ "type": "faction", "id": "robofac", "name": "Hub 01", + "mon_faction": "robofac", "likes_u": -200, "respects_u": 0, "known_by_u": false, diff --git a/data/json/recipes/recipe_deconstruction.json b/data/json/recipes/recipe_deconstruction.json index 97612e9434cca..b4a17128f5bec 100644 --- a/data/json/recipes/recipe_deconstruction.json +++ b/data/json/recipes/recipe_deconstruction.json @@ -622,6 +622,26 @@ [ [ "steel_chunk", 12 ] ] ] }, + { + "result": "broken_robofac_laserturret_mk1", + "type": "uncraft", + "skill_used": "electronics", + "difficulty": 6, + "time": "3 h", + "using": [ [ "soldering_standard", 10 ] ], + "qualities": [ { "id": "SCREW", "level": 1 } ], + "components": [ + [ [ "ai_module", 1 ] ], + [ [ "gun_module", 1 ] ], + [ [ "targeting_module", 1 ] ], + [ [ "identification_module", 1 ] ], + [ [ "sensor_module", 1 ] ], + [ [ "medium_storage_battery", 1 ] ], + [ [ "power_supply", 1 ] ], + [ [ "robot_controls", 1 ] ], + [ [ "turret_chassis", 1 ] ] + ] + }, { "result": "broken_eyebot", "type": "uncraft",