This commit is contained in:
Poojawa
2018-01-31 06:56:28 -06:00
parent fb5de29784
commit a7f0ffb6f0
78 changed files with 2093 additions and 1191 deletions
+1 -1
View File
@@ -104,7 +104,6 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th
pass_flags = PASSTABLE
density = FALSE
opacity = 0
base_action = /datum/action/spell_action/spell
var/school = "evocation" //not relevant at now, but may be important later if there are changes to how spells work. the ones I used for now will probably be changed... maybe spell presets? lacking flexibility but with some other benefit?
@@ -151,6 +150,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th
action_icon = 'icons/mob/actions/actions_spells.dmi'
action_icon_state = "spell_default"
action_background_icon_state = "bg_spell"
base_action = /datum/action/spell_action/spell
/obj/effect/proc_holder/spell/proc/cast_check(skipcharge = 0,mob/user = usr) //checks if the spell can be cast based on its settings; skipcharge is used when an additional cast_check is called inside the spell
@@ -82,7 +82,7 @@
desc = "This spell reaches into Nar-Sie's realm, summoning one of the legendary fragments across time and space."
school = "conjuration"
charge_max = 3000
charge_max = 2400
clothes_req = 0
invocation = "none"
invocation_type = "none"
@@ -95,30 +95,26 @@
/obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone/cult
cult_req = 1
charge_max = 4000
charge_max = 3600
/obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone/noncult
summon_type = list(/obj/item/device/soulstone/anybody)
/obj/effect/proc_holder/spell/aoe_turf/conjure/lesserforcewall
/obj/effect/proc_holder/spell/targeted/forcewall/cult
name = "Shield"
desc = "This spell creates a temporary forcefield to shield yourself and allies from incoming fire."
school = "transmutation"
charge_max = 300
clothes_req = 0
charge_max = 400
clothes_req = FALSE
invocation = "none"
invocation_type = "none"
range = 0
summon_type = list(/obj/effect/forcefield/cult)
summon_lifespan = 200
wall_type = /obj/effect/forcefield/cult
action_icon = 'icons/mob/actions/actions_cult.dmi'
action_icon_state = "cultforcewall"
action_background_icon_state = "bg_demon"
/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift
name = "Phase Shift"
desc = "This spell allows you to pass through walls."
@@ -279,4 +275,38 @@
/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift/golem
charge_max = 800
jaunt_in_type = /obj/effect/temp_visual/dir_setting/cult/phase
jaunt_out_type = /obj/effect/temp_visual/dir_setting/cult/phase/out
jaunt_out_type = /obj/effect/temp_visual/dir_setting/cult/phase/out
/obj/effect/proc_holder/spell/dumbfire/juggernaut
name = "Gauntlet Echo"
desc = "Channels energy into your gauntlet - firing its essence forward in a slow-moving but devastating blow."
proj_icon_state = "cursehand0"
proj_name = "Shadowfist"
proj_type = "/obj/effect/proc_holder/spell/targeted/inflict_handler/juggernaut" //IMPORTANT use only subtypes of this
proj_lifespan = 15
proj_step_delay = 7
charge_max = 350
clothes_req = FALSE
action_icon = 'icons/mob/actions/actions_cult.dmi'
action_icon_state = "cultfist"
action_background_icon_state = "bg_demon"
sound = 'sound/weapons/resonator_blast.ogg'
proj_trigger_range = 0
ignore_factions = list("cult")
/obj/effect/proc_holder/spell/targeted/inflict_handler/juggernaut
name = "Gauntlet Echo"
amt_dam_brute = 30
amt_knockdown = 50
sound = 'sound/weapons/punch3.ogg'
/obj/effect/proc_holder/spell/targeted/inflict_handler/juggernaut/cast(list/targets,mob/user = usr)
var/turf/T = get_turf(src)
playsound(T, 'sound/weapons/resonator_blast.ogg', 100, FALSE)
new /obj/effect/temp_visual/cult/sac(T)
for(var/obj/O in range(src,1))
if(O.density && !istype(O, /obj/structure/destructible/cult))
O.take_damage(90, BRUTE, "gauntlet echo", 0)
new /obj/effect/temp_visual/cult/turf/floor
..()
+13 -2
View File
@@ -22,6 +22,7 @@
var/proj_lifespan = 100 //in deciseconds * proj_step_delay
var/proj_step_delay = 1 //lower = faster
var/list/ignore_factions = list() //Faction types that will be ignored
/obj/effect/proc_holder/spell/dumbfire/choose_targets(mob/user = usr)
@@ -74,8 +75,18 @@
var/mob/living/L = locate(/mob/living) in range(projectile, proj_trigger_range) - user
if(L && L.stat != DEAD)
projectile.cast(L.loc,user=user)
break
if(!ignore_factions.len)
projectile.cast(L.loc,user=user)
break
else
var/faction_check = FALSE
for(var/faction in L.faction)
if(ignore_factions.Find(faction))
faction_check = TRUE
break
if(!faction_check)
projectile.cast(L.loc,user=user)
break
if(proj_trail && projectile)
proj_trail(projectile)
@@ -29,7 +29,6 @@
/obj/effect/forcefield/wizard/Initialize(mapload, mob/summoner)
. = ..()
wizard = summoner
QDEL_IN(src, 300)
/obj/effect/forcefield/wizard/CanPass(atom/movable/mover, turf/target)
if(mover == wizard)