diff --git a/data/json/effects.json b/data/json/effects.json index aba8bfb0b1abf..1873248a4c8a0 100644 --- a/data/json/effects.json +++ b/data/json/effects.json @@ -690,6 +690,21 @@ "base_mods": { "per_mod": [ -3, 0 ] }, "scaling_mods": { "per_mod": [ -2, -1 ] } }, + { + "type": "effect_type", + "id": "venom_pain", + "name": [ "Distracting Wound", "Painful Wound", "Searing Wound" ], + "desc": [ "The wound throbs with sharp pain." ], + "apply_message": "A dull pain starts spreading from the wound!", + "max_intensity": 6, + "int_add_val": 1, + "int_decay_step": -1, + "int_decay_tick": 100, + "int_decay_remove": true, + "resist_traits": [ "PAINRESIST" ], + "base_mods": { "pain_amount": [ 10, 2 ], "pain_min": [ 5, 1 ], "pain_chance": [ 10, 20 ], "pain_tick": [ 5 ] }, + "scaling_mods": { "pain_min": [ 5, 1 ], "pain_chance": [ -1, 0 ] } + }, { "type": "effect_type", "id": "foodpoison", diff --git a/data/json/field_type.json b/data/json/field_type.json index 97bc730dbc1c5..077d54a87ded3 100644 --- a/data/json/field_type.json +++ b/data/json/field_type.json @@ -109,6 +109,26 @@ }, "display_field": true }, + { + "id": "fd_web_nostick", + "type": "field_type", + "looks_like": "fd_web", + "intensity_levels": [ { "name": "thin cobwebs", "sym": "}", "color": "white" }, { "name": "thin webs", "transparent": false } ], + "description_affix": "covered_in", + "decrease_intensity_on_contact": true, + "priority": 2, + "phase": "solid", + "display_items": true, + "bash": { + "str_min": 1, + "str_max": 3, + "sound_vol": 2, + "sound_fail_vol": 2, + "sound": "hsh!", + "msg_success": "You brush aside some webs." + }, + "display_field": true + }, { "id": "fd_slime", "type": "field_type", diff --git a/data/json/harvest.json b/data/json/harvest.json index 765351093028f..01c5a269673bd 100644 --- a/data/json/harvest.json +++ b/data/json/harvest.json @@ -1228,6 +1228,22 @@ { "drop": "egg_firefly", "type": "offal", "base_num": [ 0, 3 ] } ] }, + { + "id": "arachnid_spider", + "type": "harvest", + "message": "", + "copy-from": "arachnid", + "entries": [ + { "drop": "mutant_blood", "type": "blood", "mass_ratio": 0.1 }, + { "drop": "mutant_meat", "type": "flesh", "mass_ratio": 0.33 }, + { "drop": "mutant_fat", "type": "flesh", "mass_ratio": 0.04 }, + { "drop": "sinew", "type": "bone", "mass_ratio": 0.01 }, + { "drop": "endochitin", "type": "bone", "mass_ratio": 0.1 }, + { "drop": "mutant_bug_lungs", "type": "flesh", "mass_ratio": 0.006 }, + { "drop": "mutant_bug_organs", "type": "offal", "mass_ratio": 0.015 }, + { "drop": "chitin_piece", "type": "bone", "mass_ratio": 0.1 } + ] + }, { "id": "arachnid_tainted", "type": "harvest", diff --git a/data/json/itemgroups/Monsters_Animals_Lairs/monster_drops_lairs.json b/data/json/itemgroups/Monsters_Animals_Lairs/monster_drops_lairs.json index 1eac9ef48ea76..37bb8e56de719 100644 --- a/data/json/itemgroups/Monsters_Animals_Lairs/monster_drops_lairs.json +++ b/data/json/itemgroups/Monsters_Animals_Lairs/monster_drops_lairs.json @@ -156,130 +156,6 @@ { "item": "briefs", "prob": 30 } ] }, - { - "type": "item_group", - "id": "spider", - "magazine": 100, - "subtype": "distribution", - "entries": [ - { "group": "mags_obscure", "prob": 40 }, - { "item": "corpse", "prob": 10 }, - { "item": "holy_symbol", "prob": 1 }, - { "item": "mutagen", "prob": 8 }, - { "item": "purifier", "prob": 12 }, - { "item": "meat", "prob": 50 }, - { "item": "meat_tainted", "prob": 60 }, - { "item": "arm", "prob": 4 }, - { "item": "leg", "prob": 4 }, - { "group": "used_1st_aid", "prob": 35 }, - { "item": "codeine", "prob": 15 }, - { "item": "oxycodone", "prob": 7 }, - { "item": "pipe_tobacco", "prob": 5 }, - { "item": "tobacco", "prob": 5 }, - { "item": "weed", "prob": 20 }, - { "item": "seed_weed", "prob": 15 }, - { "item": "seed_tobacco", "prob": 5 }, - { "item": "rolling_paper", "prob": 5 }, - { "item": "pipe_glass", "prob": 5 }, - { "item": "coke", "prob": 8 }, - { "item": "adrenaline_injector", "prob": 4 }, - { "item": "wrapper", "prob": 50 }, - { "item": "wrapper_foil", "prob": 5 }, - { "group": "wallets_science", "prob": 2 }, - { "item": "laptop", "prob": 5, "charges": [ 0, 500 ] }, - { "item": "atomic_light", "prob": 10 }, - { "item": "atomic_lamp", "prob": 5 }, - { "item": "smart_lamp", "prob": 10 }, - { "item": "atomic_coffeepot", "prob": 5 }, - { "item": "eink_tablet_pc", "prob": 1, "charges": [ 0, 100 ] }, - { "item": "mobile_memory_card", "prob": 8 }, - { "item": "mobile_memory_card_science", "prob": 1 }, - { "item": "standard_template_construct", "prob": 8 }, - { "group": "wallets_military", "prob": 3 }, - { "group": "wallets_industrial", "prob": 5 }, - { "item": "militarymap", "prob": 3 }, - { "item": "pistol_bayonet", "prob": 4 }, - { "item": "rope_30", "prob": 35 }, - { "item": "stick", "prob": 95 }, - { "item": "hatchet", "prob": 10 }, - { "item": "misc_repairkit", "prob": 5, "charges-min": 0 }, - { "item": "ax", "prob": 8 }, - { "item": "bee_sting", "prob": 5 }, - { "item": "chitin_piece", "prob": 10 }, - { "item": "vest", "prob": 15 }, - { "item": "mask_gas", "prob": 10, "charges": [ 0, 100 ] }, - { "item": "goggles_nv", "prob": 1, "charges": [ 0, 100 ] }, - { "item": "goggles_ir", "prob": 1, "charges": [ 0, 100 ] }, - { "item": "hat_boonie", "prob": 10 }, - { "item": "helmet_riot", "prob": 25 }, - { "item": "bolt_steel", "prob": 7 }, - { "item": "bolt_cf", "prob": 5 }, - { "item": "shot_00", "prob": 8 }, - { "item": "shot_flechette", "prob": 3 }, - { "item": "20x66_shot", "prob": 4 }, - { "item": "20x66_exp", "prob": 1 }, - { "item": "20x66_inc", "prob": 1 }, - { "item": "20x66_flare", "prob": 2 }, - { "item": "20x66_frag", "prob": 1 }, - { "item": "762_m87", "prob": 7 }, - { "item": "556", "prob": 6 }, - { "item": "556_incendiary", "prob": 2 }, - { "item": "3006_incendiary", "prob": 1 }, - { "item": "762_51", "prob": 6 }, - { "item": "762_51_incendiary", "prob": 6 }, - { "item": "saiga_12", "prob": 3 }, - { "item": "rm20", "prob": 1 }, - { "item": "hk_mp5", "prob": 12 }, - { "item": "hk_mp5k", "prob": 4 }, - { "item": "briefcase_smg", "prob": 1 }, - { "item": "TDI", "prob": 4 }, - { "item": "savage_111f", "prob": 10 }, - { "item": "ak47", "prob": 16 }, - { "item": "ak74", "prob": 4 }, - { "item": "m4_carbine", "variant": "m4a1", "prob": 7 }, - { "item": "m16a4", "prob": 6 }, - { "item": "m27_assault_rifle", "variant": "h&k416a5", "prob": 3 }, - { "item": "mossberg_930", "variant": "m1014", "prob": 1 }, - { "item": "m26_mass_standalone", "prob": 1 }, - { "item": "steyr_aug", "prob": 6 }, - { "item": "v29", "prob": 1 }, - { "item": "flamethrower", "prob": 1 }, - { "item": "flashlight", "prob": 40, "charges": [ 0, 300 ] }, - { "item": "radio", "prob": 20, "charges": [ 0, 100 ] }, - { "item": "geiger_off", "prob": 8, "charges": [ 0, 100 ] }, - { "item": "rad_monitor", "prob": 4, "charges": [ 0, 50 ] }, - { "item": "teleporter", "prob": 10 }, - { "item": "mil_mess_kit", "prob": 1 }, - { "item": "canister_goo", "prob": 8 }, - { "item": "dynamite", "prob": 5 }, - { "item": "mininuke", "prob": 1 }, - { "item": "bot_manhack", "prob": 1 }, - { "item": "bot_grenade_hack", "prob": 1 }, - { "item": "bot_flashbang_hack", "prob": 1 }, - { "item": "bot_gasbomb_hack", "prob": 1 }, - { "item": "UPS_off", "prob": 8 }, - { "item": "arrow_cf", "prob": 5 }, - { "item": "spray_can", "prob": 50 }, - { "item": "tac_helmet", "prob": 5 }, - { "item": "tac_fullhelmet", "prob": 2 }, - { "item": "lsd", "prob": 4 }, - { "item": "pocketwatch", "prob": 5 }, - { "item": "child_book", "prob": 20 }, - { "item": "manual_dodge_kid", "prob": 5 }, - { "item": "e_tool", "prob": 10 }, - { "item": "survivormap", "prob": 5 }, - { "item": "halligan", "prob": 10 }, - { "item": "fire_ax", "prob": 5 }, - { "item": "miner_hat", "prob": 10, "charges": [ 0, 100 ] }, - { "item": "grapnel", "prob": 2 }, - { "group": "tools_toolbox", "prob": 1 }, - { "item": "pur_tablets", "prob": 10 }, - { "item": "pastaextruder", "prob": 10 }, - { "item": "can_sealer", "prob": 10 }, - { "item": "remotevehcontrol", "prob": 8 }, - { "item": "mk47", "prob": 4 } - ] - }, { "type": "item_group", "id": "cow", diff --git a/data/json/itemgroups/main.json b/data/json/itemgroups/main.json index 668dfe57916c2..776cfb73f7989 100644 --- a/data/json/itemgroups/main.json +++ b/data/json/itemgroups/main.json @@ -1,82 +1,4 @@ [ - { - "type": "item_group", - "id": "rare", - "//": "Items that should have very low frequencies and or few locations.", - "magazine": 100, - "subtype": "distribution", - "entries": [ - { "item": "12mm", "prob": 20, "charges": [ 1, 20 ] }, - { "item": "adrenaline_injector", "prob": 20 }, - { "item": "ampoule", "prob": 100 }, - { "item": "antifungal", "prob": 10, "charges": [ 1, 10 ] }, - { "item": "antiparasitic", "prob": 20, "charges": [ 1, 10 ] }, - { "item": "armor_chitin", "prob": 10 }, - { "item": "bot_c4_hack", "prob": 30 }, - { "item": "c4", "prob": 50 }, - { "item": "canister_goo", "prob": 80 }, - { "item": "cleansuit", "prob": 100 }, - { "item": "dump_pouch", "prob": 100 }, - { "item": "electrohack", "prob": 30, "charges": [ 0, 100 ] }, - { "item": "fetus", "prob": 10 }, - { "item": "hazmat_suit", "prob": 50 }, - { "item": "plasma_gun", "prob": 10, "charges": [ 0, 25 ] }, - { "item": "hk_g80", "prob": 20, "charges": [ 0, 20 ] }, - { "item": "hk_g80mag", "prob": 35, "charges": [ 0, 20 ] }, - { "item": "emp_gun", "prob": 20 }, - { "item": "id_military", "prob": 30 }, - { "item": "id_industrial", "prob": 30 }, - { "item": "id_science", "prob": 20 }, - { "item": "knife_rm42", "prob": 20 }, - { "item": "l-stick", "prob": 10, "charges": [ 0, 500 ] }, - { "item": "large_repairkit", "prob": 20, "charges": [ 0, 500 ] }, - { "item": "standard_template_construct", "prob": 15 }, - { "item": "laser_rifle", "prob": 10 }, - { "item": "m240", "prob": 10, "charges": [ 0, 200 ] }, - { "item": "m249", "prob": 10, "charges": [ 0, 30 ] }, - { "item": "m60", "prob": 10, "charges": [ 0, 200 ] }, - { "item": "mask_bal", "prob": 100 }, - { "item": "militarymap", "prob": 20 }, - { "item": "mutagen", "prob": 80 }, - { "item": "optical_cloak", "prob": 20 }, - { "item": "holo_cloak", "prob": 20, "charges": [ 0, 1000 ] }, - { "item": "pickaxe", "prob": 10 }, - { "item": "plasma", "prob": 80, "charges": [ 1, 25 ] }, - { "item": "plasma_rifle", "prob": 10, "charges": [ 0, 25 ] }, - { "item": "plut_cell", "prob": 100, "charges": [ 1, 5 ] }, - { "item": "portal", "prob": 20 }, - { "item": "power_armor_basic", "prob": 50 }, - { "item": "power_armor_frame", "prob": 40 }, - { "item": "power_armor_generator", "prob": 40 }, - { "item": "power_armor_heavy", "prob": 30 }, - { "item": "power_armor_helmet_basic", "prob": 60 }, - { "item": "power_armor_helmet_heavy", "prob": 30 }, - { "item": "power_armor_helmet_light", "prob": 30 }, - { "item": "power_armor_light", "prob": 30 }, - { "item": "processor", "prob": 150 }, - { "item": "purifier", "prob": 120 }, - { "item": "pur_tablets", "prob": 200, "charges": [ 1, 15 ] }, - { "item": "recipe_medicalmut", "prob": 100 }, - { "item": "remotevehcontrol", "prob": 80, "charges": [ 0, 100 ] }, - { "item": "rm11b_sniper_rifle", "prob": 10, "charges": [ 0, 10 ] }, - { "item": "rm13_armor", "prob": 20, "charges": [ 0, 10000 ] }, - { "item": "rm51_assault_rifle", "prob": 10, "charges": [ 0, 50 ] }, - { "item": "royal_jelly", "prob": 80 }, - { "item": "RPG", "prob": 10 }, - { "item": "RPG-7_ammo", "prob": 10 }, - { "item": "RPG-7_og7v", "prob": 25 }, - { "item": "RPG-7_tbg7v", "prob": 8 }, - { "item": "RPG-7_pg7vr", "prob": 8 }, - { "item": "atgm_heat", "prob": 1 }, - { "item": "rx11_stimpack", "prob": 50, "charges": [ 0, 5 ] }, - { "item": "rx12_injector", "prob": 50 }, - { "item": "stimpack_ammo", "prob": 100 }, - { "item": "survivormap", "prob": 50 }, - { "item": "survnote", "prob": 10 }, - { "item": "tool_rdx_charge", "prob": 10 }, - { "item": "v29", "prob": 10 } - ] - }, { "type": "item_group", "id": "debug_template_item", diff --git a/data/json/mapgen/bugs/spider_pit.json b/data/json/mapgen/bugs/spider_pit.json index f572a96286d7c..8daf6abb9c6ff 100644 --- a/data/json/mapgen/bugs/spider_pit.json +++ b/data/json/mapgen/bugs/spider_pit.json @@ -76,7 +76,6 @@ ], "terrain": { "#": "t_soil", "?": [ [ "t_soil", 2 ], "t_dirt_underground" ], ".": "t_dirt_underground", "<": "t_slope_up" }, "furniture": { ".": [ [ "f_null", 20 ], "f_egg_sackws" ] }, - "items": { ".": { "item": "spider", "chance": 2 } }, "place_fields": [ { "field": "fd_web", "x": [ 3, 20 ], "y": [ 3, 20 ], "repeat": 60 }, { "field": "fd_web", "x": [ 8, 15 ], "y": [ 8, 15 ], "repeat": 60 } diff --git a/data/json/mapgen/map_extras/spider.json b/data/json/mapgen/map_extras/spider.json index 7344fc2461316..6a5f7dc950339 100644 --- a/data/json/mapgen/map_extras/spider.json +++ b/data/json/mapgen/map_extras/spider.json @@ -5,6 +5,12 @@ "nested_mapgen_id": "spider_webs", "object": { "mapgensize": [ 1, 1 ], "place_fields": [ { "field": "fd_web", "x": 0, "y": 0 } ] } }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "spider_webs_nostick", + "object": { "mapgensize": [ 1, 1 ], "place_fields": [ { "field": "fd_web_nostick", "repeat": [ 0, 3 ], "x": 0, "y": 0 } ] } + }, { "type": "mapgen", "method": "json", @@ -38,9 +44,54 @@ ], "terrain": { "X": "t_dirt" }, "furniture": { "X": "f_egg_sackws" }, - "monster": { "X": { "monster": "mon_spider_web" } }, + "monsters": { "X": { "monster": "GROUP_SPIDER", "chance": 1, "density": 1 } }, "nested": { " ": { "chunks": [ [ "spider_webs", 10 ], [ "null", 1 ] ] } }, "flags": [ "ERASE_ALL_BEFORE_PLACING_TERRAIN" ] } + }, + { + "type": "mapgen", + "method": "json", + "update_mapgen_id": "mx_basement_spider", + "object": { + "rows": [ + " ", + " ! ", + " ! ", + " ", + " ! ", + " ", + " ! ", + " ", + " ! ! ", + " ", + " ", + " ! ", + " ", + " ! ", + " ", + " ! ", + " ! ", + " ", + " ", + " ! ", + " ", + " ", + " ! ! ", + " " + ], + "set": [ { "point": "bash", "x": [ 3, 20 ], "y": [ 3, 20 ], "repeat": [ 5, 10 ] } ], + "monster": { "!": { "group": "GROUP_SPIDER_BASEMENT", "chance": 50, "pack_size": [ 1, 3 ] } }, + "nested": { + " ": { + "chunks": [ + [ "spider_webs_nostick", 1 ], + [ "wasp_gibs", 1 ], + [ "damaged_door_nested_no_junk", 3 ], + [ "destroyed_door_nested_no_junk", 3 ] + ] + } + } + } } ] diff --git a/data/json/mapgen/nested/aux_nested.json b/data/json/mapgen/nested/aux_nested.json index e57da84ccdc5b..e2e29a59df50b 100644 --- a/data/json/mapgen/nested/aux_nested.json +++ b/data/json/mapgen/nested/aux_nested.json @@ -36,6 +36,12 @@ ] } }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "damaged_door_nested_no_junk", + "object": { "mapgensize": [ 1, 1 ], "place_ter_furn_transforms": [ { "transform": "damaged_door", "x": 0, "y": 0 } ] } + }, { "type": "mapgen", "method": "json", @@ -51,6 +57,12 @@ ] } }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "destroyed_door_nested_no_junk", + "object": { "mapgensize": [ 1, 1 ], "place_ter_furn_transforms": [ { "transform": "destroyed_door", "x": 0, "y": 0 } ] } + }, { "type": "mapgen", "method": "json", diff --git a/data/json/monster_factions.json b/data/json/monster_factions.json index 5aaba06928e8e..4eea3b5392ca2 100644 --- a/data/json/monster_factions.json +++ b/data/json/monster_factions.json @@ -432,8 +432,11 @@ }, { "type": "MONSTER_FACTION", + "//": "Eat other spiders, but semi-social among themselves", "name": "spider_cellar", - "base_faction": "spider" + "base_faction": "spider", + "by_mood": [ "spider" ], + "neutral": [ "spider_cellar" ] }, { "type": "MONSTER_FACTION", diff --git a/data/json/monster_special_attacks/monster_deaths.json b/data/json/monster_special_attacks/monster_deaths.json index 44f3a0efa0fe8..699c944622d0d 100644 --- a/data/json/monster_special_attacks/monster_deaths.json +++ b/data/json/monster_special_attacks/monster_deaths.json @@ -420,6 +420,21 @@ "min_aoe": 2, "max_aoe": 2 }, + { + "type": "SPELL", + "id": "death_spider_cellar_mom", + "name": { "str": "Mommy Long Legs Death" }, + "description": "Spawns a bunch of small spiders.", + "valid_targets": [ "self", "ground" ], + "min_damage": 3, + "max_damage": 8, + "flags": [ "RANDOM_DAMAGE", "HOSTILE_SUMMON", "PERMANENT", "SPAWN_WITH_DEATH_DROPS", "SILENT" ], + "shape": "blast", + "effect": "summon", + "effect_str": "mon_spider_cellar_small", + "min_aoe": 2, + "max_aoe": 2 + }, { "id": "death_boomer", "type": "SPELL", diff --git a/data/json/monster_special_attacks/spells.json b/data/json/monster_special_attacks/spells.json index a669f48de3161..c996069605413 100644 --- a/data/json/monster_special_attacks/spells.json +++ b/data/json/monster_special_attacks/spells.json @@ -216,6 +216,37 @@ "max_aoe": 12, "base_casting_time": 100 }, + { + "type": "SPELL", + "id": "cellar_spider_leg_detach", + "name": { "str": "Detatch Leg" }, + "description": "The hurt leg of the cellar spider wriggles loose. Ew.", + "flags": [ "HOSTILE_SUMMON", "NO_PROJECTILE", "RANDOM_TARGET" ], + "effect": "effect_on_condition", + "valid_targets": [ "self" ], + "base_casting_time": 10, + "min_range": 1, + "min_aoe": 3, + "shape": "blast", + "effect_str": "EOC_cellar_spider_leg", + "extra_effects": [ { "id": "frog_mother_hurt_self", "hit_self": true }, { "id": "frog_mother_hurt_self", "hit_self": true } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_cellar_spider_leg", + "condition": { "one_in_chance": 2 }, + "effect": [ + { + "u_spawn_monster": "mon_spider_cellar_leg", + "real_count": [ 1, 4 ], + "min_radius": 1, + "max_radius": 3, + "spawn_message": "The maimed leg wriggles loose!", + "spawn_message_plural": "The maimed legs wriggle loose!" + }, + { "u_lose_effect": "maimed_leg" } + ] + }, { "type": "SPELL", "id": "centipede_mom_summon", diff --git a/data/json/monstergroups/bugs.json b/data/json/monstergroups/bugs.json index 1d0984324d0fc..f7b50d6f6fc9e 100644 --- a/data/json/monstergroups/bugs.json +++ b/data/json/monstergroups/bugs.json @@ -80,6 +80,34 @@ "name": "GROUP_SPIDER", "monsters": [ { "monster": "mon_spider_web_small", "cost_multiplier": 0 } ] }, + { + "type": "monstergroup", + "name": "GROUP_SPIDER_BASEMENT", + "default": "mon_spider_cellar_small", + "//": "`monster` ignores group-level pack size, so numbers are set in mapgen", + "monsters": [ + { "monster": "mon_spider_cellar_small", "weight": 300, "ends": "14 days" }, + { "monster": "mon_spider_cellar_giant", "weight": 220, "starts": "7 days", "ends": "28 days" }, + { "monster": "mon_spider_cellar_mom", "weight": 80, "starts": "7 days" }, + { "monster": "mon_spider_cellar_giant", "weight": 200, "starts": "28 days" }, + { "monster": "mon_spider_cellar_mega", "weight": 100, "cost_multiplier": 0, "starts": "28 days" } + ] + }, + { + "type": "monstergroup", + "name": "GROUP_SPIDER_CELLAR", + "default": "mon_spider_cellar_giant", + "monsters": [ { "monster": "mon_spider_cellar_giant", "weight": 5 } ] + }, + { + "type": "monstergroup", + "name": "GROUP_SPIDER_CELLAR_GIANT", + "monsters": [ + { "monster": "mon_spider_cellar_giant", "weight": 5 }, + { "monster": "mon_spider_cellar_mom", "weight": 2 }, + { "monster": "mon_spider_cellar_mega", "weight": 3 } + ] + }, { "name": "GROUP_WASP_NEST", "type": "monstergroup", diff --git a/data/json/monstergroups/misc.json b/data/json/monstergroups/misc.json index f1f076cecdc3d..17cb1bd230ed4 100644 --- a/data/json/monstergroups/misc.json +++ b/data/json/monstergroups/misc.json @@ -90,7 +90,7 @@ "type": "monstergroup", "name": "GROUP_SUBWAY", "//": "Z-2 subways, some lost nether things but otherwise mostly normal mobs", - "default": "mon_spider_cellar_giant", + "default": "mon_spider_jumping_small", "monsters": [ { "monster": "mon_slug_small", "weight": 180, "ends": "180 hours" }, { "monster": "mon_slug_giant", "weight": 180, "starts": "180 hours" }, @@ -102,15 +102,28 @@ "pack_size": [ 1, 2 ], "starts": "180 hours" }, - { "monster": "mon_spider_cellar_small", "weight": 300, "pack_size": [ 1, 3 ], "ends": "180 hours" }, - { "monster": "mon_spider_cellar_giant", "weight": 300, "pack_size": [ 1, 3 ], "starts": "180 hours" }, - { "monster": "mon_mutant_experimental", "weight": 50, "cost_multiplier": 2, "ends": "540 hours" }, + { "monster": "mon_spider_cellar_small", "weight": 300, "pack_size": [ 1, 3 ], "ends": "14 days" }, + { "group": "GROUP_SPIDER_CELLAR", "weight": 300, "pack_size": [ 2, 5 ], "starts": "14 days", "ends": "28 days" }, + { + "group": "GROUP_SPIDER_CELLAR_GIANT", + "weight": 300, + "cost_multiplier": 0, + "pack_size": [ 2, 4 ], + "starts": "28 days" + }, { "monster": "mon_mutant_experimental", "weight": 50, "cost_multiplier": 2, "pack_size": [ 1, 3 ], - "starts": "540 hours" + "ends": "14 days" + }, + { + "monster": "mon_mutant_experimental", + "weight": 50, + "cost_multiplier": 2, + "pack_size": [ 2, 5 ], + "starts": "14 days" }, { "monster": "mon_sludge_crawler", "weight": 50 }, { "monster": "mon_unseen_hunter", "weight": 50, "cost_multiplier": 2, "starts": "42 hours" }, @@ -158,17 +171,17 @@ "//2": "1W 42, 1M 180, 1,5M 270, 2M 360, 3M 540, sum 930", "monsters": [ { "monster": "mon_kreck", "weight": 200 }, - { "monster": "mon_unseen_hunter", "weight": 200, "starts": "42 hours", "ends": "15 days" }, + { "monster": "mon_unseen_hunter", "weight": 200, "starts": "6 hours", "ends": "15 days" }, { "monster": "mon_unseen_hunter", "weight": 200, "pack_size": [ 1, 2 ], "starts": "15 days" }, - { "monster": "mon_mutant_experimental", "weight": 200, "ends": "180 hours" }, + { "monster": "mon_mutant_experimental", "weight": 250, "pack_size": [ 1, 3 ], "ends": "7 days" }, { "monster": "mon_mutant_experimental", - "weight": 200, - "pack_size": [ 1, 2 ], - "starts": "180 hours", - "ends": "15 days" + "weight": 250, + "pack_size": [ 2, 5 ], + "starts": "7 days", + "ends": "28 days" }, - { "monster": "mon_mutant_experimental", "weight": 200, "pack_size": [ 2, 5 ], "starts": "15 days" }, + { "monster": "mon_mutant_experimental", "weight": 300, "pack_size": [ 3, 6 ], "starts": "28 days" }, { "monster": "mon_mi_go", "weight": 100, "pack_size": [ 1, 4 ], "ends": "15 days" }, { "monster": "mon_mi_go_scout", "weight": 100, "cost_multiplier": 2, "starts": "15 days" }, { diff --git a/data/json/monsters/insect_spider.json b/data/json/monsters/insect_spider.json index ac9d09806269c..60740d7a88191 100644 --- a/data/json/monsters/insect_spider.json +++ b/data/json/monsters/insect_spider.json @@ -871,103 +871,204 @@ "id": "mon_spider_cellar_small", "type": "MONSTER", "name": { "str": "cellar spider" }, - "description": "A mutant brown spider the size of a small dog, with long thin legs, big eyes, and oversized fangs.", + "description": "A cellar spider - also known as \"daddy long-legs\" - grown to distressing size. Its body is about the size of your head, with the long,spindly legs raising it up to your knee. It tries getting away from you with an unnervingly fluid run.", "copy-from": "mon_spider_cellar_giant", - "proportional": { "hp": 0.5, "speed": 1.1, "morale": 0.67, "melee_dice_sides": 0.67 }, - "volume": "15 L", - "weight": "20 kg", + "proportional": { "hp": 0.5, "melee_dice_sides": 0.67 }, + "aggression": -50, + "morale": 0, + "volume": "20 L", + "weight": "15 kg", + "delete": { "anger_triggers": [ "PLAYER_CLOSE", "PLAYER_WEAK", "HOSTILE_SEEN" ], "special_attacks": [ "GRAB" ] }, + "extend": { "fear_triggers": [ "PLAYER_CLOSE" ] }, + "vision_day": 8, + "vision_night": 8, "dissect": "dissect_spider_sample_single", - "upgrades": { "half_life": 14, "into": "mon_spider_cellar_giant" } + "upgrades": { "age_grow": 14, "into_group": "GROUP_SPIDER_CELLAR" } }, { "id": "mon_spider_cellar_giant", "type": "MONSTER", "name": { "str": "giant cellar spider" }, - "description": "A twitchy mutant brown spider, with a relatively small body and long, spindly legs. Its pre-Cataclysm brethren are known for being agile, and for preying upon other spiders.", + "description": "A huge brown spider in constant movement, with a small body the size of a child held up at chest level by a set of spindly legs that branch into three-pronged graspers at the end. Unlike the smaller variant it obviously decided hunting you is worth a try, and follows you with mandibles chittering in anticipation.", "default_faction": "spider_cellar", "bodytype": "spider", "species": [ "SPIDER" ], "diff": 2, - "volume": "30 L", + "volume": "80 L", "weight": "40750 g", - "hp": 45, - "speed": 150, + "hp": 60, + "speed": 100, "material": [ "iflesh" ], "symbol": "s", "color": "brown", - "aggression": -10, - "morale": 100, + "aggression": -5, + "morale": 5, "melee_skill": 6, "melee_dice": 1, - "melee_dice_sides": 8, + "melee_dice_sides": 9, "melee_damage": [ { "damage_type": "cut", "amount": 4 } ], - "dodge": 7, + "special_attacks": [ + [ "GRAB", 10 ], + { + "type": "bite", + "damage_max_instance": [ { "damage_type": "cut", "amount": 10 }, { "damage_type": "stab", "amount": 6 } ], + "forbidden_effects_any": [ "maimed_mandible" ], + "cooldown": 5, + "effects": [ { "id": "venom_pain", "chance": 50, "duration": 350, "affect_hit_bp": true } ] + } + ], + "dodge": 8, "armor_bash": 1, - "armor_cut": 2, + "armor_cut": 5, "armor_bullet": 2, "armor_acid": 3, "weakpoint_sets": [ "wps_arthropod", "wps_arthropod_spider" ], "families": [ "prof_intro_biology", "prof_wp_basic_bug", "prof_wp_spider" ], - "vision_day": 5, - "vision_night": 5, - "harvest": "arachnid", + "vision_day": 12, + "vision_night": 18, + "harvest": "arachnid_spider", "dissect": "dissect_spider_sample_single", - "anger_triggers": [ "STALK", "PLAYER_WEAK", "PLAYER_CLOSE" ], + "fear_triggers": [ "FIRE", "HURT" ], + "anger_triggers": [ "PLAYER_CLOSE", "PLAYER_WEAK" ], + "path_settings": { "max_dist": 50, "avoid_sharp": true }, "fungalize_into": "mon_spider_fungus", - "upgrades": { "half_life": 21, "into": "mon_spider_cellar_mega" }, - "flags": [ "SEES", "SMELLS", "HEARS", "VENOM", "WEBWALK", "CLIMBS", "HARDTOSHOOT", "PUSH_MON", "PATH_AVOID_FIRE" ], - "//": "No, they are not in fact the most venomous spider in the world." + "upgrades": { "age_grow": 14, "into_group": "GROUP_SPIDER_CELLAR_GIANT" }, + "flags": [ "SEES", "SMELLS", "HEARS", "WEBWALK", "CLIMBS", "HARDTOSHOOT", "PATH_AVOID_DANGER_1" ] + }, + { + "id": "mon_spider_cellar_mom", + "type": "MONSTER", + "name": { "str": "mommy long-legs", "str_pl": "mommy long legs" }, + "description": "This surprisingly shy giant cellar spider holds a head-sized ball of crawling spiderlings of different ages in its mandibles, carefully balancing on her long legs not to drop the precious cargo. She seems uninterested in you.", + "copy-from": "mon_spider_cellar_giant", + "speed": 85, + "aggression": -15, + "morale": 10, + "special_attacks": [ [ "GRAB", 25 ] ], + "death_function": { "message": "The spiderlings fall to the ground!", "effect": { "id": "death_spider_cellar_mom", "hit_self": true } }, + "reproduction": { "baby_monster": "mon_spider_cellar_small", "baby_count": 1, "baby_timer": 7 }, + "delete": { "flags": [ "HARDTOSHOOT" ], "anger_triggers": [ "PLAYER_WEAK" ] }, + "extend": { "flags": [ "STUMBLES" ] } }, { "id": "mon_spider_cellar_mega", "type": "MONSTER", "name": { "str": "warehouse spider" }, - "description": "A mutated brown spider the size of a cow, somehow supporting itself despite its rather spindly long legs. Looks like a classic house spider, but so much more.", + "description": "A tangle of branching chitinous legs operating seemingly independently, somehow still managing to carry a cow-sized central body. A number of malformed, twitching legs hang from the cephalothorax, but the head -and especially the mandibles- still seem to be in working order.", "copy-from": "mon_spider_cellar_giant", - "proportional": { "hp": 20, "speed": 0.25, "vision_day": 2 }, - "volume": "625 L", - "weight": "815 kg", - "melee_dice": 2, - "dodge": 2, - "dissect": "dissect_spider_sample_large", - "special_attacks": [ [ "GRAB", 5 ] ], - "extend": { "flags": [ "DESTROYS", "PUSH_MON", "PUSH_VEH" ] } + "proportional": { "hp": 7, "weight": 5, "volume": 5, "speed": 1.2, "attack_cost": 1.2 }, + "morale": 50, + "grab_strength": 3, + "melee_dice": 3, + "melee_skill": 8, + "special_attacks": [ + [ "GRAB", 5 ], + [ "GRAB_DRAG", 10 ], + { + "type": "bite", + "move_cost": 120, + "damage_max_instance": [ { "damage_type": "cut", "amount": 10 }, { "damage_type": "stab", "amount": 8 } ], + "forbidden_effects_any": [ "maimed_mandible" ], + "cooldown": 3, + "effects": [ { "id": "venom_pain", "chance": 50, "duration": 350, "affect_hit_bp": true } ] + }, + { + "type": "spell", + "spell_data": { "id": "cellar_spider_leg_detach", "min_level": 1 }, + "monster_message": "The maimed legs start twitching erratically!", + "cooldown": 15, + "required_effects_any": [ "maimed_leg" ] + } + ], + "dodge": 6, + "armor_acid": 5, + "armor_bash": 5, + "armor_cut": 7, + "armor_elec": 3, + "armor_stab": 7, + "weakpoints": [ + { + "id": "leg", + "name": "a leg", + "damage_mult": { "all": 0.4 }, + "crit_mult": { "all": 0.4 }, + "coverage_mult": { "point": 0.75 }, + "effects": [ + { "effect": "staggered", "chance": 5, "message": "The %s is knocked off-balance!", "damage_required": [ 10, 30 ] }, + { + "effect": "staggered", + "chance": 15, + "message": "The %s is knocked off-balance!", + "damage_required": [ 30, 100 ] + } + ], + "coverage": 25 + }, + { + "id": "leg_joint", + "name": "a joint", + "damage_mult": { "all": 0.4 }, + "crit_mult": { "all": 0.4 }, + "armor_mult": { "all": 0.5 }, + "coverage_mult": { "point": 0.75 }, + "effects": [ + { + "effect": "maimed_leg", + "chance": 25, + "duration": [ 15, 50 ], + "message": "One of the %s's legs falls limp!", + "damage_required": [ 1, 10 ] + }, + { + "effect": "maimed_leg", + "chance": 50, + "duration": [ 25, 100 ], + "message": "One of the %s's legs falls limp!", + "damage_required": [ 11, 24 ] + }, + { + "effect": "maimed_leg", + "chance": 100, + "duration": 86400, + "message": "One of the %s's legs is disabled!", + "damage_required": [ 24, 100 ] + } + ], + "coverage": 5 + } + ], + "bleed_rate": 60, + "upgrades": false, + "extend": { "anger_triggers": [ "HOSTILE_SEEN" ], "flags": [ "BASHES" ] }, + "dissect": "dissect_spider_sample_large" }, { - "id": "mon_spider_cellar_giant_s", + "id": "mon_spider_cellar_leg", "type": "MONSTER", - "name": { "str": "immature giant cellar spider" }, - "description": "A newly-hatched mutant cellar spider, about the size of a beer bottle. Too small to possess much venom, but still quick and agile like an adult.", - "default_faction": "spider_cellar", - "bodytype": "spider", - "species": [ "SPIDER" ], - "volume": "750 ml", - "weight": "1 kg", - "hp": 23, - "speed": 150, - "material": [ "iflesh" ], - "symbol": "c", + "name": { "str": "detached spider leg" }, + "description": "The strangely branching leg of a mutated cellar spider that…fell? crawled? off of the main body when hurt. It now flails about blindly, irregular clawed appendages grasping at anything that comes close.", "color": "brown", - "aggression": -10, + "symbol": "7", + "default_faction": "factionless", + "bodytype": "snake", + "species": [ "INSECT" ], + "material": [ "iflesh" ], + "volume": "10 L", + "weight": "10 kg", + "hp": 25, + "aggression": 100, "morale": 100, - "melee_skill": 5, - "melee_dice": 1, + "speed": 50, + "attack_cost": 25, + "melee_skill": 3, + "melee_dice": 2, "melee_dice_sides": 3, - "melee_damage": [ { "damage_type": "cut", "amount": 2 } ], - "dodge": 6, - "armor_bash": 1, - "armor_cut": 2, - "armor_bullet": 2, - "armor_acid": 3, - "armor_elec": 1, - "weakpoint_sets": [ "wps_arthropod", "wps_arthropod_spider" ], - "families": [ "prof_intro_biology", "prof_wp_basic_bug", "prof_wp_spider" ], - "vision_day": 5, - "vision_night": 5, - "harvest": "arachnid", - "anger_triggers": [ "STALK", "PLAYER_WEAK", "PLAYER_CLOSE" ], - "upgrades": { "age_grow": 40, "into": "mon_spider_cellar_giant" }, - "flags": [ "SEES", "SMELLS", "HEARS", "WEBWALK", "CLIMBS", "HARDTOSHOOT", "PATH_AVOID_FIRE" ] + "melee_damage": [ { "damage_type": "cut", "amount": 4 } ], + "special_attacks": [ [ "SUICIDE", 180 ], [ "GRAB", 5 ] ], + "dodge": 7, + "bleed_rate": 0, + "death_function": { "corpse_type": "NO_CORPSE" }, + "flags": [ "HEARS", "GOODHEARING", "STUMBLES", "WEBWALK", "ATTACKMON", "HARDTOSHOOT", "STUN_IMMUNE", "NOHEAD" ] }, { "id": "mon_spider_jumping_small", diff --git a/data/json/obsolete.json b/data/json/obsolete.json index 6289d973d8d61..792bf3a2cd4eb 100644 --- a/data/json/obsolete.json +++ b/data/json/obsolete.json @@ -1,4 +1,40 @@ [ + { + "id": "mon_spider_cellar_giant_s", + "type": "MONSTER", + "name": { "str": "immature giant cellar spider" }, + "description": "A newly-hatched mutant cellar spider, about the size of a beer bottle. Too small to possess much venom, but still quick and agile like an adult.", + "default_faction": "spider_cellar", + "bodytype": "spider", + "species": [ "SPIDER" ], + "volume": "750 ml", + "weight": "1 kg", + "hp": 23, + "speed": 150, + "material": [ "iflesh" ], + "symbol": "c", + "color": "brown", + "aggression": -10, + "morale": 100, + "melee_skill": 5, + "melee_dice": 1, + "melee_dice_sides": 3, + "melee_damage": [ { "damage_type": "cut", "amount": 2 } ], + "dodge": 6, + "armor_bash": 1, + "armor_cut": 2, + "armor_bullet": 2, + "armor_acid": 3, + "armor_elec": 1, + "weakpoint_sets": [ "wps_arthropod", "wps_arthropod_spider" ], + "families": [ "prof_intro_biology", "prof_wp_basic_bug", "prof_wp_spider" ], + "vision_day": 5, + "vision_night": 5, + "harvest": "arachnid", + "anger_triggers": [ "STALK", "PLAYER_WEAK", "PLAYER_CLOSE" ], + "upgrades": { "age_grow": 40, "into": "mon_spider_cellar_giant" }, + "flags": [ "SEES", "SMELLS", "HEARS", "WEBWALK", "CLIMBS", "HARDTOSHOOT", "PATH_AVOID_FIRE" ] + }, { "id": "MISSION_ROBOFAC_MERC_1_GOLD", "type": "mission_definition", diff --git a/data/json/overmap/map_extras.json b/data/json/overmap/map_extras.json index 12783ac85ebe8..b6913cdf5cdd8 100644 --- a/data/json/overmap/map_extras.json +++ b/data/json/overmap/map_extras.json @@ -191,8 +191,8 @@ "type": "map_extra", "name": { "str": "Spider Nest" }, "description": "Spider nest is here.", - "generator": { "generator_method": "map_extra_function", "generator_id": "mx_house_spider" }, - "min_max_zlevel": [ -2, 0 ], + "generator": { "generator_method": "update_mapgen", "generator_id": "mx_basement_spider" }, + "min_max_zlevel": [ -1, -1 ], "sym": "S", "color": "yellow", "autonote": true @@ -203,7 +203,7 @@ "name": { "str": "Wasp Nest" }, "description": "Wasp nest is here.", "generator": { "generator_method": "map_extra_function", "generator_id": "mx_house_wasp" }, - "min_max_zlevel": [ 0, 3 ], + "min_max_zlevel": [ 0, 10 ], "sym": "W", "color": "yellow", "autonote": true diff --git a/data/json/overmap/overmap_terrain/overmap_terrain_transportation.json b/data/json/overmap/overmap_terrain/overmap_terrain_transportation.json index ee31ccbfec768..e90c02b4410fd 100644 --- a/data/json/overmap/overmap_terrain/overmap_terrain_transportation.json +++ b/data/json/overmap/overmap_terrain/overmap_terrain_transportation.json @@ -306,7 +306,7 @@ "mapgen_end": [ { "method": "builtin", "name": "subway_end" } ], "mapgen_tee": [ { "method": "builtin", "name": "subway_tee" } ], "mapgen_four_way": [ { "method": "builtin", "name": "subway_four_way" } ], - "spawns": { "group": "GROUP_SUBWAY_LAB", "population": [ 1, 4 ], "chance": 25 }, + "spawns": { "group": "GROUP_SUBWAY_LAB", "population": [ 1, 3 ], "chance": 50 }, "flags": [ "LINEAR" ] }, { diff --git a/data/json/regional_map_settings.json b/data/json/regional_map_settings.json index 985c0cd70e98d..1bef3fee011dd 100644 --- a/data/json/regional_map_settings.json +++ b/data/json/regional_map_settings.json @@ -741,7 +741,7 @@ "extras": { "mx_bugout": 20, "mx_house_spider": 40, - "mx_house_wasp": 60, + "mx_house_wasp": 30, "mx_military": 5, "mx_science": 12, "mx_collegekids": 15, diff --git a/data/json/snippets/mutant_anatomy.json b/data/json/snippets/mutant_anatomy.json index 9adf7998a8871..e6baceb73c760 100644 --- a/data/json/snippets/mutant_anatomy.json +++ b/data/json/snippets/mutant_anatomy.json @@ -568,6 +568,29 @@ "Some of the egg clusters are ransacked by fat, white worms tunneling blindly through its flesh" ] }, + { + "type": "snippet", + "category": "", + "text": [ + "", + "The fangs spray a sickly green liquid to the ground when you touch them", + "One of its eyes falls to the ground and shatters into a dozen jagged splinters", + "The stiff hairs of its chitin seem to shift slightly, points reaching for your skin", + "Your first few cuts only succeed in peeling back the upper, hairy layer of chitin, leaving a glassy green carapace", + "You hit a hard, scarred spot with your tool and reveal a cross-section of chitin with hundreds of stripes, like the rings of a tree" + ] + }, + { + "type": "snippet", + "category": "", + "text": [ + "", + "The fangs are connected to fist-sized venom glands, still churning with life", + "The imposing mandibles give way to a surprisingly thin tube and atrophied digestive track. It must have done most of its digesting outside", + "A huge reddish lump reveals itself to be a sort of lung with a deflating noise. You're blasted with hot air and droplets of hemolymph", + "Something not unlike a heart still spasms in the depth of the corpse, and the legs twitch to its rhythm" + ] + }, { "type": "snippet", "category": "", @@ -660,6 +683,15 @@ ". . ." ] }, + { + "type": "snippet", + "category": "", + "text": [ + "", + ". .", + ". . ." + ] + }, { "type": "snippet", "category": "", diff --git a/src/map_extras.cpp b/src/map_extras.cpp index 5a6a025256223..030a02137bca1 100644 --- a/src/map_extras.cpp +++ b/src/map_extras.cpp @@ -86,7 +86,6 @@ Item_spawn_data_military_standard_sniper_rifles( "military_standard_sniper_rifle static const item_group_id Item_spawn_data_mine_equipment( "mine_equipment" ); static const item_group_id Item_spawn_data_mon_zombie_soldier_death_drops( "mon_zombie_soldier_death_drops" ); -static const item_group_id Item_spawn_data_rare( "rare" ); static const item_group_id Item_spawn_data_remains_human_generic( "remains_human_generic" ); static const item_group_id Item_spawn_data_trash_cart( "trash_cart" ); @@ -125,7 +124,6 @@ static const map_extra_id map_extra_mx_crater( "mx_crater" ); static const map_extra_id map_extra_mx_dead_vegetation( "mx_dead_vegetation" ); static const map_extra_id map_extra_mx_grove( "mx_grove" ); static const map_extra_id map_extra_mx_helicopter( "mx_helicopter" ); -static const map_extra_id map_extra_mx_house_spider( "mx_house_spider" ); static const map_extra_id map_extra_mx_house_wasp( "mx_house_wasp" ); static const map_extra_id map_extra_mx_jabberwock( "mx_jabberwock" ); static const map_extra_id map_extra_mx_looters( "mx_looters" ); @@ -153,8 +151,6 @@ static const mongroup_id GROUP_WASP_QUEEN( "GROUP_WASP_QUEEN" ); static const mtype_id mon_dermatik( "mon_dermatik" ); static const mtype_id mon_jabberwock( "mon_jabberwock" ); static const mtype_id mon_shia( "mon_shia" ); -static const mtype_id mon_spider_cellar_giant( "mon_spider_cellar_giant" ); -static const mtype_id mon_spider_widow_giant( "mon_spider_widow_giant" ); static const mtype_id mon_turret_riot( "mon_turret_riot" ); static const mtype_id mon_turret_searchlight( "mon_turret_searchlight" ); static const mtype_id mon_turret_speaker( "mon_turret_speaker" ); @@ -354,42 +350,6 @@ static bool mx_house_wasp( map &m, const tripoint &loc ) return true; } -static bool mx_house_spider( map &m, const tripoint &loc ) -{ - auto spider_type = mon_spider_widow_giant; - auto egg_type = f_egg_sackbw; - if( one_in( 2 ) ) { - spider_type = mon_spider_cellar_giant; - egg_type = f_egg_sackcs; - } - for( int i = 0; i < SEEX * 2; i++ ) { - for( int j = 0; j < SEEY * 2; j++ ) { - if( m.ter( point( i, j ) ) == t_floor ) { - if( one_in( 15 ) ) { - m.add_spawn( spider_type, rng( 1, 2 ), tripoint( i, j, loc.z ) ); - for( int x = i - 1; x <= i + 1; x++ ) { - for( int y = j - 1; y <= j + 1; y++ ) { - if( m.ter( point( x, y ) ) == t_floor ) { - madd_field( &m, point( x, y ), fd_web, rng( 2, 3 ) ); - if( one_in( 4 ) ) { - m.furn_set( point( i, j ), egg_type ); - m.remove_field( {i, j, m.get_abs_sub().z()}, fd_web ); - } - } - } - } - } else if( m.passable( point( i, j ) ) && one_in( 5 ) ) { - madd_field( &m, point( i, j ), fd_web, 1 ); - } - } - } - } - m.place_items( Item_spawn_data_rare, 60, point_zero, point( SEEX * 2 - 1, SEEY * 2 - 1 ), - false, calendar::start_of_cataclysm ); - - return true; -} - static bool mx_helicopter( map &m, const tripoint &abs_sub ) { point c( rng( 6, SEEX * 2 - 7 ), rng( 6, SEEY * 2 - 7 ) ); @@ -2752,7 +2712,6 @@ static FunctionMap builtin_functions = { { map_extra_mx_supplydrop, mx_supplydrop }, { map_extra_mx_helicopter, mx_helicopter }, { map_extra_mx_portal_in, mx_portal_in }, - { map_extra_mx_house_spider, mx_house_spider }, { map_extra_mx_house_wasp, mx_house_wasp }, { map_extra_mx_shia, mx_shia }, { map_extra_mx_jabberwock, mx_jabberwock }, diff --git a/tools/spell_checker/dictionary.txt b/tools/spell_checker/dictionary.txt index 977cda957ad83..f27b36b51200a 100644 --- a/tools/spell_checker/dictionary.txt +++ b/tools/spell_checker/dictionary.txt @@ -290,6 +290,7 @@ cegamente centerdamage centric cepa +cephalothorax ceratopsian ceratosaurus cere @@ -733,6 +734,8 @@ gozu gr gracken granivorous +grasper +graspers gravelbag gravelbags gravol