mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-21 04:57:57 +01:00
Merge pull request #9701 from Cuboos/SoundsEp2_WizardBoogaloo
Wizard Sounds has the update. Been a bit since i've done a commit, so…
This commit is contained in:
@@ -47,7 +47,7 @@ var/datum/subsystem/ticker/ticker
|
||||
/datum/subsystem/ticker/New()
|
||||
NEW_SS_GLOBAL(ticker)
|
||||
|
||||
login_music = pickweight(list('sound/ambience/title2.ogg' = 49, 'sound/ambience/title1.ogg' = 49, 'sound/ambience/clown.ogg' = 2)) // choose title music!
|
||||
login_music = pickweight(list('sound/ambience/title2.ogg' = 31, 'sound/ambience/title1.ogg' = 31, 'sound/ambience/title3.ogg' =31, 'sound/ambience/clown.ogg' = 7)) // choose title music!
|
||||
if(SSevent.holidays && SSevent.holidays[APRIL_FOOLS])
|
||||
login_music = 'sound/ambience/clown.ogg'
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
|
||||
name = "Spell"
|
||||
desc = "A wizard spell"
|
||||
panel = "Spells"
|
||||
var/sound = "sound/weapons/badZap.ogg"
|
||||
anchored = 1 // Crap like fireball projectiles are proc_holders, this is needed so fireballs don't get blown back into your face via atmos etc.
|
||||
pass_flags = PASSTABLE
|
||||
density = 0
|
||||
@@ -136,6 +137,9 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
|
||||
if("emote")
|
||||
user.visible_message(invocation, invocation_emote_self) //same style as in mob/living/emote.dm
|
||||
|
||||
/obj/effect/proc_holder/spell/proc/playMagSound()
|
||||
playsound(get_turf(usr), sound,50,1)
|
||||
|
||||
/obj/effect/proc_holder/spell/New()
|
||||
..()
|
||||
|
||||
@@ -256,6 +260,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
|
||||
var/random_target = 0 // chooses random viable target instead of asking the caster
|
||||
var/random_target_priority = TARGET_CLOSEST // if random_target is enabled how it will pick the target
|
||||
|
||||
|
||||
/obj/effect/proc_holder/spell/aoe_turf //affects all turfs in view or range (depends)
|
||||
var/inner_radius = -1 //for all your ring spell needs
|
||||
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
|
||||
var/randomise_selection = 0 //if it lets the usr choose the teleport loc or picks it from the list
|
||||
var/invocation_area = 1 //if the invocation appends the selected area
|
||||
var/sound1 = "sound/weapons/ZapBang.ogg"
|
||||
var/sound2 = "sound/weapons/ZapBang.ogg"
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/area_teleport/perform(list/targets, recharge = 1)
|
||||
var/thearea = before_cast(targets)
|
||||
@@ -31,6 +33,7 @@
|
||||
return thearea
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/area_teleport/cast(list/targets,area/thearea)
|
||||
playsound(get_turf(usr), sound1, 50,1)
|
||||
for(var/mob/living/target in targets)
|
||||
var/list/L = list()
|
||||
for(var/turf/T in get_area_turfs(thearea.type))
|
||||
@@ -64,6 +67,7 @@
|
||||
|
||||
if(!success)
|
||||
target.loc = pick(L)
|
||||
playsound(get_turf(usr), sound2, 50,1)
|
||||
|
||||
return
|
||||
|
||||
|
||||
@@ -31,7 +31,12 @@
|
||||
user << "<span class='notice'>They are too far away!</span>"
|
||||
return
|
||||
|
||||
var/choice = pick(/obj/item/clothing/mask/spig, /obj/item/clothing/mask/cowmask, /obj/item/clothing/mask/horsehead)
|
||||
var/list/masks = list(/obj/item/clothing/mask/spig, /obj/item/clothing/mask/cowmask, /obj/item/clothing/mask/horsehead)
|
||||
var/list/mSounds = list("sound/magic/PigHead_curse.ogg", "sound/magic/CowHead_Curse.ogg", "sound/magic/HorseHead_curse.ogg")
|
||||
var/randM = rand(1,3)
|
||||
|
||||
|
||||
var/choice = masks[randM]
|
||||
var/obj/item/clothing/mask/magichead = new choice
|
||||
magichead.flags |=NODROP
|
||||
magichead.flags_inv = null
|
||||
@@ -40,5 +45,6 @@
|
||||
if(!target.unEquip(target.wear_mask))
|
||||
qdel(target.wear_mask)
|
||||
target.equip_to_slot_if_possible(magichead, slot_wear_mask, 1, 1)
|
||||
playsound(get_turf(target), mSounds[randM], 50, 1)
|
||||
|
||||
flick("e_flash", target.flash)
|
||||
|
||||
@@ -85,4 +85,5 @@
|
||||
else if(burnt_out)
|
||||
user << "<span class='caution'>[charged_item] doesn't seem to be reacting to the spell...</span>"
|
||||
else
|
||||
playsound(get_turf(usr), "sound/magic/Charge.ogg", 50, 1)
|
||||
user << "<span class='notice'>[charged_item] suddenly feels very warm!</span>"
|
||||
|
||||
@@ -16,14 +16,11 @@
|
||||
var/cast_sound = 'sound/items/welder.ogg'
|
||||
|
||||
/obj/effect/proc_holder/spell/aoe_turf/conjure/cast(list/targets)
|
||||
|
||||
playsound(get_turf(usr), cast_sound, 50,1)
|
||||
for(var/turf/T in targets)
|
||||
if(T.density && !summon_ignore_density)
|
||||
targets -= T
|
||||
|
||||
if(cast_sound)
|
||||
playsound(src.loc, cast_sound, 50, 1)
|
||||
|
||||
for(var/i=0,i<summon_amt,i++)
|
||||
if(!targets.len)
|
||||
break
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
perform(list(T))
|
||||
|
||||
/obj/effect/proc_holder/spell/dumbfire/cast(list/targets, mob/user = usr)
|
||||
|
||||
playMagSound()
|
||||
for(var/turf/target in targets)
|
||||
spawn(0)
|
||||
var/obj/effect/proc_holder/spell/targeted/projectile
|
||||
|
||||
@@ -6,9 +6,10 @@
|
||||
var/emp_light = 3
|
||||
|
||||
action_icon_state = "emp"
|
||||
sound = "sound/weapons/ZapBang.ogg"
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/emplosion/cast(list/targets)
|
||||
|
||||
playsound(get_turf(usr), sound, 50,1)
|
||||
for(var/mob/living/target in targets)
|
||||
empulse(target.loc, emp_heavy, emp_light)
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
action_icon_state = "jaunt"
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/cast(list/targets) //magnets, so mostly hardcoded
|
||||
playsound(get_turf(usr), 'sound/magic/Ethereal_Enter.ogg', 50, 1, -1)
|
||||
for(var/mob/living/target in targets)
|
||||
target.notransform = 1 //protects the mob from being transformed (replaced) midjaunt and getting stuck in bluespace
|
||||
spawn(0)
|
||||
@@ -44,6 +45,7 @@
|
||||
jaunt_steam(mobloc)
|
||||
target.canmove = 0
|
||||
holder.reappearing = 1
|
||||
playsound(get_turf(usr), 'sound/magic/Ethereal_Exit.ogg', 50, 1, -1)
|
||||
sleep(20)
|
||||
jaunt_reappear(animation, target)
|
||||
sleep(5)
|
||||
@@ -62,9 +64,11 @@
|
||||
animation.icon_state = "liquify"
|
||||
flick("liquify",animation)
|
||||
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/proc/jaunt_reappear(var/atom/movable/overlay/animation, var/mob/living/target)
|
||||
flick("reappear",animation)
|
||||
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/proc/jaunt_steam(var/mobloc)
|
||||
var/datum/effect/effect/system/steam_spread/steam = new /datum/effect/effect/system/steam_spread()
|
||||
steam.set_up(10, 0, mobloc)
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/genetic/cast(list/targets)
|
||||
|
||||
playMagSound()
|
||||
for(var/mob/living/carbon/target in targets)
|
||||
for(var/A in mutations)
|
||||
target.dna.add_mutation(A)
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
/obj/effect/proc_holder/spell/targeted/inflict_handler/cast(list/targets)
|
||||
|
||||
for(var/mob/living/target in targets)
|
||||
playsound(target,sound, 50,1)
|
||||
switch(destroys)
|
||||
if("gib")
|
||||
target.gib()
|
||||
|
||||
@@ -13,10 +13,12 @@
|
||||
action_icon_state = "knock"
|
||||
|
||||
/obj/effect/proc_holder/spell/aoe_turf/knock/cast(list/targets)
|
||||
usr << sound("sound/magic/Knock.ogg")
|
||||
for(var/turf/T in targets)
|
||||
for(var/obj/machinery/door/door in T.contents)
|
||||
spawn(1)
|
||||
if(istype(door,/obj/machinery/door/airlock))
|
||||
door:locked = 0
|
||||
door.open()
|
||||
|
||||
return
|
||||
@@ -13,6 +13,7 @@
|
||||
var/energy = 0
|
||||
var/ready = 0
|
||||
var/image/halo = null
|
||||
var/sound/Snd // so far only way i can think of to stop a sound, thank MSO for the idea.
|
||||
|
||||
action_icon_state = "lightning"
|
||||
|
||||
@@ -28,8 +29,10 @@
|
||||
/obj/effect/proc_holder/spell/targeted/lightning/proc/StartChargeup(mob/user = usr)
|
||||
ready = 1
|
||||
user << "<span class='notice'>You start gathering the power.</span>"
|
||||
Snd = new/sound('sound/magic/lightning_chargeup.ogg',channel = 7)
|
||||
halo = image("icon"='icons/effects/effects.dmi',"icon_state" ="electricity","layer" = EFFECTS_LAYER)
|
||||
user.overlays.Add(halo)
|
||||
playsound(get_turf(usr), Snd, 50, 0)
|
||||
spawn(0)
|
||||
while(ready)
|
||||
energy++
|
||||
@@ -59,21 +62,23 @@ obj/effect/proc_holder/spell/targeted/lightning/proc/Reset(mob/user = usr)
|
||||
/obj/effect/proc_holder/spell/targeted/lightning/cast(list/targets, mob/user = usr)
|
||||
ready = 0
|
||||
var/mob/living/carbon/target = targets[1]
|
||||
|
||||
Snd=sound(null, repeat = 0, wait = 1, channel = Snd.channel) //byond, why you suck?
|
||||
playsound(get_turf(usr),Snd,50,0)// Sorry MrPerson, but the other ways just didn't do it the way i needed to work, this is the only way.
|
||||
if(get_dist(user,target)>range)
|
||||
user << "<span class='notice'>They are too far away!</span>"
|
||||
Reset(user)
|
||||
return
|
||||
|
||||
playsound(get_turf(usr), 'sound/magic/lightningbolt.ogg', 50, 1)
|
||||
user.Beam(target,icon_state="lightning",icon='icons/effects/effects.dmi',time=5)
|
||||
|
||||
switch(energy)
|
||||
if(1 to 25)
|
||||
target.electrocute_act(10,"Lightning Bolt")
|
||||
playsound(get_turf(target), 'sound/machines/defib_zap.ogg', 50, 1, -1)
|
||||
playsound(get_turf(target), 'sound/magic/LightningShock.ogg', 50, 1, -1)
|
||||
if(25 to 75)
|
||||
target.electrocute_act(25,"Lightning Bolt")
|
||||
playsound(get_turf(target), 'sound/machines/defib_zap.ogg', 50, 1, -1)
|
||||
playsound(get_turf(target), 'sound/magic/LightningShock.ogg', 50, 1, -1)
|
||||
if(75 to 100)
|
||||
//CHAIN LIGHTNING
|
||||
Bolt(user,target,energy,user)
|
||||
@@ -84,10 +89,10 @@ obj/effect/proc_holder/spell/targeted/lightning/proc/Reset(mob/user = usr)
|
||||
var/mob/living/carbon/current = target
|
||||
if(bolt_energy < 75)
|
||||
current.electrocute_act(25,"Lightning Bolt")
|
||||
playsound(get_turf(current), 'sound/machines/defib_zap.ogg', 50, 1, -1)
|
||||
playsound(get_turf(current), 'sound/magic/LightningShock.ogg', 50, 1, -1)
|
||||
else
|
||||
current.electrocute_act(25,"Lightning Bolt")
|
||||
playsound(get_turf(current), 'sound/machines/defib_zap.ogg', 50, 1, -1)
|
||||
playsound(get_turf(current), 'sound/magic/LightningShock.ogg', 50, 1, -1)
|
||||
var/list/possible_targets = new
|
||||
for(var/mob/living/M in view_or_range(range,target,"view"))
|
||||
if(user == M || target == M && los_check(current,M)) // || origin == M ? Not sure double shockings is good or not
|
||||
|
||||
@@ -77,3 +77,5 @@ Also, you never added distance checking after target is selected. I've went ahea
|
||||
//Here we paralyze both mobs and knock them out for a time.
|
||||
caster.Paralyse(paralysis_amount_caster)
|
||||
victim.Paralyse(paralysis_amount_victim)
|
||||
caster << sound('sound/magic/MandSwap.ogg')
|
||||
victim << sound('sound/magic/MandSwap.ogg')// only the caster and victim hear the sounds, that way no one knows for sure if the swap happened
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
var/proj_trail_icon = 'icons/obj/wizard.dmi'
|
||||
var/proj_trail_icon_state = "trail"
|
||||
|
||||
|
||||
var/proj_type = "/obj/effect/proc_holder/spell/targeted" //IMPORTANT use only subtypes of this
|
||||
|
||||
var/proj_lingering = 0 //if it lingers or disappears upon hitting an obstacle
|
||||
@@ -22,7 +23,7 @@
|
||||
var/proj_step_delay = 1 //lower = faster
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/projectile/cast(list/targets, mob/user = usr)
|
||||
|
||||
playMagSound()
|
||||
for(var/mob/living/target in targets)
|
||||
spawn(0)
|
||||
var/obj/effect/proc_holder/spell/targeted/projectile
|
||||
|
||||
@@ -104,8 +104,11 @@
|
||||
if(butterfingers)
|
||||
item_to_retrive.loc = user.loc
|
||||
item_to_retrive.loc.visible_message("<span class='caution'>The [item_to_retrive.name] suddenly appears!</span>")
|
||||
playsound(get_turf(user),"sound/magic/SummonItems_generic.ogg",50,1)
|
||||
else
|
||||
item_to_retrive.loc.visible_message("<span class='caution'>The [item_to_retrive.name] suddenly appears in [user]'s hand!</span>")
|
||||
playsound(get_turf(user),"sound/magic/SummonItems_generic.ogg",50,1)
|
||||
|
||||
|
||||
if(message)
|
||||
user << message
|
||||
user << message
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
..()
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/trigger/cast(list/targets)
|
||||
playMagSound()
|
||||
for(var/mob/living/target in targets)
|
||||
for(var/obj/effect/proc_holder/spell/spell in contents)
|
||||
spell.perform(list(target),0)
|
||||
|
||||
@@ -8,8 +8,11 @@
|
||||
|
||||
var/include_space = 0 //whether it includes space tiles in possible teleport locations
|
||||
var/include_dense = 0 //whether it includes dense tiles in possible teleport locations
|
||||
var/sound1 = "sound/weapons/ZapBang.ogg"
|
||||
var/sound2 = "sound/weapons/ZapBang.ogg"
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/turf_teleport/cast(list/targets)
|
||||
playsound(get_turf(usr), sound1, 50,1)
|
||||
for(var/mob/living/target in targets)
|
||||
var/list/turfs = new/list()
|
||||
for(var/turf/T in range(target,outer_tele_radius))
|
||||
@@ -34,3 +37,4 @@
|
||||
|
||||
if(!target.Move(picked))
|
||||
target.loc = picked
|
||||
playsound(get_turf(usr), sound2, 50,1)
|
||||
|
||||
@@ -25,10 +25,12 @@
|
||||
proj_trail_icon_state = "magicmd"
|
||||
|
||||
action_icon_state = "magicm"
|
||||
sound = "sound/magic/MAGIC_MISSILE.ogg"
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/inflict_handler/magic_missile
|
||||
amt_weakened = 3
|
||||
amt_dam_fire = 10
|
||||
sound = "sound/magic/MM_Hit.ogg"
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/genetic/mutate
|
||||
name = "Mutate"
|
||||
@@ -49,6 +51,7 @@
|
||||
cooldown_min = 300 //25 deciseconds reduction per rank
|
||||
|
||||
action_icon_state = "mutate"
|
||||
sound = "sound/magic/Mutate.ogg"
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/inflict_handler/disintegrate
|
||||
name = "Disintegrate"
|
||||
@@ -68,6 +71,7 @@
|
||||
sparks_amt = 4
|
||||
|
||||
action_icon_state = "gib"
|
||||
sound = "sound/magic/Disintegrate.ogg"
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/smoke
|
||||
name = "Smoke"
|
||||
@@ -100,6 +104,7 @@
|
||||
|
||||
emp_heavy = 6
|
||||
emp_light = 10
|
||||
sound = "sound/magic/Disable_Tech.ogg"
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/turf_teleport/blink
|
||||
name = "Blink"
|
||||
@@ -124,6 +129,8 @@
|
||||
centcom_cancast = 0 //prevent people from getting to centcom
|
||||
|
||||
action_icon_state = "blink"
|
||||
sound1="sound/magic/blink.ogg"
|
||||
sound2="sound/magic/blink.ogg"
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/area_teleport/teleport
|
||||
name = "Teleport"
|
||||
@@ -140,6 +147,8 @@
|
||||
|
||||
smoke_spread = 1
|
||||
smoke_amt = 5
|
||||
sound1="sound/magic/Teleport_diss.ogg"
|
||||
sound2="sound/magic/Teleport_app.ogg"
|
||||
|
||||
/obj/effect/proc_holder/spell/aoe_turf/conjure/forcewall
|
||||
name = "Forcewall"
|
||||
@@ -157,6 +166,7 @@
|
||||
summon_lifespan = 300
|
||||
|
||||
action_icon_state = "shield"
|
||||
cast_sound = "sound/magic/ForceWall.ogg"
|
||||
|
||||
|
||||
/obj/effect/proc_holder/spell/aoe_turf/conjure/carp
|
||||
@@ -171,6 +181,7 @@
|
||||
range = 1
|
||||
|
||||
summon_type = list(/mob/living/simple_animal/hostile/carp)
|
||||
cast_sound = "sound/magic/Summon_Karp.ogg"
|
||||
|
||||
|
||||
/obj/effect/proc_holder/spell/aoe_turf/conjure/construct
|
||||
@@ -187,6 +198,7 @@
|
||||
summon_type = list(/obj/structure/constructshell)
|
||||
|
||||
action_icon_state = "artificer"
|
||||
cast_sound = "sound/magic/SummonItems_generic.ogg"
|
||||
|
||||
|
||||
/obj/effect/proc_holder/spell/aoe_turf/conjure/creature
|
||||
@@ -202,6 +214,7 @@
|
||||
range = 3
|
||||
|
||||
summon_type = list(/mob/living/simple_animal/hostile/creature)
|
||||
cast_sound = "sound/magic/SummonItems_generic.ogg"
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/trigger/blind
|
||||
name = "Blind"
|
||||
@@ -219,13 +232,17 @@
|
||||
|
||||
action_icon_state = "blind"
|
||||
|
||||
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/inflict_handler/blind
|
||||
amt_eye_blind = 10
|
||||
amt_eye_blurry = 20
|
||||
sound="sound/magic/Blind.ogg"
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/genetic/blind
|
||||
disabilities = 1
|
||||
duration = 300
|
||||
sound="sound/magic/Blind.ogg"
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/inflict_handler/flesh_to_stone
|
||||
name = "Flesh to Stone"
|
||||
@@ -243,6 +260,7 @@
|
||||
summon_type = "/obj/structure/closet/statue"
|
||||
|
||||
action_icon_state = "statue"
|
||||
sound = "sound/magic/FleshToStone.ogg"
|
||||
|
||||
/obj/effect/proc_holder/spell/dumbfire/fireball
|
||||
name = "Fireball"
|
||||
@@ -264,6 +282,7 @@
|
||||
proj_step_delay = 1
|
||||
|
||||
action_icon_state = "fireball"
|
||||
sound = "sound/magic/Fireball.ogg"
|
||||
|
||||
/obj/effect/proc_holder/spell/turf/fireball/cast(var/turf/T)
|
||||
explosion(T, -1, 0, 2, 3, 0, flame_range = 2)
|
||||
@@ -298,6 +317,7 @@
|
||||
var/list/thrownatoms = list()
|
||||
var/atom/throwtarget
|
||||
var/distfromcaster
|
||||
playsound(user, "sound/magic/Repulse.ogg", 50, 1, -1)
|
||||
for(var/turf/T in targets) //Done this way so things don't get thrown all around hilariously.
|
||||
for(var/atom/movable/AM in T)
|
||||
thrownatoms += AM
|
||||
|
||||
@@ -87,6 +87,7 @@
|
||||
if("car")
|
||||
var/obj/item/weapon/gun/projectile/automatic/m90/gat = new(get_turf(H))
|
||||
gat.pin = new /obj/item/device/firing_pin
|
||||
playsound(get_turf(H),'sound/magic/Summon_guns.ogg', 50, 1)
|
||||
|
||||
else
|
||||
switch (randomizemagic)
|
||||
@@ -149,6 +150,8 @@
|
||||
if("necromantic")
|
||||
new /obj/item/device/necromantic_stone(get_turf(H))
|
||||
H << "<span class='notice'>You suddenly feel lucky.</span>"
|
||||
playsound(get_turf(H),'sound/magic/Summon_Magic.ogg', 50, 1)
|
||||
|
||||
|
||||
/proc/summonevents()
|
||||
if(!SSevent.wizardmode)
|
||||
|
||||
@@ -331,6 +331,7 @@
|
||||
max_uses++
|
||||
uses = uses + 2 //refund plus a free point
|
||||
active_challenges += "summon guns"
|
||||
playsound(get_turf(H),"sound/magic/CastSummon.ogg",50,1)
|
||||
temp = "You have cast summon guns and gained an extra charge for your spellbook."
|
||||
if("summonmagic")
|
||||
feedback_add_details("wizard_spell_learned","SU") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
|
||||
@@ -338,10 +339,12 @@
|
||||
max_uses++
|
||||
uses = uses + 2 //refund plus a free point
|
||||
active_challenges += "summon magic"
|
||||
playsound(get_turf(H),"sound/magic/CastSummon.ogg",50,1)
|
||||
temp = "You have cast summon magic and gained an extra charge for your spellbook."
|
||||
if("summonevents")
|
||||
feedback_add_details("wizard_spell_learned","SE") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells
|
||||
summonevents()
|
||||
playsound(get_turf(H),"sound/magic/CastSummon.ogg",50,1)
|
||||
max_uses--
|
||||
temp = "You have cast summon events."
|
||||
if("staffchange")
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
/obj/item/weapon/gun/magic/staff/change
|
||||
name = "staff of change"
|
||||
desc = "An artefact that spits bolts of coruscating energy which cause the target's very form to reshape itself"
|
||||
fire_sound = "sound/magic/Staff_Change.ogg"
|
||||
ammo_type = /obj/item/ammo_casing/magic/change
|
||||
icon_state = "staffofchange"
|
||||
item_state = "staffofchange"
|
||||
@@ -11,6 +12,7 @@
|
||||
/obj/item/weapon/gun/magic/staff/animate
|
||||
name = "staff of animation"
|
||||
desc = "An artefact that spits bolts of life-force which causes objects which are hit by it to animate and come to life! This magic doesn't affect machines."
|
||||
fire_sound = "sound/magic/Staff_animation.ogg"
|
||||
ammo_type = /obj/item/ammo_casing/magic/animate
|
||||
icon_state = "staffofanimation"
|
||||
item_state = "staffofanimation"
|
||||
@@ -18,6 +20,7 @@
|
||||
/obj/item/weapon/gun/magic/staff/healing
|
||||
name = "staff of healing"
|
||||
desc = "An artefact that spits bolts of restoring magic which can remove ailments of all kinds and even raise the dead."
|
||||
fire_sound = "sound/magic/Staff_Healing.ogg"
|
||||
ammo_type = /obj/item/ammo_casing/magic/heal
|
||||
icon_state = "staffofhealing"
|
||||
item_state = "staffofhealing"
|
||||
@@ -25,6 +28,7 @@
|
||||
/obj/item/weapon/gun/magic/staff/chaos
|
||||
name = "staff of chaos"
|
||||
desc = "An artefact that spits bolts of chaotic magic that can potentially do anything."
|
||||
fire_sound = "sound/magic/Staff_Chaos.ogg"
|
||||
ammo_type = /obj/item/ammo_casing/magic/chaos
|
||||
icon_state = "staffofchaos"
|
||||
item_state = "staffofchaos"
|
||||
@@ -35,6 +39,7 @@
|
||||
/obj/item/weapon/gun/magic/staff/door
|
||||
name = "staff of door creation"
|
||||
desc = "An artefact that spits bolts of transformative magic that can create doors in walls."
|
||||
fire_sound = "sound/magic/Staff_Door.ogg"
|
||||
ammo_type = /obj/item/ammo_casing/magic/door
|
||||
icon_state = "staffofdoor"
|
||||
item_state = "staffofdoor"
|
||||
|
||||
@@ -60,6 +60,7 @@
|
||||
/obj/item/weapon/gun/magic/wand/death
|
||||
name = "wand of death"
|
||||
desc = "This deadly wand overwhelms the victim's body with pure energy, slaying them without fail."
|
||||
fire_sound = "sound/magic/WandoDeath.ogg"
|
||||
ammo_type = /obj/item/ammo_casing/magic/death
|
||||
icon_state = "deathwand"
|
||||
max_charges = 3 //3, 2, 2, 1
|
||||
@@ -80,6 +81,7 @@
|
||||
name = "wand of healing"
|
||||
desc = "This wand uses healing magics to heal and revive. They are rarely utilized within the Wizard Federation for some reason."
|
||||
ammo_type = /obj/item/ammo_casing/magic/heal
|
||||
fire_sound = "sound/magic/Staff_Healing.ogg"
|
||||
icon_state = "revivewand"
|
||||
max_charges = 10 //10, 5, 5, 4
|
||||
|
||||
@@ -98,6 +100,7 @@
|
||||
desc = "This wand is attuned to chaos and will radically alter the victim's form."
|
||||
ammo_type = /obj/item/ammo_casing/magic/change
|
||||
icon_state = "polywand"
|
||||
fire_sound = "sound/magic/Staff_Change.ogg"
|
||||
max_charges = 10 //10, 5, 5, 4
|
||||
|
||||
/obj/item/weapon/gun/magic/wand/polymorph/zap_self(mob/living/user as mob)
|
||||
@@ -113,6 +116,7 @@
|
||||
name = "wand of teleportation"
|
||||
desc = "This wand will wrench targets through space and time to move them somewhere else."
|
||||
ammo_type = /obj/item/ammo_casing/magic/teleport
|
||||
fire_sound = "sound/magic/Wand_Teleport.ogg"
|
||||
icon_state = "telewand"
|
||||
max_charges = 10 //10, 5, 5, 4
|
||||
no_den_usage = 1
|
||||
@@ -134,6 +138,7 @@
|
||||
desc = "This particular wand can create doors in any wall for the unscrupulous wizard who shuns teleportation magics."
|
||||
ammo_type = /obj/item/ammo_casing/magic/door
|
||||
icon_state = "doorwand"
|
||||
fire_sound = "sound/magic/Staff_Door.ogg"
|
||||
max_charges = 20 //20, 10, 10, 7
|
||||
no_den_usage = 1
|
||||
|
||||
@@ -147,6 +152,7 @@
|
||||
/obj/item/weapon/gun/magic/wand/fireball
|
||||
name = "wand of fireball"
|
||||
desc = "This wand shoots scorching balls of fire that explode into destructive flames."
|
||||
fire_sound = "sound/magic/Fireball.ogg"
|
||||
ammo_type = /obj/item/ammo_casing/magic/fireball
|
||||
icon_state = "firewand"
|
||||
max_charges = 8 //8, 4, 4, 3
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user