diff --git a/data/mods/Aftershock/itemgroups/bionics_groups.json b/data/mods/Aftershock/itemgroups/bionics_groups.json index 7210c551b7610..e6b7925087267 100644 --- a/data/mods/Aftershock/itemgroups/bionics_groups.json +++ b/data/mods/Aftershock/itemgroups/bionics_groups.json @@ -11,7 +11,7 @@ [ "afs_bio_linguistic_coprocessor", 10 ], [ "afs_bio_dopamine_stimulators", 10 ], [ "afs_bio_neurosoft_aeronautics", 5 ], - [ "bio_forcefield_bash_cut_weak", 25 ], + [ "bio_shield_weak", 25 ], [ "afs_bio_translocator", 5 ], [ "bio_shock_absorber", 2 ], [ "afs_bio_skullgun", 5 ], @@ -23,7 +23,7 @@ "id": "bionics_common", "type": "item_group", "copy-from": "bionics_common", - "extend": { "items": [ [ "bn_bio_solar", 10 ], [ "afs_bio_linguistic_coprocessor", 8 ], [ "bio_forcefield_bash_cut_weak", 25 ] ] } + "extend": { "items": [ [ "bn_bio_solar", 10 ], [ "afs_bio_linguistic_coprocessor", 8 ], [ "bio_shield_weak", 25 ] ] } }, { "id": "bionics_reaver", @@ -73,9 +73,9 @@ [ "bio_jointservo", 10 ], [ "bio_shotgun", 10 ], [ "bio_recoil", 10 ], - [ "bio_forcefield_bash_cut_weak", 10 ], + [ "bio_shield_weak", 10 ], [ "afs_bio_chemical_enhancement_rig", 10 ], - [ "bio_forcefield_ballistic_weak", 10 ], + [ "bio_shield_weak", 10 ], [ "afs_bio_skullgun", 10 ] ] }, @@ -90,10 +90,9 @@ [ "afs_bio_melee_optimization_unit", 10 ], [ "afs_bio_monowhip", 10 ], [ "afs_bio_blood_plus", 10 ], - [ "bio_forcefield_bash_cut_medium", 16 ], - [ "bio_forcefield_bash_cut_heavy", 3 ], - [ "bio_forcefield_ballistic_weak", 10 ], - [ "bio_forcefield_ballistic_medium", 10 ], + [ "bio_shield_heavy", 3 ], + [ "bio_shield_weak", 10 ], + [ "bio_shield_medium", 26 ], [ "afs_bio_translocator", 5 ], [ "afs_bio_blood_brain", 1 ], [ "bio_shock_absorber", 2 ], @@ -160,7 +159,7 @@ [ "afs_bio_melee_optimization_unit", 10 ], [ "afs_bio_neurosoft_aeronautics", 10 ], [ "afs_bio_dopamine_stimulators", 10 ], - [ "bio_forcefield_ballistic_heavy", 1 ], + [ "bio_shield_heavy", 1 ], [ "afs_bio_translocator", 5 ], [ "bio_shock_absorber", 2 ], [ "afs_bio_skullgun", 2 ] diff --git a/data/mods/Aftershock/items/armor/energy_shield.json b/data/mods/Aftershock/items/armor/energy_shield.json index c61ade6bed45b..0491f1b228ea6 100644 --- a/data/mods/Aftershock/items/armor/energy_shield.json +++ b/data/mods/Aftershock/items/armor/energy_shield.json @@ -77,9 +77,8 @@ "variables": { "transform_target": "afs_backpack_shieldgen_on", "shield_max_hp": "600", - "shield_regen": "1", + "shield_regen": "2", "shield_regen_rate": "1", - "bionic": "0", "turn_cost": "1", "success_message": "a", "failure_message": "b" @@ -103,9 +102,11 @@ "type": "TOOL_ARMOR", "name": { "str": "SHD-1k Riemann Shield Generator (active)", "str_pl": "SHD-1k Riemann Shield Generators (active)" }, "copy-from": "afs_backpack_shieldgen", - "description": "A backpack mounted shield generator for infantry use, capable of fully protecting its user during prolonged bursts of kinetic and energy attacks. Standard issue for UICA breaching teams.\n\nIts high energy consumption and weight make it unsuitable for long-term use. Powered with energy cartridges.", - "power_draw": "100000 mW", + "description": "A powerful shielding system salvaged from a pre-Discontinuity robotic warframe, crudely adapted for compatibility with biological hosts. Powerful enough to withstand prolonged assault from anti-vehicle weaponry.", + "//": "A hundred watts isnt much IRL, but this is powered with laser magazines, so theres an extra layer of abstraction here.", + "power_draw": "1 kW", "revert_to": "afs_backpack_shieldgen", + "charges_per_use": 0, "extend": { "flags": [ "SHIELD_GENERATOR" ] }, "use_action": { "type": "effect_on_conditions", @@ -151,7 +152,7 @@ "type": "effect_on_condition", "effect": [ { - "if": "has_ammo", + "if": { "and": [ { "not": { "u_has_worn_with_flag": "ENERGY_SHIELD" } }, "has_ammo" ] }, "then": [ { "turn_cost": { "context_val": "turn_cost" } }, { "u_cast_spell": { "id": "spawn_shield", "hit_self": true } }, @@ -159,11 +160,6 @@ { "transform_item": { "context_val": "transform_target" }, "active": true }, { "math": [ "_shield_uid = rand(1200)" ] }, { "math": [ "n_shield_gen_uid = _shield_uid" ] }, - { - "if": { "math": [ "_is_bionic" ] }, - "then": [ { "math": [ "u_shield_power_ratio = u_val('power_percentage')" ] } ], - "else": [ { "math": [ "u_shield_power_ratio = n_val('power_percentage')" ] } ] - }, { "u_run_inv_eocs": "all", "search_data": [ { "id": [ "afs_energy_shield" ] } ], @@ -172,6 +168,7 @@ "id": "_SHIELD_SETUP", "effect": [ { "math": [ "n_shield_uid = _shield_uid" ] }, + { "math": [ "n_shield_is_bionic = 0" ] }, { "math": [ "n_shield_turn = 0" ] }, { "math": [ "n_SHIELD_REGEN = 0" ] }, { "math": [ "n_SHIELD_REGEN_RATE = 0" ] }, @@ -197,14 +194,21 @@ { "math": [ "_shield_uid = n_shield_uid" ] }, { "math": [ "u_shield_ratio = n_ENERGY_SHIELD_HP/n_ENERGY_SHIELD_MAX_HP*100" ] }, { - "//": "We check if the shield generator that made this shield is still active.", - "u_run_inv_eocs": "all", - "search_data": [ { "worn_only": true, "flags": [ "SHIELD_GENERATOR" ] } ], - "true_eocs": [ + "//": "If the shield is bionic, we check if the bionic is still active. Else we proceed to check for a shield generator item.", + "if": { "and": [ { "math": [ "n_shield_is_bionic", "==", "1" ] }, { "u_has_flag": "BIO_SHIELD_ACTIVE" } ] }, + "then": [ { "math": [ "u_proceed_shield = 1" ] } ], + "else": [ { - "id": "_afs_actually_do_shield", - "condition": { "math": [ "_shield_uid", "==", "n_shield_gen_uid" ] }, - "effect": [ { "math": [ "u_proceed_shield = 1" ] } ] + "//": "We check if the shield generator that made this shield is still active.", + "u_run_inv_eocs": "all", + "search_data": [ { "worn_only": true, "flags": [ "SHIELD_GENERATOR" ] } ], + "true_eocs": [ + { + "id": "_afs_actually_do_shield", + "condition": { "math": [ "_shield_uid", "==", "n_shield_gen_uid" ] }, + "effect": [ { "math": [ "u_proceed_shield = 1" ] } ] + } + ] } ] }, diff --git a/data/mods/Aftershock/items/cbms.json b/data/mods/Aftershock/items/cbms.json index 99401a9897dd1..69c02c87ddc83 100644 --- a/data/mods/Aftershock/items/cbms.json +++ b/data/mods/Aftershock/items/cbms.json @@ -232,63 +232,33 @@ "difficulty": 6 }, { - "id": "bio_forcefield_bash_cut_weak", + "id": "bio_shield_weak", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": { "str": "HawkingCorps GravyField Mark I CBM" }, + "name": { "str": "HawkingCorps Mark I Shield CBM" }, "description": "Imagine a computer inside your body playing pong against the universe. The paddles are made of energy fields and how it causes this to happen are trade secrets. -From the owners manual of HawkingCorps GravyField Mark I. Activating the field will reduce incoming bashing and cut damage by 5 points.", - "price": "1 kUSD", - "price_postapoc": "25 USD", - "difficulty": 6 - }, - { - "id": "bio_forcefield_bash_cut_medium", - "copy-from": "bionic_general", - "type": "BIONIC_ITEM", - "name": { "str": "HawkingCorps GravyField Mark II CBM" }, - "description": "The HawkingCorps GravyField Mark II was designed for police actions during food riots and other civilian uprisings. It has proven capable of protecting against most improvised weapons. Activating the field will reduce incoming and cut damage by 15 points.", - "price": "1 kUSD", - "price_postapoc": "35 USD", - "difficulty": 8 - }, - { - "id": "bio_forcefield_bash_cut_heavy", - "copy-from": "bionic_general", - "type": "BIONIC_ITEM", - "name": { "str": "Debt Collection Agent GravyField CBM" }, - "description": "This class of personal energy field often sees action on both sides of the vicious ship-to-ship boarding fights that are common with both repossession and piracy. It remains practically impenetrable to melee weapons that lack sharp piercing points. Activating the field will reduce incoming bashing and cut damage by 25 points.", - "price": "1 kUSD", - "price_postapoc": "65 USD", - "difficulty": 10 - }, - { - "id": "bio_forcefield_ballistic_weak", - "copy-from": "bionic_general", - "type": "BIONIC_ITEM", - "name": { "str": "Point Energy Conversion Field CBM" }, - "description": "A personal kinetic attenuation field that slows incoming projectiles by converting their kinetic energy into bursts of visible light. Although this version is not powerful enough to defeat most pistol or rifle cartridges by itself, it greatly increases survival odds when combined with traditional ballistic armor. Activating the field will reduce incoming ballistic and piercing damage by 10 points.", - "price": "1 kUSD", - "price_postapoc": "25 USD", + "price": "80 kUSD", + "price_postapoc": "80 kUSD", "difficulty": 6 }, { - "id": "bio_forcefield_ballistic_medium", + "id": "bio_shield_medium", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": { "str": "Holtzman Personal Shield Generator CBM" }, - "description": "A military grade kinetic attenuation system developed for use within UICA's special service branches. Although much more effective than anything that could be conceived with current technology, it remains a pale imitation of the Hyperspace Age systems it was reverse engineered from. A side effect modern engineering seems unable to address is the tendency for this unit to release electrical fields when hit. Activating the field will reduce incoming ballistic and piercing damage by 20 points.", - "price": "1 kUSD", - "price_postapoc": "65 USD", + "name": { "str": "HawkingCorps Mark V Shield CBM" }, + "description": "Powerful and covert, the Mark V Shield is a military-grade shielding system developed for use within UICA's special service branches. Although much more effective than anything that could be conceived with current technology, it remains a pale imitation of the Hyperspace Age systems it was reverse-engineered from. A.\n\nActivating the shield will create an energy barrier capable of withstanding a modest amount of melee and ranged damage.", + "price": "220 kUSD", + "price_postapoc": "220 kUSD", "difficulty": 10 }, { - "id": "bio_forcefield_ballistic_heavy", + "id": "bio_shield_heavy", "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": { "str": "Kinetic Annulment System CBM" }, - "description": "A kinetic attenuation system salvaged from a pre-Discontinuity robotic warframe, crudely adapted for compatibility with biological hosts. Powerful enough to completely stop most rifle cartridges. Activating the field will reduce incoming ballistic and piercing damage by 40 points.", - "price": "1 kUSD", - "price_postapoc": "125 USD", + "description": "A powerful shielding system salvaged from a pre-Discontinuity robotic warframe, crudely adapted for compatibility with biological hosts. Powerful enough to completely stop most rifle cartridges. Activating the field will reduce incoming ballistic and piercing damage by 40 points.", + "price": "1320 kUSD", + "price_postapoc": "1320 kUSD", "difficulty": 16 } ] diff --git a/data/mods/Aftershock/migration.json b/data/mods/Aftershock/migration.json index 0785075d1b2aa..671b24150aafa 100644 --- a/data/mods/Aftershock/migration.json +++ b/data/mods/Aftershock/migration.json @@ -36,6 +36,66 @@ "//": "obsoleted from base game as part of https://github.com/CleverRaven/Cataclysm-DDA/pull/70989", "from": "bio_trickle" }, + { + "type": "bionic_migration", + "from": "bio_forcefield_bash_cut_weak", + "to": "bio_shield_weak" + }, + { + "type": "bionic_migration", + "from": "bio_forcefield_bash_cut_medium", + "to": "bio_shield_medium" + }, + { + "type": "bionic_migration", + "from": "bio_forcefield_bash_cut_heavy", + "to": "bio_shield_heavy" + }, + { + "type": "bionic_migration", + "from": "bio_forcefield_ballistic_weak", + "to": "bio_shield_weak" + }, + { + "type": "bionic_migration", + "from": "bio_forcefield_ballistic_medium", + "to": "bio_shield_medium" + }, + { + "type": "bionic_migration", + "from": "bio_forcefield_ballistic_heavy", + "to": "bio_shield_heavy" + }, + { + "type": "MIGRATION", + "id": "bio_forcefield_bash_cut_weak", + "replace": "bio_shield_weak" + }, + { + "type": "MIGRATION", + "id": "bio_forcefield_bash_cut_medium", + "replace": "bio_shield_medium" + }, + { + "type": "MIGRATION", + "id": "bio_forcefield_bash_cut_heavy", + "replace": "bio_shield_heavy" + }, + { + "type": "MIGRATION", + "id": "bio_forcefield_ballistic_weak", + "replace": "bio_shield_weak" + }, + { + "type": "MIGRATION", + "id": "bio_forcefield_ballistic_medium", + "replace": "bio_shield_medium" + }, + { + "type": "MIGRATION", + "id": "bio_forcefield_ballistic_heavy", + "replace": "bio_shield_heavy" + }, { "id": [ "bot_eyebot" ], "type": "MIGRATION", diff --git a/data/mods/Aftershock/options.json b/data/mods/Aftershock/options.json index 1286cf406c37a..1835eae1cc659 100644 --- a/data/mods/Aftershock/options.json +++ b/data/mods/Aftershock/options.json @@ -3,7 +3,7 @@ "id": "anesthetic", "type": "requirement", "//": "Anesthetic cost removed in this mod, as autodocs do all the heavy lifting.", - "tools": [ ] + "tools": [ [ ] ] }, { "type": "EXTERNAL_OPTION", diff --git a/data/mods/Aftershock/player/bionic_eocs.json b/data/mods/Aftershock/player/bionic_eocs.json index ad28e8894ff08..26317ed18ad99 100644 --- a/data/mods/Aftershock/player/bionic_eocs.json +++ b/data/mods/Aftershock/player/bionic_eocs.json @@ -120,5 +120,53 @@ "decay_start": "24 hours" } ] + }, + { + "id": "EOC_bio_start_shield", + "type": "effect_on_condition", + "effect": [ + { + "if": { "not": { "u_has_worn_with_flag": "ENERGY_SHIELD" } }, + "then": [ + { "u_cast_spell": { "id": "spawn_shield", "hit_self": true } }, + { "u_message": { "context_val": "success_message" } }, + { "math": [ "_shield_uid = rand(1200)" ] }, + { "math": [ "u_shield_gen_uid = _shield_uid" ] }, + { "math": [ "u_shield_power_ratio = u_val('power_percentage')" ] }, + { + "u_run_inv_eocs": "all", + "search_data": [ { "id": [ "afs_energy_shield" ] } ], + "true_eocs": [ + { + "id": "_BIO_SHIELD_SETUP", + "effect": [ + { "math": [ "n_shield_uid = _shield_uid" ] }, + { "math": [ "n_shield_is_bionic = 1" ] }, + { "math": [ "n_shield_turn = 0" ] }, + { "math": [ "n_SHIELD_REGEN = 0" ] }, + { "math": [ "n_SHIELD_REGEN_RATE = 0" ] }, + { "math": [ "n_ENERGY_SHIELD_HP = _shield_max_hp*0.1" ] }, + { "math": [ "n_ENERGY_SHIELD_MAX_HP = _shield_max_hp" ] }, + { "math": [ "n_SHIELD_REGEN = _shield_regen" ] }, + { "math": [ "n_SHIELD_REGEN_RATE = shield_regen_rate" ] }, + { "math": [ "u_shield_ratio = n_ENERGY_SHIELD_HP/n_ENERGY_SHIELD_MAX_HP" ] } + ] + } + ] + } + ], + "else": { "u_message": { "context_val": "failure_message" } } + } + ] + }, + { + "id": "EOC_bio_stop_shield", + "type": "effect_on_condition", + "effect": [ { "u_remove_item_with": "afs_energy_shield" }, { "math": [ "u_shield_ratio = -1" ] } ] + }, + { + "id": "EOC_bio_update_ui", + "type": "effect_on_condition", + "effect": { "math": [ "u_shield_power_ratio = u_val('power_percentage')" ] } } ] diff --git a/data/mods/Aftershock/player/bionics.json b/data/mods/Aftershock/player/bionics.json index fdd04e964bf74..b5a46556c320c 100644 --- a/data/mods/Aftershock/player/bionics.json +++ b/data/mods/Aftershock/player/bionics.json @@ -232,84 +232,95 @@ "flags": [ "BIONIC_NPC_USABLE" ] }, { - "id": "bio_forcefield_bash_cut_weak", + "id": "bio_shield_weak", "type": "bionic", - "name": { "str": "HawkingCorps GravyField Mark I" }, - "description": "Imagine a computer inside your body playing pong against the universe. The paddles are made of gravity fields and how it causes this to happen are trade secrets. -From the owners manual of HawkingCorps GravyField Mark I. Activating the field will reduce incoming bashing and cut damage by 5 points.", + "name": { "str": "HawkingCorps Mark I Shield" }, + "description": "Imagine a computer inside your body playing pong against the universe. The paddles are made of -color glass condensate- and any and all of their specific functions are the intellectual property of the Hawking Corporation and/or its local subsidiaries.\n-From the owners manual of HawkingCorps Mark I Shield.\n\nActivating the shield will create an energy shield capable of negating a modest amount of damage from weak or improvised weapons.", "occupied_bodyparts": [ [ "torso", 8 ] ], - "available_upgrades": [ "bio_forcefield_bash_cut_medium", "bio_forcefield_bash_cut_heavy" ], - "act_cost": "1 kJ", - "react_cost": "1 kJ", - "time": "1 s", - "enchantments": [ "forcefield_bash_cut_weak" ], - "flags": [ "BIONIC_TOGGLED" ] - }, - { - "id": "bio_forcefield_bash_cut_medium", - "type": "bionic", - "name": { "str": "HawkingCorps GravyField Mark II" }, - "description": "The HawkingCorps GravyField Mark II was designed for police actions during food riots and other civilian uprisings. It has proven capable of protecting against most improvised weapons. Activating the field will reduce incoming bashing and cut damage by 15 points.", - "occupied_bodyparts": [ [ "torso", 10 ] ], - "upgraded_bionic": "bio_forcefield_bash_cut_weak", - "available_upgrades": [ "bio_forcefield_bash_cut_heavy" ], - "act_cost": "5 kJ", - "react_cost": "5 kJ", - "time": "1 s", - "enchantments": [ "forcefield_bash_cut_medium" ], - "flags": [ "BIONIC_TOGGLED" ] - }, - { - "id": "bio_forcefield_bash_cut_heavy", - "type": "bionic", - "name": { "str": "Debt Collection Agent GravyField" }, - "description": "This class of personal gravity manipulator often sees action on both sides of the vicious ship-to-ship boarding fights that are common with both repossession and piracy. It remains practically impenetrable to melee weapons that lack sharp piercing points. Activating the field will reduce incoming bashing and cut damage by 25 points.", - "occupied_bodyparts": [ [ "torso", 14 ] ], - "upgraded_bionic": "bio_forcefield_bash_cut_medium", + "available_upgrades": [ "bio_shield_medium", "bio_shield_heavy" ], + "active_flags": [ "BIO_SHIELD_ACTIVE" ], "act_cost": "10 kJ", - "react_cost": "10 kJ", - "time": "1 s", - "enchantments": [ "forcefield_bash_cut_heavy" ], - "flags": [ "BIONIC_TOGGLED" ] - }, - { - "id": "bio_forcefield_ballistic_weak", - "type": "bionic", - "name": { "str": "Point Energy Conversion Field" }, - "description": "The PEC, as it is commonly known, works by converting kinetic energy into forms that are less damaging to the wearer, such as light. Since this can be problematic, various types of shielding have been developed that do different emissions. However, the ability to stop ballistic and piercing damage in its tracks often makes up for any inconvenience these emissions can cause. Activating the field will reduce incoming ballistic and piercing damage by 10 points.", - "occupied_bodyparts": [ [ "torso", 10 ] ], - "available_upgrades": [ "bio_forcefield_ballistic_medium", "bio_forcefield_ballistic_heavy" ], - "act_cost": "1 kJ", "react_cost": "1 kJ", "time": "1 s", - "enchantments": [ "forcefield_ballistic_piercing_weak" ], - "flags": [ "BIONIC_TOGGLED" ] + "flags": [ "BIONIC_TOGGLED" ], + "activated_eocs": [ + { + "id": "bio_shield_weak_activate", + "effect": { + "run_eocs": "EOC_bio_start_shield", + "variables": { + "shield_max_hp": "120", + "shield_regen": "1", + "shield_regen_rate": "2", + "success_message": "The shield activates.", + "failure_message": "Your implant vibrates uncomfortably as the shield fails to activate." + } + } + } + ], + "processed_eocs": [ "EOC_bio_update_ui" ], + "deactivated_eocs": [ "EOC_bio_stop_shield" ] }, { - "id": "bio_forcefield_ballistic_medium", + "id": "bio_shield_medium", "type": "bionic", - "name": { "str": "Holtzman Personal Shield Generator" }, - "description": "Personal shielding against bullets and sharp-pointed weapons comes in a variety of types. This version is known for drastically increasing an individual soldier's lifespan while often decreasing that of anyone - friend or foe - in close proximity. Activating the field will reduce incoming ballistic and piercing damage by 20 points.", + "name": { "str": "HawkingCorps Mark V Shield" }, + "description": "Powerful and covert, the Mark V Shield is a military-grade shielding system developed for use within UICA's special service branches. Although much more effective than anything that could be conceived with current technology, it remains a pale imitation of the Hyperspace Age systems it was reverse-engineered from. A.\n\nActivating the shield will create an energy barrier capable of withstanding a modest amount of melee and ranged damage.", "occupied_bodyparts": [ [ "torso", 12 ] ], - "upgraded_bionic": "bio_forcefield_ballistic_weak", - "available_upgrades": [ "bio_forcefield_ballistic_heavy" ], - "act_cost": "5 kJ", - "react_cost": "5 kJ", + "upgraded_bionic": "bio_shield_weak", + "available_upgrades": [ "bio_shield_heavy" ], + "active_flags": [ "BIO_SHIELD_ACTIVE" ], + "act_cost": "10 kJ", + "react_cost": "2 kJ", "time": "1 s", - "enchantments": [ "forcefield_ballistic_piercing_medium" ], - "flags": [ "BIONIC_TOGGLED" ] + "flags": [ "BIONIC_TOGGLED" ], + "activated_eocs": [ + { + "id": "bio_shield_medium_activate", + "effect": { + "run_eocs": "EOC_bio_start_shield", + "variables": { + "shield_max_hp": "550", + "shield_regen": "2", + "shield_regen_rate": "1", + "success_message": "The shield activates.", + "failure_message": "Your implant vibrates uncomfortably as the shield fails to activate." + } + } + } + ], + "processed_eocs": [ "EOC_bio_update_ui" ], + "deactivated_eocs": [ "EOC_bio_stop_shield" ] }, { - "id": "bio_forcefield_ballistic_heavy", + "id": "bio_shield_heavy", "type": "bionic", "name": { "str": "Kinetic Annulment System" }, - "description": "A kinetic attenuation system salvaged from a pre-Discontinuity robotic warframe, crudely adapted for compatibility with biological hosts. Powerful enough to completely stop most rifle cartridges. Activating the field will reduce incoming ballistic and piercing damage by 40 points.", + "description": "A powerful shielding system salvaged from a pre-Discontinuity robotic warframe, crudely adapted for compatibility with biological hosts. Powerful enough to withstand prolonged assault from anti-vehicle weaponry.", "occupied_bodyparts": [ [ "torso", 14 ] ], - "upgraded_bionic": "bio_forcefield_ballistic_medium", - "act_cost": "10 kJ", - "react_cost": "10 kJ", + "upgraded_bionic": "bio_shield_medium", + "active_flags": [ "BIO_SHIELD_ACTIVE" ], + "act_cost": "1500 kJ", + "react_cost": "100 kJ", "time": "1 s", - "enchantments": [ "forcefield_ballistic_piercing_heavy" ], - "flags": [ "BIONIC_TOGGLED" ] + "flags": [ "BIONIC_TOGGLED", "DEAF" ], + "activated_eocs": [ + { + "id": "bio_shield_heavy_activate", + "effect": { + "run_eocs": "EOC_bio_start_shield", + "variables": { + "shield_max_hp": "10000", + "shield_regen": "20", + "shield_regen_rate": "1", + "success_message": "All surrounding noise is muted as the barrier coalesces.", + "failure_message": "Your implant vibrates uncomfortably as the shield fails to activate." + } + } + } + ], + "processed_eocs": [ "EOC_bio_update_ui" ], + "deactivated_eocs": [ "EOC_bio_stop_shield" ] }, { "id": "afs_bio_neurosoft_aeronautics", diff --git a/data/mods/Aftershock/spells/enchantments.json b/data/mods/Aftershock/spells/enchantments.json index d2637716eec10..ec4cd3cbf6ccd 100644 --- a/data/mods/Aftershock/spells/enchantments.json +++ b/data/mods/Aftershock/spells/enchantments.json @@ -43,58 +43,5 @@ "id": "protect_cold", "condition": "ACTIVE", "values": [ { "value": "ARMOR_COLD", "add": -15 } ] - }, - { - "type": "enchantment", - "id": "forcefield_bash_cut_weak", - "condition": "ACTIVE", - "values": [ { "value": "ARMOR_BASH", "add": -5 }, { "value": "ARMOR_CUT", "add": -5 } ] - }, - { - "type": "enchantment", - "id": "forcefield_bash_cut_medium", - "condition": "ACTIVE", - "values": [ { "value": "ARMOR_BASH", "add": -15 }, { "value": "ARMOR_CUT", "add": -15 } ] - }, - { - "type": "enchantment", - "id": "forcefield_bash_cut_heavy", - "condition": "ACTIVE", - "values": [ { "value": "ARMOR_BASH", "add": -25 }, { "value": "ARMOR_CUT", "add": -25 } ] - }, - { - "type": "enchantment", - "id": "forcefield_ballistic_piercing_weak", - "condition": "ACTIVE", - "hit_me_effect": [ - { - "id": "conversion_field_flash", - "hit_self": true, - "message": "Your shield reacts with a flash of light and sound.", - "npc_message": "%1$s's shield goes off with a flash of light and sound." - } - ], - "values": [ { "value": "ARMOR_BULLET", "add": -10 }, { "value": "ARMOR_STAB", "add": -10 } ] - }, - { - "type": "enchantment", - "id": "forcefield_ballistic_piercing_medium", - "condition": "ACTIVE", - "hit_me_effect": [ - { - "id": "static_field", - "hit_self": true, - "message": "Your shield reacts with an arc of electricity.", - "npc_message": "%1$s's shield goes off with an arc of electricity." - } - ], - "values": [ { "value": "ARMOR_BULLET", "add": -20 }, { "value": "ARMOR_STAB", "add": -20 } ] - }, - { - "type": "enchantment", - "id": "forcefield_ballistic_piercing_heavy", - "condition": "ACTIVE", - "intermittent_activation": { "effects": [ { "frequency": "1 hour", "spell_effects": [ { "id": "radiation_field" } ] } ] }, - "values": [ { "value": "ARMOR_BULLET", "add": -40 }, { "value": "ARMOR_STAB", "add": -40 } ] } ]