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 5 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
13 changes: 13 additions & 0 deletions data/mods/Aftershock/mutations/esper.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,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
36 changes: 36 additions & 0 deletions data/mods/Aftershock/player/professions.json
Original file line number Diff line number Diff line change
Expand Up @@ -671,5 +671,41 @@
"male": { "entries": [ { "item": "briefs" } ] },
"female": { "entries": [ { "item": "sports_bra" }, { "item": "boy_shorts" } ] }
}
},
{
"type": "profession",
"id": "afs_esper_electrokinetic",
"name": "Spark",
"description": "You are an electrokinetic, able to control electricity with your mind. You aren't entirely sure how you got your powers, but you seem to have an instinctive sense of how to use them. That's not sinister at all, right?",
"points": 7,
"traits": [ "AFS_ELECTROKINETIC" ],
"flags": [ "SCEN_ONLY" ],
"skills": [ { "level": 4, "name": "metaphysics" } ],
"spells": [
{ "id": "afs_electrokinetic_see_electric", "level": 8 },
{ "id": "afs_electrokinetic_zap_enemies", "level": 6 },
{ "id": "afs_electrokinetic_hacking_interface", "level": 6 },
{ "id": "afs_electrokinetic_personal_battery", "level": 5 },
{ "id": "afs_electrokinetic_recharge_vehicle", "level": 3 }
],
"proficiencies": [ "prof_concentration_basic" ],
"items": {
"both": {
"entries": [
{ "item": "spacer_jumpsuit" },
{ "item": "spacer_cap" },
{ "item": "socks" },
{ "item": "boots" },
{ "item": "wristwatch" },
{ "item": "cream_prot_cold" },
{ "item": "cream_prot_cold" },
{ "group": "charged_smart_phone" },
{ "item": "XL_holster" },
{ "item": "afs_cartridge", "ammo-item": "battery", "charges": [ 900, 1485 ], "container-item": "afs_v29" }
]
},
"male": { "entries": [ { "item": "briefs" } ] },
"female": { "entries": [ { "item": "sports_bra" }, { "item": "boy_shorts" } ] }
}
}
]
2 changes: 1 addition & 1 deletion data/mods/Aftershock/scenarios.json
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@
"description": "There are stories that before the Discontinuity, scientists had developed treatments to unlock the powers of the human mind. To read thoughts, move objects at a distance, control computers by the power of will alone, and even stranger things. Just one more lost secret of the Golden Age.\n\nOr so you thought, but recently you had heard some tantalizing rumors about espers, centered on a backwater planet on the edge of known civilization. You remember buying passage to the Salus system, arriving at Port Augustmoon and buying supplies, and descending to the surface, and after that…things get hazy. You're not entirely sure where you are, and you've clearly been through it, but somehow you've rediscovered that lost secret. Now you just need to make it back alive.",
"forced_traits": [ "ESPER" ],
"allowed_locs": [ "sloc_afs_glacial_tunnels" ],
"professions": [ "afs_esper_telepath" ],
"professions": [ "afs_esper_electrokinetic", "afs_esper_telepath" ],
"flags": [ "LONE_START" ],
"start_name": "Lost on the Surface",
"eoc": [ "EOC_ESPER_SCENARIO_SETUP" ]
Expand Down
183 changes: 183 additions & 0 deletions data/mods/Aftershock/spells/psionics/electrokinesis.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
[
{
"id": "afs_electrokinetic_see_electric",
"type": "SPELL",
"name": "[Ψ]Spark Sight (C)",
"description": "Open your senses to the flow of electricity, revealing nearby electrical creatures or robots.\n\nThis power <color_yellow>is maintained by concentration</color> and <color_red>may fail</color> if <color_yellow>concentration is interrupted</color>.",
"message": "",
"teachable": false,
"valid_targets": [ "self" ],
"spell_class": "ELECTROKINETIC",
"skill": "metaphysics",
"flags": [ "PSIONIC", "CONCENTRATE", "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "RANDOM_DURATION" ],
"difficulty": 2,
"max_level": { "math": [ "int_to_level(1)" ] },
"effect": "effect_on_condition",
"effect_str": "EOC_AFS_ELECTROKIN_SEE_ELECTRICITY_INITIATE",
"shape": "blast",
"min_duration": {
"math": [
"( (u_spell_level('afs_electrokinetic_see_electric') * 15000) + 90000) * (scaling_factor(u_val('intelligence') ) )"
]
Standing-Storm marked this conversation as resolved.
Show resolved Hide resolved
},
"max_duration": {
"math": [
"( (u_spell_level('afs_electrokinetic_see_electric') * 30000) + 180000) * (scaling_factor(u_val('intelligence') ) )"
]
Standing-Storm marked this conversation as resolved.
Show resolved Hide resolved
},
"energy_source": "STAMINA",
"base_energy_cost": {
"math": [
"u_effect_intensity('effect_electrokin_see_electricity') > -1 ? 0 : max((2000 - (u_spell_level('afs_electrokinetic_see_electric') * 75)), 750)"
]
},
"base_casting_time": {
"math": [
"u_effect_intensity('effect_electrokin_see_electricity') > -1 ? 10 : max((150 -(u_spell_level('afs_electrokinetic_see_electric') * 6)), 80)"
]
}
},
{
"id": "afs_electrokinetic_zap_enemies",
"type": "SPELL",
"name": "[Ψ]Electrical Discharge",
"description": "Build up a charge in your body, zapping anyone who attempts to attack you in melee. It will also protect you from EMP attacks.",
"message": "Your skin tingles.",
"teachable": false,
"valid_targets": [ "self" ],
"spell_class": "ELECTROKINETIC",
"skill": "metaphysics",
"flags": [ "PSIONIC", "CONCENTRATE", "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "RANDOM_DURATION" ],
"difficulty": 3,
"max_level": { "math": [ "int_to_level(1)" ] },
"effect": "attack",
"effect_str": "effect_electrokin_zap_enemies",
"shape": "blast",
"min_duration": {
"math": [
"( (u_spell_level('afs_electrokinetic_zap_enemies') * 8000) + 30000) * (scaling_factor(u_val('intelligence') ) )"
]
Standing-Storm marked this conversation as resolved.
Show resolved Hide resolved
},
"max_duration": {
"math": [
"( (u_spell_level('afs_electrokinetic_zap_enemies') * 22500) + 80000) * (scaling_factor(u_val('intelligence') ) )"
]
Standing-Storm marked this conversation as resolved.
Show resolved Hide resolved
},
"energy_source": "STAMINA",
"base_energy_cost": 3500,
"final_energy_cost": 1100,
"energy_increment": -120,
"base_casting_time": 125,
"final_casting_time": 45,
"casting_time_increment": -5
},
{
"id": "afs_electrokinetic_hacking_interface",
"type": "SPELL",
"name": "[Ψ]Hacking Interface (C)",
"description": "Create an electrical interface with your powers, allowing you to hack nearby devices as if you were using a computer.\n\nThis power <color_yellow>is maintained by concentration</color> and <color_red>may fail</color> if <color_yellow>concentration is interrupted</color>.",
"message": "",
"teachable": false,
"valid_targets": [ "self" ],
"spell_class": "ELECTROKINETIC",
"skill": "metaphysics",
"flags": [ "PSIONIC", "CONCENTRATE", "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "RANDOM_DURATION" ],
"difficulty": 4,
"max_level": { "math": [ "int_to_level(1)" ] },
"effect": "effect_on_condition",
"effect_str": "EOC_AFS_ELECTROKIN_HACKING_INTERFACE_INITIATE",
"shape": "blast",
"min_duration": {
"math": [
"( ( (u_spell_level('afs_electrokinetic_hacking_interface') * 4500 ) + 60000) * (scaling_factor(u_val('intelligence') ) ) )"
]
},
"max_duration": {
"math": [
"( ( (u_spell_level('afs_electrokinetic_hacking_interface') * 9000 ) + 180000) * (scaling_factor(u_val('intelligence') ) ) )"
]
},
"energy_source": "STAMINA",
"base_energy_cost": {
"math": [
"u_effect_intensity('effect_electrokin_hacking_interface') > 0 ? 0 : max((6500 - (u_spell_level('afs_electrokinetic_hacking_interface') * 150)), 3500)"
]
},
"base_casting_time": {
"math": [
"u_effect_intensity('effect_electrokin_hacking_interface') > 0 ? 10 : max((350 -(u_spell_level('electrokinetic_hacking_interface') * 9)), 150)"
]
}
},
{
"id": "afs_electrokinetic_personal_battery",
"type": "SPELL",
"name": "[Ψ]Electron Overflow (C)",
"description": "Generate power for UPS compatible devices on your person.\n\nThis power <color_yellow>is maintained by concentration</color> and <color_red>may fail</color> if <color_yellow>concentration is interrupted</color>.",
"message": "",
"teachable": false,
"valid_targets": [ "self" ],
"spell_class": "ELECTROKINETIC",
"skill": "metaphysics",
"flags": [ "PSIONIC", "CONCENTRATE", "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "RANDOM_DURATION" ],
"difficulty": 5,
"max_level": { "math": [ "int_to_level(1)" ] },
"effect": "effect_on_condition",
"effect_str": "EOC_AFS_ELECTROKIN_PERSONAL_BATTERY_INITIATE",
"shape": "blast",
"min_damage": 1,
"min_duration": {
"math": [
"min( (( ( (u_spell_level('afs_electrokinetic_personal_battery') * 4500 ) + 60000) * (scaling_factor(u_val('intelligence') ) ) )), 1440000)"
]
},
"max_duration": {
"math": [
"min( (( ( (u_spell_level('afs_electrokinetic_personal_battery') * 9000 ) + 180000) * (scaling_factor(u_val('intelligence') ) ) )), 1440000)"
]
},
"energy_source": "STAMINA",
"base_energy_cost": {
"math": [
"u_effect_intensity('effect_electrokin_personal_battery') > 0 ? 0 : max((6500 - (u_spell_level('afs_electrokinetic_personal_battery') * 150)), 3500)"
]
},
"base_casting_time": {
"math": [
"u_effect_intensity('effect_electrokin_personal_battery') > 0 ? 10 : max((350 -(u_spell_level('afs_electrokinetic_personal_battery') * 9)), 150)"
]
}
},
{
"id": "afs_electrokinetic_recharge_vehicle",
"type": "SPELL",
"name": "[Ψ]Re-energize",
"description": "Turn your own energy into power for a vehicle or appliance. You need merely touch the vehicle or any part of the power grid to recharge the batteries.",
"message": "Power flows into your target.",
"teachable": false,
"valid_targets": [ "ground" ],
"spell_class": "ELECTROKINETIC",
"skill": "metaphysics",
"flags": [ "PSIONIC", "CONCENTRATE", "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "RANDOM_DAMAGE" ],
"difficulty": 8,
"max_level": { "math": [ "int_to_level(1)" ] },
"effect": "recharge_vehicle",
"shape": "blast",
"min_damage": {
"math": [
"( (u_spell_level('afs_electrokinetic_recharge_vehicle') * 125) + 250) * (scaling_factor(u_val('intelligence') ) )"
]
Standing-Storm marked this conversation as resolved.
Show resolved Hide resolved
},
"max_damage": {
"math": [
"( (u_spell_level('afs_electrokinetic_recharge_vehicle') * 250) + 500) * (scaling_factor(u_val('intelligence') ) )"
]
Standing-Storm marked this conversation as resolved.
Show resolved Hide resolved
},
"min_range": 1,
"energy_source": "STAMINA",
"base_energy_cost": 7500,
"final_energy_cost": 4500,
"energy_increment": -150,
"base_casting_time": 1500
}
]
Loading
Loading