New years fireworks (#16953)

* adds a firework event admins can trigger, fires fireworks at the station that do no damage, but look 'pretty'

* whoops

* oh sod it
This commit is contained in:
MadmanMartian
2017-12-31 23:45:58 +00:00
committed by Pieter-Jan Briers
parent e782707be4
commit fa1b977af9
6 changed files with 101 additions and 0 deletions

View File

@@ -478,3 +478,67 @@ var/list/blob_candidates = list()
/obj/item/weapon/meteor_gun/attack_self(mob/user as mob)
projectile_type = input(user, "Pick a meteor type.", "Projectile Choice") in typesof(/obj/item/projectile/meteor)
/obj/item/projectile/meteor/firework
name = "firework"
desc = "Oooh! Aaaaah"
icon_state = "firework"
/obj/item/projectile/meteor/firework/New()
..()
var/list/colors = list(
list(1, 0, 0, 1),
list(0, 1, 0, 1),
list(0, 0, 1, 1),
list(1, 1, 0, 1),
list(0, 1, 1, 1),
list(1, 0, 1, 1)
)
var/list/cl = list(0,0,0,0)
for(var/x = 1 to 4)
cl = pick(colors) + cl
color = cl
/obj/item/projectile/meteor/firework/to_bump(atom/A)
if(!loc)
return
explosion(get_turf(src),0,0,0)
new /obj/effect/overlay/firework_sparkle(get_turf(src))
qdel(src)
/obj/effect/overlay/firework_sparkle
name = "pretty lights"
desc = "Shiny."
icon = 'icons/obj/meteor_64x64.dmi'
icon_state = "firework_sparkle"
pixel_x = -16 * PIXEL_MULTIPLIER
pixel_y = -16 * PIXEL_MULTIPLIER
plane = ABOVE_LIGHTING_LAYER
/obj/effect/overlay/firework_sparkle/New()
..()
var/list/colors = list(
list(1, 0, 0, 1),
list(0, 1, 0, 1),
list(0, 0, 1, 1),
list(1, 1, 0, 1),
list(0, 1, 1, 1),
list(1, 0, 1, 1)
)
var/list/cl = list(0,0,0,0)
for(var/x = 1 to 4)
cl = pick(colors) + cl
color = cl
set_light(12,12)
var/matrix/M = src.transform
if(!istype(M))
M = matrix()
var/scaleby = rand(1,2)
M.Scale(scaleby, scaleby)
animate(src, transform = M, alpha = 0, time = 12)
spawn(12)
qdel(src)

View File

@@ -778,6 +778,7 @@ var/global/floorIsLava = 0
<A href='?src=\ref[src];secretsfun=immovablebig'>Spawn an Immovable Pillar</A><BR>
<A href='?src=\ref[src];secretsfun=immovablehyper'>Spawn an Immovable Monolith (highly destructive!)</A><BR>
<A href='?src=\ref[src];secretsfun=meaty_gores'>Trigger an Organic Debris Field</A><BR>
<A href='?src=\ref[src];secretsfun=fireworks'>Send some fireworks at the station</A><BR>
<BR>
<A href='?src=\ref[src];secretsfun=blobwave'>Spawn a blob cluster</A><BR>
<A href='?src=\ref[src];secretsfun=blobstorm'>Spawn a blob conglomerate</A><BR>

View File

@@ -3583,6 +3583,11 @@
feedback_add_details("admin_secrets_fun_used","ODF")
message_admins("[key_name_admin(usr)] has sent the station careening through a cloud of gore.", 1)
new /datum/event/thing_storm/meaty_gore
if("fireworks")
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","HNY")
message_admins("[key_name_admin(usr)] has sent the station some lovely fireworks!. No that's not a euphamism for meteors. Actual Fireworks for a change.",1)
new /datum/event/thing_storm/fireworks
if("silent_meteors")
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","SILM")

View File

@@ -108,6 +108,27 @@ var/global/list/thing_storm_types = list(
/obj/item/projectile/meteor/blob/node,
/obj/item/projectile/meteor/blob/node,
),
"fireworks" = list(
/obj/item/projectile/meteor/firework,
/obj/item/projectile/meteor/firework,
/obj/item/projectile/meteor/firework,
/obj/item/projectile/meteor/firework,
/obj/item/projectile/meteor/firework,
/obj/item/projectile/meteor/firework,
/obj/item/projectile/meteor/firework,
/obj/item/projectile/meteor/firework,
/obj/item/projectile/meteor/firework,
/obj/item/projectile/meteor/firework,
/obj/item/projectile/meteor/firework,
/obj/item/projectile/meteor/firework,
/obj/item/projectile/meteor/firework,
/obj/item/projectile/meteor/firework,
/obj/item/projectile/meteor/firework,
/obj/item/projectile/meteor/firework,
/obj/item/projectile/meteor/firework,
/obj/item/projectile/meteor/firework,
/obj/item/projectile/meteor/firework,
)
)
/datum/event/thing_storm
@@ -187,3 +208,13 @@ var/global/list/thing_storm_types = list(
/datum/event/thing_storm/blob_storm/end()
command_alert(/datum/command_alert/blob_storm/overminds/end)
/datum/event/thing_storm/fireworks/setup()
endWhen = rand(60, 90) + 10
storm_name="fireworks"
/datum/event/thing_storm/fireworks/tick()
meteor_wave(rand(45, 60), types = thing_storm_types[storm_name])
/datum/event/thing_storm/fireworks/announce()
command_alert("The station is about to be bombarded by light-based distraction projectiles. Source unknown. No hull breaches are likely.", "Firework Fiasco")

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 17 KiB