From 44f0502bbee88c6daec8a8b0990736d5eeb37d7b Mon Sep 17 00:00:00 2001 From: Valiant Date: Wed, 8 Sep 2021 13:15:20 +0400 Subject: [PATCH 01/17] Added new mine mapgen --- data/json/mapgen/mine/mine_balrog.json | 207 ++++++++++++++++++ data/json/overmap/overmap_special/mine.json | 37 ++++ .../overmap_terrain_industrial.json | 14 +- 3 files changed, 257 insertions(+), 1 deletion(-) create mode 100644 data/json/mapgen/mine/mine_balrog.json diff --git a/data/json/mapgen/mine/mine_balrog.json b/data/json/mapgen/mine/mine_balrog.json new file mode 100644 index 0000000000000..7aef0de4172b4 --- /dev/null +++ b/data/json/mapgen/mine/mine_balrog.json @@ -0,0 +1,207 @@ +[ + { + "id": "balrog_mine_weapons", + "type": "item_group", + "subtype": "distribution", + "items": [ + [ "longsword", 100 ], + [ "arming_sword", 100 ], + [ "zweihander", 100 ], + [ "broadsword", 100 ], + [ "spear_knife_superior", 100 ], + [ "spear_copper", 100 ], + [ "spear_steel", 100 ], + [ "halberd", 100 ], + [ "glaive", 100 ], + [ "pike", 100 ], + [ "pike_copper", 100 ], + [ "poleaxe", 100 ], + [ "2h_flail_steel", 100 ], + [ "battleaxe", 100 ], + [ "lucern_hammer", 100 ], + [ "mace", 100 ], + [ "morningstar", 100 ], + [ "warhammer", 100 ] + ] + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ [ "mine_balrog_west", "mine_balrog_central", "mine_balrog_east" ] ], + "object": { + "fill_ter": "t_rock_floor", + "rows": [ + "########################################################################", + "########################################################################", + "########################################################################", + "########################################################################", + "########################################################################", + "################@@@@@###################################################", + "################@ > @###################################################", + "################@ @@###################################################", + "################@@@ @###################################################", + "################@@@@ ###################################################", + "################@@@@ ###################################################", + "################@@@@ ###################################################", + "################@@@ @###################################################", + "################@@ @@###################################################", + "################@ @@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", + "################ @@@@@@@ @@@ @@@@@@ @@@@@ @@ ", + "################@ @@@@@ @@@@@ @@@@ @@@ @@ @ **************************", + "################@ @@ @@@@@@@ @@ @@@@@ @@@@@ ", + "################@@ @@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", + "########################################################################", + "########################################################################", + "########################################################################", + "########################################################################", + "########################################################################" + ], + "terrain": { + "@": [ [ "t_rock", 4 ], [ "t_rock_floor", 1 ] ], + "#": "t_rock", + "*": "t_railroad_track_small", + "!": "t_pillar", + ">": "t_slope_down" + }, + "items": { " ": { "item": "mine_equipment", "chance": 1 } }, + "monsters": { " ": { "monster": "GROUP_MINER", "chance": 1, "density": 0.001 } } + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ [ "mine_balrog_-1_west", "mine_balrog_-1_central", "mine_balrog_-1_east" ] ], + "object": { + "fill_ter": "t_rock_floor", + "rows": [ + "########################################################################", + "########################################################################", + "########################################################################", + "########################################################################", + "########################################################################", + "################xxxxx###################################################", + "################x < x###################################################", + "################x x####xxx####xxx####xxx####xxx####xxx####xxx#########", + "################$ xxxxxx$xxxxxx$xxxxxx$xxxxxx$xxxxxx$xxxxxx$xxxxxx####", + "################x xWW1 11 ! 11 WW11 W11 W11W 1 Wx####", + "################x x ! WW ! WW WWWW! Wx####", + "################x + ! WW ! ! W+ >#", + "################x + ! ! WW! ! ! ! W+ >#", + "################x x W ! WW !Wx####", + "################x x 1W !W11 11 WWW11 ! 11WW 11W 1 Wx####", + "################$ xxxxxx$xxxxxx$xxxxxx$xxxxxx$xxxxxx$xxxxxx$xxxxxx####", + "################x x####xxx####xxx####xxx####xxx####xxx####xxx#########", + "################xWWWx###################################################", + "################xxxxx###################################################", + "########################################################################", + "########################################################################", + "########################################################################", + "########################################################################", + "########################################################################" + ], + "terrain": { + "@": [ [ "t_rock", 4 ], [ "t_rock_floor", 1 ] ], + "#": "t_rock", + "+": "t_door_c", + ">": "t_stairs_down", + "<": "t_slope_up", + "1": "t_column", + "x": "t_rock_wall" + }, + "furniture": { "$": [ [ "f_grave_monument", 1 ], [ "f_statue", 4 ] ] }, + "fields": { "W": { "field": "fd_web", "intensity": 3, "age": 10 } }, + "items": { + "!": { + "item": { + "subtype": "collection", + "entries": [ + { "item": "helmet_plate", "prob": 50, "damage": 4 }, + { "item": "boots_plate", "prob": 75, "damage": 4 }, + { "item": "armguard_lightplate", "prob": 60, "damage": 4 }, + { "item": "gloves_plate", "prob": 40, "damage": 4 }, + { "item": "legguard_lightplate", "prob": 60, "damage": 4 }, + { "item": "armor_lightplate", "prob": 70, "damage": 4 }, + { "group": "balrog_mine_weapons", "prob": 70, "damage": 4 }, + { "item": "bone_human", "prob": 100, "damage": 4, "count": [ 10, 20 ] } + ] + }, + "chance": 100 + } + } + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ + [ "mine_balrog_finale_nw", "mine_balrog_finale_n", "mine_balrog_finale_ne" ], + [ "mine_balrog_finale_sw", "mine_balrog_finale_s", "mine_balrog_finale_se" ] + ], + "object": { + "fill_ter": "t_rock_floor", + "rows": [ + "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~$$$$$$$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~###~~~~~~~~", + "~~~~~~~~~~~~~$$$$$~~~~$$$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~###~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~####~~~~~~~~~~~~~~~~~~~~~~###~~~~~~~~", + "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~ ~~~~~~~~~~~ ~~~~~####~~~~~ ~~~~~~~~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~ ~###~ ~~~~$$$$~~~ ~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~ ~~~~~ ~~~~~~~~~~~ ~~~~~~$$~~~~~~ ~~~~~~~~~~~~~~~", + "~~~~~~~~~~~~~~~ ~~~~~ ~~~~~~$$~~~~~~~~~~~~# ~~~~~~~~##xxxxx", + "~~~~~~~~~~~~~~~ ~~$~~ ~~~~~~~$$~~~~~~~~~~~~# + Date: Wed, 8 Sep 2021 13:16:07 +0400 Subject: [PATCH 02/17] Added new boss for the finale --- .../monster_attacks.json | 19 +++++++ data/json/monsters/nether.json | 51 +++++++++++++++++++ 2 files changed, 70 insertions(+) diff --git a/data/json/monster_special_attacks/monster_attacks.json b/data/json/monster_special_attacks/monster_attacks.json index ae3b4d14a8685..cd6457ecd3f81 100644 --- a/data/json/monster_special_attacks/monster_attacks.json +++ b/data/json/monster_special_attacks/monster_attacks.json @@ -315,5 +315,24 @@ "range": 100, "dispersion": 500, "ranged_damage": [ { "damage_type": "acid", "amount": 3 }, { "damage_type": "stab", "amount": 6 } ] + }, + { + "type": "monster_attack", + "attack_type": "melee", + "id": "flaming_whip", + "cooldown": 20, + "move_cost": 500, + "range": 15, + "damage_max_instance": [ { "damage_type": "heat", "amount": 30, "armor_penetration": 3, "armor_multiplier": 0.5 } ], + "body_parts": [ [ "leg_l", 4 ], [ "leg_r", 4 ], [ "head", 2 ], [ "arm_l", 4 ], [ "arm_r", 4 ], [ "torso", 6 ] ], + "effects": [ { "id": "onfire", "duration": 1, "chance": 10, "affect_hit_bp": true } ], + "hit_dmg_u": "The %1$s lashes you with its flaming whip!", + "hit_dmg_npc": "The %1$s lashes with its flaming whip!", + "miss_msg_u": "The %1$s lashes you with its flaming whip, but you dodge!", + "miss_msg_npc": "The %1$s lashes with its flaming whip, but they dodge!", + "no_dmg_msg_u": "The %1$s lashes you with its flaming whip, but fails to penetrate your armor!", + "no_dmg_msg_npc": "The %1$s lashes with its flaming whip, but fails to penetrate their armor!", + "dodgeable": true, + "no_adjacent": true } ] diff --git a/data/json/monsters/nether.json b/data/json/monsters/nether.json index a2595a7d023d9..6494c0fc43ed5 100644 --- a/data/json/monsters/nether.json +++ b/data/json/monsters/nether.json @@ -875,5 +875,56 @@ "harvest": "exempt", "death_function": { "corpse_type": "NO_CORPSE", "message": "The %s melts away." }, "flags": [ "HEARS", "GOODHEARING", "STUMBLES", "NOHEAD", "HARDTOSHOOT", "FLIES", "PLASTIC", "NO_BREATHE", "NOGIB" ] + }, + { + "id": "mon_balrog", + "type": "MONSTER", + "name": { "str": "fiery nightmare" }, + "description": "A colossal figure which seems to consist entirely of shadows engulfed by flames. Its immense dark wings extend from wall to wall. Two eyes, like two burning charcoals, are looking down on you with hatred. In one hand it holds a huge sword, in the other it has a many-thonged whip, both glowing with red-hot flames.", + "default_faction": "nether", + "bodytype": "human", + "species": [ "UNKNOWN" ], + "volume": "875000 ml", + "weight": "300 kg", + "hp": 500, + "speed": 140, + "symbol": "B", + "color": "red", + "aggression": 100, + "morale": 100, + "melee_skill": 10, + "melee_dice": 7, + "melee_dice_sides": 5, + "melee_damage": [ { "damage_type": "heat", "amount": 20 } ], + "melee_cut": 10, + "armor_bash": 12, + "armor_cut": 12, + "armor_bullet": 12, + "bleed_rate": 0, + "vision_day": 83, + "vision_night": 60, + "harvest": "exempt", + "special_attacks": [ + { + "id": "smash", + "move_cost": 110, + "cooldown": 8, + "min_mul": 0.8, + "damage_max_instance": [ { "damage_type": "heat", "amount": 18, "armor_multiplier": 0.7 } ] + }, + { + "id": "impale", + "min_mul": 1.5, + "max_mul": 3, + "damage_max_instance": [ { "damage_type": "heat", "amount": 18, "armor_multiplier": 0.7 } ] + }, + { + "id": "cut_throat", + "damage_max_instance": [ { "damage_type": "heat", "amount": 18, "armor_multiplier": 0.7 } ] + }, + { "id": "flaming_whip" } + ], + "death_function": { "corpse_type": "NO_CORPSE", "message": "The %s melts away." }, + "flags": [ "SEES", "WARM", "BASHES", "DESTROYS", "NO_BREATHE", "PUSH_MON", "PUSH_VEH", "FIREY", "PATH_AVOID_DANGER_2" ] } ] From b00b4d849212a087d30f3ba38ec17c6bc4c4e7d3 Mon Sep 17 00:00:00 2001 From: Valiant Date: Wed, 8 Sep 2021 13:17:17 +0400 Subject: [PATCH 03/17] Added new material for finale loot Shamelessly taken from Magiclysm. --- data/json/items/chemicals_and_resources.json | 16 ++++++++++++++++ data/json/materials.json | 20 ++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/data/json/items/chemicals_and_resources.json b/data/json/items/chemicals_and_resources.json index c4320b6df0a2a..21a4407902eb3 100644 --- a/data/json/items/chemicals_and_resources.json +++ b/data/json/items/chemicals_and_resources.json @@ -1744,5 +1744,21 @@ "price": 100, "price_postapoc": 5, "count": 100 + }, + { + "id": "mithril_ingot", + "type": "GENERIC", + "category": "spare_parts", + "name": "mithril ingot", + "description": "An ingot of mithril. About 3 cm by 7 cm by 12 cm in size, ready to be used for various blacksmithing tasks.", + "//": "density of aluminum", + "weight": "683 g", + "volume": "253 ml", + "price": 6399, + "bashing": 6, + "to_hit": -3, + "material": [ "mithril_metal" ], + "symbol": "=", + "color": "light_blue" } ] diff --git a/data/json/materials.json b/data/json/materials.json index b87e5d723d2e7..665ce2676cb48 100644 --- a/data/json/materials.json +++ b/data/json/materials.json @@ -2164,5 +2164,25 @@ "dmg_adj": [ "dented", "bent", "smashed", "shattered" ], "bash_dmg_verb": "dented", "cut_dmg_verb": "scratched" + }, + { + "type": "material", + "id": "mithril_metal", + "name": "Mithril", + "density": 13, + "bash_resist": 13, + "specific_heat_liquid": 0.82, + "specific_heat_solid": 0.45, + "latent_heat": 273, + "cut_resist": 20, + "bullet_resist": 16, + "acid_resist": 10, + "fire_resist": 10, + "elec_resist": 10, + "chip_resist": 40, + "repaired_with": "mithril_ingot", + "dmg_adj": [ "marked", "dented", "smashed", "shattered" ], + "bash_dmg_verb": "dented", + "cut_dmg_verb": "scratched" } ] From aaf0f0835047e40a5a9336f8b7c5691eec0721c7 Mon Sep 17 00:00:00 2001 From: Valiant Date: Wed, 8 Sep 2021 13:18:42 +0400 Subject: [PATCH 04/17] Added new book for finale loot, recipe and item itself --- data/json/items/book/fabrication.json | 20 +++++++++++++++++++ data/json/items/melee/swords_and_blades.json | 10 ++++++++++ data/json/recipes/weapon/cutting.json | 21 ++++++++++++++++++++ 3 files changed, 51 insertions(+) diff --git a/data/json/items/book/fabrication.json b/data/json/items/book/fabrication.json index 687343aa97119..acee4dc9aa805 100644 --- a/data/json/items/book/fabrication.json +++ b/data/json/items/book/fabrication.json @@ -547,5 +547,25 @@ "max_level": 4, "intelligence": 9, "time": "30 m" + }, + { + "id": "textbook_mithril", + "type": "BOOK", + "name": { "str_sp": "ᚲᚨᚲ:ᚲᛟᚹᚨᛏ:ᛗᛁᚠᚱᛁᛚ" }, + "description": "This book is written on some runic language you have not a slightest idea about. Fortunately, there are several very detailed colored pictures demonstrating the process of forging a sword from an ingot of silvery metal which leads you to an idea that this is some sort of textbook for blacksmiths.", + "weight": "654 g", + "volume": "1250 ml", + "price": 6400, + "price_postapoc": 2250, + "material": [ "paper" ], + "symbol": "?", + "color": "blue", + "skill": "fabrication", + "required_level": 7, + "max_level": 10, + "proficiencies": [ { "proficiency": "prof_bladesmith", "time_factor": 0.2, "fail_factor": 0.3, "include_prereqs": false } ], + "intelligence": 9, + "time": "60 m", + "fun": -1 } ] diff --git a/data/json/items/melee/swords_and_blades.json b/data/json/items/melee/swords_and_blades.json index 8de09f71f5d09..3469fb291c39e 100644 --- a/data/json/items/melee/swords_and_blades.json +++ b/data/json/items/melee/swords_and_blades.json @@ -611,6 +611,16 @@ "price": 13000, "price_postapoc": 50 }, + { + "id": "longsword_mithril", + "copy-from": "longsword", + "type": "TOOL", + "name": { "str": "longsword" }, + "description": "This is a classic medieval sword, in between the lighter arming sword and later two-handed swords in size. Most probably thanks to mysterious silvery metal it was forged from, it's very light yet harder than tempered steel.", + "material": [ "mithril_metal" ], + "weight": "939 g", + "proportional": { "cutting": 1.5 } + }, { "id": "arming_sword", "type": "TOOL", diff --git a/data/json/recipes/weapon/cutting.json b/data/json/recipes/weapon/cutting.json index 86f03ce0ed9be..e9387eee23547 100644 --- a/data/json/recipes/weapon/cutting.json +++ b/data/json/recipes/weapon/cutting.json @@ -767,5 +767,26 @@ "proficiencies": [ { "proficiency": "prof_metalworking" } ], "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "SAW_M", "level": 1 } ], "components": [ [ [ "machete", 1 ], [ "makeshift_machete", 1 ] ], [ [ "duct_tape", 100 ] ] ] + }, + { + "type": "recipe", + "activity_level": "BRISK_EXERCISE", + "result": "longsword_mithril", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_CUTTING", + "skill_used": "fabrication", + "difficulty": 8, + "time": "7 h", + "book_learn": [ [ "textbook_mithril", 7 ] ], + "proficiencies": [ + { "proficiency": "prof_metalworking" }, + { "proficiency": "prof_blacksmithing" }, + { "proficiency": "prof_bladesmith" }, + { "proficiency": "prof_carving", "time_multiplier": 1.2, "fail_multiplier": 1, "learning_time_multiplier": 0.2 } + ], + "using": [ [ "blacksmithing_standard", 16 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "hotcut", -1 ] ] ], + "components": [ [ [ "2x4", 1 ], [ "stick", 2 ] ], [ [ "fur", 1 ], [ "leather", 1 ] ], [ [ "mithril_ingot", 4 ] ] ] } ] From ad21ede4d6d6575586fd366f182d37abdc8293f9 Mon Sep 17 00:00:00 2001 From: Anton Burmistrov Date: Wed, 8 Sep 2021 18:20:28 +0400 Subject: [PATCH 05/17] Update data/json/items/book/fabrication.json Co-authored-by: chaohedgehogs <46550455+chaohedgehogs@users.noreply.github.com> --- data/json/items/book/fabrication.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/items/book/fabrication.json b/data/json/items/book/fabrication.json index acee4dc9aa805..be6b060b5fea0 100644 --- a/data/json/items/book/fabrication.json +++ b/data/json/items/book/fabrication.json @@ -552,7 +552,7 @@ "id": "textbook_mithril", "type": "BOOK", "name": { "str_sp": "ᚲᚨᚲ:ᚲᛟᚹᚨᛏ:ᛗᛁᚠᚱᛁᛚ" }, - "description": "This book is written on some runic language you have not a slightest idea about. Fortunately, there are several very detailed colored pictures demonstrating the process of forging a sword from an ingot of silvery metal which leads you to an idea that this is some sort of textbook for blacksmiths.", + "description": "This book is written in a runic language that you are unfamilliar with. Fortunately, there are several very detailed pictures that demonstrate the process of forging a sword from an ingot of silvery metal. You get the impression that this is some sort of textbook for blacksmiths.", "weight": "654 g", "volume": "1250 ml", "price": 6400, From 389127a7731e2df7ae8e678ad84bf1a84a13fae9 Mon Sep 17 00:00:00 2001 From: Anton Burmistrov Date: Wed, 8 Sep 2021 18:20:51 +0400 Subject: [PATCH 06/17] Update data/json/items/chemicals_and_resources.json Co-authored-by: chaohedgehogs <46550455+chaohedgehogs@users.noreply.github.com> --- data/json/items/chemicals_and_resources.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/items/chemicals_and_resources.json b/data/json/items/chemicals_and_resources.json index 21a4407902eb3..e903b3e28994e 100644 --- a/data/json/items/chemicals_and_resources.json +++ b/data/json/items/chemicals_and_resources.json @@ -1750,7 +1750,7 @@ "type": "GENERIC", "category": "spare_parts", "name": "mithril ingot", - "description": "An ingot of mithril. About 3 cm by 7 cm by 12 cm in size, ready to be used for various blacksmithing tasks.", + "description": "An ingot forged from an exotic silvery metal. Approximately 3 cm by 7 cm by 12 cm in size, ready to be used for various blacksmithing tasks.", "//": "density of aluminum", "weight": "683 g", "volume": "253 ml", From 3c31e4bb208b077295a75b7beb3807490f453688 Mon Sep 17 00:00:00 2001 From: Anton Burmistrov Date: Wed, 8 Sep 2021 18:21:15 +0400 Subject: [PATCH 07/17] Update data/json/items/melee/swords_and_blades.json Co-authored-by: chaohedgehogs <46550455+chaohedgehogs@users.noreply.github.com> --- data/json/items/melee/swords_and_blades.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/items/melee/swords_and_blades.json b/data/json/items/melee/swords_and_blades.json index 3469fb291c39e..de667d91b4492 100644 --- a/data/json/items/melee/swords_and_blades.json +++ b/data/json/items/melee/swords_and_blades.json @@ -616,7 +616,7 @@ "copy-from": "longsword", "type": "TOOL", "name": { "str": "longsword" }, - "description": "This is a classic medieval sword, in between the lighter arming sword and later two-handed swords in size. Most probably thanks to mysterious silvery metal it was forged from, it's very light yet harder than tempered steel.", + "description": "This is a classic medieval sword, the size being in-between the lighter arming sword and later two-handed swords. Thanks to the mysterious silvery metal it was forged from, it is stronger than tempered steel while weighing substantially less.", "material": [ "mithril_metal" ], "weight": "939 g", "proportional": { "cutting": 1.5 } From 0839cb75007e5d267fd63cb7d6e456c128666a2b Mon Sep 17 00:00:00 2001 From: Anton Burmistrov Date: Wed, 8 Sep 2021 18:23:08 +0400 Subject: [PATCH 08/17] Update data/json/monsters/nether.json Co-authored-by: chaohedgehogs <46550455+chaohedgehogs@users.noreply.github.com> --- data/json/monsters/nether.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/monsters/nether.json b/data/json/monsters/nether.json index 6494c0fc43ed5..e880afd75d98b 100644 --- a/data/json/monsters/nether.json +++ b/data/json/monsters/nether.json @@ -880,7 +880,7 @@ "id": "mon_balrog", "type": "MONSTER", "name": { "str": "fiery nightmare" }, - "description": "A colossal figure which seems to consist entirely of shadows engulfed by flames. Its immense dark wings extend from wall to wall. Two eyes, like two burning charcoals, are looking down on you with hatred. In one hand it holds a huge sword, in the other it has a many-thonged whip, both glowing with red-hot flames.", + "description": "A colossal figure which seems to consist entirely of shadows engulfed in flames. Its immense dark wings extend from wall to wall. Two eyes that resemble burning coals are gazing down on you with hatred. In one hand it holds a huge sword, in the other it has a many thonged whip, both glowing with red-hot flames.", "default_faction": "nether", "bodytype": "human", "species": [ "UNKNOWN" ], From e927b478bba4ccb96b9d61b2410c3689008dae35 Mon Sep 17 00:00:00 2001 From: Anton Burmistrov Date: Thu, 9 Sep 2021 07:57:14 +0400 Subject: [PATCH 09/17] Update data/json/monsters/nether.json Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com> --- data/json/monsters/nether.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/monsters/nether.json b/data/json/monsters/nether.json index e880afd75d98b..ddb3b63d7804e 100644 --- a/data/json/monsters/nether.json +++ b/data/json/monsters/nether.json @@ -899,7 +899,7 @@ "melee_cut": 10, "armor_bash": 12, "armor_cut": 12, - "armor_bullet": 12, + "armor_bullet": 25, "bleed_rate": 0, "vision_day": 83, "vision_night": 60, From bd8d1564af9fd5cc60a6b8d29b93278f69316b44 Mon Sep 17 00:00:00 2001 From: Anton Burmistrov Date: Thu, 9 Sep 2021 07:57:48 +0400 Subject: [PATCH 10/17] Update data/json/items/book/fabrication.json Co-authored-by: actual-nh <74678550+actual-nh@users.noreply.github.com> --- data/json/items/book/fabrication.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/items/book/fabrication.json b/data/json/items/book/fabrication.json index be6b060b5fea0..55d0dacecacc6 100644 --- a/data/json/items/book/fabrication.json +++ b/data/json/items/book/fabrication.json @@ -552,7 +552,7 @@ "id": "textbook_mithril", "type": "BOOK", "name": { "str_sp": "ᚲᚨᚲ:ᚲᛟᚹᚨᛏ:ᛗᛁᚠᚱᛁᛚ" }, - "description": "This book is written in a runic language that you are unfamilliar with. Fortunately, there are several very detailed pictures that demonstrate the process of forging a sword from an ingot of silvery metal. You get the impression that this is some sort of textbook for blacksmiths.", + "description": "This book is written in a runic language unfamiliar to you. Fortunately, there are several very detailed pictures that demonstrate the process of forging a sword from an ingot of silvery metal. You get the impression that this is some sort of textbook for blacksmiths.", "weight": "654 g", "volume": "1250 ml", "price": 6400, From 30f2f455b12475d1df4f6f2e32b5363d4b282846 Mon Sep 17 00:00:00 2001 From: Anton Burmistrov Date: Thu, 9 Sep 2021 07:58:30 +0400 Subject: [PATCH 11/17] Update data/json/monsters/nether.json Co-authored-by: actual-nh <74678550+actual-nh@users.noreply.github.com> --- data/json/monsters/nether.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/data/json/monsters/nether.json b/data/json/monsters/nether.json index ddb3b63d7804e..0b8aed73dae4f 100644 --- a/data/json/monsters/nether.json +++ b/data/json/monsters/nether.json @@ -925,6 +925,7 @@ { "id": "flaming_whip" } ], "death_function": { "corpse_type": "NO_CORPSE", "message": "The %s melts away." }, - "flags": [ "SEES", "WARM", "BASHES", "DESTROYS", "NO_BREATHE", "PUSH_MON", "PUSH_VEH", "FIREY", "PATH_AVOID_DANGER_2" ] + "path_settings": { "avoid_traps": true, "avoid_sharp": true }, + "flags": [ "SEES", "WARM", "BASHES", "DESTROYS", "NO_BREATHE", "PUSH_MON", "PUSH_VEH", "FIREY", "PATH_AVOID_DANGER_1" ] } ] From 19b6ec757b762f2261aee456c5a55a4832ad1878 Mon Sep 17 00:00:00 2001 From: Valiant Date: Tue, 14 Sep 2021 10:25:53 +0400 Subject: [PATCH 12/17] Made lighter sword bash less --- data/json/items/melee/swords_and_blades.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/items/melee/swords_and_blades.json b/data/json/items/melee/swords_and_blades.json index de667d91b4492..7e894d9b18af7 100644 --- a/data/json/items/melee/swords_and_blades.json +++ b/data/json/items/melee/swords_and_blades.json @@ -619,7 +619,7 @@ "description": "This is a classic medieval sword, the size being in-between the lighter arming sword and later two-handed swords. Thanks to the mysterious silvery metal it was forged from, it is stronger than tempered steel while weighing substantially less.", "material": [ "mithril_metal" ], "weight": "939 g", - "proportional": { "cutting": 1.5 } + "proportional": { "cutting": 1.5, "bashing": 0.7 } }, { "id": "arming_sword", From 79d608e639743f95e29203b253e5d225415e1bba Mon Sep 17 00:00:00 2001 From: Valiant Date: Tue, 14 Sep 2021 10:27:07 +0400 Subject: [PATCH 13/17] Added new sword to two martial arts --- data/json/martialarts.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/data/json/martialarts.json b/data/json/martialarts.json index fab1e5aa962c1..528d76cdee275 100644 --- a/data/json/martialarts.json +++ b/data/json/martialarts.json @@ -818,6 +818,7 @@ "longsword", "longsword_inferior", "longsword_fake", + "longsword_mithril", "sword_crude", "sword_nail", "sword_wood", @@ -975,6 +976,7 @@ "longsword", "longsword_inferior", "longsword_fake", + "longsword_mithril", "l-stick", "l-stick_on", "machete", From ab8dd12602874afa82d44611c4bc4a2eca50b6b4 Mon Sep 17 00:00:00 2001 From: Valiant Date: Tue, 21 Sep 2021 12:44:32 +0400 Subject: [PATCH 14/17] Moved content to Magiclysm --- data/json/items/book/fabrication.json | 20 ------- data/json/items/chemicals_and_resources.json | 16 ------ data/json/items/melee/swords_and_blades.json | 12 +---- data/json/martialarts.json | 2 - data/json/materials.json | 20 ------- .../monster_attacks.json | 19 ------- data/json/monsters/nether.json | 52 ------------------- data/json/overmap/overmap_special/mine.json | 37 ------------- data/json/recipes/weapon/cutting.json | 21 -------- data/mods/Magiclysm/items/books.json | 20 +++++++ data/mods/Magiclysm/items/melee.json | 10 ++++ data/mods/Magiclysm/martialarts.json | 4 +- data/mods/Magiclysm/monster_attacks.json | 19 +++++++ data/mods/Magiclysm/monsters/monsters.json | 52 +++++++++++++++++++ data/mods/Magiclysm/recipes.json | 21 ++++++++ .../Magiclysm/worldgen}/mine_balrog.json | 0 .../Magiclysm/worldgen/overmap_specials.json | 37 +++++++++++++ .../Magiclysm/worldgen/overmap_terrain.json | 22 ++++++++ 18 files changed, 185 insertions(+), 199 deletions(-) rename data/{json/mapgen/mine => mods/Magiclysm/worldgen}/mine_balrog.json (100%) diff --git a/data/json/items/book/fabrication.json b/data/json/items/book/fabrication.json index 55d0dacecacc6..687343aa97119 100644 --- a/data/json/items/book/fabrication.json +++ b/data/json/items/book/fabrication.json @@ -547,25 +547,5 @@ "max_level": 4, "intelligence": 9, "time": "30 m" - }, - { - "id": "textbook_mithril", - "type": "BOOK", - "name": { "str_sp": "ᚲᚨᚲ:ᚲᛟᚹᚨᛏ:ᛗᛁᚠᚱᛁᛚ" }, - "description": "This book is written in a runic language unfamiliar to you. Fortunately, there are several very detailed pictures that demonstrate the process of forging a sword from an ingot of silvery metal. You get the impression that this is some sort of textbook for blacksmiths.", - "weight": "654 g", - "volume": "1250 ml", - "price": 6400, - "price_postapoc": 2250, - "material": [ "paper" ], - "symbol": "?", - "color": "blue", - "skill": "fabrication", - "required_level": 7, - "max_level": 10, - "proficiencies": [ { "proficiency": "prof_bladesmith", "time_factor": 0.2, "fail_factor": 0.3, "include_prereqs": false } ], - "intelligence": 9, - "time": "60 m", - "fun": -1 } ] diff --git a/data/json/items/chemicals_and_resources.json b/data/json/items/chemicals_and_resources.json index ec3f699ed827b..b59e02143a81d 100644 --- a/data/json/items/chemicals_and_resources.json +++ b/data/json/items/chemicals_and_resources.json @@ -1745,21 +1745,5 @@ "price": 100, "price_postapoc": 5, "count": 100 - }, - { - "id": "mithril_ingot", - "type": "GENERIC", - "category": "spare_parts", - "name": "mithril ingot", - "description": "An ingot forged from an exotic silvery metal. Approximately 3 cm by 7 cm by 12 cm in size, ready to be used for various blacksmithing tasks.", - "//": "density of aluminum", - "weight": "683 g", - "volume": "253 ml", - "price": 6399, - "bashing": 6, - "to_hit": -3, - "material": [ "mithril_metal" ], - "symbol": "=", - "color": "light_blue" } ] diff --git a/data/json/items/melee/swords_and_blades.json b/data/json/items/melee/swords_and_blades.json index 7e894d9b18af7..10fde5cac463a 100644 --- a/data/json/items/melee/swords_and_blades.json +++ b/data/json/items/melee/swords_and_blades.json @@ -610,17 +610,7 @@ "to_hit": 1, "price": 13000, "price_postapoc": 50 - }, - { - "id": "longsword_mithril", - "copy-from": "longsword", - "type": "TOOL", - "name": { "str": "longsword" }, - "description": "This is a classic medieval sword, the size being in-between the lighter arming sword and later two-handed swords. Thanks to the mysterious silvery metal it was forged from, it is stronger than tempered steel while weighing substantially less.", - "material": [ "mithril_metal" ], - "weight": "939 g", - "proportional": { "cutting": 1.5, "bashing": 0.7 } - }, + } { "id": "arming_sword", "type": "TOOL", diff --git a/data/json/martialarts.json b/data/json/martialarts.json index 35ea8dd75e1b2..ec9eb694631e4 100644 --- a/data/json/martialarts.json +++ b/data/json/martialarts.json @@ -813,7 +813,6 @@ "longsword", "longsword_inferior", "longsword_fake", - "longsword_mithril", "sword_crude", "sword_nail", "sword_wood", @@ -976,7 +975,6 @@ "longsword", "longsword_inferior", "longsword_fake", - "longsword_mithril", "l-stick", "l-stick_on", "machete", diff --git a/data/json/materials.json b/data/json/materials.json index 6d42037e7cbb6..748075a8034e4 100644 --- a/data/json/materials.json +++ b/data/json/materials.json @@ -2165,25 +2165,5 @@ "dmg_adj": [ "dented", "bent", "smashed", "shattered" ], "bash_dmg_verb": "dented", "cut_dmg_verb": "scratched" - }, - { - "type": "material", - "id": "mithril_metal", - "name": "Mithril", - "density": 13, - "bash_resist": 13, - "specific_heat_liquid": 0.82, - "specific_heat_solid": 0.45, - "latent_heat": 273, - "cut_resist": 20, - "bullet_resist": 16, - "acid_resist": 10, - "fire_resist": 10, - "elec_resist": 10, - "chip_resist": 40, - "repaired_with": "mithril_ingot", - "dmg_adj": [ "marked", "dented", "smashed", "shattered" ], - "bash_dmg_verb": "dented", - "cut_dmg_verb": "scratched" } ] diff --git a/data/json/monster_special_attacks/monster_attacks.json b/data/json/monster_special_attacks/monster_attacks.json index cd6457ecd3f81..ae3b4d14a8685 100644 --- a/data/json/monster_special_attacks/monster_attacks.json +++ b/data/json/monster_special_attacks/monster_attacks.json @@ -315,24 +315,5 @@ "range": 100, "dispersion": 500, "ranged_damage": [ { "damage_type": "acid", "amount": 3 }, { "damage_type": "stab", "amount": 6 } ] - }, - { - "type": "monster_attack", - "attack_type": "melee", - "id": "flaming_whip", - "cooldown": 20, - "move_cost": 500, - "range": 15, - "damage_max_instance": [ { "damage_type": "heat", "amount": 30, "armor_penetration": 3, "armor_multiplier": 0.5 } ], - "body_parts": [ [ "leg_l", 4 ], [ "leg_r", 4 ], [ "head", 2 ], [ "arm_l", 4 ], [ "arm_r", 4 ], [ "torso", 6 ] ], - "effects": [ { "id": "onfire", "duration": 1, "chance": 10, "affect_hit_bp": true } ], - "hit_dmg_u": "The %1$s lashes you with its flaming whip!", - "hit_dmg_npc": "The %1$s lashes with its flaming whip!", - "miss_msg_u": "The %1$s lashes you with its flaming whip, but you dodge!", - "miss_msg_npc": "The %1$s lashes with its flaming whip, but they dodge!", - "no_dmg_msg_u": "The %1$s lashes you with its flaming whip, but fails to penetrate your armor!", - "no_dmg_msg_npc": "The %1$s lashes with its flaming whip, but fails to penetrate their armor!", - "dodgeable": true, - "no_adjacent": true } ] diff --git a/data/json/monsters/nether.json b/data/json/monsters/nether.json index 196bbc6ea5af6..460d46589c9e3 100644 --- a/data/json/monsters/nether.json +++ b/data/json/monsters/nether.json @@ -881,57 +881,5 @@ "harvest": "exempt", "death_function": { "corpse_type": "NO_CORPSE", "message": "The %s melts away." }, "flags": [ "HEARS", "GOODHEARING", "STUMBLES", "NOHEAD", "HARDTOSHOOT", "FLIES", "PLASTIC", "NO_BREATHE", "NOGIB" ] - }, - { - "id": "mon_balrog", - "type": "MONSTER", - "name": { "str": "fiery nightmare" }, - "description": "A colossal figure which seems to consist entirely of shadows engulfed in flames. Its immense dark wings extend from wall to wall. Two eyes that resemble burning coals are gazing down on you with hatred. In one hand it holds a huge sword, in the other it has a many thonged whip, both glowing with red-hot flames.", - "default_faction": "nether", - "bodytype": "human", - "species": [ "UNKNOWN" ], - "volume": "875000 ml", - "weight": "300 kg", - "hp": 500, - "speed": 140, - "symbol": "B", - "color": "red", - "aggression": 100, - "morale": 100, - "melee_skill": 10, - "melee_dice": 7, - "melee_dice_sides": 5, - "melee_damage": [ { "damage_type": "heat", "amount": 20 } ], - "melee_cut": 10, - "armor_bash": 12, - "armor_cut": 12, - "armor_bullet": 25, - "bleed_rate": 0, - "vision_day": 83, - "vision_night": 60, - "harvest": "exempt", - "special_attacks": [ - { - "id": "smash", - "move_cost": 110, - "cooldown": 8, - "min_mul": 0.8, - "damage_max_instance": [ { "damage_type": "heat", "amount": 18, "armor_multiplier": 0.7 } ] - }, - { - "id": "impale", - "min_mul": 1.5, - "max_mul": 3, - "damage_max_instance": [ { "damage_type": "heat", "amount": 18, "armor_multiplier": 0.7 } ] - }, - { - "id": "cut_throat", - "damage_max_instance": [ { "damage_type": "heat", "amount": 18, "armor_multiplier": 0.7 } ] - }, - { "id": "flaming_whip" } - ], - "death_function": { "corpse_type": "NO_CORPSE", "message": "The %s melts away." }, - "path_settings": { "avoid_traps": true, "avoid_sharp": true }, - "flags": [ "SEES", "WARM", "BASHES", "DESTROYS", "NO_BREATHE", "PUSH_MON", "PUSH_VEH", "FIREY", "PATH_AVOID_DANGER_1" ] } ] diff --git a/data/json/overmap/overmap_special/mine.json b/data/json/overmap/overmap_special/mine.json index 770c2246410f0..d77504a783f7e 100644 --- a/data/json/overmap/overmap_special/mine.json +++ b/data/json/overmap/overmap_special/mine.json @@ -126,42 +126,5 @@ "city_sizes": [ 4, -1 ], "occurrences": [ 0, 2 ], "flags": [ "WILDERNESS" ] - }, - { - "type": "overmap_special", - "id": "Balrog mine", - "overmaps": [ - { "point": [ 0, 0, 0 ], "overmap": "s_lot_north" }, - { "point": [ 0, 1, 0 ], "overmap": "mine_entrance_north" }, - { "point": [ 1, 1, 0 ], "overmap": "mine_entrance_loading_zone_north" }, - { "point": [ 1, 0, 0 ], "overmap": "road_end_north" }, - { "point": [ 0, 1, 1 ], "overmap": "mine_entrance_roof_north" }, - { "point": [ 1, 1, 1 ], "overmap": "mine_entrance_loading_zone_roof_north" }, - { "point": [ 0, 1, -1 ], "overmap": "mine_shaft_middle_north" }, - { "point": [ 1, 1, -1 ], "overmap": "mine_shaft_middle_east_north" }, - { "point": [ 0, 1, -2 ], "overmap": "mine_shaft_lower_north" }, - { "point": [ 1, 1, -2 ], "overmap": "mine_shaft_lower_east_north" }, - { "point": [ -1, 1, -2 ], "overmap": "mine_balrog_east_north" }, - { "point": [ -2, 1, -2 ], "overmap": "mine_balrog_central_north" }, - { "point": [ -3, 1, -2 ], "overmap": "mine_balrog_west_north" }, - { "point": [ -1, 1, -3 ], "overmap": "mine_balrog_-1_east_north" }, - { "point": [ -2, 1, -3 ], "overmap": "mine_balrog_-1_central_north" }, - { "point": [ -3, 1, -3 ], "overmap": "mine_balrog_-1_west_north" }, - { "point": [ -1, 1, -4 ], "overmap": "mine_balrog_finale_ne_north" }, - { "point": [ -2, 1, -4 ], "overmap": "mine_balrog_finale_n_north" }, - { "point": [ -3, 1, -4 ], "overmap": "mine_balrog_finale_nw_north" }, - { "point": [ -1, 2, -4 ], "overmap": "mine_balrog_finale_se_north" }, - { "point": [ -2, 2, -4 ], "overmap": "mine_balrog_finale_s_north" }, - { "point": [ -3, 2, -4 ], "overmap": "mine_balrog_finale_sw_north" } - ], - "connections": [ - { "point": [ 0, -1, 0 ], "terrain": "road", "connection": "local_road", "from": [ 0, 0, 0 ] }, - { "point": [ 1, -1, 0 ], "terrain": "road", "connection": "local_road", "from": [ 1, 0, 0 ] } - ], - "locations": [ "wilderness" ], - "city_distance": [ 10, 40 ], - "city_sizes": [ 4, -1 ], - "occurrences": [ 0, 1 ], - "flags": [ "WILDERNESS" ] } ] diff --git a/data/json/recipes/weapon/cutting.json b/data/json/recipes/weapon/cutting.json index 75a919dbfce0a..d1fbcda855ab2 100644 --- a/data/json/recipes/weapon/cutting.json +++ b/data/json/recipes/weapon/cutting.json @@ -770,26 +770,5 @@ "proficiencies": [ { "proficiency": "prof_metalworking" } ], "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "SAW_M", "level": 1 } ], "components": [ [ [ "machete", 1 ], [ "makeshift_machete", 1 ] ], [ [ "duct_tape", 100 ] ] ] - }, - { - "type": "recipe", - "activity_level": "BRISK_EXERCISE", - "result": "longsword_mithril", - "category": "CC_WEAPON", - "subcategory": "CSC_WEAPON_CUTTING", - "skill_used": "fabrication", - "difficulty": 8, - "time": "7 h", - "book_learn": [ [ "textbook_mithril", 7 ] ], - "proficiencies": [ - { "proficiency": "prof_metalworking" }, - { "proficiency": "prof_blacksmithing" }, - { "proficiency": "prof_bladesmith" }, - { "proficiency": "prof_carving", "time_multiplier": 1.2, "fail_multiplier": 1, "learning_time_multiplier": 0.2 } - ], - "using": [ [ "blacksmithing_standard", 16 ] ], - "qualities": [ { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "hotcut", -1 ] ] ], - "components": [ [ [ "2x4", 1 ], [ "stick", 2 ] ], [ [ "fur", 1 ], [ "leather", 1 ] ], [ [ "mithril_ingot", 4 ] ] ] } ] diff --git a/data/mods/Magiclysm/items/books.json b/data/mods/Magiclysm/items/books.json index ba3642e57161e..2ac07add918c2 100644 --- a/data/mods/Magiclysm/items/books.json +++ b/data/mods/Magiclysm/items/books.json @@ -35,5 +35,25 @@ "intelligence": 9, "time": "45 m", "fun": 0 + }, + { + "id": "textbook_mithril", + "type": "BOOK", + "name": { "str_sp": "ᚲᚨᚲ:ᚲᛟᚹᚨᛏ:ᛗᛁᚠᚱᛁᛚ" }, + "description": "This book is written in a runic language unfamiliar to you. Fortunately, there are several very detailed pictures that demonstrate the process of forging a sword from an ingot of silvery metal. You get the impression that this is some sort of textbook for blacksmiths.", + "weight": "654 g", + "volume": "1250 ml", + "price": 6400, + "price_postapoc": 2250, + "material": [ "paper" ], + "symbol": "?", + "color": "blue", + "skill": "fabrication", + "required_level": 7, + "max_level": 10, + "proficiencies": [ { "proficiency": "prof_bladesmith", "time_factor": 0.2, "fail_factor": 0.3, "include_prereqs": false } ], + "intelligence": 9, + "time": "60 m", + "fun": -1 } ] diff --git a/data/mods/Magiclysm/items/melee.json b/data/mods/Magiclysm/items/melee.json index 81d2a94d5d265..7dbf0c6cb4701 100644 --- a/data/mods/Magiclysm/items/melee.json +++ b/data/mods/Magiclysm/items/melee.json @@ -98,5 +98,15 @@ "cutting": 35, "relic_data": { "passive_effects": [ { "has": "WIELD", "condition": "ALWAYS", "hit_you_effect": [ { "id": "wolfsbane" } ] } ] }, "price": 200000 + }, + { + "id": "longsword_mithril", + "copy-from": "longsword", + "type": "TOOL", + "name": { "str": "longsword" }, + "description": "This is a classic medieval sword, the size being in-between the lighter arming sword and later two-handed swords. Thanks to the mysterious silvery metal it was forged from, it is stronger than tempered steel while weighing substantially less.", + "material": [ "mithril_metal" ], + "weight": "939 g", + "proportional": { "cutting": 1.5, "bashing": 0.7 } } ] diff --git a/data/mods/Magiclysm/martialarts.json b/data/mods/Magiclysm/martialarts.json index a381146f1e92b..d03a4548b2df6 100644 --- a/data/mods/Magiclysm/martialarts.json +++ b/data/mods/Magiclysm/martialarts.json @@ -165,7 +165,8 @@ "gunblade", "gram", "flamesword", - "longsword_holy" + "longsword_holy", + "longsword_mithril" ] } }, @@ -208,6 +209,7 @@ "knife_rambo_plus_two", "knife_trench_plus_one", "knife_trench_plus_two", + "longsword_mithril", "longsword_plus_one", "longsword_plus_two", "nodachi_plus_one", diff --git a/data/mods/Magiclysm/monster_attacks.json b/data/mods/Magiclysm/monster_attacks.json index f2b297a8a4598..a9cacc501d640 100644 --- a/data/mods/Magiclysm/monster_attacks.json +++ b/data/mods/Magiclysm/monster_attacks.json @@ -26,5 +26,24 @@ "hit_dmg_npc": "The %1$s crushes 's %2$s with its greatclub!", "no_dmg_msg_u": "The %1$s tries to crush your %2$s with its greatclub, but swings wide and stumbles.", "no_dmg_msg_npc": "The %1$s tries to crush 's %2$s with its greatclub, but swings wide and stumbles." + }, + { + "type": "monster_attack", + "attack_type": "melee", + "id": "flaming_whip", + "cooldown": 20, + "move_cost": 500, + "range": 15, + "damage_max_instance": [ { "damage_type": "heat", "amount": 30, "armor_penetration": 3, "armor_multiplier": 0.5 } ], + "body_parts": [ [ "leg_l", 4 ], [ "leg_r", 4 ], [ "head", 2 ], [ "arm_l", 4 ], [ "arm_r", 4 ], [ "torso", 6 ] ], + "effects": [ { "id": "onfire", "duration": 1, "chance": 10, "affect_hit_bp": true } ], + "hit_dmg_u": "The %1$s lashes you with its flaming whip!", + "hit_dmg_npc": "The %1$s lashes with its flaming whip!", + "miss_msg_u": "The %1$s lashes you with its flaming whip, but you dodge!", + "miss_msg_npc": "The %1$s lashes with its flaming whip, but they dodge!", + "no_dmg_msg_u": "The %1$s lashes you with its flaming whip, but fails to penetrate your armor!", + "no_dmg_msg_npc": "The %1$s lashes with its flaming whip, but fails to penetrate their armor!", + "dodgeable": true, + "no_adjacent": true } ] diff --git a/data/mods/Magiclysm/monsters/monsters.json b/data/mods/Magiclysm/monsters/monsters.json index c9995ff249e81..33eb9abaec5a9 100644 --- a/data/mods/Magiclysm/monsters/monsters.json +++ b/data/mods/Magiclysm/monsters/monsters.json @@ -487,5 +487,57 @@ "anger_triggers": [ "STALK", "FRIEND_ATTACKED", "FRIEND_DIED", "PLAYER_WEAK", "PLAYER_CLOSE" ], "zombify_into": "mon_were_zolf", "flags": [ "SEES", "HEARS", "SMELLS", "ANIMAL", "PATH_AVOID_DANGER_1", "WARM", "KEENNOSE" ] + }, + { + "id": "mon_balrog", + "type": "MONSTER", + "name": { "str": "fiery nightmare" }, + "description": "A colossal figure which seems to consist entirely of shadows engulfed in flames. Its immense dark wings extend from wall to wall. Two eyes that resemble burning coals are gazing down on you with hatred. In one hand it holds a huge sword, in the other it has a many thonged whip, both glowing with red-hot flames.", + "default_faction": "nether", + "bodytype": "human", + "species": [ "UNKNOWN" ], + "volume": "875000 ml", + "weight": "300 kg", + "hp": 500, + "speed": 140, + "symbol": "B", + "color": "red", + "aggression": 100, + "morale": 100, + "melee_skill": 10, + "melee_dice": 7, + "melee_dice_sides": 5, + "melee_damage": [ { "damage_type": "heat", "amount": 20 } ], + "melee_cut": 10, + "armor_bash": 12, + "armor_cut": 12, + "armor_bullet": 25, + "bleed_rate": 0, + "vision_day": 83, + "vision_night": 60, + "harvest": "exempt", + "special_attacks": [ + { + "id": "smash", + "move_cost": 110, + "cooldown": 8, + "min_mul": 0.8, + "damage_max_instance": [ { "damage_type": "heat", "amount": 18, "armor_multiplier": 0.7 } ] + }, + { + "id": "impale", + "min_mul": 1.5, + "max_mul": 3, + "damage_max_instance": [ { "damage_type": "heat", "amount": 18, "armor_multiplier": 0.7 } ] + }, + { + "id": "cut_throat", + "damage_max_instance": [ { "damage_type": "heat", "amount": 18, "armor_multiplier": 0.7 } ] + }, + { "id": "flaming_whip" } + ], + "death_function": { "corpse_type": "NO_CORPSE", "message": "The %s melts away." }, + "path_settings": { "avoid_traps": true, "avoid_sharp": true }, + "flags": [ "SEES", "WARM", "BASHES", "DESTROYS", "NO_BREATHE", "PUSH_MON", "PUSH_VEH", "FIREY", "PATH_AVOID_DANGER_1" ] } ] diff --git a/data/mods/Magiclysm/recipes.json b/data/mods/Magiclysm/recipes.json index be2ddc5d9f30b..b9f790d76094e 100644 --- a/data/mods/Magiclysm/recipes.json +++ b/data/mods/Magiclysm/recipes.json @@ -31,5 +31,26 @@ [ [ "string_6", 1 ] ], [ [ "rag", 2 ] ] ] + }, + { + "type": "recipe", + "activity_level": "BRISK_EXERCISE", + "result": "longsword_mithril", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_CUTTING", + "skill_used": "fabrication", + "difficulty": 8, + "time": "7 h", + "book_learn": [ [ "textbook_mithril", 7 ] ], + "proficiencies": [ + { "proficiency": "prof_metalworking" }, + { "proficiency": "prof_blacksmithing" }, + { "proficiency": "prof_bladesmith" }, + { "proficiency": "prof_carving", "time_multiplier": 1.2, "fail_multiplier": 1, "learning_time_multiplier": 0.2 } + ], + "using": [ [ "blacksmithing_standard", 16 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "hotcut", -1 ] ] ], + "components": [ [ [ "2x4", 1 ], [ "stick", 2 ] ], [ [ "fur", 1 ], [ "leather", 1 ] ], [ [ "mithril_ingot", 4 ] ] ] } ] diff --git a/data/json/mapgen/mine/mine_balrog.json b/data/mods/Magiclysm/worldgen/mine_balrog.json similarity index 100% rename from data/json/mapgen/mine/mine_balrog.json rename to data/mods/Magiclysm/worldgen/mine_balrog.json diff --git a/data/mods/Magiclysm/worldgen/overmap_specials.json b/data/mods/Magiclysm/worldgen/overmap_specials.json index 03ef8bf42282a..b0dacd5a8540d 100644 --- a/data/mods/Magiclysm/worldgen/overmap_specials.json +++ b/data/mods/Magiclysm/worldgen/overmap_specials.json @@ -145,5 +145,42 @@ "city_distance": [ 20, -1 ], "city_sizes": [ 0, 20 ], "occurrences": [ 0, 1 ] + }, + { + "type": "overmap_special", + "id": "Balrog mine", + "overmaps": [ + { "point": [ 0, 0, 0 ], "overmap": "s_lot_north" }, + { "point": [ 0, 1, 0 ], "overmap": "mine_entrance_north" }, + { "point": [ 1, 1, 0 ], "overmap": "mine_entrance_loading_zone_north" }, + { "point": [ 1, 0, 0 ], "overmap": "road_end_north" }, + { "point": [ 0, 1, 1 ], "overmap": "mine_entrance_roof_north" }, + { "point": [ 1, 1, 1 ], "overmap": "mine_entrance_loading_zone_roof_north" }, + { "point": [ 0, 1, -1 ], "overmap": "mine_shaft_middle_north" }, + { "point": [ 1, 1, -1 ], "overmap": "mine_shaft_middle_east_north" }, + { "point": [ 0, 1, -2 ], "overmap": "mine_shaft_lower_north" }, + { "point": [ 1, 1, -2 ], "overmap": "mine_shaft_lower_east_north" }, + { "point": [ -1, 1, -2 ], "overmap": "mine_balrog_east_north" }, + { "point": [ -2, 1, -2 ], "overmap": "mine_balrog_central_north" }, + { "point": [ -3, 1, -2 ], "overmap": "mine_balrog_west_north" }, + { "point": [ -1, 1, -3 ], "overmap": "mine_balrog_-1_east_north" }, + { "point": [ -2, 1, -3 ], "overmap": "mine_balrog_-1_central_north" }, + { "point": [ -3, 1, -3 ], "overmap": "mine_balrog_-1_west_north" }, + { "point": [ -1, 1, -4 ], "overmap": "mine_balrog_finale_ne_north" }, + { "point": [ -2, 1, -4 ], "overmap": "mine_balrog_finale_n_north" }, + { "point": [ -3, 1, -4 ], "overmap": "mine_balrog_finale_nw_north" }, + { "point": [ -1, 2, -4 ], "overmap": "mine_balrog_finale_se_north" }, + { "point": [ -2, 2, -4 ], "overmap": "mine_balrog_finale_s_north" }, + { "point": [ -3, 2, -4 ], "overmap": "mine_balrog_finale_sw_north" } + ], + "connections": [ + { "point": [ 0, -1, 0 ], "terrain": "road", "connection": "local_road", "from": [ 0, 0, 0 ] }, + { "point": [ 1, -1, 0 ], "terrain": "road", "connection": "local_road", "from": [ 1, 0, 0 ] } + ], + "locations": [ "wilderness" ], + "city_distance": [ 10, 40 ], + "city_sizes": [ 4, -1 ], + "occurrences": [ 0, 1 ], + "flags": [ "WILDERNESS" ] } ] diff --git a/data/mods/Magiclysm/worldgen/overmap_terrain.json b/data/mods/Magiclysm/worldgen/overmap_terrain.json index 3ce135e8622e5..bb946a5c70393 100644 --- a/data/mods/Magiclysm/worldgen/overmap_terrain.json +++ b/data/mods/Magiclysm/worldgen/overmap_terrain.json @@ -488,5 +488,27 @@ "looks_like": "standing_stones", "see_cost": 5, "mondensity": 2 + }, + { + "type": "overmap_terrain", + "id": [ + "mine_balrog_west", + "mine_balrog_central", + "mine_balrog_east", + "mine_balrog_-1_west", + "mine_balrog_-1_central", + "mine_balrog_-1_east", + "mine_balrog_finale_nw", + "mine_balrog_finale_n", + "mine_balrog_finale_ne", + "mine_balrog_finale_sw", + "mine_balrog_finale_s", + "mine_balrog_finale_se" + ], + "name": "mine tunnels", + "sym": "O", + "color": "dark_gray", + "see_cost": 5, + "flags": [ "KNOWN_UP" ] } ] From fd149bb423bd40dbbdcdca456eebc69f296d421c Mon Sep 17 00:00:00 2001 From: Valiant Date: Tue, 21 Sep 2021 12:45:27 +0400 Subject: [PATCH 15/17] Update swords_and_blades.json --- data/json/items/melee/swords_and_blades.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/items/melee/swords_and_blades.json b/data/json/items/melee/swords_and_blades.json index 10fde5cac463a..8de09f71f5d09 100644 --- a/data/json/items/melee/swords_and_blades.json +++ b/data/json/items/melee/swords_and_blades.json @@ -610,7 +610,7 @@ "to_hit": 1, "price": 13000, "price_postapoc": 50 - } + }, { "id": "arming_sword", "type": "TOOL", From 46f9b3ef333fc498096fdfa1337a46e54f7a3029 Mon Sep 17 00:00:00 2001 From: Valiant Date: Wed, 22 Sep 2021 18:32:53 +0400 Subject: [PATCH 16/17] Squashed commit of the following: commit 25fc438ce9ec3ddcefe028951f20f6be1b6913b6 Author: David Seguin Date: Tue Sep 21 14:09:18 2021 -0400 Delay skill rust for 24h after practicing (#51655) commit cba812cfd037e902a2e2be204a04d273443ad759 Author: faefux <49350286+faefux@users.noreply.github.com> Date: Tue Sep 21 19:08:01 2021 +0100 Prison carpark (#51658) * Added a new vehicle group. Changed the prison carpark a little to accomidate the larger ones. commit 6d6d7a78ce5908c58891e9fb68282e5c88c59397 Author: Tonkatsu <7764202+tenmillimaster@users.noreply.github.com> Date: Tue Sep 21 12:50:04 2021 -0500 Mk 262, Mk 318, M855A1 (#51762) * add and distro ammo added mk262, mk318, m855A1, and assigned to various itemgroups and distros. Civvie GB hits used for relative rarity: 1128, 383, 15, 8, 1 for m193, m855, mk262, m855a1, and mk318 respectively. * Update gg_ammo_migration.json commit 18d3d3d2dea3395fd9429e6317684c8dabdd051c Author: Hirmuolio <22011552+Hirmuolio@users.noreply.github.com> Date: Tue Sep 21 20:35:24 2021 +0300 json errors (#51764) commit 839eb8c80c7a8cb39f3218ec5ecfd5d2b42bf52b Author: Anton Burmistrov Date: Tue Sep 21 21:34:45 2021 +0400 Ensure that cities are at least size 2 (#51769) commit b5ce160423c37a26b1bb71d1ca26f068a6e59f83 Author: ISuckM8 <87550905+ISuckM8@users.noreply.github.com> Date: Tue Sep 21 19:29:08 2021 +0200 Martial Art error fix (#51767) Co-authored-by: Binrui Dong --- .../itemgroups/Weapons_Mods_Ammo/ammo.json | 11 ++++- data/json/items/ammo/223.json | 43 +++++++++++++++++-- data/json/mapgen/prison_1.json | 27 +++++++----- data/json/professions.json | 6 +-- data/json/vehicle_groups.json | 5 +++ .../CRT_EXPANSION/items/crt_toolarmor.json | 5 +-- data/mods/CRT_EXPANSION/items/crt_tools.json | 3 +- .../Generic_Guns/ammo/gg_ammo_migration.json | 3 ++ src/martialarts.cpp | 4 +- src/overmap.cpp | 3 +- src/skill.cpp | 6 +++ 11 files changed, 87 insertions(+), 29 deletions(-) diff --git a/data/json/itemgroups/Weapons_Mods_Ammo/ammo.json b/data/json/itemgroups/Weapons_Mods_Ammo/ammo.json index 0936b32972b9d..24a1e84a44574 100644 --- a/data/json/itemgroups/Weapons_Mods_Ammo/ammo.json +++ b/data/json/itemgroups/Weapons_Mods_Ammo/ammo.json @@ -174,7 +174,11 @@ "entries": [ { "item": "300_winmag", "prob": 40 }, { "item": "3006fmj", "prob": 50 }, - { "item": "556", "prob": 100 }, + { "item": "223", "prob": 74 }, + { "item": "556", "prob": 25 }, + { "item": "556_m855a1", "prob": 1 }, + { "item": "556_mk262", "prob": 1 }, + { "item": "556_mk318", "prob": 1 }, { "item": "762_51", "prob": 50 }, { "item": "4570_sp", "prob": 40 }, { "item": "4570_pen", "prob": 20 }, @@ -200,7 +204,10 @@ { "item": "50ss", "prob": 10 }, { "item": "50_mk211", "prob": 1 }, { "item": "556_incendiary", "prob": 15 }, - { "item": "556", "prob": 85 }, + { "item": "556_mk262", "prob": 3 }, + { "item": "556_mk318", "prob": 1 }, + { "item": "556", "prob": 79 }, + { "item": "556_m855a1", "prob": 2 }, { "item": "762_51_incendiary", "prob": 10 }, { "item": "762_51", "prob": 40 }, { "item": "8mm_caseless", "prob": 30 }, diff --git a/data/json/items/ammo/223.json b/data/json/items/ammo/223.json index e2a87c5331694..bcc4c8e2cc24e 100644 --- a/data/json/items/ammo/223.json +++ b/data/json/items/ammo/223.json @@ -3,7 +3,7 @@ "id": "223", "type": "AMMO", "name": { "str_sp": ".223 Remington" }, - "description": ".223 Remington ammunition with 55gr FMJ bullets. The .223 round has been very popular with civilian shooters for almost a century, finding use in a wide variety of weapons. It generates lower pressure than 5.56 NATO leading to slightly decreased accuracy and recoil.", + "description": ".223 Remington ammunition with 55gr FMJ-BT bullets, patterned after the M193 loading. The .223 round has been very popular with civilian shooters for almost a century, finding use in a wide variety of weapons. The combination of high velocity with a thinly jacketed, cannelured projectile led to unexpected yaw and fragmentation in soft tissue, increasing this round's performance.", "weight": "12 g", "volume": "194 ml", "price": 280, @@ -22,16 +22,51 @@ "recoil": 1500, "effects": [ "COOKOFF" ] }, + { + "id": "556_mk262", + "copy-from": "223", + "type": "AMMO", + "name": { "str_sp": "5.56 NATO Mk 262" }, + "description": "5.56x45mm ammunition, loaded for precision from the Mk 12 SPR rifles, and later used by other SF units looking for more effective loadings for their M4A1 and Mk 18 carbines. The MK 262 Mod. 1 is loaded with a 77 grain Open Tip Match bullet, enhancing lethality even at longer ranges when compared to older M855 loadings.", + "price": 600, + "price_postapoc": 2000, + "relative": { "damage": { "damage_type": "bullet", "amount": 1 } }, + "proportional": { "recoil": 1.1 } + }, + { + "id": "556_mk318", + "copy-from": "223", + "type": "AMMO", + "name": { "str_sp": "5.56 NATO Mk 318" }, + "description": "5.56x45mm ammunition, loaded for precision from the Mk 12 SPR rifles, and later used by other SF units looking for more effective loadings for their M4A1 and Mk 18 carbines. The MK 318 Mod. 1 is loaded with a 62 grain Open Tip Match Rear Penetrator, a copper slug enclosed inside a brass projectile, providing for consistent loading, enhanced lethality and increased penetration. When compared to M855, the Mk318 fragments consistently, even out of short carbines.", + "price": 700, + "price_postapoc": 2300, + "relative": { "damage": { "damage_type": "bullet", "amount": 1, "armor_penetration": 2 } }, + "proportional": { "recoil": 1.1 } + }, { "id": "556", "copy-from": "223", "type": "AMMO", - "name": { "str_sp": "5.56 NATO M855A1" }, - "description": "5.56x45mm ammunition with a 62gr FMJ bullet containing a steel penetrator. Its light weight, high accuracy, and manageable recoil lead to widespread use in the 20th century and it remains popular among militaries and civilians.", + "name": { "str_sp": "5.56 NATO M855" }, + "description": "5.56x45mm ammunition with a 62gr FMJ bullet containing a steel penetrator. Originally designed for the M249 FN Minimi, M855 was designed to penetrate steel helmets and light cover at range, sacrificing terminal performance and accuracy in the process. The limited yaw and fragmentation is worsened with shorter barreled carbines shooting this round, and optimization of barrel twist for stabilization of the tracer variant of M855 has resulted in lackluster accuract overall.", "price": 290, "price_postapoc": 900, "flags": [ "IRREPLACEABLE_CONSUMABLE" ], - "relative": { "damage": { "damage_type": "bullet", "amount": -2, "armor_penetration": 4 }, "dispersion": -10 }, + "relative": { "damage": { "damage_type": "bullet", "amount": -3, "armor_penetration": 4 }, "dispersion": 140 }, + "proportional": { "recoil": 1.1 }, + "extend": { "effects": [ "NEVER_MISFIRES" ] } + }, + { + "id": "556_m855a1", + "copy-from": "223", + "type": "AMMO", + "name": { "str_sp": "5.56 NATO M855A1" }, + "description": "An updated loading of M855 5.56x45mm ammunition, featuring a 62 grain proectile containing an exposed steel penetrator and copper slug. Designed as a mostly lead-free projectile, the opportunity was further taken to improve upon M855's penetration and lethality chracteristics through penetrator design and increased pressure. Its improved accuracy, penetration and lethality over M8855 are appreciated by users of shorter barreled AR-variants.", + "price": 300, + "price_postapoc": 1000, + "flags": [ "IRREPLACEABLE_CONSUMABLE" ], + "relative": { "damage": { "damage_type": "bullet", "amount": -2, "armor_penetration": 5 }, "dispersion": 10 }, "proportional": { "recoil": 1.1 }, "extend": { "effects": [ "NEVER_MISFIRES" ] } }, diff --git a/data/json/mapgen/prison_1.json b/data/json/mapgen/prison_1.json index cd5a2edb99956..3287af7ebbeb5 100644 --- a/data/json/mapgen/prison_1.json +++ b/data/json/mapgen/prison_1.json @@ -20,16 +20,16 @@ " sss________________sss ", " sss________________sss ", " sssssssssssssssssssssss________________sss ", - " s_____________________________________s|-wwww----------------ww--ww--| ", - " s_____________________________________s|hhh,,,+,,,,,,,,,,,,+,,,,,,,,,| ", - " s_____________________________________s+,,,,d,|--------+---|G|h|h|h|h| ", - " s_____________________________________s+,,,,dh|S,T|l,,,,,+<|,|g|g|g|g| ", - " s_____________________________________s|hhh,,,+,,,|l,,,,,--|,|h|h|h|h| ", - " s____Y____Y____Y____Y____Y____Y_______s|------|---|l,5555,l|,|,,,,,,,| ", - " s____Y____Y____Y____Y____Y____Y_______s|,,,,,,,,,,|l,,,,,,l|G|------G| ", - " s____Y____Y____Y____Y____Y____Y_______s@,,,,,,,,d,|l,5555,l|,,,,,,,|,| ", - " s____Y____Y____Y____Y____Y____Y_______s@,,,,,,,,dh|l,,,,,,l|hth,hth|,| ", - " s____Y____Y____Y____Y____Y____Y_______s|,,,,,,,,d,|l,5555,l|hth,hth|,| ", + " s____________________________________ss|-wwww----------------ww--ww--| ", + " s____________________________________ss|hhh,,,+,,,,,,,,,,,,+,,,,,,,,,| ", + " s____________________________________ss+,,,,d,|--------+---|G|h|h|h|h| ", + " s____________________________________ss+,,,,dh|S,T|l,,,,,+<|,|g|g|g|g| ", + " s___________________________________sss|hhh,,,+,,,|l,,,,,--|,|h|h|h|h| ", + " sY_______Y_______Y_______Y_______Y_ssss|------|---|l,5555,l|,|,,,,,,,| ", + " sY_______Y_______Y_______Y_______Ysssss|,,,,,,,,,,|l,,,,,,l|G|------G| ", + " sY_______Y_______Y_______Y_______Ysssss@,,,,,,,,d,|l,5555,l|,,,,,,,|,| ", + " sY_______Y_______Y_______Y_______Ysssss@,,,,,,,,dh|l,,,,,,l|hth,hth|,| ", + " sY_______Y_______Y_______Y_______Ysssss|,,,,,,,,d,|l,5555,l|hth,hth|,| ", " sssssssssssssssssssssssssssssssssssssss|55555,,,,,|l,,,,,,l|,,,,,,,|,| ", " |---------------------------------------------@@-------@-----R-G-R--G| ", " | f ss f s s s| ", @@ -211,7 +211,12 @@ { "monster": "mon_zombie_technician", "x": [ 33, 35 ], "y": [ 110, 115 ], "chance": 100 }, { "monster": "mon_zombie_technician", "x": [ 57, 59 ], "y": [ 110, 115 ], "chance": 100 } ], - "place_vehicles": [ { "vehicle": "bus_prison", "x": 8, "y": 12, "chance": 25, "rotation": 180 } ] + "place_vehicles": [ + { "vehicle": "prison_vehicles", "x": 7, "y": [ 12, 14 ], "chance": 25, "rotation": 90 }, + { "vehicle": "prison_vehicles", "x": 15, "y": [ 12, 14 ], "chance": 25, "rotation": 90 }, + { "vehicle": "prison_vehicles", "x": 24, "y": [ 12, 14 ], "chance": 25, "rotation": 90 }, + { "vehicle": "prison_vehicles", "x": 31, "y": [ 12, 14 ], "chance": 25, "rotation": 90 } + ] } }, { diff --git a/data/json/professions.json b/data/json/professions.json index 2007497107231..b6cd433eb6175 100644 --- a/data/json/professions.json +++ b/data/json/professions.json @@ -1014,7 +1014,7 @@ { "item": "m4_carbine", "variant": "m4a1", - "ammo-item": "556", + "ammo-item": "556_mk318", "charges": 30, "contents-item": [ "shoulder_strap", "holo_sight" ] } @@ -1966,7 +1966,7 @@ { "item": "m9", "ammo-item": "9mm", "charges": 15, "container-item": "holster" }, { "item": "chestrig", "contents-group": "army_mags_m4" }, { "item": "lighter", "charges": 100 }, - { "item": "ar15", "ammo-item": "556", "charges": 30, "contents-item": [ "shoulder_strap" ] } + { "item": "ar15", "ammo-item": "223", "charges": 30, "contents-item": [ "shoulder_strap" ] } ] }, "male": [ "boxer_shorts" ], @@ -3879,7 +3879,7 @@ { "item": "m4_carbine", "variant": "m4a1", - "ammo-item": "556", + "ammo-item": "556_mk262", "charges": 30, "contents-item": [ "shoulder_strap", "holo_sight" ] } diff --git a/data/json/vehicle_groups.json b/data/json/vehicle_groups.json index b0c00c26ebd68..c0ba9ea7c5de8 100644 --- a/data/json/vehicle_groups.json +++ b/data/json/vehicle_groups.json @@ -839,5 +839,10 @@ "id": "wagons_all", "type": "vehicle_group", "vehicles": [ [ "gig_carriage", 100 ], [ "stagecoach", 100 ], [ "covered_wagon", 100 ], [ "uncovered_wagon", 100 ] ] + }, + { + "type": "vehicle_group", + "id": "prison_vehicles", + "vehicles": [ [ "policecar", 15 ], [ "policesuv", 15 ], [ "truck_swat", 5 ], [ "bus_prison", 25 ], [ "ambulance", 10 ] ] } ] diff --git a/data/mods/CRT_EXPANSION/items/crt_toolarmor.json b/data/mods/CRT_EXPANSION/items/crt_toolarmor.json index 4aad522ca36f1..66c2683732ec8 100644 --- a/data/mods/CRT_EXPANSION/items/crt_toolarmor.json +++ b/data/mods/CRT_EXPANSION/items/crt_toolarmor.json @@ -175,8 +175,7 @@ "material": [ "kevlar", "hardsteel" ], "material_thickness": 3, "warmth": 20, - "max_charges": 100, - "initial_charges": 100, + "pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "battery": 100 } } ], "charges_per_use": 1, "ammo": "battery", "use_action": { @@ -212,7 +211,7 @@ "material_thickness": 3, "warmth": 20, "revert_to": "crt_helmet", - "max_charges": 100, + "pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "battery": 100 } } ], "initial_charges": 0, "charges_per_use": 1, "turns_per_charge": 120, diff --git a/data/mods/CRT_EXPANSION/items/crt_tools.json b/data/mods/CRT_EXPANSION/items/crt_tools.json index eca1a361c2745..487836230e714 100644 --- a/data/mods/CRT_EXPANSION/items/crt_tools.json +++ b/data/mods/CRT_EXPANSION/items/crt_tools.json @@ -14,8 +14,7 @@ "color": "green", "ammo": [ "battery" ], "sub": "hotplate", - "initial_charges": 75, - "max_charges": 75, + "pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "battery": 75 } } ], "charges_per_use": 1, "qualities": [ [ "COOK", 2 ], [ "BOIL", 2 ], [ "CONTAIN", 1 ] ], "//": "Legacy artifact data is set charge solar", diff --git a/data/mods/Generic_Guns/ammo/gg_ammo_migration.json b/data/mods/Generic_Guns/ammo/gg_ammo_migration.json index 5e22f5f6318a1..8a3ec31632a9a 100644 --- a/data/mods/Generic_Guns/ammo/gg_ammo_migration.json +++ b/data/mods/Generic_Guns/ammo/gg_ammo_migration.json @@ -229,6 +229,9 @@ "4570_pen", "545_ap", "556", + "556_m855a1", + "556_mk262", + "556_mk318", "556_incendiary", "762_51", "762_51_incendiary", diff --git a/src/martialarts.cpp b/src/martialarts.cpp index e61feaff3624c..ac3d2037ff2dd 100644 --- a/src/martialarts.cpp +++ b/src/martialarts.cpp @@ -261,9 +261,7 @@ void martialart::load( const JsonObject &jo, const std::string & ) mandatory( jo, was_loaded, "initiate", initiate ); for( JsonArray skillArray : jo.get_array( "autolearn" ) ) { std::string skill_name = skillArray.get_string( 0 ); - int skill_level = 0; - std::string skill_level_string = skillArray.get_string( 1 ); - skill_level = stoi( skill_level_string ); + int skill_level = skillArray.get_int( 1 ); autolearn_skills.emplace_back( skill_name, skill_level ); } optional( jo, was_loaded, "primary_skill", primary_skill, skill_id( "unarmed" ) ); diff --git a/src/overmap.cpp b/src/overmap.cpp index 63c92636b97ed..6a2faf2d2303f 100644 --- a/src/overmap.cpp +++ b/src/overmap.cpp @@ -4144,7 +4144,8 @@ void overmap::place_cities() } else { // 17% huge size = size * 2; } - size = std::max( size, 1 ); + // Ensure that cities are at least size 2, as city of size 1 is just a crossroad with no buildings at all + size = std::max( size, 2 ); // TODO: put cities closer to the edge when they can span overmaps // don't draw cities across the edge of the map, they will get clipped diff --git a/src/skill.cpp b/src/skill.cpp index 6273ab29adb1a..de3128c9b26a7 100644 --- a/src/skill.cpp +++ b/src/skill.cpp @@ -277,6 +277,7 @@ void SkillLevel::train( int amount, float catchup_modifier, float knowledge_modi _knowledgeExperience = 0; ++_knowledgeLevel; } + practice(); } @@ -322,6 +323,11 @@ bool SkillLevel::isRusty() const bool SkillLevel::rust( int rust_resist ) { + if( ( calendar::turn - _lastPracticed ) < 24_hours ) { + // don't rust within the grace period + return false; + } + if( _level >= MAX_SKILL ) { // don't rust any more once you hit the level cap, at least until we have a way to "pause" rust for a while. return false; From 7c191572da6addaefcdf42dfbf09621807cb5232 Mon Sep 17 00:00:00 2001 From: Valiant Date: Wed, 22 Sep 2021 20:19:36 +0400 Subject: [PATCH 17/17] Update overmap_terrain_industrial.json --- .../overmap_terrain_industrial.json | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/data/json/overmap/overmap_terrain/overmap_terrain_industrial.json b/data/json/overmap/overmap_terrain/overmap_terrain_industrial.json index 56ceb9d935b03..9f568477348f5 100644 --- a/data/json/overmap/overmap_terrain/overmap_terrain_industrial.json +++ b/data/json/overmap/overmap_terrain/overmap_terrain_industrial.json @@ -425,19 +425,7 @@ "mine_wyrms_west", "mine_wyrms_central", "mine_wyrms_east", - "mine_wyrms_finale", - "mine_balrog_west", - "mine_balrog_central", - "mine_balrog_east", - "mine_balrog_-1_west", - "mine_balrog_-1_central", - "mine_balrog_-1_east", - "mine_balrog_finale_nw", - "mine_balrog_finale_n", - "mine_balrog_finale_ne", - "mine_balrog_finale_sw", - "mine_balrog_finale_s", - "mine_balrog_finale_se" + "mine_wyrms_finale" ], "name": "mine tunnels", "sym": "O",