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"