Skip to content

Commit

Permalink
First two wizard towers for Magiclysm (#36588)
Browse files Browse the repository at this point in the history
* create a cool tower

* create a cool tower

* lint

* split it up into a few files

* move golems to their own file

* wizard tower 2 - still needs some tweaking

* landscaping

* lint constructs.json

* Update regional_overlay.json

* lint wizard towers

* Apply suggestions from code review

Co-Authored-By: Curtis Merrill <[email protected]>

* Update overmap_terrain.json

* Update regional_overlay.json

* Update wizard-towers.json

* Update wizard-towers.json

* Update wizard-towers.json

Co-authored-by: Curtis Merrill <[email protected]>
  • Loading branch information
I-am-Erk and KorGgenT committed Jan 10, 2020
1 parent c304911 commit 8ad5459
Show file tree
Hide file tree
Showing 10 changed files with 587 additions and 97 deletions.
136 changes: 136 additions & 0 deletions data/mods/Magiclysm/furniture.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,5 +50,141 @@
{ "item": "orichalcum_sliver", "count": [ 1, 8 ], "prob": 20 }
]
}
},
{
"type": "furniture",
"id": "f_magic_bench",
"name": "enchanter's workbench",
"looks_like": "f_table",
"description": "An ornate oak cabinet topped by a durable resin countertop resistant to most alchemical spills and burns. It has wired in electrical and gas fittings, and has been decorated with several protection runes - mostly ornamental.",
"symbol": "0",
"bgcolor": "white",
"move_cost_mod": 2,
"coverage": 60,
"required_str": -1,
"flags": [ "TRANSPARENT", "PLACE_ITEM", "MOUNTABLE", "FLAT_SURF" ],
"deconstruct": {
"items": [
{ "item": "pipe", "count": [ 6, 12 ] },
{ "item": "cu_pipe", "count": [ 1, 4 ] },
{ "item": "cable", "charges": [ 1, 4 ] },
{ "item": "plastic_chunk", "count": [ 50, 75 ] },
{ "item": "wood_panel", "count": [ 1, 2 ] },
{ "item": "2x4", "count": [ 3, 4 ] }
]
},
"max_volume": "1750 L",
"bash": {
"str_min": 35,
"str_max": 80,
"sound": "metal screeching!",
"sound_fail": "clang!",
"items": [
{ "item": "splinter", "count": [ 2, 8 ] },
{ "item": "2x4", "count": [ 0, 2 ] },
{ "item": "wood_panel", "count": [ 0, 1 ] },
{ "item": "plastic_chunk", "count": [ 30, 50 ] },
{ "item": "pipe", "count": 1 },
{ "item": "cable", "charges": [ 1, 3 ] },
{ "item": "cu_pipe", "count": 1 }
]
},
"examine_action": "workbench",
"workbench": { "multiplier": 1.15, "mass": 300000, "volume": "100L" }
},
{
"type": "furniture",
"id": "f_alembic",
"name": "standing alembic",
"looks_like": "f_still",
"description": "A large glass and copper alembic for distilling alchemical concoctions. It consists of a copper pot with rising spires of twisted glass draining into various removable bottles.",
"symbol": "&",
"color": "light_blue",
"move_cost_mod": -1,
"coverage": 40,
"required_str": -1,
"crafting_pseudo_item": "still_lab",
"flags": [ "TRANSPARENT", "NOITEM" ],
"deconstruct": {
"items": [
{ "item": "pot_copper", "count": 1 },
{ "item": "pipe_glass", "count": [ 1, 4 ] },
{ "item": "glass_tube_small", "charges": [ 5, 10 ] },
{ "item": "stopcock", "count": [ 1, 5 ] },
{ "item": "flask_glass", "count": [ 1, 3 ] }
]
},
"max_volume": "1750 L",
"bash": {
"str_min": 4,
"str_max": 10,
"sound": "glass breaking!",
"sound_fail": "clang!",
"items": [
{ "item": "scrap_copper", "count": [ 10, 20 ] },
{ "item": "stopcock", "count": [ 1, 5 ] },
{ "item": "glass_shard", "count": [ 25, 50 ] }
]
}
},
{
"type": "furniture",
"id": "f_orrery",
"name": "orrery",
"looks_like": "f_statue",
"description": "This is a beautiful, non-scale model of the solar system. A complex series of gears allows the relative motions of the planets to be studied at the turn of a crank. This more modern version also has bluetooth and could have been controlled with an app, if there was any power anymore.",
"symbol": "@",
"color": "brown",
"move_cost_mod": -1,
"coverage": 40,
"required_str": -1,
"flags": [ "TRANSPARENT", "NOITEM" ],
"deconstruct": {
"items": [
{ "item": "clockworks", "count": [ 10, 30 ] },
{ "item": "scrap", "count": [ 10, 20 ] },
{ "item": "pipe", "charges": 9 },
{ "item": "wire", "count": [ 10, 20 ] },
{ "item": "hinge", "count": [ 1, 3 ] }
]
},
"max_volume": "1750 L",
"bash": {
"str_min": 20,
"str_max": 60,
"sound": "metal screeching!",
"sound_fail": "clang!",
"items": [
{ "item": "scrap", "count": [ 10, 100 ] },
{ "item": "pipe", "count": [ 1, 5 ] },
{ "item": "wire", "count": [ 3, 10 ] }
]
}
},
{
"type": "furniture",
"id": "f_huge_mana_crystal",
"name": "huge mana crystal",
"description": "This is a mana crystal that juts from the ground as if it had sprouted up like a weed. It pulses with a delicate yellow energy, occasionally bursting with flashes of pent-up light.",
"symbol": "]",
"color": "white_yellow",
"move_cost_mod": -1,
"coverage": 75,
"required_str": -1,
"looks_like": "f_boulder_large",
"flags": [ "TRANSPARENT", "EMITTER" ],
"emissions": [ "emit_glimmer" ],
"light_emitted": 12,
"bash": {
"str_min": 25,
"str_max": 35,
"sound": "glass shattering!",
"sound_fail": "mana crackling!",
"items": [
{ "item": "crystallized_mana", "charges": [ 0, 100 ] },
{ "item": "small_mana_crystal", "count": [ 0, 3 ] },
{ "item": "glass_shard", "count": [ 8, 12 ] }
]
}
}
]
25 changes: 25 additions & 0 deletions data/mods/Magiclysm/itemgroups/itemgroups.json
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,31 @@
{ "item": "bulette_pearl", "prob": 8, "count-min": 1, "count-max": 2 }
]
},
{
"type": "item_group",
"id": "magic_tools_and_loot",
"//": "Stuff you would find in an average wizard's workshop or other place where someone stores magical goodies.",
"subtype": "collection",
"items": [
{ "group": "tools_common", "prob": 60 },
{ "group": "jewelry_safe", "prob": 10 },
{ "group": "jewelry_front", "prob": 8 },
{ "group": "potions_common", "prob": 15 },
{
"distribution": [
{ "group": "enchanted_wands_lesser", "prob": 15 },
{ "group": "spellbook_loot_1", "prob": 35, "count": [ 1, 3 ] },
{ "group": "enchanted_rings_common", "prob": 20 },
{ "group": "enchanted_rings_uncommon", "prob": 5 },
{ "group": "enchanted_combat_items", "prob": 10 },
{ "group": "enchanted_belts", "prob": 2 }
],
"prob": 15
},
{ "item": "bone_human", "prob": 60, "count-min": 1, "count-max": 5 },
[ "toolbox", 10 ]
]
},
{
"id": "demon_spider_lair_treasure",
"type": "item_group",
Expand Down
19 changes: 18 additions & 1 deletion data/mods/Magiclysm/items/constructs.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"color": "brown",
"name": "broken clay golem",
"category": "other",
"description": "A broken clay golem, looking like piece of post-modern art. Could be smashed for clay.",
"description": "A broken clay golem, looking like a piece of post-modern art. Could be smashed for clay.",
"price": 10000,
"material": [ "clay" ],
"weight": "122 kg",
Expand All @@ -16,6 +16,23 @@
"to_hit": -3,
"flags": [ "TRADER_AVOID", "NO_REPAIR" ]
},
{
"type": "GENERIC",
"id": "broken_plasticgolem",
"symbol": "x",
"color": "light_gray",
"name": "broken plastic golem",
"category": "other",
"description": "A broken plastic golem, like a giant action figure chewed up by an equally giant puppy. You could smash it up into recycled plastic bits.",
"price": 100,
"material": [ "plastic" ],
"weight": "70 kg",
"volume": "150 L",
"bashing": 4,
"cutting": 4,
"to_hit": -3,
"flags": [ "TRADER_AVOID", "NO_REPAIR" ]
},
{
"type": "GENERIC",
"id": "broken_stonegolem",
Expand Down
12 changes: 12 additions & 0 deletions data/mods/Magiclysm/monstergroups.json
Original file line number Diff line number Diff line change
Expand Up @@ -102,5 +102,17 @@
{ "monster": "mon_lizardfolk_shaman", "freq": 10, "cost_multiplier": 30 },
{ "monster": "mon_lizardfolk_chieftan", "freq": 10, "cost_multiplier": 50 }
]
},
{
"type": "monstergroup",
"name": "GROUP_TOWER_GOLEM",
"default": "mon_plasticgolem",
"//": "Cheap golems used to defend the average wizard's tower.",
"monsters": [
{ "monster": "mon_plasticgolem", "freq": 60, "cost_multiplier": 1 },
{ "monster": "mon_claygolem", "freq": 20, "cost_multiplier": 1 },
{ "monster": "mon_stonegolem", "freq": 10, "cost_multiplier": 1 },
{ "monster": "mon_irongolem", "freq": 5, "cost_multiplier": 1 }
]
}
]
126 changes: 126 additions & 0 deletions data/mods/Magiclysm/monsters/golems.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
[
{
"id": "mon_claygolem",
"type": "MONSTER",
"name": "clay golem",
"description": "A large, humanoid golem made from clay. Its proportions are off and it seems fragile.",
"default_faction": "robot",
"bodytype": "human",
"species": [ "ROBOT" ],
"diff": 2,
"volume": "120 L",
"weight": "122 kg",
"hp": 100,
"speed": 80,
"material": [ "clay" ],
"symbol": "X",
"color": "brown",
"aggression": 10,
"morale": 100,
"melee_skill": 6,
"melee_dice": 2,
"melee_dice_sides": 10,
"melee_cut": 5,
"armor_bash": 10,
"armor_cut": 10,
"dodge": 0,
"vision_day": 40,
"vision_night": 40,
"anger_triggers": [ "PLAYER_CLOSE", "HURT" ],
"death_function": [ "BROKEN" ],
"flags": [ "SEES", "NO_BREATHE", "ACIDPROOF", "LOUDMOVES" ]
},
{
"id": "mon_plasticgolem",
"type": "MONSTER",
"name": { "str": "plastic golem" },
"description": "Traditionally, making a golem is a months-long process involving hand tools and precision craftsmanship. A stone golem is as much a work of art as it is a magical device. The advent of 3D printing made it easy to get into the golem-making hobby, and plastic golems have soared in popularity.",
"default_faction": "factionless",
"volume": "150 L",
"weight": "70 kg",
"hp": 120,
"speed": 90,
"material": [ "plastic" ],
"symbol": "G",
"color": "light_gray",
"aggression": 30,
"morale": 100,
"armor_bash": 18,
"armor_cut": 6,
"melee_skill": 5,
"melee_dice": 3,
"melee_dice_sides": 6,
"melee_cut": 3,
"vision_day": 30,
"vision_night": 30,
"anger_triggers": [ "PLAYER_CLOSE", "HURT" ],
"regenerates": 10,
"death_drops": { "item": "plastic_chunk", "prob": 100, "count": [ 5, 10 ] },
"death_function": [ "BROKEN" ],
"flags": [ "SEES", "HEARS", "NO_BREATHE", "LOUDMOVES" ]
},
{
"id": "mon_stonegolem",
"type": "MONSTER",
"name": "stone golem",
"description": "A large, humanoid golem made from stone. Its fists look similar to rockets.",
"default_faction": "robot",
"bodytype": "human",
"species": [ "ROBOT" ],
"diff": 2,
"volume": "120 L",
"weight": "162 kg",
"hp": 250,
"speed": 60,
"material": [ "stone" ],
"symbol": "X",
"color": "light_gray",
"aggression": 10,
"morale": 100,
"melee_skill": 6,
"melee_dice": 3,
"melee_dice_sides": 8,
"melee_cut": 6,
"armor_bash": 20,
"armor_cut": 20,
"dodge": 0,
"vision_day": 40,
"vision_night": 40,
"special_attacks": [ { "type": "spell", "spell_id": "rocket_punch", "spell_level": 5, "cooldown": 10 } ],
"anger_triggers": [ "PLAYER_CLOSE", "HURT" ],
"death_function": [ "BROKEN" ],
"flags": [ "SEES", "NO_BREATHE", "ACIDPROOF", "LOUDMOVES" ]
},
{
"id": "mon_irongolem",
"type": "MONSTER",
"name": "iron golem",
"description": "A large, humanoid golem made from iron. Some sort of noxious gas seems to be seeping from its mouth.",
"default_faction": "robot",
"bodytype": "human",
"species": [ "ROBOT" ],
"diff": 2,
"volume": "120 L",
"weight": "945 kg",
"hp": 400,
"speed": 50,
"material": [ "iron" ],
"symbol": "X",
"color": "dark_gray",
"aggression": 10,
"morale": 100,
"melee_skill": 6,
"melee_dice": 3,
"melee_dice_sides": 10,
"melee_cut": 7,
"armor_bash": 32,
"armor_cut": 32,
"dodge": 0,
"vision_day": 40,
"vision_night": 40,
"special_attacks": [ { "type": "spell", "spell_id": "gas_attack", "spell_level": 5, "cooldown": 60 } ],
"anger_triggers": [ "PLAYER_CLOSE", "HURT" ],
"death_function": [ "BROKEN" ],
"flags": [ "SEES", "NO_BREATHE", "ACIDPROOF", "LOUDMOVES" ]
}
]
Loading

0 comments on commit 8ad5459

Please sign in to comment.