From e848c8e8fc194e785b77d757440e244f9b0cb285 Mon Sep 17 00:00:00 2001 From: Anewbe Date: Sat, 14 Jan 2017 19:28:18 -0600 Subject: [PATCH] Ports Bay's EMP meteor --- code/game/gamemodes/meteor/meteors.dm | 43 ++++++++++++++++++-------- icons/obj/meteor.dmi | Bin 4545 -> 5422 bytes 2 files changed, 30 insertions(+), 13 deletions(-) diff --git a/code/game/gamemodes/meteor/meteors.dm b/code/game/gamemodes/meteor/meteors.dm index 7205d0e850b..393d3aee74d 100644 --- a/code/game/gamemodes/meteor/meteors.dm +++ b/code/game/gamemodes/meteor/meteors.dm @@ -5,11 +5,11 @@ /var/list/meteors_normal = list(/obj/effect/meteor/dust=3, /obj/effect/meteor/medium=8, /obj/effect/meteor/big=3, \ /obj/effect/meteor/flaming=1, /obj/effect/meteor/irradiated=3) //for normal meteor event -/var/list/meteors_threatening = list(/obj/effect/meteor/medium=4, /obj/effect/meteor/big=8, \ - /obj/effect/meteor/flaming=3, /obj/effect/meteor/irradiated=3) //for threatening meteor event +/var/list/meteors_threatening = list(/obj/effect/meteor/medium=5, /obj/effect/meteor/big=10, \ + /obj/effect/meteor/flaming=3, /obj/effect/meteor/irradiated=3, /obj/effect/meteor/emp=3) //for threatening meteor event /var/list/meteors_catastrophic = list(/obj/effect/meteor/medium=5, /obj/effect/meteor/big=75, \ - /obj/effect/meteor/flaming=10, /obj/effect/meteor/irradiated=10, /obj/effect/meteor/tunguska = 1) //for catastrophic meteor event + /obj/effect/meteor/flaming=10, /obj/effect/meteor/irradiated=10, /obj/effect/meteor/emp=10, /obj/effect/meteor/tunguska = 1) //for catastrophic meteor event /var/list/meteors_dust = list(/obj/effect/meteor/dust) //for space dust event @@ -38,7 +38,6 @@ var/Me = pickweight(meteortypes) var/obj/effect/meteor/M = new Me(pickedstart) M.dest = pickedgoal - M.z_original = startLevel spawn(0) walk_towards(M, M.dest, 1) return @@ -97,11 +96,16 @@ var/dest pass_flags = PASSTABLE var/heavy = 0 - var/z_original = 1 + var/z_original var/meteordrop = /obj/item/weapon/ore/iron var/dropamt = 2 +/obj/effect/meteor/New() + ..() + z_original = z + + /obj/effect/meteor/Move() if(z != z_original || loc == dest) qdel(src) @@ -151,7 +155,7 @@ hits-- if(hits <= 0) make_debris() - meteor_effect(heavy) + meteor_effect() qdel(src) /obj/effect/meteor/ex_act() @@ -168,8 +172,8 @@ var/obj/item/O = new meteordrop(get_turf(src)) O.throw_at(dest, 5, 10) -/obj/effect/meteor/proc/meteor_effect(var/effect=1) - if(effect) +/obj/effect/meteor/proc/meteor_effect() + if(heavy) for(var/mob/M in player_list) var/turf/T = get_turf(M) if(!T || T.z != src.z) @@ -197,7 +201,7 @@ dropamt = 3 /obj/effect/meteor/medium/meteor_effect() - ..(heavy) + ..() explosion(src.loc, 0, 1, 2, 3, 0) //Large-sized @@ -209,7 +213,7 @@ dropamt = 4 /obj/effect/meteor/big/meteor_effect() - ..(heavy) + ..() explosion(src.loc, 1, 2, 3, 4, 0) //Flaming meteor @@ -221,7 +225,7 @@ meteordrop = /obj/item/weapon/ore/phoron /obj/effect/meteor/flaming/meteor_effect() - ..(heavy) + ..() explosion(src.loc, 1, 2, 3, 4, 0, 0, 5) //Radiation meteor @@ -233,12 +237,25 @@ /obj/effect/meteor/irradiated/meteor_effect() - ..(heavy) + ..() explosion(src.loc, 0, 0, 4, 3, 0) new /obj/effect/decal/cleanable/greenglow(get_turf(src)) for(var/mob/living/L in view(5, src)) L.apply_effect(40, IRRADIATE) +/obj/effect/meteor/emp + name = "conducting meteor" + icon_state = "glowing_blue" + desc = "Hide your floppies!" + meteordrop = /obj/item/weapon/ore/osmium + dropamt = 3 + +/obj/effect/meteor/emp/meteor_effect() + ..() + // Best case scenario: Comparable to a low-yield EMP grenade. + // Worst case scenario: Comparable to a standard yield EMP grenade. + empulse(src, rand(2, 4), rand(4, 10)) + //Station buster Tunguska /obj/effect/meteor/tunguska name = "tunguska meteor" @@ -250,7 +267,7 @@ meteordrop = /obj/item/weapon/ore/phoron /obj/effect/meteor/tunguska/meteor_effect() - ..(heavy) + ..() explosion(src.loc, 5, 10, 15, 20, 0) /obj/effect/meteor/tunguska/Bump() diff --git a/icons/obj/meteor.dmi b/icons/obj/meteor.dmi index b9a83d510efe719a384bdd5115768428d73123a2..27ebc2244555402d73840f1ec92122a606f19e5c 100644 GIT binary patch literal 5422 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 Y1C`Z=ir72pr2qf`07*qoM6N<$g66VX8~^|S literal 4545 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