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 891ca926de4..c253d441995 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 5d5432fa4e9..6be83aef7b9 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 6e4f7d73b32..2422ef00bfc 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 ad4fcdc9efa..150559b9cdd 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 38b55c1342e..06930828afb 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 a1c0940f14e..52cbdfbfdf9 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 83ab173762a..0c28f31577a 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 44bd8feea0d..d5dd78b793d 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 a270ef16e35..a9e50b2fa3a 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 6307d2f4ca2..15aae46ad32 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 43ca683fd58..9dae12e39e7 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 fb459620c0f..18c4afcf659 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 9425b920a59..285f414f153 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 566f3d7ceb5..b5eaad8f44a 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 e0de7920c10..771bc6b6258 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 0657111f159..0e8e23ffd8b 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 772ee579cc4..5afa25ae90f 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 797536cc456..0541e5473ed 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 3c725063204..e450e4480fc 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 fbeb2555178..bde3ee99843 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 a378d98b875..8a3455701a6 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 37a9be3b189..6588f1617f9 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 3d621dc5ed2..7ad6976b54b 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 cdc319dd735..e9450b95869 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 6f24704d4a9..fbafb7c0447 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 5ae40915d0b..c1c507b5528 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 0f5d404c4e7..7ca94f78e61 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 9ebeda9676c..8fb549039fb 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 07f7db42fea..ada2989444c 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 0fe6be78084..63e6d67fad4 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 9acda5227a9..3f9bb6f9e5b 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 faffe94972c..aa16a8a4fc6 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 142134abc9f..20fb033872e 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 bfee4ec3f17..429a83dd9bb 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 5d4da458a08..7cdd4565e28 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 c13d2363d89..dad3c88f45d 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 3c77f89b0f0..c4b69a923a8 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 9b3964503ad..e6f0c898e23 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 d4e8474aed2..69e1efc92fd 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 b8eb1401f12..9d484ddc5c6 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 6944bd49bce..7a8fa0a4de6 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 2aee98bc1e3..dcdcbb1f187 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 c7e8e35107c..95523d99ff7 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 807ea698a2b..330de0ff266 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 627be97e363..ac5e799d729 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 7cf519ddbda..50ed504b40a 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 4704cda8b9d..a2c22b0f76c 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 eac1c67b409..497a8422bdf 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 1bbab4d2998..5323c5beda2 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 a74aab2ff56..aff00f0197b 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 90e65182004..166f3f5b439 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 ffb97498998..a308066ae5a 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 3309a393081..045a3f731fb 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"