mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 18:32:03 +00:00
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:
committed by
Pieter-Jan Briers
parent
e782707be4
commit
fa1b977af9
@@ -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)
|
||||
@@ -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>
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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 |
Reference in New Issue
Block a user