From 515ba0677ad4a3a9a5317c75ee3b3eb73520b265 Mon Sep 17 00:00:00 2001 From: Neerti Date: Fri, 19 Aug 2016 19:21:55 -0400 Subject: [PATCH] Maybe Perhaps Last Major Technomancer PR Adds ability to sort the spells section of the catalog into categories. The categories available are 'All', 'Offensive', 'Defensive', 'Utility', and 'Support'. Removes preset section on catalog as it was unused. Projectile spells now have a sound when fired. Haste lasts five seconds instead of three. Repel Missiles lasts for five minutes instead of two. All healing spells work five times as fast, healing in five seconds instead of twenty five seconds. The amount of instability and healing done has been multiplied to remain consistent. Passwall can now be used on more than just walls, if there's something dense on the same tile. Force Missile is now 25% cheaper to cast, and has a cooldown of .5 seconds instead of one second, and does 5 more damage. Beam's damage is increased by 10, and energy cost decreased by 25%. Lightning's warm-up time is now one second instead of two. Overload now costs 10% of total energy instead of 15%, and damage scaled with 4% of their current energy reserves, and 5% with the Scepter, instead of 3%/4%. Additionally, instability per shot is lowered to 12 from 15. Track now costs 25 points instead of 30 in the catalog, because roundness. Fire Aura should look more impressive without a Scepter. Fixes bug where shooting Lightning made you motionless for twenty seconds. --- code/game/gamemodes/technomancer/catalog.dm | 67 +++++++------- .../gamemodes/technomancer/instability.dm | 2 +- .../technomancer/spells/abjuration.dm | 1 + .../technomancer/spells/apportation.dm | 1 + .../technomancer/spells/audible_deception.dm | 1 + .../technomancer/spells/aura/biomed_aura.dm | 1 + .../technomancer/spells/aura/fire_aura.dm | 10 +-- .../technomancer/spells/aura/frost_aura.dm | 5 +- .../technomancer/spells/aura/shock_aura.dm | 1 + .../technomancer/spells/aura/unstable_aura.dm | 1 + .../gamemodes/technomancer/spells/blink.dm | 1 + .../gamemodes/technomancer/spells/chroma.dm | 1 + .../technomancer/spells/condensation.dm | 1 + .../gamemodes/technomancer/spells/control.dm | 1 + .../gamemodes/technomancer/spells/dispel.dm | 1 + .../technomancer/spells/energy_siphon.dm | 1 + .../technomancer/spells/flame_tongue.dm | 1 + .../gamemodes/technomancer/spells/gambit.dm | 1 + .../gamemodes/technomancer/spells/illusion.dm | 1 + .../technomancer/spells/insert/corona.dm | 1 + .../technomancer/spells/insert/haste.dm | 5 +- .../technomancer/spells/insert/mend_burns.dm | 9 +- .../technomancer/spells/insert/mend_metal.dm | 11 +-- .../technomancer/spells/insert/mend_organs.dm | 11 +-- .../technomancer/spells/insert/mend_wires.dm | 9 +- .../technomancer/spells/insert/mend_wounds.dm | 11 +-- .../technomancer/spells/insert/purify.dm | 17 ++-- .../spells/insert/repel_missiles.dm | 5 +- .../technomancer/spells/instability_tap.dm | 1 + .../technomancer/spells/mark_recall.dm | 2 + .../technomancer/spells/oxygenate.dm | 1 + .../gamemodes/technomancer/spells/passwall.dm | 87 ++++++++++--------- .../technomancer/spells/phase_shift.dm | 1 + .../technomancer/spells/projectile/beam.dm | 6 +- .../spells/projectile/chain_lightning.dm | 2 + .../spells/projectile/force_missile.dm | 8 +- .../spells/projectile/lightning.dm | 4 +- .../spells/projectile/overload.dm | 10 ++- .../spells/projectile/projectile.dm | 5 +- .../gamemodes/technomancer/spells/radiance.dm | 1 + .../gamemodes/technomancer/spells/reflect.dm | 1 + .../technomancer/spells/resurrect.dm | 1 + .../technomancer/spells/shared_burden.dm | 1 + .../gamemodes/technomancer/spells/shield.dm | 1 + .../technomancer/spells/spawner/darkness.dm | 1 + .../technomancer/spells/spawner/fire_blast.dm | 1 + .../technomancer/spells/spawner/pulsar.dm | 1 + .../spells/summon/summon_creature.dm | 1 + .../technomancer/spells/summon/summon_ward.dm | 1 + .../technomancer/spells/targeting_matrix.dm | 1 + .../gamemodes/technomancer/spells/track.dm | 3 +- .../technomancer/spells/warp_strike.dm | 1 + polaris.dme | 1 - 53 files changed, 185 insertions(+), 136 deletions(-) diff --git a/code/game/gamemodes/technomancer/catalog.dm b/code/game/gamemodes/technomancer/catalog.dm index 891ca926de..c253d44199 100644 --- a/code/game/gamemodes/technomancer/catalog.dm +++ b/code/game/gamemodes/technomancer/catalog.dm @@ -1,8 +1,13 @@ +#define ALL_SPELLS "All" +#define OFFENSIVE_SPELLS "Offensive" +#define DEFENSIVE_SPELLS "Defensive" +#define UTILITY_SPELLS "Utility" +#define SUPPORT_SPELLS "Support" + var/list/all_technomancer_spells = typesof(/datum/technomancer/spell) - /datum/technomancer/spell var/list/all_technomancer_equipment = typesof(/datum/technomancer/equipment) - /datum/technomancer/equipment var/list/all_technomancer_consumables = typesof(/datum/technomancer/consumable) - /datum/technomancer/consumable var/list/all_technomancer_assistance = typesof(/datum/technomancer/assistance) - /datum/technomancer/assistance -var/list/all_technomancer_presets = typesof(/datum/technomancer/presets) - /datum/technomancer/presets /datum/technomancer var/name = "technomancer thing" @@ -13,6 +18,9 @@ var/list/all_technomancer_presets = typesof(/datum/technomancer/presets) - /datu var/obj_path = null var/ability_icon_state = null +/datum/technomancer/spell + var/category = ALL_SPELLS + /obj/item/weapon/technomancer_catalog name = "catalog" desc = "A \"book\" featuring a holographic display, metal cover, and miniaturized teleportation device, allowing the user to \ @@ -27,8 +35,8 @@ var/list/all_technomancer_presets = typesof(/datum/technomancer/presets) - /datu var/list/equipment_instances = list() var/list/consumable_instances = list() var/list/assistance_instances = list() - var/list/preset_instances = list() var/tab = 0 + var/spell_tab = ALL_SPELLS var/show_scepter_text = 0 /obj/item/weapon/technomancer_catalog/apprentice @@ -72,15 +80,23 @@ var/list/all_technomancer_presets = typesof(/datum/technomancer/presets) - /datu if(!assistance_instances.len) for(var/A in all_technomancer_assistance) assistance_instances += new A() - if(!preset_instances.len) - for(var/P in all_technomancer_presets) - preset_instances += new P() /obj/item/weapon/technomancer_catalog/apprentice/set_up() ..() for(var/datum/technomancer/assistance/apprentice/A in assistance_instances) assistance_instances.Remove(A) +// Proc: show_categories() +// Parameters: 1 (category - the category link to display) +// Description: Shows an href link to go to a spell subcategory if the category is not already selected, otherwise is bold, to reduce +// code duplicating. +/obj/item/weapon/technomancer_catalog/proc/show_categories(var/category) + if(category) + if(spell_tab != category) + return "[category]" + else + return "[category]" + // Proc: attack_self() // Parameters: 1 (user - the mob clicking on the catelog) // Description: Shows an HTML window, to buy equipment and spells, if the user is the legitimate owner. Otherwise it cannot be used. @@ -100,13 +116,17 @@ var/list/all_technomancer_presets = typesof(/datum/technomancer/presets) - /datu dat += "Functions | " dat += "Equipment | " dat += "Consumables | " - dat += "Assistance | " - dat += "Presets
" + dat += "Assistance
" dat += "You currently have a budget of [budget]/[max_budget].

" dat += "Refund Functions

" - for(var/datum/technomancer/spell in spell_instances) + + dat += "[show_categories(ALL_SPELLS)] | [show_categories(OFFENSIVE_SPELLS)] | [show_categories(DEFENSIVE_SPELLS)] | \ + [show_categories(UTILITY_SPELLS)] | [show_categories(SUPPORT_SPELLS)]
" + for(var/datum/technomancer/spell/spell in spell_instances) if(spell.hidden) continue + if(spell_tab != ALL_SPELLS && spell.category != spell_tab) + continue dat += "[spell.name]
" dat += "[spell.desc]
" if(show_scepter_text) @@ -123,8 +143,7 @@ var/list/all_technomancer_presets = typesof(/datum/technomancer/presets) - /datu dat += "Functions | " dat += "Equipment | " dat += "Consumables | " - dat += "Assistance | " - dat += "Presets
" + dat += "Assistance
" dat += "You currently have a budget of [budget]/[max_budget].

" for(var/datum/technomancer/equipment/E in equipment_instances) dat += "[E.name]
" @@ -141,8 +160,7 @@ var/list/all_technomancer_presets = typesof(/datum/technomancer/presets) - /datu dat += "Functions | " dat += "Equipment | " dat += "Consumables | " - dat += "Assistance | " - dat += "Presets
" + dat += "Assistance
" dat += "You currently have a budget of [budget]/[max_budget].

" for(var/datum/technomancer/consumable/C in consumable_instances) dat += "[C.name]
" @@ -159,8 +177,7 @@ var/list/all_technomancer_presets = typesof(/datum/technomancer/presets) - /datu dat += "Functions | " dat += "Equipment | " dat += "Consumables | " - dat += "Assistance | " - dat += "Presets
" + dat += "Assistance
" dat += "You currently have a budget of [budget]/[max_budget].

" for(var/datum/technomancer/assistance/A in assistance_instances) dat += "[A.name]
" @@ -171,24 +188,6 @@ var/list/all_technomancer_presets = typesof(/datum/technomancer/presets) - /datu dat += "Cannot afford!

" user << browse(dat, "window=radio") onclose(user, "radio") - if(4) //Presets - var/dat = "" - user.set_machine(src) - dat += "Functions | " - dat += "Equipment | " - dat += "Consumables | " - dat += "Assistance | " - dat += "Presets
" - dat += "You currently have a budget of [budget]/[max_budget].

" - for(var/datum/technomancer/presets/P in preset_instances) - dat += "[P.name]
" - dat += "[P.desc]
" - if(P.cost <= budget) - dat += "Purchase ([P.cost])

" - else - dat += "Cannot afford!

" - user << browse(dat, "window=radio") - onclose(user, "radio") // Proc: Topic() // Parameters: 2 (href - don't know, href_list - the choice that the person using the interface above clicked on.) @@ -210,6 +209,8 @@ var/list/all_technomancer_presets = typesof(/datum/technomancer/presets) - /datu H.set_machine(src) if(href_list["tab_choice"]) tab = text2num(href_list["tab_choice"]) + if(href_list["spell_category"]) + spell_tab = href_list["spell_category"] if(href_list["spell_choice"]) var/datum/technomancer/new_spell = null //Locate the spell. @@ -269,4 +270,4 @@ var/list/all_technomancer_presets = typesof(/datum/technomancer/presets) - /datu budget += spell_datum.cost core.remove_spell(spell) break - attack_self(H) \ No newline at end of file + attack_self(H) diff --git a/code/game/gamemodes/technomancer/instability.dm b/code/game/gamemodes/technomancer/instability.dm index 5d5432fa4e..6be83aef7b 100644 --- a/code/game/gamemodes/technomancer/instability.dm +++ b/code/game/gamemodes/technomancer/instability.dm @@ -212,4 +212,4 @@ outgoing_instability = outgoing_instability * armor_factor H.adjust_instability(outgoing_instability) - set_light(distance, distance, l_color = "#C26DDE") + set_light(distance, distance * 2, l_color = "#C26DDE") diff --git a/code/game/gamemodes/technomancer/spells/abjuration.dm b/code/game/gamemodes/technomancer/spells/abjuration.dm index 6e4f7d73b3..2422ef00bf 100644 --- a/code/game/gamemodes/technomancer/spells/abjuration.dm +++ b/code/game/gamemodes/technomancer/spells/abjuration.dm @@ -4,6 +4,7 @@ far away from the caster. Failing that, it may inhibit those entities in some form." cost = 40 obj_path = /obj/item/weapon/spell/abjuration + category = UTILITY_SPELLS /obj/item/weapon/spell/abjuration name = "abjuration" diff --git a/code/game/gamemodes/technomancer/spells/apportation.dm b/code/game/gamemodes/technomancer/spells/apportation.dm index ad4fcdc9ef..150559b9cd 100644 --- a/code/game/gamemodes/technomancer/spells/apportation.dm +++ b/code/game/gamemodes/technomancer/spells/apportation.dm @@ -4,6 +4,7 @@ will grab them automatically." cost = 50 obj_path = /obj/item/weapon/spell/apportation + category = UTILITY_SPELLS /obj/item/weapon/spell/apportation name = "apportation" diff --git a/code/game/gamemodes/technomancer/spells/audible_deception.dm b/code/game/gamemodes/technomancer/spells/audible_deception.dm index 38b55c1342..06930828af 100644 --- a/code/game/gamemodes/technomancer/spells/audible_deception.dm +++ b/code/game/gamemodes/technomancer/spells/audible_deception.dm @@ -6,6 +6,7 @@ cost = 150 obj_path = /obj/item/weapon/spell/audible_deception ability_icon_state = "tech_audibledeception" + category = UTILITY_SPELLS /obj/item/weapon/spell/audible_deception name = "audible deception" diff --git a/code/game/gamemodes/technomancer/spells/aura/biomed_aura.dm b/code/game/gamemodes/technomancer/spells/aura/biomed_aura.dm index a1c0940f14..52cbdfbfdf 100644 --- a/code/game/gamemodes/technomancer/spells/aura/biomed_aura.dm +++ b/code/game/gamemodes/technomancer/spells/aura/biomed_aura.dm @@ -4,6 +4,7 @@ cost = 150 obj_path = /obj/item/weapon/spell/aura/biomed ability_icon_state = "tech_biomedaura" + category = SUPPORT_SPELLS /obj/item/weapon/spell/aura/biomed name = "restoration aura" diff --git a/code/game/gamemodes/technomancer/spells/aura/fire_aura.dm b/code/game/gamemodes/technomancer/spells/aura/fire_aura.dm index 83ab173762..0c28f31577 100644 --- a/code/game/gamemodes/technomancer/spells/aura/fire_aura.dm +++ b/code/game/gamemodes/technomancer/spells/aura/fire_aura.dm @@ -7,6 +7,7 @@ cost = 150 obj_path = /obj/item/weapon/spell/aura/fire ability_icon_state = "tech_fireaura" + category = OFFENSIVE_SPELLS /obj/item/weapon/spell/aura/fire name = "Fire Storm" @@ -20,7 +21,6 @@ qdel(src) var/list/nearby_things = range(4,owner) - var/fire_prob = 10 var/temp_change = 25 var/temp_cap = 500 var/fire_power = 2 @@ -28,7 +28,6 @@ if(check_for_scepter()) temp_change = 50 temp_cap = 700 - fire_prob = 25 fire_power = 4 for(var/mob/living/carbon/human/H in nearby_things) if(is_ally(H)) @@ -41,16 +40,11 @@ turf_check: for(var/turf/simulated/T in nearby_things) - if(prob(fire_prob)) + if(prob(30)) for(var/mob/living/carbon/human/H in T) if(is_ally(H)) continue turf_check T.hotspot_expose(1000, 50, 1) T.create_fire(fire_power) - -// //We use hotspot_expose() to allow firesuits to protect from this aura. -// var/turf/location = get_turf(H) -// location.hotspot_expose(1000, 50, 1) - owner.adjust_instability(1) \ No newline at end of file diff --git a/code/game/gamemodes/technomancer/spells/aura/frost_aura.dm b/code/game/gamemodes/technomancer/spells/aura/frost_aura.dm index 44bd8feea0..d5dd78b793 100644 --- a/code/game/gamemodes/technomancer/spells/aura/frost_aura.dm +++ b/code/game/gamemodes/technomancer/spells/aura/frost_aura.dm @@ -6,6 +6,7 @@ cost = 150 obj_path = /obj/item/weapon/spell/aura/frost ability_icon_state = "tech_frostaura" + category = DEFENSIVE_SPELLS // Scepter-less frost aura is nonlethal. /obj/item/weapon/spell/aura/frost name = "chilling aura" @@ -35,8 +36,4 @@ var/cold_factor = abs(protection - 1) H.bodytemperature = max( (H.bodytemperature - temp_change) * cold_factor, temp_cap) -// //We use hotspot_expose() to allow firesuits to protect from this aura. -// var/turf/location = get_turf(H) -// location.hotspot_expose(1, 50, 1) - owner.adjust_instability(1) \ No newline at end of file diff --git a/code/game/gamemodes/technomancer/spells/aura/shock_aura.dm b/code/game/gamemodes/technomancer/spells/aura/shock_aura.dm index a270ef16e3..a9e50b2fa3 100644 --- a/code/game/gamemodes/technomancer/spells/aura/shock_aura.dm +++ b/code/game/gamemodes/technomancer/spells/aura/shock_aura.dm @@ -4,6 +4,7 @@ cost = 150 obj_path = /obj/item/weapon/spell/aura/shock ability_icon_state = "tech_shockaura" + category = OFFENSIVE_SPELLS /obj/item/weapon/spell/aura/shock name = "electric aura" diff --git a/code/game/gamemodes/technomancer/spells/aura/unstable_aura.dm b/code/game/gamemodes/technomancer/spells/aura/unstable_aura.dm index 6307d2f4ca..15aae46ad3 100644 --- a/code/game/gamemodes/technomancer/spells/aura/unstable_aura.dm +++ b/code/game/gamemodes/technomancer/spells/aura/unstable_aura.dm @@ -5,6 +5,7 @@ cost = 150 obj_path = /obj/item/weapon/spell/aura/unstable ability_icon_state = "tech_unstableaura" + category = OFFENSIVE_SPELLS /obj/item/weapon/spell/aura/unstable name = "degen aura" diff --git a/code/game/gamemodes/technomancer/spells/blink.dm b/code/game/gamemodes/technomancer/spells/blink.dm index 43ca683fd5..9dae12e39e 100644 --- a/code/game/gamemodes/technomancer/spells/blink.dm +++ b/code/game/gamemodes/technomancer/spells/blink.dm @@ -5,6 +5,7 @@ enhancement_desc = "Blink distance is increased greatly." cost = 100 obj_path = /obj/item/weapon/spell/blink + category = UTILITY_SPELLS /obj/item/weapon/spell/blink name = "blink" diff --git a/code/game/gamemodes/technomancer/spells/chroma.dm b/code/game/gamemodes/technomancer/spells/chroma.dm index fb459620c0..18c4afcf65 100644 --- a/code/game/gamemodes/technomancer/spells/chroma.dm +++ b/code/game/gamemodes/technomancer/spells/chroma.dm @@ -4,6 +4,7 @@ useful to trick someone into believing you're casting a different spell, or perhaps just for fun." cost = 25 obj_path = /obj/item/weapon/spell/chroma + category = UTILITY_SPELLS /obj/item/weapon/spell/chroma name = "chroma" diff --git a/code/game/gamemodes/technomancer/spells/condensation.dm b/code/game/gamemodes/technomancer/spells/condensation.dm index 9425b920a5..285f414f15 100644 --- a/code/game/gamemodes/technomancer/spells/condensation.dm +++ b/code/game/gamemodes/technomancer/spells/condensation.dm @@ -5,6 +5,7 @@ ability_icon_state = "tech_condensation" cost = 50 obj_path = /obj/item/weapon/spell/condensation + category = UTILITY_SPELLS /obj/item/weapon/spell/condensation name = "condensation" diff --git a/code/game/gamemodes/technomancer/spells/control.dm b/code/game/gamemodes/technomancer/spells/control.dm index 566f3d7ceb..b5eaad8f44 100644 --- a/code/game/gamemodes/technomancer/spells/control.dm +++ b/code/game/gamemodes/technomancer/spells/control.dm @@ -7,6 +7,7 @@ around the entity is merely a hologram used to allow the user to know if the creature is safe or not." cost = 200 obj_path = /obj/item/weapon/spell/control + category = UTILITY_SPELLS /mob/living/carbon/human/proc/technomancer_control() place_spell_in_hand(/obj/item/weapon/spell/control) diff --git a/code/game/gamemodes/technomancer/spells/dispel.dm b/code/game/gamemodes/technomancer/spells/dispel.dm index e0de7920c1..771bc6b625 100644 --- a/code/game/gamemodes/technomancer/spells/dispel.dm +++ b/code/game/gamemodes/technomancer/spells/dispel.dm @@ -6,6 +6,7 @@ cost = 25 obj_path = /obj/item/weapon/spell/dispel ability_icon_state = "tech_dispel" + category = SUPPORT_SPELLS /obj/item/weapon/spell/dispel name = "dispel" diff --git a/code/game/gamemodes/technomancer/spells/energy_siphon.dm b/code/game/gamemodes/technomancer/spells/energy_siphon.dm index 0657111f15..0e8e23ffd8 100644 --- a/code/game/gamemodes/technomancer/spells/energy_siphon.dm +++ b/code/game/gamemodes/technomancer/spells/energy_siphon.dm @@ -7,6 +7,7 @@ cost = 150 obj_path = /obj/item/weapon/spell/energy_siphon ability_icon_state = "tech_energysiphon" + category = UTILITY_SPELLS /obj/item/weapon/spell/energy_siphon name = "energy siphon" diff --git a/code/game/gamemodes/technomancer/spells/flame_tongue.dm b/code/game/gamemodes/technomancer/spells/flame_tongue.dm index 772ee579cc..5afa25ae90 100644 --- a/code/game/gamemodes/technomancer/spells/flame_tongue.dm +++ b/code/game/gamemodes/technomancer/spells/flame_tongue.dm @@ -4,6 +4,7 @@ cost = 100 obj_path = /obj/item/weapon/spell/flame_tongue ability_icon_state = "tech_flametongue" + category = OFFENSIVE_SPELLS /obj/item/weapon/spell/flame_tongue name = "flame tongue" diff --git a/code/game/gamemodes/technomancer/spells/gambit.dm b/code/game/gamemodes/technomancer/spells/gambit.dm index 797536cc45..0541e5473e 100644 --- a/code/game/gamemodes/technomancer/spells/gambit.dm +++ b/code/game/gamemodes/technomancer/spells/gambit.dm @@ -4,6 +4,7 @@ ability_icon_state = "tech_gambit" cost = 50 obj_path = /obj/item/weapon/spell/gambit + category = UTILITY_SPELLS /var/global/list/all_technomancer_gambit_spells = typesof(/obj/item/weapon/spell) - list( /obj/item/weapon/spell, diff --git a/code/game/gamemodes/technomancer/spells/illusion.dm b/code/game/gamemodes/technomancer/spells/illusion.dm index 3c72506320..e450e4480f 100644 --- a/code/game/gamemodes/technomancer/spells/illusion.dm +++ b/code/game/gamemodes/technomancer/spells/illusion.dm @@ -5,6 +5,7 @@ cost = 100 obj_path = /obj/item/weapon/spell/illusion ability_icon_state = "tech_illusion" + category = UTILITY_SPELLS /obj/item/weapon/spell/illusion name = "illusion" diff --git a/code/game/gamemodes/technomancer/spells/insert/corona.dm b/code/game/gamemodes/technomancer/spells/insert/corona.dm index fbeb255517..bde3ee9984 100644 --- a/code/game/gamemodes/technomancer/spells/insert/corona.dm +++ b/code/game/gamemodes/technomancer/spells/insert/corona.dm @@ -5,6 +5,7 @@ cost = 100 obj_path = /obj/item/weapon/spell/insert/corona ability_icon_state = "tech_corona" + category = SUPPORT_SPELLS /obj/item/weapon/spell/insert/corona name = "corona" diff --git a/code/game/gamemodes/technomancer/spells/insert/haste.dm b/code/game/gamemodes/technomancer/spells/insert/haste.dm index a378d98b87..8a3455701a 100644 --- a/code/game/gamemodes/technomancer/spells/insert/haste.dm +++ b/code/game/gamemodes/technomancer/spells/insert/haste.dm @@ -1,10 +1,11 @@ /datum/technomancer/spell/haste name = "Haste" - desc = "Allows the target to run at speeds that should not be possible for an ordinary being. For three seconds, the target \ + desc = "Allows the target to run at speeds that should not be possible for an ordinary being. For five seconds, the target \ runs extremly fast, and cannot be slowed by any means." cost = 100 obj_path = /obj/item/weapon/spell/insert/haste ability_icon_state = "tech_haste" + category = SUPPORT_SPELLS /obj/item/weapon/spell/insert/haste name = "haste" @@ -22,7 +23,7 @@ L.force_max_speed = 1 L << "You suddenly find it much easier to move." L.adjust_instability(10) - spawn(3 SECONDS) + spawn(5 SECONDS) if(src) on_expire() diff --git a/code/game/gamemodes/technomancer/spells/insert/mend_burns.dm b/code/game/gamemodes/technomancer/spells/insert/mend_burns.dm index 37a9be3b18..6588f1617f 100644 --- a/code/game/gamemodes/technomancer/spells/insert/mend_burns.dm +++ b/code/game/gamemodes/technomancer/spells/insert/mend_burns.dm @@ -5,6 +5,7 @@ cost = 50 obj_path = /obj/item/weapon/spell/insert/mend_burns ability_icon_state = "tech_mendburns" + category = SUPPORT_SPELLS /obj/item/weapon/spell/insert/mend_burns name = "mend burns" @@ -19,10 +20,10 @@ spawn(1) if(ishuman(host)) var/mob/living/carbon/human/H = host - for(var/i = 0, i<25,i++) + for(var/i = 0, i<5,i++) if(H) - H.adjustFireLoss(-1) - H.adjust_instability(0.5) - origin.adjust_instability(0.5) + H.adjustFireLoss(-5) + H.adjust_instability(2.5) + origin.adjust_instability(2.5) sleep(10) on_expire() \ No newline at end of file diff --git a/code/game/gamemodes/technomancer/spells/insert/mend_metal.dm b/code/game/gamemodes/technomancer/spells/insert/mend_metal.dm index 3d621dc5ed..7ad6976b54 100644 --- a/code/game/gamemodes/technomancer/spells/insert/mend_metal.dm +++ b/code/game/gamemodes/technomancer/spells/insert/mend_metal.dm @@ -4,6 +4,7 @@ cost = 50 obj_path = /obj/item/weapon/spell/insert/mend_metal ability_icon_state = "tech_mendwounds" + category = SUPPORT_SPELLS /obj/item/weapon/spell/insert/mend_metal name = "mend metal" @@ -18,14 +19,14 @@ spawn(1) if(ishuman(host)) var/mob/living/carbon/human/H = host - for(var/i = 0, i<25,i++) + for(var/i = 0, i<5,i++) if(H) for(var/obj/item/organ/external/O in H.organs) if(O.robotic < ORGAN_ROBOT) // Robot parts only. continue - O.heal_damage(1, 0, internal = 1, robo_repair = 1) + O.heal_damage(5, 0, internal = 1, robo_repair = 1) - H.adjust_instability(0.5) - origin.adjust_instability(0.5) - sleep(10) + H.adjust_instability(2.5) + origin.adjust_instability(2.5) + sleep(1 SECOND) on_expire() \ No newline at end of file diff --git a/code/game/gamemodes/technomancer/spells/insert/mend_organs.dm b/code/game/gamemodes/technomancer/spells/insert/mend_organs.dm index cdc319dd73..e9450b9586 100644 --- a/code/game/gamemodes/technomancer/spells/insert/mend_organs.dm +++ b/code/game/gamemodes/technomancer/spells/insert/mend_organs.dm @@ -5,6 +5,7 @@ cost = 75 obj_path = /obj/item/weapon/spell/insert/mend_organs ability_icon_state = "tech_mendwounds" + category = SUPPORT_SPELLS /obj/item/weapon/spell/insert/mend_organs name = "mend organs" @@ -19,13 +20,13 @@ spawn(1) if(ishuman(host)) var/mob/living/carbon/human/H = host - for(var/i = 0, i<25,i++) + for(var/i = 0, i<5,i++) if(H) for(var/obj/item/organ/O in H.internal_organs) if(O.damage > 0) - O.damage = max(O.damage - 0.2, 0) + O.damage = max(O.damage - 1, 0) - H.adjust_instability(0.5) - origin.adjust_instability(0.5) - sleep(10) + H.adjust_instability(2.5) + origin.adjust_instability(2.5) + sleep(1 SECOND) on_expire() \ No newline at end of file diff --git a/code/game/gamemodes/technomancer/spells/insert/mend_wires.dm b/code/game/gamemodes/technomancer/spells/insert/mend_wires.dm index 6f24704d4a..fbafb7c044 100644 --- a/code/game/gamemodes/technomancer/spells/insert/mend_wires.dm +++ b/code/game/gamemodes/technomancer/spells/insert/mend_wires.dm @@ -5,6 +5,7 @@ cost = 50 obj_path = /obj/item/weapon/spell/insert/mend_wires ability_icon_state = "tech_mendwounds" + category = SUPPORT_SPELLS /obj/item/weapon/spell/insert/mend_wires name = "mend wires" @@ -19,14 +20,14 @@ spawn(1) if(ishuman(host)) var/mob/living/carbon/human/H = host - for(var/i = 0, i<25,i++) + for(var/i = 0, i<5,i++) if(H) for(var/obj/item/organ/external/O in H.organs) if(O.robotic < ORGAN_ROBOT) // Robot parts only. continue - O.heal_damage(0, 1, internal = 1, robo_repair = 1) + O.heal_damage(0, 5, internal = 1, robo_repair = 1) - H.adjust_instability(0.5) - origin.adjust_instability(0.5) + H.adjust_instability(2.5) + origin.adjust_instability(2.5) sleep(10) on_expire() \ No newline at end of file diff --git a/code/game/gamemodes/technomancer/spells/insert/mend_wounds.dm b/code/game/gamemodes/technomancer/spells/insert/mend_wounds.dm index 5ae40915d0..c1c507b552 100644 --- a/code/game/gamemodes/technomancer/spells/insert/mend_wounds.dm +++ b/code/game/gamemodes/technomancer/spells/insert/mend_wounds.dm @@ -5,6 +5,7 @@ cost = 50 obj_path = /obj/item/weapon/spell/insert/mend_wounds ability_icon_state = "tech_mendwounds" + category = SUPPORT_SPELLS /obj/item/weapon/spell/insert/mend_wounds name = "mend wounds" @@ -19,10 +20,10 @@ spawn(1) if(ishuman(host)) var/mob/living/carbon/human/H = host - for(var/i = 0, i<25,i++) + for(var/i = 0, i<5,i++) if(H) - H.adjustBruteLoss(-1) - H.adjust_instability(0.5) - origin.adjust_instability(0.5) - sleep(10) + H.adjustBruteLoss(-5) + H.adjust_instability(2.5) + origin.adjust_instability(2.5) + sleep(1 SECOND) on_expire() diff --git a/code/game/gamemodes/technomancer/spells/insert/purify.dm b/code/game/gamemodes/technomancer/spells/insert/purify.dm index 0f5d404c4e..7ca94f78e6 100644 --- a/code/game/gamemodes/technomancer/spells/insert/purify.dm +++ b/code/game/gamemodes/technomancer/spells/insert/purify.dm @@ -1,10 +1,11 @@ /datum/technomancer/spell/purify name = "Purify" - desc = "Clenses the body of harmful impurities, such as toxins, radiation, viruses, and such. \ + desc = "Clenses the body of harmful impurities, such as toxins, radiation, viruses, genetic damage, and such. \ Instability is split between the target and technomancer, if seperate." cost = 25 obj_path = /obj/item/weapon/spell/insert/purify ability_icon_state = "tech_purify" + category = SUPPORT_SPELLS /obj/item/weapon/spell/insert/purify name = "purify" @@ -23,12 +24,12 @@ H.disabilities = 0 // for(var/datum/disease/D in H.viruses) // D.cure() - for(var/i = 0, i<25,i++) + for(var/i = 0, i<5,i++) if(H) - H.adjustToxLoss(-1) - H.adjustCloneLoss(-1) - H.radiation = max(host.radiation - 2, 0) - H.adjust_instability(0.5) - origin.adjust_instability(0.5) - sleep(10) + H.adjustToxLoss(-5) + H.adjustCloneLoss(-5) + H.radiation = max(host.radiation - 10, 0) + H.adjust_instability(2.5) + origin.adjust_instability(2.5) + sleep(1 SECOND) on_expire() diff --git a/code/game/gamemodes/technomancer/spells/insert/repel_missiles.dm b/code/game/gamemodes/technomancer/spells/insert/repel_missiles.dm index 9ebeda9676..8fb549039f 100644 --- a/code/game/gamemodes/technomancer/spells/insert/repel_missiles.dm +++ b/code/game/gamemodes/technomancer/spells/insert/repel_missiles.dm @@ -1,10 +1,11 @@ /datum/technomancer/spell/repel_missiles name = "Repel Missiles" desc = "Places a repulsion field around you, which attempts to deflect incoming bullets and lasers, making them 30% less likely \ - to hit you. The field lasts for two minutes and can be granted to yourself or an ally." + to hit you. The field lasts for five minutes and can be granted to yourself or an ally." cost = 60 obj_path = /obj/item/weapon/spell/insert/repel_missiles ability_icon_state = "tech_repelmissiles" + category = SUPPORT_SPELLS /obj/item/weapon/spell/insert/repel_missiles name = "repel missiles" @@ -21,7 +22,7 @@ var/mob/living/L = host L.evasion += 2 L << "You have a repulsion field around you, which will attempt to deflect projectiles." - spawn(2 MINUTES) + spawn(5 MINUTES) if(src) on_expire() diff --git a/code/game/gamemodes/technomancer/spells/instability_tap.dm b/code/game/gamemodes/technomancer/spells/instability_tap.dm index 07f7db42fe..ada2989444 100644 --- a/code/game/gamemodes/technomancer/spells/instability_tap.dm +++ b/code/game/gamemodes/technomancer/spells/instability_tap.dm @@ -5,6 +5,7 @@ cost = 120 obj_path = /obj/item/weapon/spell/instability_tap ability_icon_state = "tech_instabilitytap" + category = UTILITY_SPELLS /obj/item/weapon/spell/instability_tap name = "instability tap" diff --git a/code/game/gamemodes/technomancer/spells/mark_recall.dm b/code/game/gamemodes/technomancer/spells/mark_recall.dm index 0fe6be7808..63e6d67fad 100644 --- a/code/game/gamemodes/technomancer/spells/mark_recall.dm +++ b/code/game/gamemodes/technomancer/spells/mark_recall.dm @@ -6,6 +6,7 @@ cost = 50 obj_path = /obj/item/weapon/spell/mark ability_icon_state = "tech_mark" + category = UTILITY_SPELLS //The object to teleport to when Recall is used. /obj/effect/mark_spell @@ -52,6 +53,7 @@ cost = 50 obj_path = /obj/item/weapon/spell/recall ability_icon_state = "tech_recall" + category = UTILITY_SPELLS /obj/item/weapon/spell/recall name = "recall" diff --git a/code/game/gamemodes/technomancer/spells/oxygenate.dm b/code/game/gamemodes/technomancer/spells/oxygenate.dm index 9acda5227a..3f9bb6f9e5 100644 --- a/code/game/gamemodes/technomancer/spells/oxygenate.dm +++ b/code/game/gamemodes/technomancer/spells/oxygenate.dm @@ -5,6 +5,7 @@ cost = 70 obj_path = /obj/item/weapon/spell/oxygenate ability_icon_state = "oxygenate" + category = SUPPORT_SPELLS /obj/item/weapon/spell/oxygenate name = "oxygenate" diff --git a/code/game/gamemodes/technomancer/spells/passwall.dm b/code/game/gamemodes/technomancer/spells/passwall.dm index faffe94972..aa16a8a4fc 100644 --- a/code/game/gamemodes/technomancer/spells/passwall.dm +++ b/code/game/gamemodes/technomancer/spells/passwall.dm @@ -6,6 +6,7 @@ cost = 100 obj_path = /obj/item/weapon/spell/passwall ability_icon_state = "tech_passwall" + category = UTILITY_SPELLS /obj/item/weapon/spell/passwall name = "passwall" @@ -21,53 +22,55 @@ if(!allowed_to_teleport()) user << "You can't teleport here!" return 0 - if(isturf(hit_atom)) - var/turf/T = hit_atom //Turf we touched. - var/turf/our_turf = get_turf(user) //Where we are. - if(!T.density) - user << "Perhaps you should try using passWALL on a wall." +// if(isturf(hit_atom)) + + var/turf/T = get_turf(hit_atom) //Turf we touched. + var/turf/our_turf = get_turf(user) //Where we are. + if(!T.density) + if(!T.check_density()) + user << "Perhaps you should try using passWALL on a wall, or other solid object." return 0 - var/direction = get_dir(our_turf, T) - var/total_cost = 0 - var/turf/checked_turf = T //Turf we're currently checking for density in the loop below. - var/turf/found_turf = null //Our destination, if one is found. - var/i = maximum_distance + var/direction = get_dir(our_turf, T) + var/total_cost = 0 + var/turf/checked_turf = T //Turf we're currently checking for density in the loop below. + var/turf/found_turf = null //Our destination, if one is found. + var/i = maximum_distance - visible_message("[user] rests a hand on \the [T].") - busy = 1 + visible_message("[user] rests a hand on \the [hit_atom].") + busy = 1 - var/datum/effect/effect/system/spark_spread/spark_system = PoolOrNew(/datum/effect/effect/system/spark_spread) - spark_system.set_up(5, 0, our_turf) + var/datum/effect/effect/system/spark_spread/spark_system = PoolOrNew(/datum/effect/effect/system/spark_spread) + spark_system.set_up(5, 0, our_turf) - while(i) - checked_turf = get_step(checked_turf, direction) //Advance in the given direction - total_cost += check_for_scepter() ? 400 : 800 //Phasing through matter's expensive, you know. - i-- - if(!checked_turf.density) //If we found a destination (a non-dense turf), then we can stop. - var/dense_objs_on_turf = 0 - for(var/atom/movable/stuff in checked_turf.contents) //Make sure nothing dense is where we want to go, like an airlock or window. - if(stuff.density) - dense_objs_on_turf = 1 + while(i) + checked_turf = get_step(checked_turf, direction) //Advance in the given direction + total_cost += check_for_scepter() ? 400 : 800 //Phasing through matter's expensive, you know. + i-- + if(!checked_turf.density) //If we found a destination (a non-dense turf), then we can stop. + var/dense_objs_on_turf = 0 + for(var/atom/movable/stuff in checked_turf.contents) //Make sure nothing dense is where we want to go, like an airlock or window. + if(stuff.density) + dense_objs_on_turf = 1 - if(!dense_objs_on_turf) //If we found a non-dense turf with nothing dense on it, then that's our destination. - found_turf = checked_turf - break - sleep(10) + if(!dense_objs_on_turf) //If we found a non-dense turf with nothing dense on it, then that's our destination. + found_turf = checked_turf + break + sleep(10) - if(found_turf) - if(user.loc != our_turf) - user << "You need to stand still in order to phase through the wall." - return 0 - if(pay_energy(total_cost) && !user.incapacitated() ) - visible_message("[user] appears to phase through \the [T]!") - user << "You find a destination on the other side of \the [T], and phase through it." - spark_system.start() - user.forceMove(found_turf) - qdel(src) - return 1 - else - user << "You don't have enough energy to phase through these walls!" - busy = 0 + if(found_turf) + if(user.loc != our_turf) + user << "You need to stand still in order to phase through \the [hit_atom]." + return 0 + if(pay_energy(total_cost) && !user.incapacitated() ) + visible_message("[user] appears to phase through \the [hit_atom]!") + user << "You find a destination on the other side of \the [hit_atom], and phase through it." + spark_system.start() + user.forceMove(found_turf) + qdel(src) + return 1 else - user << "You weren't able to find an open space to go to." + user << "You don't have enough energy to phase through these walls!" busy = 0 + else + user << "You weren't able to find an open space to go to." + busy = 0 diff --git a/code/game/gamemodes/technomancer/spells/phase_shift.dm b/code/game/gamemodes/technomancer/spells/phase_shift.dm index 142134abc9..20fb033872 100644 --- a/code/game/gamemodes/technomancer/spells/phase_shift.dm +++ b/code/game/gamemodes/technomancer/spells/phase_shift.dm @@ -4,6 +4,7 @@ draining your powercell." cost = 80 obj_path = /obj/item/weapon/spell/phase_shift + category = DEFENSIVE_SPELLS /obj/item/weapon/spell/phase_shift name = "phase shift" diff --git a/code/game/gamemodes/technomancer/spells/projectile/beam.dm b/code/game/gamemodes/technomancer/spells/projectile/beam.dm index bfee4ec3f1..429a83dd9b 100644 --- a/code/game/gamemodes/technomancer/spells/projectile/beam.dm +++ b/code/game/gamemodes/technomancer/spells/projectile/beam.dm @@ -4,6 +4,7 @@ cost = 150 ability_icon_state = "tech_beam" obj_path = /obj/item/weapon/spell/projectile/beam + category = OFFENSIVE_SPELLS /obj/item/weapon/spell/projectile/beam name = "beam" @@ -12,12 +13,13 @@ cast_methods = CAST_RANGED aspect = ASPECT_LIGHT spell_projectile = /obj/item/projectile/beam/blue - energy_cost_per_shot = 500 + energy_cost_per_shot = 400 instability_per_shot = 3 cooldown = 10 + fire_sound = 'sound/weapons/Laser.ogg' /obj/item/projectile/beam/blue - damage = 20 + damage = 30 muzzle_type = /obj/effect/projectile/laser_blue/muzzle tracer_type = /obj/effect/projectile/laser_blue/tracer diff --git a/code/game/gamemodes/technomancer/spells/projectile/chain_lightning.dm b/code/game/gamemodes/technomancer/spells/projectile/chain_lightning.dm index 5d4da458a0..7cdd4565e2 100644 --- a/code/game/gamemodes/technomancer/spells/projectile/chain_lightning.dm +++ b/code/game/gamemodes/technomancer/spells/projectile/chain_lightning.dm @@ -5,6 +5,7 @@ strike up to four targets, including yourself if conditions allow it to occur." cost = 150 obj_path = /obj/item/weapon/spell/projectile/chain_lightning + category = OFFENSIVE_SPELLS /obj/item/weapon/spell/projectile/chain_lightning name = "chain lightning" @@ -16,6 +17,7 @@ energy_cost_per_shot = 3000 instability_per_shot = 10 cooldown = 20 + fire_sound = 'sound/weapons/gauss_shoot.ogg' /obj/item/projectile/beam/chain_lightning name = "lightning" diff --git a/code/game/gamemodes/technomancer/spells/projectile/force_missile.dm b/code/game/gamemodes/technomancer/spells/projectile/force_missile.dm index c13d2363d8..dad3c88f45 100644 --- a/code/game/gamemodes/technomancer/spells/projectile/force_missile.dm +++ b/code/game/gamemodes/technomancer/spells/projectile/force_missile.dm @@ -4,6 +4,7 @@ that armor designed to protect from blunt force will mitigate this function as well." cost = 100 obj_path = /obj/item/weapon/spell/projectile/force_missile + category = OFFENSIVE_SPELLS /obj/item/weapon/spell/projectile/force_missile name = "force missile" @@ -12,13 +13,14 @@ cast_methods = CAST_RANGED aspect = ASPECT_FORCE spell_projectile = /obj/item/projectile/force_missile - energy_cost_per_shot = 400 + energy_cost_per_shot = 300 instability_per_shot = 2 - cooldown = 10 + cooldown = 5 + fire_sound = 'sound/weapons/wave.ogg' /obj/item/projectile/force_missile name = "force missile" icon_state = "force_missile" - damage = 20 + damage = 25 damage_type = BRUTE check_armour = "melee" \ No newline at end of file diff --git a/code/game/gamemodes/technomancer/spells/projectile/lightning.dm b/code/game/gamemodes/technomancer/spells/projectile/lightning.dm index 3c77f89b0f..c4b69a923a 100644 --- a/code/game/gamemodes/technomancer/spells/projectile/lightning.dm +++ b/code/game/gamemodes/technomancer/spells/projectile/lightning.dm @@ -5,6 +5,7 @@ strike." cost = 150 obj_path = /obj/item/weapon/spell/projectile/lightning + category = OFFENSIVE_SPELLS /obj/item/weapon/spell/projectile/lightning name = "lightning strike" @@ -16,7 +17,8 @@ energy_cost_per_shot = 2500 instability_per_shot = 10 cooldown = 20 - pre_shot_delay = 20 + pre_shot_delay = 10 + fire_sound = 'sound/weapons/gauss_shoot.ogg' /obj/item/projectile/beam/lightning name = "lightning" diff --git a/code/game/gamemodes/technomancer/spells/projectile/overload.dm b/code/game/gamemodes/technomancer/spells/projectile/overload.dm index 9b3964503a..e6f0c898e2 100644 --- a/code/game/gamemodes/technomancer/spells/projectile/overload.dm +++ b/code/game/gamemodes/technomancer/spells/projectile/overload.dm @@ -4,6 +4,7 @@ This energy pierces all known armor." cost = 150 obj_path = /obj/item/weapon/spell/projectile/overload + category = OFFENSIVE_SPELLS /obj/item/weapon/spell/projectile/overload name = "overload" @@ -13,9 +14,10 @@ aspect = ASPECT_UNSTABLE spell_projectile = /obj/item/projectile/overload energy_cost_per_shot = 0 // Handled later - instability_per_shot = 15 + instability_per_shot = 12 cooldown = 10 pre_shot_delay = 4 + fire_sound = 'sound/effects/supermatter.ogg' /obj/item/projectile/overload name = "overloaded bolt" @@ -25,15 +27,15 @@ armor_penetration = 100 /obj/item/weapon/spell/projectile/overload/on_ranged_cast(atom/hit_atom, mob/living/user) - energy_cost_per_shot = round(core.max_energy * 0.15) + energy_cost_per_shot = round(core.max_energy * 0.10) var/energy_before_firing = core.energy if(set_up(hit_atom, user)) var/obj/item/projectile/overload/P = new spell_projectile(get_turf(user)) P.launch(hit_atom) if(check_for_scepter()) - P.damage = round(energy_before_firing * 0.003) // 3% of their current energy pool. + P.damage = round(energy_before_firing * 0.004) // 4% of their current energy pool. else - P.damage = round(energy_before_firing * 0.002) // 2% of their current energy pool. + P.damage = round(energy_before_firing * 0.003) // 3% of their current energy pool. owner.adjust_instability(instability_per_shot) return 1 diff --git a/code/game/gamemodes/technomancer/spells/projectile/projectile.dm b/code/game/gamemodes/technomancer/spells/projectile/projectile.dm index d4e8474aed..69e1efc92f 100644 --- a/code/game/gamemodes/technomancer/spells/projectile/projectile.dm +++ b/code/game/gamemodes/technomancer/spells/projectile/projectile.dm @@ -7,12 +7,15 @@ var/energy_cost_per_shot = 0 var/instability_per_shot = 0 var/pre_shot_delay = 0 + var/fire_sound = null /obj/item/weapon/spell/projectile/on_ranged_cast(atom/hit_atom, mob/living/user) var/turf/T = get_turf(hit_atom) if(set_up(hit_atom, user)) var/obj/item/projectile/new_projectile = new spell_projectile(get_turf(user)) new_projectile.launch(T) + if(fire_sound) + playsound(get_turf(src), fire_sound, 75, 1) owner.adjust_instability(instability_per_shot) return 1 return 0 @@ -23,7 +26,7 @@ if(pre_shot_delay) var/image/target_image = image(icon = 'icons/obj/spells.dmi', loc = get_turf(hit_atom), icon_state = "target") user << target_image - user.Stun(pre_shot_delay) + user.Stun(pre_shot_delay / 10) sleep(pre_shot_delay) qdel(target_image) return 1 diff --git a/code/game/gamemodes/technomancer/spells/radiance.dm b/code/game/gamemodes/technomancer/spells/radiance.dm index b8eb1401f1..9d484ddc5c 100644 --- a/code/game/gamemodes/technomancer/spells/radiance.dm +++ b/code/game/gamemodes/technomancer/spells/radiance.dm @@ -3,6 +3,7 @@ desc = "Causes you to be very radiant, glowing brightly in visible light, thermal energy, and deadly ionizing radiation." cost = 180 obj_path = /obj/item/weapon/spell/radiance + category = OFFENSIVE_SPELLS /obj/item/weapon/spell/radiance name = "radiance" diff --git a/code/game/gamemodes/technomancer/spells/reflect.dm b/code/game/gamemodes/technomancer/spells/reflect.dm index 6944bd49bc..7a8fa0a4de 100644 --- a/code/game/gamemodes/technomancer/spells/reflect.dm +++ b/code/game/gamemodes/technomancer/spells/reflect.dm @@ -4,6 +4,7 @@ cost = 120 obj_path = /obj/item/weapon/spell/reflect ability_icon_state = "tech_reflect" + category = DEFENSIVE_SPELLS /obj/item/weapon/spell/reflect name = "\proper reflect shield" diff --git a/code/game/gamemodes/technomancer/spells/resurrect.dm b/code/game/gamemodes/technomancer/spells/resurrect.dm index 2aee98bc1e..dcdcbb1f18 100644 --- a/code/game/gamemodes/technomancer/spells/resurrect.dm +++ b/code/game/gamemodes/technomancer/spells/resurrect.dm @@ -6,6 +6,7 @@ cost = 100 obj_path = /obj/item/weapon/spell/resurrect ability_icon_state = "tech_resurrect" + category = SUPPORT_SPELLS /obj/item/weapon/spell/resurrect name = "resurrect" diff --git a/code/game/gamemodes/technomancer/spells/shared_burden.dm b/code/game/gamemodes/technomancer/spells/shared_burden.dm index c7e8e35107..95523d99ff 100644 --- a/code/game/gamemodes/technomancer/spells/shared_burden.dm +++ b/code/game/gamemodes/technomancer/spells/shared_burden.dm @@ -3,6 +3,7 @@ desc = "One of the few functions able to adjust instability, this allows you to take someone else's instability." cost = 50 obj_path = /obj/item/weapon/spell/shared_burden + category = SUPPORT_SPELLS /obj/item/weapon/spell/shared_burden name = "shared burden" diff --git a/code/game/gamemodes/technomancer/spells/shield.dm b/code/game/gamemodes/technomancer/spells/shield.dm index 807ea698a2..330de0ff26 100644 --- a/code/game/gamemodes/technomancer/spells/shield.dm +++ b/code/game/gamemodes/technomancer/spells/shield.dm @@ -5,6 +5,7 @@ cost = 120 obj_path = /obj/item/weapon/spell/shield ability_icon_state = "tech_shield" + category = DEFENSIVE_SPELLS /obj/item/weapon/spell/shield name = "\proper energy shield" diff --git a/code/game/gamemodes/technomancer/spells/spawner/darkness.dm b/code/game/gamemodes/technomancer/spells/spawner/darkness.dm index 627be97e36..ac5e799d72 100644 --- a/code/game/gamemodes/technomancer/spells/spawner/darkness.dm +++ b/code/game/gamemodes/technomancer/spells/spawner/darkness.dm @@ -3,6 +3,7 @@ desc = "Disrupts photons moving in a local area, causing darkness to shroud yourself or a position of your choosing." cost = 30 obj_path = /obj/item/weapon/spell/spawner/darkness + category = UTILITY_SPELLS /obj/item/weapon/spell/spawner/darkness name = "darkness" diff --git a/code/game/gamemodes/technomancer/spells/spawner/fire_blast.dm b/code/game/gamemodes/technomancer/spells/spawner/fire_blast.dm index 7cf519ddbd..50ed504b40 100644 --- a/code/game/gamemodes/technomancer/spells/spawner/fire_blast.dm +++ b/code/game/gamemodes/technomancer/spells/spawner/fire_blast.dm @@ -4,6 +4,7 @@ sure to not be close to the disturbance yourself." cost = 175 obj_path = /obj/item/weapon/spell/spawner/fire_blast + category = OFFENSIVE_SPELLS /obj/item/weapon/spell/spawner/fire_blast name = "fire blast" diff --git a/code/game/gamemodes/technomancer/spells/spawner/pulsar.dm b/code/game/gamemodes/technomancer/spells/spawner/pulsar.dm index 4704cda8b9..a2c22b0f76 100644 --- a/code/game/gamemodes/technomancer/spells/spawner/pulsar.dm +++ b/code/game/gamemodes/technomancer/spells/spawner/pulsar.dm @@ -3,6 +3,7 @@ desc = "Emits electronic pulses to destroy, disable, or otherwise harm devices and machines. Be sure to not hit yourself with this." cost = 150 obj_path = /obj/item/weapon/spell/spawner/pulsar + category = OFFENSIVE_SPELLS /obj/item/weapon/spell/spawner/pulsar name = "pulsar" diff --git a/code/game/gamemodes/technomancer/spells/summon/summon_creature.dm b/code/game/gamemodes/technomancer/spells/summon/summon_creature.dm index eac1c67b40..497a8422bd 100644 --- a/code/game/gamemodes/technomancer/spells/summon/summon_creature.dm +++ b/code/game/gamemodes/technomancer/spells/summon/summon_creature.dm @@ -8,6 +8,7 @@ enhancement_desc = "Summoned entities will never harm their summoner." cost = 200 obj_path = /obj/item/weapon/spell/summon/summon_creature + category = UTILITY_SPELLS /obj/item/weapon/spell/summon/summon_creature name = "summon creature" diff --git a/code/game/gamemodes/technomancer/spells/summon/summon_ward.dm b/code/game/gamemodes/technomancer/spells/summon/summon_ward.dm index 1bbab4d299..5323c5beda 100644 --- a/code/game/gamemodes/technomancer/spells/summon/summon_ward.dm +++ b/code/game/gamemodes/technomancer/spells/summon/summon_ward.dm @@ -5,6 +5,7 @@ enhancement_desc = "Wards can detect invisibile entities, and are more specific in relaying information about what it sees." cost = 100 obj_path = /obj/item/weapon/spell/summon/summon_ward + category = UTILITY_SPELLS /obj/item/weapon/spell/summon/summon_ward name = "summon ward" diff --git a/code/game/gamemodes/technomancer/spells/targeting_matrix.dm b/code/game/gamemodes/technomancer/spells/targeting_matrix.dm index a74aab2ff5..aff00f0197 100644 --- a/code/game/gamemodes/technomancer/spells/targeting_matrix.dm +++ b/code/game/gamemodes/technomancer/spells/targeting_matrix.dm @@ -5,6 +5,7 @@ cost = 150 ability_icon_state = "tech_targetingmatrix" obj_path = /obj/item/weapon/spell/targeting_matrix + category = UTILITY_SPELLS /obj/item/weapon/spell/targeting_matrix name = "targeting matrix" diff --git a/code/game/gamemodes/technomancer/spells/track.dm b/code/game/gamemodes/technomancer/spells/track.dm index 90e6518200..166f3f5b43 100644 --- a/code/game/gamemodes/technomancer/spells/track.dm +++ b/code/game/gamemodes/technomancer/spells/track.dm @@ -3,9 +3,10 @@ desc = "Acts as directional guidance towards an object that belongs to you or your team. It can also point towards your allies. \ Wonderful if you're worried someone will steal your valuables, like a certain shiny Scepter..." enhancement_desc = "You will be able to track most other entities in addition to your belongings and allies." - cost = 30 + cost = 25 obj_path = /obj/item/weapon/spell/track ability_icon_state = "tech_track" + category = UTILITY_SPELLS // This stores a ref to all important items that belong to a Technomancer, in case of theft. Used by the spell below. // I feel dirty for adding yet another global list used by one thing, but the only alternative is to loop through world, and yeahhh. diff --git a/code/game/gamemodes/technomancer/spells/warp_strike.dm b/code/game/gamemodes/technomancer/spells/warp_strike.dm index ffb9749899..a308066ae5 100644 --- a/code/game/gamemodes/technomancer/spells/warp_strike.dm +++ b/code/game/gamemodes/technomancer/spells/warp_strike.dm @@ -4,6 +4,7 @@ cost = 200 obj_path = /obj/item/weapon/spell/warp_strike ability_icon_state = "tech_warpstrike" + category = OFFENSIVE_SPELLS /obj/item/weapon/spell/warp_strike name = "warp strike" diff --git a/polaris.dme b/polaris.dme index 3309a39308..045a3f731f 100644 --- a/polaris.dme +++ b/polaris.dme @@ -418,7 +418,6 @@ #include "code\game\gamemodes\technomancer\core_obj.dm" #include "code\game\gamemodes\technomancer\equipment.dm" #include "code\game\gamemodes\technomancer\instability.dm" -#include "code\game\gamemodes\technomancer\presets.dm" #include "code\game\gamemodes\technomancer\spell_objs.dm" #include "code\game\gamemodes\technomancer\spell_objs_helpers.dm" #include "code\game\gamemodes\technomancer\technomancer.dm"