Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Magicylsm] Forge of Wonders Redesign #78846

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
1aeb00f
Add new variants of Everburning light sources, Two new Statues, and a…
QuillInkwell Dec 28, 2024
05243ba
Add New Forge alongside existing forge while migration occurs
QuillInkwell Dec 30, 2024
1aa49f2
Increase light emitted from new Everburning light sources. Make it po…
QuillInkwell Dec 30, 2024
e93925d
Fix lighting around the forge and re-export the map
QuillInkwell Dec 30, 2024
2d8c4c9
Remove old forge, migrate content into new forge. Update all referenc…
QuillInkwell Dec 30, 2024
57d7e44
Re-add Forge Trap and Populate forge with Dwarves and automata
QuillInkwell Dec 30, 2024
e824bd4
Lint
QuillInkwell Dec 30, 2024
d9466d6
Lint
QuillInkwell Dec 30, 2024
71f3e52
Randomize Flowers in forge
QuillInkwell Dec 30, 2024
d1e35cc
Increase number of loot zones. NPCs can now use all the shelves and d…
QuillInkwell Dec 30, 2024
b1402e2
Merge remote-tracking branch 'upstream/master' into Magicylsm_Forge_O…
QuillInkwell Dec 30, 2024
1b96535
CDDA Tests bully me for number of spaces in furniture desc
QuillInkwell Dec 30, 2024
0500939
Spell Correction so CDDA doesn't bully me
QuillInkwell Dec 30, 2024
55c6ee8
Merge remote-tracking branch 'upstream/master' into Magicylsm_Forge_O…
QuillInkwell Dec 30, 2024
8cf8975
Merge remote-tracking branch 'upstream/master' into Magicylsm_Forge_O…
QuillInkwell Dec 31, 2024
272c000
Forge Lords don't store items where they can't see them.
QuillInkwell Dec 31, 2024
ecb85ec
Lint
QuillInkwell Dec 31, 2024
570468e
Vault Emits Vault Air on tiles
QuillInkwell Dec 31, 2024
587acfa
Merge branch 'Magicylsm_Forge_Of_Wonders_Rework' of https://github.co…
QuillInkwell Dec 31, 2024
7e40c0a
EOC spritzes you with safe shopping experience whenever you are in th…
QuillInkwell Dec 31, 2024
055ed9a
Migrate the Old Forge OMTs for existing saves.
QuillInkwell Jan 1, 2025
f5fffc2
Merge remote-tracking branch 'upstream/master' into Magicylsm_Forge_O…
QuillInkwell Jan 1, 2025
68bfc15
Fix Map using solid rock on a level where soil should be present
QuillInkwell Jan 1, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
106 changes: 104 additions & 2 deletions data/mods/Magiclysm/effects/eoc_forge.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,114 @@
[
{
"type": "effect_on_condition",
"id": "EOC_PLAYER_IN_FORGE",
"recurrence": "30 minutes",
"condition": {
"or": [
{ "u_at_om_location": "forge_x0y0z0" },
{ "u_at_om_location": "forge_x1y0z0" },
{ "u_at_om_location": "forge_x2y0z0" },
{ "u_at_om_location": "forge_x3y0z0" },
{ "u_at_om_location": "forge_x0y1z0" },
{ "u_at_om_location": "forge_x1y1z0" },
{ "u_at_om_location": "forge_x2y1z0" },
{ "u_at_om_location": "forge_x3y1z0" },
{ "u_at_om_location": "forge_x0y2z0" },
{ "u_at_om_location": "forge_x1y2z0" },
{ "u_at_om_location": "forge_x2y2z0" },
{ "u_at_om_location": "forge_x3y2z0" },
{ "u_at_om_location": "forge_x0y3z0" },
{ "u_at_om_location": "forge_x1y3z0" },
{ "u_at_om_location": "forge_x2y3z0" },
{ "u_at_om_location": "forge_x3y3z0" },
{ "u_at_om_location": "forge_x0y0z1" },
{ "u_at_om_location": "forge_x1y0z1" },
{ "u_at_om_location": "forge_x2y0z1" },
{ "u_at_om_location": "forge_x3y0z1" },
{ "u_at_om_location": "forge_x0y1z1" },
{ "u_at_om_location": "forge_x1y1z1" },
{ "u_at_om_location": "forge_x2y1z1" },
{ "u_at_om_location": "forge_x3y1z1" },
{ "u_at_om_location": "forge_x0y2z1" },
{ "u_at_om_location": "forge_x1y2z1" },
{ "u_at_om_location": "forge_x2y2z1" },
{ "u_at_om_location": "forge_x3y2z1" },
{ "u_at_om_location": "forge_x0y3z1" },
{ "u_at_om_location": "forge_x1y3z1" },
{ "u_at_om_location": "forge_x2y3z1" },
{ "u_at_om_location": "forge_x3y3z1" },
{ "u_at_om_location": "forge_x0y0z2" },
{ "u_at_om_location": "forge_x1y0z2" },
{ "u_at_om_location": "forge_x2y0z2" },
{ "u_at_om_location": "forge_x3y0z2" },
{ "u_at_om_location": "forge_x0y1z2" },
{ "u_at_om_location": "forge_x1y1z2" },
{ "u_at_om_location": "forge_x2y1z2" },
{ "u_at_om_location": "forge_x3y1z2" },
{ "u_at_om_location": "forge_x0y2z2" },
{ "u_at_om_location": "forge_x1y2z2" },
{ "u_at_om_location": "forge_x2y2z2" },
{ "u_at_om_location": "forge_x3y2z2" },
{ "u_at_om_location": "forge_x0y3z2" },
{ "u_at_om_location": "forge_x1y3z2" },
{ "u_at_om_location": "forge_x2y3z2" },
{ "u_at_om_location": "forge_x3y3z2" },
{ "u_at_om_location": "forge_x0y0z3" },
{ "u_at_om_location": "forge_x1y0z3" },
{ "u_at_om_location": "forge_x2y0z3" },
{ "u_at_om_location": "forge_x3y0z3" },
{ "u_at_om_location": "forge_x0y1z3" },
{ "u_at_om_location": "forge_x1y1z3" },
{ "u_at_om_location": "forge_x2y1z3" },
{ "u_at_om_location": "forge_x3y1z3" },
{ "u_at_om_location": "forge_x0y2z3" },
{ "u_at_om_location": "forge_x1y2z3" },
{ "u_at_om_location": "forge_x2y2z3" },
{ "u_at_om_location": "forge_x3y2z3" },
{ "u_at_om_location": "forge_x0y3z3" },
{ "u_at_om_location": "forge_x1y3z3" },
{ "u_at_om_location": "forge_x2y3z3" },
{ "u_at_om_location": "forge_x3y3z3" },
{ "u_at_om_location": "forge_x0y0z4" },
{ "u_at_om_location": "forge_x1y0z4" },
{ "u_at_om_location": "forge_x2y0z4" },
{ "u_at_om_location": "forge_x3y0z4" },
{ "u_at_om_location": "forge_x0y1z4" },
{ "u_at_om_location": "forge_x1y1z4" },
{ "u_at_om_location": "forge_x2y1z4" },
{ "u_at_om_location": "forge_x3y1z4" },
{ "u_at_om_location": "forge_x0y2z4" },
{ "u_at_om_location": "forge_x1y2z4" },
{ "u_at_om_location": "forge_x2y2z4" },
{ "u_at_om_location": "forge_x3y2z4" },
{ "u_at_om_location": "forge_x0y3z4" },
{ "u_at_om_location": "forge_x1y3z4" },
{ "u_at_om_location": "forge_x2y3z4" },
{ "u_at_om_location": "forge_x3y3z4" }
]
},
"effect": { "u_add_effect": "safe_shoppers", "duration": "60 minutes", "intensity": 1 }
},
{
"type": "effect_on_condition",
"id": "EOC_FORGE_GAME_LOAD",
"eoc_type": "EVENT",
"required_event": "game_load",
"effect": { "run_eocs": [ "EOC_PLAYER_IN_FORGE" ] }
},
{
"type": "effect_on_condition",
"id": "EOC_ENTER_FORGE",
"effect": { "run_eocs": [ "EOC_FIND_FORGE_GATE", "EOC_PLAYER_IN_FORGE" ] }
},
{
"type": "effect_on_condition",
"id": "EOC_FIND_FORGE_GATE",
"condition": { "math": [ "searched_forge != 1" ] },
"effect": [
{
"u_location_variable": { "global_val": "loc_forge_of_wonders" },
"target_params": { "om_terrain": "forge_3B", "z": 0, "search_range": 20 },
"target_params": { "om_terrain": "forge_x2y2z1", "z": 0, "search_range": 20 },
"furniture": "f_magiclysm_translocator_gate",
"target_max_radius": 26
},
Expand All @@ -21,7 +123,7 @@
{ "u_message": "MANUALLY FINDING THE FORGE AS A FALLBACK (PRESS SPACE).", "popup": true },
{
"u_location_variable": { "global_val": "loc_forge_of_wonders" },
"target_params": { "om_terrain": "forge_3B", "z": 0, "random": true, "search_range": 2000 },
"target_params": { "om_terrain": "forge_x2y2z1", "z": 0, "random": true, "search_range": 2000 },
"furniture": "f_magiclysm_translocator_gate",
"target_max_radius": 26
}
Expand Down
110 changes: 108 additions & 2 deletions data/mods/Magiclysm/furniture.json
Original file line number Diff line number Diff line change
Expand Up @@ -281,9 +281,9 @@
"description": "A candelabra, strangely the candles never seem to burn down. Smashing it doesn't seem like it'd produce any worthwhile salvage.",
"symbol": ".",
"color": "white",
"move_cost_mod": -1,
"move_cost_mod": 2,
"required_str": 12,
"light_emitted": 40,
"light_emitted": 80,
"flags": [ "TRANSPARENT" ],
"bash": {
"sound": "SMASH!",
Expand All @@ -292,6 +292,52 @@
"items": [ { "item": "splinter", "count": [ 2, 8 ] }, { "item": "nail", "charges": [ 5, 10 ] } ]
}
},
{
"type": "furniture",
"id": "f_everburning_street_lamp",
"name": "everburning street lamp",
"description": "A street lamp, strangely the candle never seems to burn down. Smashing it doesn't seem like it'd produce any worthwhile salvage.",
"symbol": ".",
"color": "white",
"move_cost_mod": -1,
"coverage": 40,
"required_str": -1,
"light_emitted": 120,
"looks_like": "f_street_light",
"flags": [ "TRANSPARENT" ],
"bash": {
"str_min": 30,
"str_max": 100,
"sound": "metal screeching!",
"sound_fail": "clang!",
"items": [ { "item": "pipe", "count": [ 1, 7 ] }, { "item": "scrap", "count": [ 3, 12 ] } ]
}
},
{
"type": "furniture",
"id": "f_everburning_brazier",
"name": "everburning brazier",
"description": "A raised metal dish in which to safely burn things. This one seems to contain a flame that burns endlessly without fuel.",
"symbol": "#",
"color": "red",
"move_cost_mod": -1,
"coverage": 35,
"required_str": 8,
"flags": [ "PLACE_ITEM", "TRANSPARENT", "EASY_DECONSTRUCT" ],
"looks_like": "f_brazier",
"light_emitted": 180,
"bash": {
"str_min": 8,
"str_max": 30,
"sound": "metal screeching!",
"sound_fail": "clang!",
"items": [
{ "item": "scrap", "count": [ 5, 15 ] },
{ "item": "steel_chunk", "count": [ 2, 6 ] },
{ "item": "sheet_metal_small", "count": [ 2, 6 ] }
]
}
},
{
"type": "furniture",
"id": "f_everfrost_crystal",
Expand Down Expand Up @@ -356,5 +402,65 @@
{ "item": "mtorch_everburning", "count": [ 1, 4 ] }
]
}
},
{
"type": "furniture",
"id": "f_statue_velzain",
"name": "statue of Valzain",
"description": "A massive solid gold statue of the Forge Lord himself.",
"symbol": "S",
"color": "dark_gray",
"move_cost_mod": -1,
"coverage": 50,
"required_str": -1,
"looks_like": "f_statue",
"flags": [ "PLACE_ITEM", "BLOCKSDOOR", "MINEABLE", "SIGN" ],
"bash": {
"str_min": 20,
"str_max": 60,
"sound": "smash!",
"sound_fail": "thump.",
"items": [ { "item": "1l_gold", "count": [ 5, 12 ] } ]
}
},
{
"type": "furniture",
"id": "f_avatar_of_valzain",
"name": "monolithic statue of Valzain",
"description": "A truly monolithic statue of the Forge Lord siting lazily on a golden throne. Meeting it's gaze sends chills down your spine.",
"symbol": "S",
"color": "dark_gray",
"move_cost_mod": -1,
"coverage": 50,
"required_str": -1,
"looks_like": "f_statue",
"flags": [ "PLACE_ITEM", "BLOCKSDOOR", "MINEABLE", "SIGN" ],
"bash": {
"str_min": 60,
"str_max": 120,
"sound": "smash!",
"sound_fail": "thump.",
"items": [ { "item": "1l_gold", "count": [ 6, 18 ] } ]
}
},
{
"type": "furniture",
"id": "f_taxidermy_owlbear",
"name": "owlbear taxidermy",
"description": "An aggressive looking stuffed Owlbear stands here, menacingly.",
"symbol": "S",
"color": "dark_gray",
"move_cost_mod": -1,
"coverage": 50,
"required_str": -1,
"looks_like": "mon_owlbear",
"flags": [ "PLACE_ITEM", "BLOCKSDOOR", "MINEABLE", "SIGN" ],
"bash": {
"str_min": 16,
"str_max": 20,
"sound": "smash!",
"sound_fail": "thump.",
"items": [ { "item": "fur", "count": [ 5, 12 ] } ]
}
}
]
2 changes: 1 addition & 1 deletion data/mods/Magiclysm/items/currency.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
"effect": [
{
"u_location_variable": { "context_val": "forge_location" },
"target_params": { "om_terrain": "forge_3B", "search_range": 2000, "z": 0 }
"target_params": { "om_terrain": "forge_x2y2z1", "search_range": 2000, "z": 0 }
},
{ "reveal_map": { "context_val": "forge_location" }, "radius": 4 },
{
Expand Down
89 changes: 89 additions & 0 deletions data/mods/Magiclysm/migration_and_obsoletion.json
Original file line number Diff line number Diff line change
Expand Up @@ -79,5 +79,94 @@
"type": "TRAIT_MIGRATION",
"id": "NOCTURNAL_NIGHT",
"trait": "NOCTURNAL"
},
{
"type": "oter_id_migration",
"oter_ids": {
"forge_1A_north": "field",
"forge_2A_north": "field",
"forge_3A_north": "field",
"forge_4A_north": "field",
"forge_5A_north": "field",
"forge_1B_north": "field",
"forge_2B_north": "field",
"forge_3B_north": "field",
"forge_4B_north": "field",
"forge_5B_north": "field",
"forge_1A_roof_north": "open_air",
"forge_2A_roof_north": "open_air",
"forge_3A_roof_north": "open_air",
"forge_4A_roof_north": "open_air",
"forge_5A_roof_north": "open_air",
"forge_1B_roof_north": "open_air",
"forge_2B_roof_north": "open_air",
"forge_3B_roof_north": "open_air",
"forge_4B_roof_north": "open_air",
"forge_5B_roof_north": "open_air",
"forge_1A_west": "field",
"forge_2A_west": "field",
"forge_3A_west": "field",
"forge_4A_west": "field",
"forge_5A_west": "field",
"forge_1B_west": "field",
"forge_2B_west": "field",
"forge_3B_west": "field",
"forge_4B_west": "field",
"forge_5B_west": "field",
"forge_1A_roof_west": "open_air",
"forge_2A_roof_west": "open_air",
"forge_3A_roof_west": "open_air",
"forge_4A_roof_west": "open_air",
"forge_5A_roof_west": "open_air",
"forge_1B_roof_west": "open_air",
"forge_2B_roof_west": "open_air",
"forge_3B_roof_west": "open_air",
"forge_4B_roof_west": "open_air",
"forge_5B_roof_west": "open_air",
"forge_1A_east": "field",
"forge_2A_east": "field",
"forge_3A_east": "field",
"forge_4A_east": "field",
"forge_5A_east": "field",
"forge_1B_east": "field",
"forge_2B_east": "field",
"forge_3B_east": "field",
"forge_4B_east": "field",
"forge_5B_east": "field",
"forge_1A_roof_east": "open_air",
"forge_2A_roof_east": "open_air",
"forge_3A_roof_east": "open_air",
"forge_4A_roof_east": "open_air",
"forge_5A_roof_east": "open_air",
"forge_1B_roof_east": "open_air",
"forge_2B_roof_east": "open_air",
"forge_3B_roof_east": "open_air",
"forge_4B_roof_east": "open_air",
"forge_5B_roof_east": "open_air",
"forge_1A_south": "field",
"forge_2A_south": "field",
"forge_3A_south": "field",
"forge_4A_south": "field",
"forge_5A_south": "field",
"forge_1B_south": "field",
"forge_2B_south": "field",
"forge_3B_south": "field",
"forge_4B_south": "field",
"forge_5B_south": "field",
"forge_1A_roof_south": "open_air",
"forge_2A_roof_south": "open_air",
"forge_3A_roof_south": "open_air",
"forge_4A_roof_south": "open_air",
"forge_5A_roof_south": "open_air",
"forge_1B_roof_south": "open_air",
"forge_2B_roof_south": "open_air",
"forge_3B_roof_south": "open_air",
"forge_4B_roof_south": "open_air",
"forge_5B_roof_south": "open_air"
}
},
{
"type": "overmap_special_migration",
"id": "forge_of_wonders"
}
]
Loading
Loading