From 6c15d3b8139af5c99d65443d7de9d4202aa075ea Mon Sep 17 00:00:00 2001 From: Anton Simakov <67688115+GuardianDll@users.noreply.github.com> Date: Mon, 21 Oct 2024 16:17:21 +0200 Subject: [PATCH 01/10] initial draft --- .../json/npcs/exodii/exodii_weaponmaster.json | 86 +++++++++++++++++++ .../npcs/exodii/exodii_weaponmaster_talk.json | 76 ++++++++++++++++ 2 files changed, 162 insertions(+) create mode 100644 data/json/npcs/exodii/exodii_weaponmaster.json create mode 100644 data/json/npcs/exodii/exodii_weaponmaster_talk.json diff --git a/data/json/npcs/exodii/exodii_weaponmaster.json b/data/json/npcs/exodii/exodii_weaponmaster.json new file mode 100644 index 0000000000000..2c11f349f1019 --- /dev/null +++ b/data/json/npcs/exodii/exodii_weaponmaster.json @@ -0,0 +1,86 @@ +[ + { + "type": "npc", + "id": "exodii_weaponmaster", + "name_suffix": "Weaponmaster", + "class": "NC_EXODII_TYPE_9_Weaponmaster", + "name_unique": "Nine", + "attitude": 0, + "mission": 3, + "chat": "TALK_WEAPONMASTER_INTRO_1", + "faction": "exodii", + "personality": { "aggression": -2, "bravery": 2, "collector": 2, "altruism": -2 } + }, + { + "type": "npc_class", + "id": "NC_EXODII_TYPE_9_Weaponmaster", + "name": { "str": "Cyborg, type 9" }, + "job_description": "I'm a cyborg.", + "traits": [ + { "trait": "EXODII_BODY_9" }, + { "trait": "IGNORE_SOUND" }, + { "trait": "NO_BASH" }, + { "trait": "RETURN_TO_START_POS" } + ], + "common": false, + "bonus_str": { "rng": [ 0, 2 ] }, + "bonus_dex": { "rng": [ 0, 1 ] }, + "bonus_int": { "rng": [ 0, 6 ] }, + "bonus_per": { "rng": [ 0, 1 ] }, + "shopkeeper_item_group": [ + { "group": "EXODII_Shop_Guns_Tier0", "rigid": true }, + { "group": "EXODII_Shop_OldArmour", "rigid": true }, + { "group": "EXODII_Shop_Guns_Tier1", "rigid": true, "trust": 1 }, + { "group": "EXODII_Shop_Guns_Tier2", "rigid": true, "trust": 10 }, + { "group": "EXODII_Shop_Guns_Tier3", "rigid": true, "trust": 20, "strict": true } + ], + "shopkeeper_consumption_rates": "basic_shop_rates", + "weapon_override": "EMPTY_GROUP", + "worn_override": "EMPTY_GROUP", + "skills": [ + { + "skill": "ALL", + "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 2, 2 ] }, { "constant": 0 }, { "one_in": 4 } ] } ] } + }, + { "skill": "mechanics", "bonus": { "rng": [ 5, 7 ] } }, + { "skill": "electronics", "bonus": { "rng": [ 3, 6 ] } }, + { "skill": "firstaid", "bonus": { "rng": [ 2, 4 ] } }, + { "skill": "gun", "bonus": { "rng": [ 6, 9 ] } }, + { "skill": "rifle", "bonus": { "rng": [ 6, 9 ] } }, + { "skill": "unarmed", "bonus": { "rng": [ 4, 7 ] } }, + { "skill": "speech", "bonus": { "rng": [ 5, 8 ] } } + ] + }, + { + "type": "mutation", + "id": "EXODII_BODY_9", + "flags": [ "Exodii_Body" ], + "name": { "str": "Exodii cyborg framework - style 9" }, + "points": 0, + "visibility": 9, + "ugliness": 7, + "mixed_effect": true, + "description": "Your entire body is covered by a rectangle frame, that has numerous supportive arms and manipulators, with decent stability. Price for this is that the weight of entire frame is enormous, which causes user to either use dedicated tracked treads to move around, or stay immovable for a large amount of time.", + "//": "while it can be handled via limbs and stuff, player have no way to obtain this frame (yet? ever? time will tell) so just enchantments", + "valid": false, + "purifiable": false, + "types": [ "Cyberframe", "Cybernetic" ], + "enchantments": [ + { + "values": [ { "value": "MAX_HP", "add": 250 }, { "value": "STRENGTH", "add": 12 }, { "value": "DEXTERITY", "add": 12 } ] + } + ], + "restricts_gear": [ "torso", "leg_l", "leg_r", "arm_l", "arm_r", "hand_l", "hand_r", "head", "foot_l", "foot_r" ], + "armor": [ + { + "parts": [ "torso", "head", "arm_l", "arm_r", "hand_l", "hand_r", "leg_l", "leg_r", "foot_l", "foot_r", "mouth" ], + "cut": 30, + "bash": 30, + "stab": 30, + "bullet": 25, + "acid": 25, + "electric": 5 + } + ] + } +] diff --git a/data/json/npcs/exodii/exodii_weaponmaster_talk.json b/data/json/npcs/exodii/exodii_weaponmaster_talk.json new file mode 100644 index 0000000000000..96caae605ac46 --- /dev/null +++ b/data/json/npcs/exodii/exodii_weaponmaster_talk.json @@ -0,0 +1,76 @@ +[ + { + "id": "TALK_WEAPONMASTER_INTRO_1", + "type": "talk_topic", + "//": "mute by choise, and deaf most of the time (don't like to turn on the hearing cbm unless for job)", + "dynamic_line": "&What you see looks like the back of a mechanical spider, with at least a dozen crude but polished metal arms going from the enormously wide spine and shoulders. Spine of a creature, meanwhile, sits in an awkward-looking chair, doing something on a wide, heavily lighted workbench. Creature seems to be busy with something.", + "responses": [ + { "text": "&Wait a bit.", "effect": "start_trade", "topic": "TALK_WEAPONMASTER_INTRO_2A" }, + { "text": "Hello?", "topic": "TALK_WEAPONMASTER_INTRO_2B" } + ] + }, + { + "id": "TALK_WEAPONMASTER_INTRO_2A", + "type": "talk_topic", + "dynamic_line": "&It doesn't react at your presence at all.", + "responses": [ + { "text": "&Wait in silence.", "effect": "start_trade", "topic": "TALK_WEAPONMASTER_INTRO_3" }, + { "text": "Hello!?", "topic": "TALK_WEAPONMASTER_INTRO_3" } + ] + }, + { + "id": "TALK_WEAPONMASTER_INTRO_2B", + "type": "talk_topic", + "dynamic_line": "&It seems to not hear you at all.", + "responses": [ + { "text": "&Wait for longer.", "effect": "start_trade", "topic": "TALK_WEAPONMASTER_INTRO_3" }, + { "text": "Hello?", "topic": "TALK_WEAPONMASTER_INTRO_3" } + ] + }, + { + "id": "TALK_WEAPONMASTER_INTRO_3", + "type": "talk_topic", + "dynamic_line": "&A few seconds later, they seem to finish whatever they were busy with and slowly turn their chair to you. Their front looks no less exotic than their back; the abundance of metal arms looks even more extraordinary next to the clear lack of any legs. What you initially thought to be a chair is simply a rotating platform, sturdy enough to support the weight of the entire body of a creature. Few cameras, that seems to be a replacement for eyes, look at you motionlessly, while the forehead of the creature has the surprisingly familiar sign \"IX\" painted on.", + "responses": [ { "text": "Who-… Wha-… What are you?", "topic": "TALK_WEAPONMASTER_INTRO_4" } ] + }, + { + "id": "TALK_WEAPONMASTER_INTRO_4", + "type": "talk_topic", + "dynamic_line": "&Still completely mute, it shows you something you completely missed: The entire wall behind the workbench was full of various weapons: some as big as modern rifles, a few as large as machineguns installed on aircraft, and one that looked like dismantled tank turrets. Melee weapons were not left behind, from moderate-sized swords and clubs to warhammers twice the human height and what you can describe only as \"boots for mecha\". Then it pointed to the sign near you that showed the carved pictograms of coins, some unknown for you sign, and then a bullet - all things considered, it is either a weaponmaster or a weapon merchant.", + "responses": [ { "text": "Woah. Can i buy one?", "topic": "TALK_WEAPONMASTER_INTRO_5" } ] + }, + { + "id": "TALK_WEAPONMASTER_INTRO_5", + "type": "talk_topic", + "dynamic_line": "&They don't move and do not say anything.", + "responses": [ { "text": "Do you understand me?", "topic": "TALK_WEAPONMASTER_INTRO_6" } ] + }, + { + "id": "TALK_WEAPONMASTER_INTRO_6", + "type": "talk_topic", + "dynamic_line": "&They clearly do not understand you. It seems they do not hear you either.", + "responses": [ + { + "text": "&You pull off your backpack, and start to pull different stuff you deem worthy of trading. The weaponmaster finally looks interested.", + "topic": "TALK_NONE", + "effect": [ { "npc_first_topic": "TALK_EXODII_WEAPONMASTER" }, "start_trade" ] + } + ] + }, + { + "id": "TALK_EXODII_WEAPONMASTER", + "type": "talk_topic", + "dynamic_line": [ + "&Weaponmaster seems to tinkering something, but turned their chair to you as you approached.", + "&Weaponmaster seems to clean some weapon, but as you approach them, they call someone to pick a gun, and turn to you.", + "&Weaponmaster seems to polish some armor, but turn to you the second you enter the room." + ], + "responses": [ + { + "text": "&With familiar move, you take off different valuables on the trader counter, proposing a trade.", + "topic": "TALK_NONE", + "effect": [ "start_trade" ] + } + ] + } +] From 498f058eff4774a668a7d0c772be189aafa181ac Mon Sep 17 00:00:00 2001 From: Anton Simakov <67688115+GuardianDll@users.noreply.github.com> Date: Tue, 22 Oct 2024 16:01:53 +0200 Subject: [PATCH 02/10] second pass --- data/json/mapgen/exodii/exodii_base.json | 4 +- data/json/mapgen/exodii/exodii_nested.json | 53 +++++++++++++++++++ .../json/npcs/exodii/exodii_weaponmaster.json | 8 ++- 3 files changed, 62 insertions(+), 3 deletions(-) diff --git a/data/json/mapgen/exodii/exodii_base.json b/data/json/mapgen/exodii/exodii_base.json index 46646ad004167..8db4f688cfe47 100644 --- a/data/json/mapgen/exodii/exodii_base.json +++ b/data/json/mapgen/exodii/exodii_base.json @@ -238,7 +238,7 @@ "..........#######|CCcCC_____||~~~iiiiii;;i|]mmm|mm||||||mm|||||||||||||ϟ_||_ɱ| ;; !....", "..........#######|cCcc__W__||~~~iiiiiii;;i|L_______________ɱRRRRRRRRRɱ_/____ɱ| ;; !!....", "..........#######|||||]]|mm|~~~~iiiiiii;;i|_______W____________________/__UU|| ;; !.....", - "..........######lj ;;j~~~iikiiiii;;n|___________________________//_|||| ;; !!.....", + "..........######lj ;;j~~~iikiiiii;;n|G__________________________//_|||| ;; !!.....", "...........###jjjw ~~;;~~~iiiiiiiii;;i|________________ɱRRRRRRRRRɱ/__|c ;; !......", "............#!lj ~~~~[[~~iikiiikiii;;i|___________________/////___/__|C S ;; !......", ".............!!!!!!|[~~~~[[~iiiiiiiiiii;;i|____________W__/////___/////__|C ;; !......", @@ -317,7 +317,7 @@ { "id": "exodii", "x": [ 72, 95 ], "y": [ 48, 71 ] }, { "id": "exodii", "x": [ 72, 95 ], "y": [ 72, 95 ] } ], - "nested": { "Z": { "chunks": [ "rubik_store_base" ] } }, + "nested": [ { "Z": { "chunks": [ "rubik_store_base" ] } }, { "G": { "chunks": [ "weaponmaster_workshop_base" ] } } ], "terrain": { " ": "t_rock_floor_no_roof", ";": "t_metal_floor_no_roof", diff --git a/data/json/mapgen/exodii/exodii_nested.json b/data/json/mapgen/exodii/exodii_nested.json index 390e5cc616506..ba2a8391c4d99 100644 --- a/data/json/mapgen/exodii/exodii_nested.json +++ b/data/json/mapgen/exodii/exodii_nested.json @@ -53,5 +53,58 @@ "L": { "terrain": "t_metal_floor", "furniture": "f_exodii_lamp" } } } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "weaponmaster_workshop_base", + "//": "todo: add more, heavier guns on racks", + "object": { + "mapgensize": [ 5, 5 ], + "rows": [ + "c_ccc", + "b__@_", + "b_LCC", + "b___b", + "|SSSb" + ], + "place_item": [ + { "item": "brogyeki", "x": 1, "y": 4, "chance": 100 }, + { "item": "sapra", "x": 2, "y": 4, "chance": 100 }, + { "item": "spear_dory", "x": 3, "y": 4, "chance": 100 } + ], + "mapping": { + "|": { "terrain": "t_junk_wall" }, + "_": { "terrain": "t_metal_floor" }, + "S": { "terrain": "t_metal_floor", "furniture": "f_rack" }, + "C": { "terrain": "t_metal_floor", "furniture": "f_workbench" }, + "c": { "terrain": "t_metal_floor", "furniture": "f_metal_table" }, + "L": { "terrain": "t_metal_floor", "furniture": "f_exodii_lamp" }, + "b": { + "terrain": "t_metal_floor", + "furniture": "f_metal_crate_o", + "items": { "item": "EXODII_Workshop_Damaged", "chance": 100, "repeat": [ 1, 3 ] } + }, + "@": { "terrain": "t_metal_floor", "furniture": "f_metal_bench", "npcs": { "@": { "class": "exodii_weaponmaster" } } } + } + } + }, + { + "type": "item_group", + "id": "EXODII_Workshop_Damaged", + "subtype": "distribution", + "items": [ + { "item": "brogyeki", "prob": 20, "damage": [ 1, 4 ] }, + { "item": "brogyaga", "prob": 5, "damage": [ 1, 4 ] }, + { "item": "pamd68", "prob": 60, "damage": [ 1, 4 ] }, + { "item": "pamd71z", "prob": 10, "damage": [ 1, 4 ] }, + { "item": "sapra", "prob": 10, "damage": [ 1, 4 ] }, + { "item": "armor_lorica", "prob": 20, "damage": [ 1, 4 ] }, + { "item": "helmet_corinthian", "prob": 60, "damage": [ 1, 4 ] }, + { "item": "armor_thessalonian", "prob": 80, "damage": [ 1, 4 ] }, + { "item": "leggings_thessalonian", "prob": 80, "damage": [ 1, 4 ] }, + { "item": "sword_xiphos", "prob": 50, "damage": [ 1, 4 ] }, + { "item": "spear_dory", "prob": 30, "damage": [ 1, 4 ] } + ] } ] diff --git a/data/json/npcs/exodii/exodii_weaponmaster.json b/data/json/npcs/exodii/exodii_weaponmaster.json index 2c11f349f1019..08a83eb02f1d8 100644 --- a/data/json/npcs/exodii/exodii_weaponmaster.json +++ b/data/json/npcs/exodii/exodii_weaponmaster.json @@ -35,7 +35,7 @@ { "group": "EXODII_Shop_Guns_Tier3", "rigid": true, "trust": 20, "strict": true } ], "shopkeeper_consumption_rates": "basic_shop_rates", - "weapon_override": "EMPTY_GROUP", + "weapon_override": "brogyeki_weapon_override", "worn_override": "EMPTY_GROUP", "skills": [ { @@ -51,6 +51,12 @@ { "skill": "speech", "bonus": { "rng": [ 5, 8 ] } } ] }, + { + "type": "item_group", + "subtype": "collection", + "id": "brogyeki_weapon_override", + "entries": [ { "item": "brogyeki", "charges": 2 } ] + }, { "type": "mutation", "id": "EXODII_BODY_9", From 202076aedbc0ef0e807ea3ce05f47989f1e9c872 Mon Sep 17 00:00:00 2001 From: Anton Simakov <67688115+GuardianDll@users.noreply.github.com> Date: Tue, 22 Oct 2024 16:11:16 +0200 Subject: [PATCH 03/10] rubik do not trade guns anymore --- data/json/npcs/exodii/exodii_merchant_definitions.json | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/data/json/npcs/exodii/exodii_merchant_definitions.json b/data/json/npcs/exodii/exodii_merchant_definitions.json index 4052f8249d416..5705901088105 100644 --- a/data/json/npcs/exodii/exodii_merchant_definitions.json +++ b/data/json/npcs/exodii/exodii_merchant_definitions.json @@ -28,10 +28,12 @@ "bonus_int": { "rng": [ 0, 2 ] }, "bonus_per": { "rng": [ 0, 4 ] }, "shopkeeper_item_group": [ - { "group": "EXODII_basic_trade", "rigid": true }, - { "group": "EXODII_trade_Tier1", "rigid": true, "trust": 1 }, - { "group": "EXODII_trade_Tier2", "rigid": true, "trust": 10 }, - { "group": "EXODII_trade_Tier3", "rigid": true, "trust": 20, "strict": true }, + { "group": "EXODII_Shop_Tier0", "rigid": true }, + { "group": "EXODII_Shop_NomadGear_Tier0", "rigid": true }, + { "group": "EXODII_CBM_Store_Tier1", "rigid": true }, + { "group": "EXODII_CBM_Store_tier1_extra", "rigid": true, "trust": 1 }, + { "group": "EXODII_CBM_Store_Tier2", "rigid": true, "trust": 10 }, + { "group": "EXODII_CBM_Store_Tier3", "rigid": true, "trust": 20, "strict": true }, { "group": "EXODII_Store_Salvage_Tech", "rigid": true, "trust": 20 }, { "group": "EXODII_CBM_Store_Tier4", "rigid": true, "trust": 40, "strict": true } ], From 3f95ffa8e07c1ccdef777a0b035e8092417bc6e6 Mon Sep 17 00:00:00 2001 From: Anton Simakov <67688115+GuardianDll@users.noreply.github.com> Date: Wed, 23 Oct 2024 17:39:10 +0200 Subject: [PATCH 04/10] Grammar sweep, fix wrong syntax for nested --- data/json/mapgen/exodii/exodii_base.json | 2 +- .../json/npcs/exodii/exodii_weaponmaster.json | 2 +- .../npcs/exodii/exodii_weaponmaster_talk.json | 22 +++++++++---------- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/data/json/mapgen/exodii/exodii_base.json b/data/json/mapgen/exodii/exodii_base.json index 8db4f688cfe47..db45f9556d867 100644 --- a/data/json/mapgen/exodii/exodii_base.json +++ b/data/json/mapgen/exodii/exodii_base.json @@ -317,7 +317,7 @@ { "id": "exodii", "x": [ 72, 95 ], "y": [ 48, 71 ] }, { "id": "exodii", "x": [ 72, 95 ], "y": [ 72, 95 ] } ], - "nested": [ { "Z": { "chunks": [ "rubik_store_base" ] } }, { "G": { "chunks": [ "weaponmaster_workshop_base" ] } } ], + "nested": { "Z": { "chunks": [ "rubik_store_base" ] }, "G": { "chunks": [ "weaponmaster_workshop_base" ] } }, "terrain": { " ": "t_rock_floor_no_roof", ";": "t_metal_floor_no_roof", diff --git a/data/json/npcs/exodii/exodii_weaponmaster.json b/data/json/npcs/exodii/exodii_weaponmaster.json index 08a83eb02f1d8..1cc6198df42ff 100644 --- a/data/json/npcs/exodii/exodii_weaponmaster.json +++ b/data/json/npcs/exodii/exodii_weaponmaster.json @@ -66,7 +66,7 @@ "visibility": 9, "ugliness": 7, "mixed_effect": true, - "description": "Your entire body is covered by a rectangle frame, that has numerous supportive arms and manipulators, with decent stability. Price for this is that the weight of entire frame is enormous, which causes user to either use dedicated tracked treads to move around, or stay immovable for a large amount of time.", + "description": "Your entire body is covered by a rectangular frame, that has numerous supporting arms and manipulators, with decent stability. The price of this is that the weight of the entire frame is enormous, which causes the user to either use dedicated tracked treads to move around, or stay immobile for a large amount of time.", "//": "while it can be handled via limbs and stuff, player have no way to obtain this frame (yet? ever? time will tell) so just enchantments", "valid": false, "purifiable": false, diff --git a/data/json/npcs/exodii/exodii_weaponmaster_talk.json b/data/json/npcs/exodii/exodii_weaponmaster_talk.json index 96caae605ac46..03eceab1fbe75 100644 --- a/data/json/npcs/exodii/exodii_weaponmaster_talk.json +++ b/data/json/npcs/exodii/exodii_weaponmaster_talk.json @@ -2,17 +2,17 @@ { "id": "TALK_WEAPONMASTER_INTRO_1", "type": "talk_topic", - "//": "mute by choise, and deaf most of the time (don't like to turn on the hearing cbm unless for job)", - "dynamic_line": "&What you see looks like the back of a mechanical spider, with at least a dozen crude but polished metal arms going from the enormously wide spine and shoulders. Spine of a creature, meanwhile, sits in an awkward-looking chair, doing something on a wide, heavily lighted workbench. Creature seems to be busy with something.", + "//": "mute by choice, and deaf most of the time (don't like to turn on the hearing cbm unless for job)", + "dynamic_line": "&What you see looks like the back of a mechanical spider, with at least a dozen crude but polished metal arms coming from the enormously wide spine and shoulders. Spine of a creature, meanwhile, sits in an awkward-looking chair, doing something on a wide, heavily lighted workbench. Creature seems to be busy with something.", "responses": [ - { "text": "&Wait a bit.", "effect": "start_trade", "topic": "TALK_WEAPONMASTER_INTRO_2A" }, + { "text": "[Wait a bit.]", "effect": "start_trade", "topic": "TALK_WEAPONMASTER_INTRO_2A" }, { "text": "Hello?", "topic": "TALK_WEAPONMASTER_INTRO_2B" } ] }, { "id": "TALK_WEAPONMASTER_INTRO_2A", "type": "talk_topic", - "dynamic_line": "&It doesn't react at your presence at all.", + "dynamic_line": "&It doesn't react to your presence at all.", "responses": [ { "text": "&Wait in silence.", "effect": "start_trade", "topic": "TALK_WEAPONMASTER_INTRO_3" }, { "text": "Hello!?", "topic": "TALK_WEAPONMASTER_INTRO_3" } @@ -30,13 +30,13 @@ { "id": "TALK_WEAPONMASTER_INTRO_3", "type": "talk_topic", - "dynamic_line": "&A few seconds later, they seem to finish whatever they were busy with and slowly turn their chair to you. Their front looks no less exotic than their back; the abundance of metal arms looks even more extraordinary next to the clear lack of any legs. What you initially thought to be a chair is simply a rotating platform, sturdy enough to support the weight of the entire body of a creature. Few cameras, that seems to be a replacement for eyes, look at you motionlessly, while the forehead of the creature has the surprisingly familiar sign \"IX\" painted on.", + "dynamic_line": "&A few seconds later, they seem to finish whatever they were busy with and turn their chair towards you. Their front looks no less exotic than their back; the abundance of metal arms looks even more extraordinary next to the clear lack of any legs. What you initially thought to be a chair is simply a rotating platform, sturdy enough to support the weight of the entire body of the creature. A number of cameras, which seem to be a replacement for eyes, look at you motionlessly, while the forehead of the creature has the surprisingly familiar sign \"IX\" painted on.", "responses": [ { "text": "Who-… Wha-… What are you?", "topic": "TALK_WEAPONMASTER_INTRO_4" } ] }, { "id": "TALK_WEAPONMASTER_INTRO_4", "type": "talk_topic", - "dynamic_line": "&Still completely mute, it shows you something you completely missed: The entire wall behind the workbench was full of various weapons: some as big as modern rifles, a few as large as machineguns installed on aircraft, and one that looked like dismantled tank turrets. Melee weapons were not left behind, from moderate-sized swords and clubs to warhammers twice the human height and what you can describe only as \"boots for mecha\". Then it pointed to the sign near you that showed the carved pictograms of coins, some unknown for you sign, and then a bullet - all things considered, it is either a weaponmaster or a weapon merchant.", + "dynamic_line": "&Still completely mute, it shows you something you had initially missed. The entire wall behind the workbench is full of various weapons; some as big as modern rifles, a few as large as the machine guns installed on aircraft, and one that looks like a dismantled tank turret. Melee weapons were not forgotten, from moderately-sized swords and clubs to war hammers twice the height of a human, and what you can describe only as \"boots for mecha\". Then it points to a sign near you that shows three things: the carved pictograms of coins, some sign you are not familiar with, and a pictogram of a bullet - all things considered, this creature is either a weaponmaster, or a weapon merchant.", "responses": [ { "text": "Woah. Can i buy one?", "topic": "TALK_WEAPONMASTER_INTRO_5" } ] }, { @@ -51,7 +51,7 @@ "dynamic_line": "&They clearly do not understand you. It seems they do not hear you either.", "responses": [ { - "text": "&You pull off your backpack, and start to pull different stuff you deem worthy of trading. The weaponmaster finally looks interested.", + "text": "[You pull off your backpack, and start to pull out items you deem worthy of trading. The weaponmaster finally looks interested.]", "topic": "TALK_NONE", "effect": [ { "npc_first_topic": "TALK_EXODII_WEAPONMASTER" }, "start_trade" ] } @@ -61,13 +61,13 @@ "id": "TALK_EXODII_WEAPONMASTER", "type": "talk_topic", "dynamic_line": [ - "&Weaponmaster seems to tinkering something, but turned their chair to you as you approached.", - "&Weaponmaster seems to clean some weapon, but as you approach them, they call someone to pick a gun, and turn to you.", - "&Weaponmaster seems to polish some armor, but turn to you the second you enter the room." + "&The Weaponmaster seems to be tinkering on something, but turns their chair to you as you approach.", + "&The Weaponmaster seems to be cleaning some sort of weapon, but as you approach them, they signal to bystanding worker to take the weapon, and turn to you.", + "&The Weaponmaster seems seems to be polishing some armor, but they turn towards you the second you enter the room." ], "responses": [ { - "text": "&With familiar move, you take off different valuables on the trader counter, proposing a trade.", + "text": "[With a familiar movement, you place a variety of valuables onto the counter, proposing a trade.]", "topic": "TALK_NONE", "effect": [ "start_trade" ] } From a15c617b94444970e65cac89bb80d4c9f270a817 Mon Sep 17 00:00:00 2001 From: GuardianDll Date: Sat, 26 Oct 2024 23:57:53 +0200 Subject: [PATCH 05/10] more grammar sweeps, improve layout of nest --- data/json/mapgen/exodii/exodii_nested.json | 39 +++++++++---------- .../npcs/exodii/exodii_weaponmaster_talk.json | 4 +- 2 files changed, 20 insertions(+), 23 deletions(-) diff --git a/data/json/mapgen/exodii/exodii_nested.json b/data/json/mapgen/exodii/exodii_nested.json index ba2a8391c4d99..f127a582513c4 100644 --- a/data/json/mapgen/exodii/exodii_nested.json +++ b/data/json/mapgen/exodii/exodii_nested.json @@ -62,31 +62,28 @@ "object": { "mapgensize": [ 5, 5 ], "rows": [ - "c_ccc", - "b__@_", - "b_LCC", - "b___b", - "|SSSb" + "b_L__", + "S_C_c", + "S_C@c", + "S_Cbc", + "|_Lcc" ], "place_item": [ - { "item": "brogyeki", "x": 1, "y": 4, "chance": 100 }, - { "item": "sapra", "x": 2, "y": 4, "chance": 100 }, - { "item": "spear_dory", "x": 3, "y": 4, "chance": 100 } + { "item": "brogyeki", "x": 0, "y": 1, "chance": 100 }, + { "item": "sapra", "x": 0, "y": 2, "chance": 100 }, + { "item": "spear_dory", "x": 0, "y": 3, "chance": 100 } ], "mapping": { - "|": { "terrain": "t_junk_wall" }, - "_": { "terrain": "t_metal_floor" }, - "S": { "terrain": "t_metal_floor", "furniture": "f_rack" }, - "C": { "terrain": "t_metal_floor", "furniture": "f_workbench" }, - "c": { "terrain": "t_metal_floor", "furniture": "f_metal_table" }, - "L": { "terrain": "t_metal_floor", "furniture": "f_exodii_lamp" }, - "b": { - "terrain": "t_metal_floor", - "furniture": "f_metal_crate_o", - "items": { "item": "EXODII_Workshop_Damaged", "chance": 100, "repeat": [ 1, 3 ] } - }, - "@": { "terrain": "t_metal_floor", "furniture": "f_metal_bench", "npcs": { "@": { "class": "exodii_weaponmaster" } } } - } + "|": { "terrain": "t_scrap_wall" }, + "_": { "terrain": "t_scrap_floor" }, + "S": { "terrain": "t_scrap_floor", "furniture": "f_rack" }, + "C": { "terrain": "t_scrap_floor", "furniture": "f_workbench" }, + "c": { "terrain": "t_scrap_floor", "furniture": "f_metal_table" }, + "L": { "terrain": "t_scrap_floor", "furniture": "f_exodii_lamp" }, + "b": { "terrain": "t_scrap_floor", "furniture": "f_metal_crate_o" }, + "@": { "terrain": "t_scrap_floor", "furniture": "f_metal_bench", "npcs": { "class": "exodii_weaponmaster" } } + }, + "items": { "b": { "item": "EXODII_Workshop_Damaged", "chance": 100, "repeat": [ 3, 12 ] } } } }, { diff --git a/data/json/npcs/exodii/exodii_weaponmaster_talk.json b/data/json/npcs/exodii/exodii_weaponmaster_talk.json index 03eceab1fbe75..f576bf29716fe 100644 --- a/data/json/npcs/exodii/exodii_weaponmaster_talk.json +++ b/data/json/npcs/exodii/exodii_weaponmaster_talk.json @@ -3,7 +3,7 @@ "id": "TALK_WEAPONMASTER_INTRO_1", "type": "talk_topic", "//": "mute by choice, and deaf most of the time (don't like to turn on the hearing cbm unless for job)", - "dynamic_line": "&What you see looks like the back of a mechanical spider, with at least a dozen crude but polished metal arms coming from the enormously wide spine and shoulders. Spine of a creature, meanwhile, sits in an awkward-looking chair, doing something on a wide, heavily lighted workbench. Creature seems to be busy with something.", + "dynamic_line": "&What you see looks like the back of a mechanical spider, with at least a dozen crude but polished metal arms coming from the enormously wide spine and shoulders. The spine of the creature, meanwhile, sits in an awkward-looking chair, doing something on a wide, heavily lighted workbench. The creature seems to be busy with something.", "responses": [ { "text": "[Wait a bit.]", "effect": "start_trade", "topic": "TALK_WEAPONMASTER_INTRO_2A" }, { "text": "Hello?", "topic": "TALK_WEAPONMASTER_INTRO_2B" } @@ -62,7 +62,7 @@ "type": "talk_topic", "dynamic_line": [ "&The Weaponmaster seems to be tinkering on something, but turns their chair to you as you approach.", - "&The Weaponmaster seems to be cleaning some sort of weapon, but as you approach them, they signal to bystanding worker to take the weapon, and turn to you.", + "&The Weaponmaster seems to be cleaning some sort of weapon, but as you approach them, they signal to a bystanding worker to take the weapon, and turn to you.", "&The Weaponmaster seems seems to be polishing some armor, but they turn towards you the second you enter the room." ], "responses": [ From 6eee0d4bf2332ea482a9a6302d31b4ed678b8e79 Mon Sep 17 00:00:00 2001 From: GuardianDll Date: Sun, 27 Oct 2024 00:21:47 +0200 Subject: [PATCH 06/10] fix few dialogue issues --- data/json/npcs/exodii/exodii_weaponmaster_talk.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/data/json/npcs/exodii/exodii_weaponmaster_talk.json b/data/json/npcs/exodii/exodii_weaponmaster_talk.json index f576bf29716fe..6f8a548c02421 100644 --- a/data/json/npcs/exodii/exodii_weaponmaster_talk.json +++ b/data/json/npcs/exodii/exodii_weaponmaster_talk.json @@ -5,7 +5,7 @@ "//": "mute by choice, and deaf most of the time (don't like to turn on the hearing cbm unless for job)", "dynamic_line": "&What you see looks like the back of a mechanical spider, with at least a dozen crude but polished metal arms coming from the enormously wide spine and shoulders. The spine of the creature, meanwhile, sits in an awkward-looking chair, doing something on a wide, heavily lighted workbench. The creature seems to be busy with something.", "responses": [ - { "text": "[Wait a bit.]", "effect": "start_trade", "topic": "TALK_WEAPONMASTER_INTRO_2A" }, + { "text": "[Wait a bit.]", "topic": "TALK_WEAPONMASTER_INTRO_2A" }, { "text": "Hello?", "topic": "TALK_WEAPONMASTER_INTRO_2B" } ] }, @@ -14,7 +14,7 @@ "type": "talk_topic", "dynamic_line": "&It doesn't react to your presence at all.", "responses": [ - { "text": "&Wait in silence.", "effect": "start_trade", "topic": "TALK_WEAPONMASTER_INTRO_3" }, + { "text": "&Wait in silence.", "topic": "TALK_WEAPONMASTER_INTRO_3" }, { "text": "Hello!?", "topic": "TALK_WEAPONMASTER_INTRO_3" } ] }, @@ -23,7 +23,7 @@ "type": "talk_topic", "dynamic_line": "&It seems to not hear you at all.", "responses": [ - { "text": "&Wait for longer.", "effect": "start_trade", "topic": "TALK_WEAPONMASTER_INTRO_3" }, + { "text": "&Wait for longer.", "topic": "TALK_WEAPONMASTER_INTRO_3" }, { "text": "Hello?", "topic": "TALK_WEAPONMASTER_INTRO_3" } ] }, From 4770e6c034bad8bfb9efa060f1dc57043ca4eed0 Mon Sep 17 00:00:00 2001 From: GuardianDll Date: Sun, 27 Oct 2024 00:54:07 +0200 Subject: [PATCH 07/10] more fixes for dialogues --- .../json/npcs/exodii/exodii_weaponmaster_talk.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/data/json/npcs/exodii/exodii_weaponmaster_talk.json b/data/json/npcs/exodii/exodii_weaponmaster_talk.json index 6f8a548c02421..8af5115407c90 100644 --- a/data/json/npcs/exodii/exodii_weaponmaster_talk.json +++ b/data/json/npcs/exodii/exodii_weaponmaster_talk.json @@ -14,8 +14,8 @@ "type": "talk_topic", "dynamic_line": "&It doesn't react to your presence at all.", "responses": [ - { "text": "&Wait in silence.", "topic": "TALK_WEAPONMASTER_INTRO_3" }, - { "text": "Hello!?", "topic": "TALK_WEAPONMASTER_INTRO_3" } + { "text": "[Wait for longer.]", "topic": "TALK_WEAPONMASTER_INTRO_3" }, + { "text": "Hello?", "topic": "TALK_WEAPONMASTER_INTRO_3" } ] }, { @@ -23,8 +23,8 @@ "type": "talk_topic", "dynamic_line": "&It seems to not hear you at all.", "responses": [ - { "text": "&Wait for longer.", "topic": "TALK_WEAPONMASTER_INTRO_3" }, - { "text": "Hello?", "topic": "TALK_WEAPONMASTER_INTRO_3" } + { "text": "[Wait in silence.]", "topic": "TALK_WEAPONMASTER_INTRO_3" }, + { "text": "Hello!?", "topic": "TALK_WEAPONMASTER_INTRO_3" } ] }, { @@ -42,8 +42,8 @@ { "id": "TALK_WEAPONMASTER_INTRO_5", "type": "talk_topic", - "dynamic_line": "&They don't move and do not say anything.", - "responses": [ { "text": "Do you understand me?", "topic": "TALK_WEAPONMASTER_INTRO_6" } ] + "dynamic_line": "&They do not move and do not say anything.", + "responses": [ { "text": "Hey? Do you understand me?", "topic": "TALK_WEAPONMASTER_INTRO_6" } ] }, { "id": "TALK_WEAPONMASTER_INTRO_6", @@ -52,7 +52,7 @@ "responses": [ { "text": "[You pull off your backpack, and start to pull out items you deem worthy of trading. The weaponmaster finally looks interested.]", - "topic": "TALK_NONE", + "topic": "TALK_DONE", "effect": [ { "npc_first_topic": "TALK_EXODII_WEAPONMASTER" }, "start_trade" ] } ] From 8cd0a33057c20aa5d827b98abfc2f0d1abc19f78 Mon Sep 17 00:00:00 2001 From: GuardianDll Date: Sun, 27 Oct 2024 11:45:11 +0100 Subject: [PATCH 08/10] missed double space --- data/json/npcs/exodii/exodii_weaponmaster_talk.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/npcs/exodii/exodii_weaponmaster_talk.json b/data/json/npcs/exodii/exodii_weaponmaster_talk.json index 8af5115407c90..a8d7eb33904be 100644 --- a/data/json/npcs/exodii/exodii_weaponmaster_talk.json +++ b/data/json/npcs/exodii/exodii_weaponmaster_talk.json @@ -36,7 +36,7 @@ { "id": "TALK_WEAPONMASTER_INTRO_4", "type": "talk_topic", - "dynamic_line": "&Still completely mute, it shows you something you had initially missed. The entire wall behind the workbench is full of various weapons; some as big as modern rifles, a few as large as the machine guns installed on aircraft, and one that looks like a dismantled tank turret. Melee weapons were not forgotten, from moderately-sized swords and clubs to war hammers twice the height of a human, and what you can describe only as \"boots for mecha\". Then it points to a sign near you that shows three things: the carved pictograms of coins, some sign you are not familiar with, and a pictogram of a bullet - all things considered, this creature is either a weaponmaster, or a weapon merchant.", + "dynamic_line": "&Still completely mute, it shows you something you had initially missed. The entire wall behind the workbench is full of various weapons; some as big as modern rifles, a few as large as the machine guns installed on aircraft, and one that looks like a dismantled tank turret. Melee weapons were not forgotten, from moderately-sized swords and clubs to war hammers twice the height of a human, and what you can describe only as \"boots for mecha\". Then it points to a sign near you that shows three things: the carved pictograms of coins, some sign you are not familiar with, and a pictogram of a bullet - all things considered, this creature is either a weaponmaster, or a weapon merchant.", "responses": [ { "text": "Woah. Can i buy one?", "topic": "TALK_WEAPONMASTER_INTRO_5" } ] }, { From 277cfedaa0b4f9accce3a441807e47c9d073e765 Mon Sep 17 00:00:00 2001 From: Anton Simakov <67688115+GuardianDll@users.noreply.github.com> Date: Thu, 31 Oct 2024 11:49:05 +0100 Subject: [PATCH 09/10] Apply suggestions from code review Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com> --- data/json/npcs/exodii/exodii_weaponmaster_talk.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/json/npcs/exodii/exodii_weaponmaster_talk.json b/data/json/npcs/exodii/exodii_weaponmaster_talk.json index a8d7eb33904be..87a18b0892165 100644 --- a/data/json/npcs/exodii/exodii_weaponmaster_talk.json +++ b/data/json/npcs/exodii/exodii_weaponmaster_talk.json @@ -3,7 +3,7 @@ "id": "TALK_WEAPONMASTER_INTRO_1", "type": "talk_topic", "//": "mute by choice, and deaf most of the time (don't like to turn on the hearing cbm unless for job)", - "dynamic_line": "&What you see looks like the back of a mechanical spider, with at least a dozen crude but polished metal arms coming from the enormously wide spine and shoulders. The spine of the creature, meanwhile, sits in an awkward-looking chair, doing something on a wide, heavily lighted workbench. The creature seems to be busy with something.", + "dynamic_line": "&What you see looks like the back of a mechanical spider, with at least a dozen crude but polished metal arms coming from the enormously wide spine and shoulders. The spine of the creature, meanwhile, sits in an awkward-looking chair, manipulating tools and geegaws on a wide, brightly lit workbench. The creature seems to be busy with something.", "responses": [ { "text": "[Wait a bit.]", "topic": "TALK_WEAPONMASTER_INTRO_2A" }, { "text": "Hello?", "topic": "TALK_WEAPONMASTER_INTRO_2B" } @@ -30,7 +30,7 @@ { "id": "TALK_WEAPONMASTER_INTRO_3", "type": "talk_topic", - "dynamic_line": "&A few seconds later, they seem to finish whatever they were busy with and turn their chair towards you. Their front looks no less exotic than their back; the abundance of metal arms looks even more extraordinary next to the clear lack of any legs. What you initially thought to be a chair is simply a rotating platform, sturdy enough to support the weight of the entire body of the creature. A number of cameras, which seem to be a replacement for eyes, look at you motionlessly, while the forehead of the creature has the surprisingly familiar sign \"IX\" painted on.", + "dynamic_line": "&A few seconds later, they seem to finish whatever they were busy with and turn their chair towards you. Their front looks no less exotic than their back; the abundance of metal arms are even more extraordinary next to the clear lack of any legs. What you initially thought to be a chair is simply a rotating platform, sturdy enough to support the weight of the entire body of the creature. A number of cameras, which seem to be a replacement for eyes, look at you motionlessly, while the forehead of the creature has the surprisingly familiar sign \"IX\" painted on.", "responses": [ { "text": "Who-… Wha-… What are you?", "topic": "TALK_WEAPONMASTER_INTRO_4" } ] }, { From ffafce49a213622f8e8d67a471b1fdfabc3551f1 Mon Sep 17 00:00:00 2001 From: Anton Simakov <67688115+GuardianDll@users.noreply.github.com> Date: Tue, 5 Nov 2024 16:36:16 +0100 Subject: [PATCH 10/10] Apply suggestions from code review Co-authored-by: Anton Burmistrov --- data/json/npcs/exodii/exodii_weaponmaster_talk.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/json/npcs/exodii/exodii_weaponmaster_talk.json b/data/json/npcs/exodii/exodii_weaponmaster_talk.json index 87a18b0892165..7f01b35d87cd4 100644 --- a/data/json/npcs/exodii/exodii_weaponmaster_talk.json +++ b/data/json/npcs/exodii/exodii_weaponmaster_talk.json @@ -37,7 +37,7 @@ "id": "TALK_WEAPONMASTER_INTRO_4", "type": "talk_topic", "dynamic_line": "&Still completely mute, it shows you something you had initially missed. The entire wall behind the workbench is full of various weapons; some as big as modern rifles, a few as large as the machine guns installed on aircraft, and one that looks like a dismantled tank turret. Melee weapons were not forgotten, from moderately-sized swords and clubs to war hammers twice the height of a human, and what you can describe only as \"boots for mecha\". Then it points to a sign near you that shows three things: the carved pictograms of coins, some sign you are not familiar with, and a pictogram of a bullet - all things considered, this creature is either a weaponmaster, or a weapon merchant.", - "responses": [ { "text": "Woah. Can i buy one?", "topic": "TALK_WEAPONMASTER_INTRO_5" } ] + "responses": [ { "text": "Woah. Can I buy one?", "topic": "TALK_WEAPONMASTER_INTRO_5" } ] }, { "id": "TALK_WEAPONMASTER_INTRO_5", @@ -63,7 +63,7 @@ "dynamic_line": [ "&The Weaponmaster seems to be tinkering on something, but turns their chair to you as you approach.", "&The Weaponmaster seems to be cleaning some sort of weapon, but as you approach them, they signal to a bystanding worker to take the weapon, and turn to you.", - "&The Weaponmaster seems seems to be polishing some armor, but they turn towards you the second you enter the room." + "&The Weaponmaster seems to be polishing some armor, but they turn towards you the second you enter the room." ], "responses": [ {