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

[Aftershock] Add Spark to Esper scenario #74461

Merged
merged 23 commits into from
Jun 18, 2024
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
8429f7b
Create electrokinesis.json
Standing-Storm Jun 11, 2024
29efc25
Create electrokinesis_concentration_eocs.json
Standing-Storm Jun 11, 2024
e7dd148
Add Spark profession
Standing-Storm Jun 11, 2024
9817114
Update scenarios.json
Standing-Storm Jun 11, 2024
8467398
Add Electrokinetic trait
Standing-Storm Jun 11, 2024
b31bdc4
Add afs_ prefix to electron oveflow battery ids
Standing-Storm Jun 11, 2024
6b0c54f
Update data/mods/Aftershock/spells/psionics/electrokinesis.json
Standing-Storm Jun 11, 2024
ccba90c
Update data/mods/Aftershock/spells/psionics/electrokinesis.json
Standing-Storm Jun 11, 2024
a9c09a6
Update data/mods/Aftershock/spells/psionics/electrokinesis.json
Standing-Storm Jun 11, 2024
ae48a2e
Update data/mods/Aftershock/spells/psionics/electrokinesis.json
Standing-Storm Jun 11, 2024
1106eea
Update data/mods/Aftershock/spells/psionics/electrokinesis.json
Standing-Storm Jun 11, 2024
5a25ba7
Update data/mods/Aftershock/spells/psionics/electrokinesis.json
Standing-Storm Jun 11, 2024
64b63d5
Update data/mods/Aftershock/spells/psionics/electrokinesis_concentrat…
Standing-Storm Jun 11, 2024
aac75d5
Update data/mods/Aftershock/spells/psionics/electrokinesis_concentrat…
Standing-Storm Jun 11, 2024
f274744
Update data/mods/Aftershock/spells/psionics/electrokinesis_concentrat…
Standing-Storm Jun 11, 2024
858189e
Create esper_summons.json
Standing-Storm Jun 11, 2024
d7f7ec5
Create electrokinesis_practice.json
Standing-Storm Jun 11, 2024
91a4cc1
Update esper_recipe_learning_eoc.json
Standing-Storm Jun 11, 2024
2de10ee
Tweaks
Standing-Storm Jun 14, 2024
4bd2e91
Merge branch 'master' of https://github.com/Standing-Storm/Cataclysm-…
Standing-Storm Jun 14, 2024
13c73dd
Linting
Standing-Storm Jun 14, 2024
f63110a
Update Stop Concentration power
Standing-Storm Jun 14, 2024
6d46d0c
Tweaks + don't reveal city start
Standing-Storm Jun 17, 2024
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
15 changes: 14 additions & 1 deletion data/mods/Aftershock/EOC/_reusable_conditions.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,20 @@
"type": "effect_on_condition",
"id": "EOC_CONDITION_can_hack",
"condition": {
"and": [ { "u_has_item": "electrohack" }, "u_can_see" ]
"and": [
{
"or": [
{ "u_has_item": "electrohack" },
{ "u_has_item": "electrokinetic_electrohack_1" },
{ "u_has_item": "electrokinetic_electrohack_2" },
{ "u_has_item": "electrokinetic_electrohack_3" },
{ "u_has_item": "electrokinetic_electrohack_4" },
{ "u_has_item": "electrokinetic_electrohack_5" },
{ "u_has_item": "electrokinetic_electrohack_6" }
]
},
"u_can_see"
]
},
"effect": [

Expand Down
11 changes: 11 additions & 0 deletions data/mods/Aftershock/EOC/esper_eoc.json
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,9 @@
"effect": [
{
"run_eocs": [
"EOC_AFS_ELECTROKIN_REMOVE_SEE_ELECTRICITY",
"EOC_AFS_ELECTROKIN_REMOVE_HACKING_INTERFACE",
"EOC_AFS_ELECTROKIN_REMOVE_PERSONAL_BATTERY",
"EOC_AFS_TELEPATH_REMOVE_TELEPATHIC_SHIELD",
"EOC_AFS_TELEPATH_REMOVE_SENSE_MINDS",
"EOC_AFS_TELEPATH_REMOVE_TELEPATHIC_SUGGESTION"
Expand Down Expand Up @@ -262,6 +265,14 @@
},
"effect": [ { "run_eocs": [ "EOC_AFS_END_PSI_POWERS_MAINTAINED" ] } ]
},
{
"type": "effect_on_condition",
"id": "EOC_AFS_ESPER_WINDED_ENDS_POWERS",
"eoc_type": "EVENT",
"required_event": "character_gains_effect",
"condition": { "or": [ { "compare_string": [ "winded", { "context_val": "effect" } ] } ] },
"effect": [ { "run_eocs": [ "EOC_AFS_END_PSI_POWERS_MAINTAINED" ] } ]
},
{
"type": "effect_on_condition",
"id": "EOC_AFS_ESPER_STUNNED_ENDS_POWERS",
Expand Down
90 changes: 90 additions & 0 deletions data/mods/Aftershock/EOC/esper_recipe_learning_eoc.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,94 @@
[
{
"type": "effect_on_condition",
"id": "EOC_AFS_ELECTROKINETIC_RECIPE_TEACHER",
"eoc_type": "EVENT",
"required_event": "game_begin",
"condition": { "u_has_trait": "AFS_ELECTROKINETIC" },
"effect": [ { "run_eocs": "EOC_TEACH_AFS_ELECTROKINETIC_CONTEMPLATE_RECIPES" } ]
},
{
"type": "effect_on_condition",
"id": "EOC_TEACH_AFS_ELECTROKINETIC_CONTEMPLATE_RECIPES",
"effect": [
{
"run_eocs": [
"EOC_CHECK_GAMEBEGIN_AFS_ELECTROKIN_RECIPE_SEE_ELECTRIC",
"EOC_CHECK_GAMEBEGIN_AFS_ELECTROKIN_RECIPE_SHOCK_TOUCH",
"EOC_CHECK_GAMEBEGIN_AFS_ELECTROKIN_RECIPE_ZAP_ENEMIES",
"EOC_CHECK_GAMEBEGIN_AFS_ELECTROKIN_RECIPE_HACKING_INTERFACE",
"EOC_CHECK_GAMEBEGIN_AFS_ELECTROKIN_RECIPE_PERSONAL_BATTERY",
"EOC_CHECK_GAMEBEGIN_AFS_ELECTROKIN_RECIPE_RECHARGE_VEHICLE"
]
}
]
},
{
"type": "effect_on_condition",
"id": "EOC_CHECK_GAMEBEGIN_AFS_ELECTROKIN_RECIPE_SEE_ELECTRIC",
"condition": {
"and": [
{ "u_has_trait": "AFS_ELECTROKINETIC" },
{ "math": [ "u_spell_level('afs_electrokinetic_see_electric')", ">=", "0" ] }
]
},
"effect": [ { "u_learn_recipe": "practice_afs_electrokinetic_see_electric" } ]
},
{
"type": "effect_on_condition",
"id": "EOC_CHECK_GAMEBEGIN_AFS_ELECTROKIN_RECIPE_SHOCK_TOUCH",
"condition": {
"and": [
{ "u_has_trait": "AFS_ELECTROKINETIC" },
{ "math": [ "u_spell_level('afs_electrokinetic_shock_touch')", ">=", "0" ] }
]
},
"effect": [ { "u_learn_recipe": "practice_afs_electrokinetic_shock_touch" } ]
},
{
"type": "effect_on_condition",
"id": "EOC_CHECK_GAMEBEGIN_AFS_ELECTROKIN_RECIPE_ZAP_ENEMIES",
"condition": {
"and": [
{ "u_has_trait": "AFS_ELECTROKINETIC" },
{ "math": [ "u_spell_level('afs_electrokinetic_zap_enemies')", ">=", "0" ] }
]
},
"effect": [ { "u_learn_recipe": "practice_afs_electrokinetic_zap_enemies" } ]
},
{
"type": "effect_on_condition",
"id": "EOC_CHECK_GAMEBEGIN_AFS_ELECTROKIN_RECIPE_HACKING_INTERFACE",
"condition": {
"and": [
{ "u_has_trait": "AFS_ELECTROKINETIC" },
{ "math": [ "u_spell_level('afs_electrokinetic_hacking_interface')", ">=", "0" ] }
]
},
"effect": [ { "u_learn_recipe": "practice_afs_electrokinetic_hacking_interface" } ]
},
{
"type": "effect_on_condition",
"id": "EOC_CHECK_GAMEBEGIN_AFS_ELECTROKIN_RECIPE_PERSONAL_BATTERY",
"condition": {
"and": [
{ "u_has_trait": "AFS_ELECTROKINETIC" },
{ "math": [ "u_spell_level('afs_electrokinetic_personal_battery')", ">=", "0" ] }
]
},
"effect": [ { "u_learn_recipe": "practice_afs_electrokinetic_personal_battery" } ]
},
{
"type": "effect_on_condition",
"id": "EOC_CHECK_GAMEBEGIN_AFS_ELECTROKIN_RECIPE_RECHARGE_VEHICLE",
"condition": {
"and": [
{ "u_has_trait": "AFS_ELECTROKINETIC" },
{ "math": [ "u_spell_level('afs_electrokinetic_recharge_vehicle')", ">=", "0" ] }
]
},
"effect": [ { "u_learn_recipe": "practice_afs_electrokinetic_recharge_vehicle" } ]
},
{
"type": "effect_on_condition",
"id": "EOC_AFS_TELEPATH_RECIPE_TEACHER",
Expand Down
60 changes: 60 additions & 0 deletions data/mods/Aftershock/effects_esper.json
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,66 @@
"immune_flags": [ "TEEPSHIELD", "TEEP_IMMUNE" ],
"flags": [ "DISABLE_FLIGHT", "EFFECT_LIMB_SCORE_MOD", "NO_SPELLCASTING", "NO_PSIONICS" ]
},
{
"type": "effect_type",
"id": "effect_afs_electrokin_see_electricity",
"name": [ "Spark Sight" ],
"desc": [ "Your powers reveal electrical creatures and robots to you." ],
"apply_message": "",
"remove_message": "You can no longer sense the flow of current.",
"rating": "good",
"max_duration": "7 days",
"enchantments": [
{
"values": [
{
"value": "SIGHT_RANGE_ELECTRIC",
"add": {
"math": [
"( ( u_spell_level('electrokinesis_see_electric') * 1.5) + 6 ) * (scaling_factor(u_val('intelligence') ) ) * u_nether_attunement_power_scaling"
]
}
}
]
}
]
},
{
"type": "effect_type",
"id": "effect_afs_electrokin_zap_enemies",
"name": [ "Electrical Discharge" ],
"desc": [ "Your body is filled with electrical currents." ],
"apply_message": "",
"remove_message": "The tingling on your skin fades.",
"decay_messages": [ [ "The protective electrical currents are nearly gone.", "bad" ], [ "Your skin is losing its charge.", "bad" ] ],
"rating": "good",
"max_duration": "20 minutes",
"max_intensity": 49,
"dur_add_perc": 10,
"int_dur_factor": "25 s",
"enchantments": [ "enchant_afs_electrokin_zap_enemies" ],
"flags": [ "EMP_IMMUNE" ]
},
{
"type": "effect_type",
"id": "effect_afs_electrokin_hacking_interface",
"name": [ "Hacking Interface" ],
"desc": [ "You are capable of hacking into computers with only the power of your mind." ],
"apply_message": "",
"remove_message": "You can no longer manipulate the circuitry of nearby devices.",
"rating": "good",
"max_duration": "7 days"
},
{
"type": "effect_type",
"id": "effect_afs_electrokin_personal_battery",
"name": [ "Electron Overflow" ],
"desc": [ "You are generating a wireless aura of electrical power." ],
"apply_message": "",
"remove_message": "You stop the flow of electricity to your devices.",
"rating": "good",
"max_duration": "7 days"
},
{
"type": "effect_type",
"id": "effect_telepath_sense_minds",
Expand Down
140 changes: 140 additions & 0 deletions data/mods/Aftershock/items/esper_summons.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
[
{
"id": "electrokinetic_electrohack_1",
"type": "TOOL_ARMOR",
"name": { "str": "[Ψ]hacking interface" },
"description": "You can hack nearby devices.",
"weight": "0 g",
"volume": "0 ml",
"symbol": "=",
"color": "cyan",
"looks_like": "spiral_stone",
"flags": [
"TRADER_AVOID",
"ONLY_ONE",
"NO_DROP",
"PADDED",
"PERSONAL",
"UNBREAKABLE",
"SEMITANGIBLE",
"NO_SALVAGE",
"ZERO_WEIGHT",
"NO_UNLOAD",
"NO_RELOAD",
"INTEGRATED",
"MAGICAL"
],
"qualities": [ [ "HACK", 0 ] ]
},
{
"id": "electrokinetic_electrohack_2",
"type": "TOOL_ARMOR",
"name": { "str": "[Ψ]hacking interface" },
"description": "You can hack nearby devices.",
"copy-from": "electrokinetic_electrohack_1",
"qualities": [ [ "HACK", 1 ] ]
},
{
"id": "electrokinetic_electrohack_3",
"type": "TOOL_ARMOR",
"name": { "str": "[Ψ]hacking interface" },
"description": "You can hack nearby devices.",
"copy-from": "electrokinetic_electrohack_1",
"qualities": [ [ "HACK", 2 ] ]
},
{
"id": "electrokinetic_electrohack_4",
"type": "TOOL_ARMOR",
"name": { "str": "[Ψ]hacking interface" },
"description": "You can hack nearby devices.",
"copy-from": "electrokinetic_electrohack_1",
"qualities": [ [ "HACK", 3 ] ]
},
{
"id": "electrokinetic_electrohack_5",
"type": "TOOL_ARMOR",
"name": { "str": "[Ψ]hacking interface" },
"description": "You can hack nearby devices.",
"copy-from": "electrokinetic_electrohack_1",
"qualities": [ [ "HACK", 4 ] ]
},
{
"id": "afs_electrokinetic_ups_1",
"type": "TOOL_ARMOR",
"name": { "str": "[Ψ]electron overflow" },
"description": "You are generating power for your personal devices.",
"weight": "0 g",
"volume": "0 ml",
"symbol": "=",
"color": "cyan",
"looks_like": "spiral_stone",
"flags": [
"TRADER_AVOID",
"ONLY_ONE",
"NO_DROP",
"PADDED",
"PERSONAL",
"UNBREAKABLE",
"SEMITANGIBLE",
"INTEGRATED",
"NO_SALVAGE",
"ZERO_WEIGHT",
"NO_UNLOAD",
"NO_RELOAD",
"IS_UPS"
],
"pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "battery": 400 } } ],
"relic_data": { "charge_info": { "recharge_type": "periodic", "time": "2 s", "regenerate_ammo": true } },
"//": "Recharge time is 2 seconds due to bug #48019, making it actually 1 second. Reduce to 1 second if that ever gets fixed."
},
{
"id": "afs_electrokinetic_ups_2",
"type": "TOOL_ARMOR",
"name": { "str": "[Ψ]electron overflow" },
"description": "You are generating power for your personal devices.",
"copy-from": "afs_electrokinetic_ups_1",
"pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "battery": 800 } } ],
"relic_data": { "charge_info": { "recharge_type": "periodic", "time": "2 s", "regenerate_ammo": true } },
"//": "Recharge time is 2 seconds due to bug #48019, making it actually 1 second. Reduce to 1 second if that ever gets fixed."
},
{
"id": "afs_electrokinetic_ups_3",
"type": "TOOL_ARMOR",
"name": { "str": "[Ψ]electron overflow" },
"description": "You are generating power for your personal devices.",
"copy-from": "afs_electrokinetic_ups_1",
"pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "battery": 1500 } } ],
"relic_data": { "charge_info": { "recharge_type": "periodic", "time": "2 s", "regenerate_ammo": true } },
"//": "Recharge time is 2 seconds due to bug #48019, making it actually 1 second. Reduce to 1 second if that ever gets fixed."
},
{
"id": "afs_electrokinetic_ups_4",
"type": "TOOL_ARMOR",
"name": { "str": "[Ψ]electron overflow" },
"description": "You are generating power for your personal devices.",
"copy-from": "afs_electrokinetic_ups_1",
"pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "battery": 2500 } } ],
"relic_data": { "charge_info": { "recharge_type": "periodic", "time": "2 s", "regenerate_ammo": true } },
"//": "Recharge time is 2 seconds due to bug #48019, making it actually 1 second. Reduce to 1 second if that ever gets fixed."
},
{
"id": "afs_electrokinetic_ups_5",
"type": "TOOL_ARMOR",
"name": { "str": "[Ψ]electron overflow" },
"description": "You are generating power for your personal devices.",
"copy-from": "afs_electrokinetic_ups_1",
"pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "battery": 5000 } } ],
"relic_data": { "charge_info": { "recharge_type": "periodic", "time": "2 s", "regenerate_ammo": true } },
"//": "Recharge time is 2 seconds due to bug #48019, making it actually 1 second. Reduce to 1 second if that ever gets fixed."
},
{
"id": "afs_electrokinetic_ups_6",
"type": "TOOL_ARMOR",
"name": { "str": "[Ψ]electron overflow" },
"description": "You are generating power for your personal devices.",
"copy-from": "afs_electrokinetic_ups_1",
"pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "battery": 10000 } } ],
"relic_data": { "charge_info": { "recharge_type": "periodic", "time": "2 s", "regenerate_ammo": true } },
"//": "Recharge time is 2 seconds due to bug #48019, making it actually 1 second. Reduce to 1 second if that ever gets fixed."
}
]
13 changes: 13 additions & 0 deletions data/mods/Aftershock/mutations/esper.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,19 @@
"purifiable": false,
"valid": false
},
{
"type": "mutation",
"id": "AFS_ELECTROKINETIC",
"name": "Electrokinetic",
"points": 0,
"description": "The ability to to control electricity with your mind.",
"types": [ "ESPER" ],
"starting_trait": false,
"purifiable": false,
"valid": false,
"player_display": false,
"spells_learned": [ [ "afs_classless_toggleable_concentration_end", 1 ] ]
},
{
"type": "mutation",
"id": "AFS_TELEPATH",
Expand Down
12 changes: 11 additions & 1 deletion data/mods/Aftershock/player/hobbies.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,23 @@
"points": 3,
"traits": [ "AFS_LEADERSHIP" ]
},
{
"type": "profession",
"subtype": "hobby",
"id": "afs_electrokinetic_hobby",
"name": "Esper Inheritance (Spark)",
"description": "Some long-distant member of your family received psi treatments during the Hyperspace Era and somehow it stuck in their DNA. Always unpredictable, skipping multiple generations at a time, that inheritance has been passed down to you. You have no training and little idea what you're doing, but you've developed a trick or two.",
"points": 5,
"traits": [ "ESPER", "AFS_ELECTROKINETIC" ],
"spells": [ { "id": "afs_electrokinetic_see_electric", "level": 3 }, { "id": "afs_electrokinetic_shock_touch", "level": 2 } ]
},
{
"type": "profession",
"subtype": "hobby",
"id": "afs_telepath_hobby",
"name": "Esper Inheritance (Whisper)",
"description": "Some long-distant member of your family received psi treatments during the Hyperspace Era and somehow it stuck in their DNA. Always unpredictable, skipping multiple generations at a time, that inheritance has been passed down to you. You have no training and little idea what you're doing, but you've developed a trick or two.",
"points": 3,
"points": 5,
"traits": [ "ESPER", "AFS_TELEPATH" ],
"spells": [ { "id": "afs_telepathic_mind_sense", "level": 3 }, { "id": "afs_telepathic_shield", "level": 2 } ]
}
Expand Down
Loading
Loading