Skip to content

Commit

Permalink
[Magiclysm] Add spells that allow you to gain the various +mana traits (
Browse files Browse the repository at this point in the history
CleverRaven#71724)

* Initial commit

* Convert to EoC, add silver circlet

* Add ritual conditions

* Finalize ritual conditions

* Finish spell components

* Upgrade components

* Add recipe books and spellbooks with spells, distribute to loot lists

* Fixes

* Item adjustments

* Increase odd at Magic Academy

* Apply suggestions from code review

---------

Co-authored-by: Maleclypse <[email protected]>
  • Loading branch information
Standing-Storm and Maleclypse authored Feb 18, 2024
1 parent e1407b2 commit 910d417
Show file tree
Hide file tree
Showing 14 changed files with 674 additions and 13 deletions.
433 changes: 433 additions & 0 deletions data/mods/Magiclysm/Spells/mana_upgrades.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions data/mods/Magiclysm/itemgroups/recipe_books.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
[ "enchantment_basic", 30 ],
[ "book_mythological", 10 ],
[ "history_botanical_enchantment", 20 ],
[ "journeyman_enchanting", 20 ],
[ "arcane_archer_companion", 15 ],
[ "cooking_poison", 15 ],
[ "metal_legends", 5 ]
Expand Down
16 changes: 16 additions & 0 deletions data/mods/Magiclysm/itemgroups/spellbooks.json
Original file line number Diff line number Diff line change
Expand Up @@ -354,6 +354,7 @@
{ "group": "spellbook_tier_1", "prob": 50 },
{ "group": "spellbook_tier_2", "prob": 18 },
{ "group": "spellbook_tier_3", "prob": 2 },
{ "group": "spellbook_mana_upgrades", "prob": 1 },
{ "group": "spell_scroll_tier_1", "prob": 300 },
{ "group": "spell_scroll_tier_2", "prob": 100 }
]
Expand All @@ -366,8 +367,23 @@
{ "group": "spellbook_tier_1", "prob": 30 },
{ "group": "spellbook_tier_2", "prob": 50 },
{ "group": "spellbook_tier_3", "prob": 15 },
{ "group": "spellbook_mana_upgrades", "prob": 8 },
{ "group": "spell_scroll_tier_2", "prob": 300 },
{ "group": "spell_scroll_tier_3", "prob": 100 }
]
},
{
"id": "spellbook_mana_upgrades",
"type": "item_group",
"//": "Contains the books with spells that upgrade mana traits",
"items": [
{ "item": "first_circle_mana_amount_upgrade_spellbook", "prob": 200 },
{ "item": "second_circle_mana_amount_upgrade_spellbook", "prob": 50 },
{ "item": "first_circle_mana_regen_upgrade_spellbook", "prob": 200 },
{ "item": "second_circle_mana_regen_upgrade_spellbook", "prob": 50 },
{ "item": "first_circle_mana_mult_upgrade_spellbook", "prob": 200 },
{ "item": "second_circle_mana_mult_upgrade_spellbook", "prob": 50 },
{ "item": "all_first_circle_upgrades_spellbook", "prob": 50 }
]
}
]
19 changes: 19 additions & 0 deletions data/mods/Magiclysm/items/alchemy_items.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,25 @@
"qualities": [ [ "MANA_FOCUS", 1 ] ],
"armor": [ { "encumbrance": 1, "coverage": 5, "covers": [ "head" ] } ]
},
{
"id": "silver_circlet",
"type": "ARMOR",
"category": "armor",
"name": { "str": "silver circlet" },
"description": "A wooden band with silver trimmings to be worn on the head. Touching your temples with it on makes you feel very calm.",
"weight": "700 g",
"volume": "600ml",
"price": 3000,
"price_postapoc": 200,
"material": [ "silver", "wood" ],
"symbol": "[",
"color": "light_gray",
"warmth": 0,
"material_thickness": 1,
"flags": [ "BELTED" ],
"qualities": [ [ "MANA_FOCUS", 2 ] ],
"armor": [ { "encumbrance": 1, "coverage": 5, "covers": [ "head" ] } ]
},
{
"id": "potion_starter",
"copy-from": "mixed_alcohol_strong",
Expand Down
22 changes: 20 additions & 2 deletions data/mods/Magiclysm/items/recipe_books.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@
"category": "manuals",
"name": { "str": "A Beginner's Guide to Alchemy", "str_pl": "copies of A Beginner's Guide to Alchemy" },
"description": "A paperback tome for the art of liquid magic, alcohol not included.",
"weight": "1 kg",
"volume": "750 ml",
"weight": "780 g",
"volume": "1550 ml",
"price": 7900,
"material": [ "paper" ],
"symbol": "?",
Expand Down Expand Up @@ -302,5 +302,23 @@
"time": "25 m",
"fun": 1,
"melee_damage": { "bash": 5 }
},
{
"id": "journeyman_enchanting",
"type": "BOOK",
"category": "manuals",
"name": { "str": "The Journeyman Enchanter's Primer", "str_pl": "copies of The Journeyman Enchanter's Primer" },
"description": "Despite the title, this seems to be written in Middle English. A little obtuse, but you can make out most of the words well enough.",
"weight": "600 g",
"volume": "850 ml",
"price": 8000,
"material": [ "paper" ],
"looks_like": "manual_gun",
"skill": "fabrication",
"required_level": 4,
"max_level": 5,
"intelligence": 9,
"symbol": "?",
"color": "light_gray"
}
]
109 changes: 109 additions & 0 deletions data/mods/Magiclysm/items/spellbooks.json
Original file line number Diff line number Diff line change
Expand Up @@ -1249,5 +1249,114 @@
"type": "learn_spell",
"spells": [ "kelvinist_firebolt", "kelvinist_extinguish_fire_spell", "create_lighter", "kelvinist_anti_cold", "burning_hands" ]
}
},
{
"id": "all_first_circle_upgrades_spellbook",
"type": "BOOK",
"category": "manuals",
"name": { "str": "The Rites of the First Circle", "str_pl": "copies of The Rites of the First Circle" },
"//": "All 3 first circle mana trait upgrade spells",
"description": "A weighty tome containing all three of the Rites of the First Circle, the rituals used by dedicated mages to increase their ability to channel and recover mana.",
"weight": "1588 g",
"volume": "2250 ml",
"price": 50000,
"material": [ "paper" ],
"looks_like": "cookbook",
"symbol": "?",
"color": "white",
"use_action": {
"type": "learn_spell",
"spells": [ "mana_upgrade_efficiency_01", "mana_upgrade_regeneration_01", "mana_upgrade_sensitivity_01" ]
}
},
{
"id": "first_circle_mana_amount_upgrade_spellbook",
"type": "BOOK",
"category": "manuals",
"name": { "str": "The Rite of the First Circle: Mana Pool", "str_pl": "copies of The Rite of the First Circle: Mana Pool" },
"description": "A lengthy list of the rituals and components necessary to slightly increase the efficiency by which the mage's body processes mana.",
"weight": "483 g",
"volume": "825 ml",
"price": 50000,
"material": [ "paper" ],
"looks_like": "cookbook",
"symbol": "?",
"color": "white",
"use_action": { "type": "learn_spell", "spells": [ "mana_upgrade_efficiency_01" ] }
},
{
"id": "second_circle_mana_amount_upgrade_spellbook",
"type": "BOOK",
"category": "manuals",
"name": { "str": "The Rite of the Second Circle: Mana Pool", "str_pl": "copies of The Rite of the Second Circle: Mana Pool" },
"description": "A lengthy list of the rituals and components necessary to increase the efficiency by which the mage's body processes mana.",
"weight": "900 g",
"volume": "1200 ml",
"price": 50000,
"material": [ "paper" ],
"looks_like": "cookbook",
"symbol": "?",
"color": "white",
"use_action": { "type": "learn_spell", "spells": [ "mana_upgrade_efficiency_02" ] }
},
{
"id": "first_circle_mana_regen_upgrade_spellbook",
"type": "BOOK",
"category": "manuals",
"name": { "str": "The Rite of the First Circle: Mana Flow", "str_pl": "copies of The Rite of the First Circle: Mana Flow" },
"description": "A lengthy list of the rituals and components necessary to slightly increase the rate by which the mage's body regains mana.",
"weight": "483 g",
"volume": "825 ml",
"price": 50000,
"material": [ "paper" ],
"looks_like": "cookbook",
"symbol": "?",
"color": "red",
"use_action": { "type": "learn_spell", "spells": [ "mana_upgrade_regeneration_01" ] }
},
{
"id": "second_circle_mana_regen_upgrade_spellbook",
"type": "BOOK",
"category": "manuals",
"name": { "str": "The Rite of the Second Circle: Mana Flow", "str_pl": "copies of The Rite of the Second Circle: Mana Flow" },
"description": "A lengthy list of the rituals and components necessary to increase the rate by which the mage's body regains mana.",
"weight": "900 g",
"volume": "1200 ml",
"price": 50000,
"material": [ "paper" ],
"looks_like": "cookbook",
"symbol": "?",
"color": "red",
"use_action": { "type": "learn_spell", "spells": [ "mana_upgrade_regeneration_02" ] }
},
{
"id": "first_circle_mana_mult_upgrade_spellbook",
"type": "BOOK",
"category": "manuals",
"name": { "str": "The Rite of the First Circle: Mana Sense", "str_pl": "copies of The Rite of the First Circle: Mana Sense" },
"description": "A lengthy list of the rituals and components necessary to slightly increase the sensitivity that the mage's body has to mana.",
"weight": "483 g",
"volume": "825 ml",
"price": 50000,
"material": [ "paper" ],
"looks_like": "cookbook",
"symbol": "?",
"color": "red",
"use_action": { "type": "learn_spell", "spells": [ "mana_upgrade_sensitivity_01" ] }
},
{
"id": "second_circle_mana_mult_upgrade_spellbook",
"type": "BOOK",
"category": "manuals",
"name": { "str": "The Rite of the Second Circle: Mana Sense", "str_pl": "copies of The Rite of the Second Circle: Mana Sense" },
"description": "A lengthy list of the rituals and components necessary to increase the sensitivity that the mage's body has to mana.",
"weight": "900 g",
"volume": "1200 ml",
"price": 50000,
"material": [ "paper" ],
"looks_like": "cookbook",
"symbol": "?",
"color": "red",
"use_action": { "type": "learn_spell", "spells": [ "mana_upgrade_sensitivity_02" ] }
}
]
2 changes: 1 addition & 1 deletion data/mods/Magiclysm/items/tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@
{
"id": "magic_circle_rank_1",
"type": "TOOL",
"name": { "str": "Magic Circle Rank 1", "str_pl": "Magic Circles Rank 2" },
"name": { "str": "Magic Circle Rank 1", "str_pl": "Magic Circles Rank 1" },
"description": "This is the pseudo-tool provided by having a nearby magic circle. You shouldn't see this as an individual item.",
"symbol": "O",
"color": "red",
Expand Down
6 changes: 3 additions & 3 deletions data/mods/Magiclysm/recipes/alchemy.json
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@
"proficiencies": [ { "proficiency": "prof_alchemy" } ],
"category": "CC_ENCHANTED",
"subcategory": "CSC_ENCHANTED_OTHER",
"autolearn": true
"book_learn": [ [ "journeyman_enchanting", 4 ], [ "alchemy_basic", 3 ] ]
},
{
"type": "recipe",
Expand All @@ -108,7 +108,7 @@
"proficiencies": [ { "proficiency": "prof_alchemy" } ],
"category": "CC_ENCHANTED",
"subcategory": "CSC_ENCHANTED_OTHER",
"autolearn": true
"book_learn": [ [ "journeyman_enchanting", 4 ], [ "alchemy_basic", 3 ] ]
},
{
"type": "recipe",
Expand All @@ -122,7 +122,7 @@
"proficiencies": [ { "proficiency": "prof_alchemy" } ],
"category": "CC_ENCHANTED",
"subcategory": "CSC_ENCHANTED_OTHER",
"autolearn": true
"book_learn": [ [ "journeyman_enchanting", 4 ], [ "alchemy_basic", 3 ] ]
},
{
"result": "bundle_demon_chitin_piece",
Expand Down
22 changes: 21 additions & 1 deletion data/mods/Magiclysm/recipes/magic_tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,26 @@
"qualities": [ { "id": "CHISEL", "level": 1 } ],
"components": [ [ [ "copper_bracelet", 1 ] ] ]
},
{
"type": "recipe",
"activity_level": "BRISK_EXERCISE",
"result": "silver_circlet",
"byproducts": [ [ "tinder", 1 ] ],
"category": "CC_ENCHANTED",
"subcategory": "CSC_ENCHANTED_TOOLS",
"skill_used": "fabrication",
"skills_required": [ "spellcraft", 3 ],
"difficulty": 4,
"time": "1 h",
"book_learn": [ [ "journeyman_enchanting", 4 ] ],
"qualities": [ { "id": "HAMMER_FINE", "level": 1 }, { "id": "CUT_FINE", "level": 1 } ],
"proficiencies": [
{ "proficiency": "prof_metalworking" },
{ "proficiency": "prof_fine_metalsmithing", "required": false, "time_multiplier": 3 }
],
"tools": [ [ [ "surface_heat", 10, "LIST" ] ] ],
"components": [ [ [ "silver_small", 50 ] ], [ [ "splinter", 3 ] ] ]
},
{
"type": "recipe",
"activity_level": "BRISK_EXERCISE",
Expand All @@ -83,7 +103,7 @@
"skills_required": [ "spellcraft", 3 ],
"difficulty": 4,
"time": "20 m",
"book_learn": [ [ "alchemy_basic", 3 ], [ "necro_basic", 4 ], [ "techno_basic", 4 ] ],
"book_learn": [ [ "alchemy_basic", 3 ], [ "necro_basic", 4 ], [ "techno_basic", 4 ], [ "journeyman_enchanting", 4 ] ],
"proficiencies": [
{ "proficiency": "prof_metalworking" },
{ "proficiency": "prof_fine_metalsmithing", "required": false, "time_multiplier": 3 }
Expand Down
27 changes: 27 additions & 0 deletions data/mods/Magiclysm/requirements/alchemy.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,32 @@
"type": "requirement",
"//": "Dragon scales. For when any color is interchangeable.",
"components": [ [ [ "dragon_black_scale", 1 ] ] ]
},
{
"id": "semiprecious_gemstones",
"type": "requirement",
"//": "semi-precious gems, for rituals or alchemy ",
"components": [
[
[ "garnet", 1 ],
[ "amethyst", 1 ],
[ "aquamarine", 1 ],
[ "alexandrite", 1 ],
[ "malachite", 1 ],
[ "pearl", 1 ],
[ "peridot", 1 ],
[ "opal", 1 ],
[ "tourmaline", 1 ],
[ "citrine", 1 ],
[ "blue_topaz", 1 ],
[ "onyx", 1 ]
]
]
},
{
"id": "precious_gemstones",
"type": "requirement",
"//": "precious gems, for rituals or alchemy ",
"components": [ [ [ "diamond", 1 ], [ "emerald", 1 ], [ "ruby", 1 ], [ "sapphire", 1 ] ] ]
}
]
22 changes: 18 additions & 4 deletions data/mods/Magiclysm/worldgen/magic_academy.json
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,8 @@
"H": [
{ "item": "magic_shop_clothes", "chance": 5 },
{ "item": "enchanted_small_items", "chance": 10 },
{ "item": "magic_shop_books", "chance": 10 }
{ "item": "magic_shop_books", "chance": 10 },
{ "item": "spellbook_mana_upgrades", "chance": 1 }
],
"`": [
{ "item": "alchemy_items", "chance": 35, "repeat": [ 1, 2 ] },
Expand Down Expand Up @@ -261,7 +262,11 @@
"furniture": { "&": "f_magic_bench" },
"items": {
"&": [ { "item": "magic_tools_and_loot", "chance": 35, "repeat": [ 1, 2 ] }, { "item": "magic_shop_potions", "chance": 30 } ],
"R": [ { "item": "magic_shop_books", "chance": 30 }, { "item": "dragon_books", "chance": 10 } ]
"R": [
{ "item": "magic_shop_books", "chance": 30 },
{ "item": "dragon_books", "chance": 10 },
{ "item": "spellbook_mana_upgrades", "chance": 5 }
]
},
"place_monsters": [ { "monster": "GROUP_TOWER_GOLEM", "x": 12, "y": 12, "density": 0.01, "repeat": [ 3, 5 ] } ]
}
Expand Down Expand Up @@ -303,7 +308,11 @@
"furniture": { "&": "f_magic_bench" },
"items": {
"&": [ { "item": "magic_tools_and_loot", "chance": 35 }, { "item": "magic_shop_potions", "chance": 30 } ],
"R": [ { "item": "magic_shop_books", "chance": 30 }, { "item": "dragon_books", "chance": 10 } ]
"R": [
{ "item": "magic_shop_books", "chance": 30 },
{ "item": "dragon_books", "chance": 10 },
{ "item": "spellbook_mana_upgrades", "chance": 5 }
]
},
"place_monsters": [ { "monster": "GROUP_TOWER_GOLEM", "x": 12, "y": 12, "density": 0.01, "repeat": [ 3, 5 ] } ]
}
Expand Down Expand Up @@ -393,11 +402,16 @@
"items": {
"r": [
{ "item": "magic_shop_books", "chance": 20 },
{ "item": "spellbook_mana_upgrades", "chance": 5 },
{ "item": "magic_shop_wands", "chance": 10 },
{ "item": "enchanted_small_items", "chance": 5 },
{ "item": "enchanted_combat_items", "chance": 2 }
],
"R": [ { "item": "magic_shop_books", "chance": 30 }, { "item": "dragon_books", "chance": 30 } ]
"R": [
{ "item": "magic_shop_books", "chance": 30 },
{ "item": "spellbook_mana_upgrades", "chance": 5 },
{ "item": "dragon_books", "chance": 30 }
]
},
"place_monsters": [ { "monster": "GROUP_TOWER_GOLEM", "x": 12, "y": 12, "density": 0.01, "repeat": [ 3, 5 ] } ]
}
Expand Down
6 changes: 5 additions & 1 deletion data/mods/Magiclysm/worldgen/magic_basement.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,11 @@
},
"furniture": { "&": "f_magiclysm_translocator_gate", "!": "f_rack_coat", "?": "f_bookcase", "=": "f_bookcase" },
"items": {
"?": [ { "item": "magic_shop_books", "chance": 40 }, { "item": "magic_shop_potions", "chance": 60 } ],
"?": [
{ "item": "magic_shop_books", "chance": 40 },
{ "item": "spellbook_mana_upgrades", "chance": 2 },
{ "item": "magic_shop_potions", "chance": 60 }
],
"=": [ { "item": "novels", "chance": 30 }, { "item": "homebooks", "chance": 10 } ],
"~": [ { "item": "magic_shop_potions", "chance": 15, "repeat": [ 1, 2 ] } ],
"I": [
Expand Down
1 change: 1 addition & 0 deletions data/mods/Magiclysm/worldgen/wizard-towers.json
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@
{ "item": "homebooks", "chance": 45, "repeat": [ 1, 5 ] },
{ "item": "spellbook_loot_1", "chance": 35, "repeat": [ 0, 2 ] },
{ "item": "spellbook_loot_2", "chance": 10, "repeat": [ 1, 2 ] },
{ "item": "spellbook_mana_upgrades", "chance": 1 },
{ "item": "dragon_books", "chance": 10 }
]
},
Expand Down
Loading

0 comments on commit 910d417

Please sign in to comment.