diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm
index 1127814cb34..2b2d80bb8bb 100644
--- a/code/controllers/subsystem/ticker.dm
+++ b/code/controllers/subsystem/ticker.dm
@@ -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'
diff --git a/code/datums/spell.dm b/code/datums/spell.dm
index b6978142e01..c01f7c427e6 100644
--- a/code/datums/spell.dm
+++ b/code/datums/spell.dm
@@ -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
diff --git a/code/datums/spells/area_teleport.dm b/code/datums/spells/area_teleport.dm
index 83aa183ae41..49f19c3a23f 100644
--- a/code/datums/spells/area_teleport.dm
+++ b/code/datums/spells/area_teleport.dm
@@ -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
diff --git a/code/datums/spells/barnyard.dm b/code/datums/spells/barnyard.dm
index 5b81f684b44..61238a7623a 100644
--- a/code/datums/spells/barnyard.dm
+++ b/code/datums/spells/barnyard.dm
@@ -31,7 +31,12 @@
user << "They are too far away!"
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)
diff --git a/code/datums/spells/charge.dm b/code/datums/spells/charge.dm
index a288e7d0421..e2fbf651a33 100644
--- a/code/datums/spells/charge.dm
+++ b/code/datums/spells/charge.dm
@@ -85,4 +85,5 @@
else if(burnt_out)
user << "[charged_item] doesn't seem to be reacting to the spell..."
else
+ playsound(get_turf(usr), "sound/magic/Charge.ogg", 50, 1)
user << "[charged_item] suddenly feels very warm!"
diff --git a/code/datums/spells/conjure.dm b/code/datums/spells/conjure.dm
index b17b5746801..13201829a45 100644
--- a/code/datums/spells/conjure.dm
+++ b/code/datums/spells/conjure.dm
@@ -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,iYou start gathering the power."
+ 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 << "They are too far away!"
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
diff --git a/code/datums/spells/mind_transfer.dm b/code/datums/spells/mind_transfer.dm
index 9a6605ff3ca..cb101ef5d8c 100644
--- a/code/datums/spells/mind_transfer.dm
+++ b/code/datums/spells/mind_transfer.dm
@@ -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
diff --git a/code/datums/spells/projectile.dm b/code/datums/spells/projectile.dm
index 3413fae3eff..5439486b935 100644
--- a/code/datums/spells/projectile.dm
+++ b/code/datums/spells/projectile.dm
@@ -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
diff --git a/code/datums/spells/summonitem.dm b/code/datums/spells/summonitem.dm
index bdd35c2dd01..e74ce4a92c6 100644
--- a/code/datums/spells/summonitem.dm
+++ b/code/datums/spells/summonitem.dm
@@ -104,8 +104,11 @@
if(butterfingers)
item_to_retrive.loc = user.loc
item_to_retrive.loc.visible_message("The [item_to_retrive.name] suddenly appears!")
+ playsound(get_turf(user),"sound/magic/SummonItems_generic.ogg",50,1)
else
item_to_retrive.loc.visible_message("The [item_to_retrive.name] suddenly appears in [user]'s hand!")
+ playsound(get_turf(user),"sound/magic/SummonItems_generic.ogg",50,1)
+
if(message)
- user << message
\ No newline at end of file
+ user << message
diff --git a/code/datums/spells/trigger.dm b/code/datums/spells/trigger.dm
index e8fbf90d805..684f51159a6 100644
--- a/code/datums/spells/trigger.dm
+++ b/code/datums/spells/trigger.dm
@@ -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)
diff --git a/code/datums/spells/turf_teleport.dm b/code/datums/spells/turf_teleport.dm
index 51e71a56c5a..7f8832ed436 100644
--- a/code/datums/spells/turf_teleport.dm
+++ b/code/datums/spells/turf_teleport.dm
@@ -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)
diff --git a/code/datums/spells/wizard.dm b/code/datums/spells/wizard.dm
index 14ba4bad123..d6cdfe7c872 100644
--- a/code/datums/spells/wizard.dm
+++ b/code/datums/spells/wizard.dm
@@ -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
diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm
index 48f661aaf47..603c2ff0d88 100644
--- a/code/game/gamemodes/wizard/rightandwrong.dm
+++ b/code/game/gamemodes/wizard/rightandwrong.dm
@@ -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 << "You suddenly feel lucky."
+ playsound(get_turf(H),'sound/magic/Summon_Magic.ogg', 50, 1)
+
/proc/summonevents()
if(!SSevent.wizardmode)
diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm
index 12ff7fb41e9..27c449dbb2f 100644
--- a/code/game/gamemodes/wizard/spellbook.dm
+++ b/code/game/gamemodes/wizard/spellbook.dm
@@ -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")
diff --git a/code/modules/projectiles/guns/magic/staff.dm b/code/modules/projectiles/guns/magic/staff.dm
index 85ab6d39e49..36777027da9 100644
--- a/code/modules/projectiles/guns/magic/staff.dm
+++ b/code/modules/projectiles/guns/magic/staff.dm
@@ -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"
diff --git a/code/modules/projectiles/guns/magic/wand.dm b/code/modules/projectiles/guns/magic/wand.dm
index 20cf03caaa3..461af979728 100644
--- a/code/modules/projectiles/guns/magic/wand.dm
+++ b/code/modules/projectiles/guns/magic/wand.dm
@@ -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
diff --git a/sound/ambience/title3.ogg b/sound/ambience/title3.ogg
new file mode 100644
index 00000000000..51951fbdd60
Binary files /dev/null and b/sound/ambience/title3.ogg differ
diff --git a/sound/magic/Blind.ogg b/sound/magic/Blind.ogg
new file mode 100644
index 00000000000..ded32a594e4
Binary files /dev/null and b/sound/magic/Blind.ogg differ
diff --git a/sound/magic/CastSummon.ogg b/sound/magic/CastSummon.ogg
new file mode 100644
index 00000000000..493fb239764
Binary files /dev/null and b/sound/magic/CastSummon.ogg differ
diff --git a/sound/magic/Charge.ogg b/sound/magic/Charge.ogg
new file mode 100644
index 00000000000..bf27fb9ae99
Binary files /dev/null and b/sound/magic/Charge.ogg differ
diff --git a/sound/magic/CowHead_Curse.ogg b/sound/magic/CowHead_Curse.ogg
new file mode 100644
index 00000000000..993b50566f2
Binary files /dev/null and b/sound/magic/CowHead_Curse.ogg differ
diff --git a/sound/magic/Disable_Tech.ogg b/sound/magic/Disable_Tech.ogg
new file mode 100644
index 00000000000..478dd042b53
Binary files /dev/null and b/sound/magic/Disable_Tech.ogg differ
diff --git a/sound/magic/Disintegrate.ogg b/sound/magic/Disintegrate.ogg
new file mode 100644
index 00000000000..d36217a5b34
Binary files /dev/null and b/sound/magic/Disintegrate.ogg differ
diff --git a/sound/magic/Ethereal_Enter.ogg b/sound/magic/Ethereal_Enter.ogg
new file mode 100644
index 00000000000..a0c7222c167
Binary files /dev/null and b/sound/magic/Ethereal_Enter.ogg differ
diff --git a/sound/magic/Ethereal_Exit.ogg b/sound/magic/Ethereal_Exit.ogg
new file mode 100644
index 00000000000..bd60ca8c695
Binary files /dev/null and b/sound/magic/Ethereal_Exit.ogg differ
diff --git a/sound/magic/Fireball.ogg b/sound/magic/Fireball.ogg
new file mode 100644
index 00000000000..b9f6937f06b
Binary files /dev/null and b/sound/magic/Fireball.ogg differ
diff --git a/sound/magic/FleshToStone.ogg b/sound/magic/FleshToStone.ogg
new file mode 100644
index 00000000000..9033d4425ed
Binary files /dev/null and b/sound/magic/FleshToStone.ogg differ
diff --git a/sound/magic/ForceWall.ogg b/sound/magic/ForceWall.ogg
new file mode 100644
index 00000000000..4fbca3f42b7
Binary files /dev/null and b/sound/magic/ForceWall.ogg differ
diff --git a/sound/magic/HorseHead_curse.ogg b/sound/magic/HorseHead_curse.ogg
new file mode 100644
index 00000000000..598d096036b
Binary files /dev/null and b/sound/magic/HorseHead_curse.ogg differ
diff --git a/sound/magic/Knock.ogg b/sound/magic/Knock.ogg
new file mode 100644
index 00000000000..fe2f54f97ac
Binary files /dev/null and b/sound/magic/Knock.ogg differ
diff --git a/sound/magic/LightningShock.ogg b/sound/magic/LightningShock.ogg
new file mode 100644
index 00000000000..341a2934d6b
Binary files /dev/null and b/sound/magic/LightningShock.ogg differ
diff --git a/sound/magic/MAGIC_MISSILE.ogg b/sound/magic/MAGIC_MISSILE.ogg
new file mode 100644
index 00000000000..9d0799d82e9
Binary files /dev/null and b/sound/magic/MAGIC_MISSILE.ogg differ
diff --git a/sound/magic/MM_Hit.ogg b/sound/magic/MM_Hit.ogg
new file mode 100644
index 00000000000..4f09ef46d51
Binary files /dev/null and b/sound/magic/MM_Hit.ogg differ
diff --git a/sound/magic/MandSwap.ogg b/sound/magic/MandSwap.ogg
new file mode 100644
index 00000000000..2f4848becb0
Binary files /dev/null and b/sound/magic/MandSwap.ogg differ
diff --git a/sound/magic/Mutate.ogg b/sound/magic/Mutate.ogg
new file mode 100644
index 00000000000..d31514f310b
Binary files /dev/null and b/sound/magic/Mutate.ogg differ
diff --git a/sound/magic/PigHead_curse.ogg b/sound/magic/PigHead_curse.ogg
new file mode 100644
index 00000000000..4195e40ba6b
Binary files /dev/null and b/sound/magic/PigHead_curse.ogg differ
diff --git a/sound/magic/Repulse.ogg b/sound/magic/Repulse.ogg
new file mode 100644
index 00000000000..ed010370754
Binary files /dev/null and b/sound/magic/Repulse.ogg differ
diff --git a/sound/magic/Smoke.ogg b/sound/magic/Smoke.ogg
new file mode 100644
index 00000000000..ca50a349676
Binary files /dev/null and b/sound/magic/Smoke.ogg differ
diff --git a/sound/magic/Staff_Change.ogg b/sound/magic/Staff_Change.ogg
new file mode 100644
index 00000000000..9e6eb72ae06
Binary files /dev/null and b/sound/magic/Staff_Change.ogg differ
diff --git a/sound/magic/Staff_Chaos.ogg b/sound/magic/Staff_Chaos.ogg
new file mode 100644
index 00000000000..e8b1c0e6adf
Binary files /dev/null and b/sound/magic/Staff_Chaos.ogg differ
diff --git a/sound/magic/Staff_Door.ogg b/sound/magic/Staff_Door.ogg
new file mode 100644
index 00000000000..220f8124825
Binary files /dev/null and b/sound/magic/Staff_Door.ogg differ
diff --git a/sound/magic/Staff_Healing.ogg b/sound/magic/Staff_Healing.ogg
new file mode 100644
index 00000000000..af2a56049c8
Binary files /dev/null and b/sound/magic/Staff_Healing.ogg differ
diff --git a/sound/magic/Staff_animation.ogg b/sound/magic/Staff_animation.ogg
new file mode 100644
index 00000000000..8abd7faa60f
Binary files /dev/null and b/sound/magic/Staff_animation.ogg differ
diff --git a/sound/magic/SummonItems_generic.ogg b/sound/magic/SummonItems_generic.ogg
new file mode 100644
index 00000000000..80cc412a4a8
Binary files /dev/null and b/sound/magic/SummonItems_generic.ogg differ
diff --git a/sound/magic/Summon_Karp.ogg b/sound/magic/Summon_Karp.ogg
new file mode 100644
index 00000000000..d3890776f6d
Binary files /dev/null and b/sound/magic/Summon_Karp.ogg differ
diff --git a/sound/magic/Summon_Magic.ogg b/sound/magic/Summon_Magic.ogg
new file mode 100644
index 00000000000..86b33032826
Binary files /dev/null and b/sound/magic/Summon_Magic.ogg differ
diff --git a/sound/magic/Summon_guns.ogg b/sound/magic/Summon_guns.ogg
new file mode 100644
index 00000000000..b9b5394a4ed
Binary files /dev/null and b/sound/magic/Summon_guns.ogg differ
diff --git a/sound/magic/Teleport_app.ogg b/sound/magic/Teleport_app.ogg
new file mode 100644
index 00000000000..dd9222ae0c3
Binary files /dev/null and b/sound/magic/Teleport_app.ogg differ
diff --git a/sound/magic/Teleport_diss.ogg b/sound/magic/Teleport_diss.ogg
new file mode 100644
index 00000000000..edc0c55ed00
Binary files /dev/null and b/sound/magic/Teleport_diss.ogg differ
diff --git a/sound/magic/WandODeath.ogg b/sound/magic/WandODeath.ogg
new file mode 100644
index 00000000000..4412609657c
Binary files /dev/null and b/sound/magic/WandODeath.ogg differ
diff --git a/sound/magic/Wand_Teleport.ogg b/sound/magic/Wand_Teleport.ogg
new file mode 100644
index 00000000000..8a300d7763f
Binary files /dev/null and b/sound/magic/Wand_Teleport.ogg differ
diff --git a/sound/magic/blink.ogg b/sound/magic/blink.ogg
new file mode 100644
index 00000000000..58b7cc8562c
Binary files /dev/null and b/sound/magic/blink.ogg differ
diff --git a/sound/magic/lightning_chargeup.ogg b/sound/magic/lightning_chargeup.ogg
new file mode 100644
index 00000000000..0af44495024
Binary files /dev/null and b/sound/magic/lightning_chargeup.ogg differ
diff --git a/sound/magic/lightningbolt.ogg b/sound/magic/lightningbolt.ogg
new file mode 100644
index 00000000000..e5f6a5731ad
Binary files /dev/null and b/sound/magic/lightningbolt.ogg differ