mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-21 21:17:44 +01:00
[READY] Ian's Birthday Holiday (#45356)
* ian's birthday * missing ) * hop shirt + bday cake is on front desk * confetti 1/2 * confetti 2/2 * corgi balloon, hop gets a knife to cut the cake * forgot knife + inhands + mapping * oranges review, old var removed * oranges request ;)
This commit is contained in:
@@ -18,7 +18,7 @@
|
||||
|
||||
/obj/effect/baseturf_helper/LateInitialize()
|
||||
if(!baseturf_to_replace)
|
||||
baseturf_to_replace = typecacheof(list(/turf/open/space,/turf/baseturf_bottom))
|
||||
baseturf_to_replace = typecacheof(list(/turf/open/space,/turf/baseturf_bottom))
|
||||
else if(!length(baseturf_to_replace))
|
||||
baseturf_to_replace = list(baseturf_to_replace = TRUE)
|
||||
else if(baseturf_to_replace[baseturf_to_replace[1]] != TRUE) // It's not associative
|
||||
@@ -230,3 +230,70 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava)
|
||||
qdel(part)
|
||||
j.update_icon()
|
||||
qdel(src)
|
||||
|
||||
|
||||
//On Ian's birthday, the hop's office is decorated.
|
||||
/obj/effect/mapping_helpers/ianbirthday
|
||||
name = "Ian's Bday Helper"
|
||||
late = TRUE
|
||||
icon_state = "iansbdayhelper"
|
||||
var/balloon_clusters = 2
|
||||
|
||||
/obj/effect/mapping_helpers/ianbirthday/LateInitialize()
|
||||
if(locate(/datum/holiday/ianbirthday) in SSevents.holidays)
|
||||
birthday()
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/mapping_helpers/ianbirthday/proc/birthday()
|
||||
var/area/a = get_area(src)
|
||||
var/list/table = list()//should only be one aka the front desk, but just in case...
|
||||
var/list/openturfs = list()
|
||||
|
||||
//confetti and a corgi balloon! (and some list stuff for more decorations)
|
||||
for(var/thing in a.contents)
|
||||
if(istype(thing, /obj/structure/table/reinforced))
|
||||
table += thing
|
||||
if(isopenturf(thing))
|
||||
new /obj/effect/decal/cleanable/confetti(thing)
|
||||
if(locate(/obj/structure/bed/dogbed/ian) in thing)
|
||||
new /obj/item/toy/balloon/corgi(thing)
|
||||
else
|
||||
openturfs += thing
|
||||
//cake + knife to cut it!
|
||||
var/turf/food_turf = get_turf(pick(table))
|
||||
new /obj/item/kitchen/knife(food_turf)
|
||||
var/obj/item/reagent_containers/food/snacks/store/cake/birthday/iancake = new(food_turf)
|
||||
iancake.desc = "Happy birthday, Ian!"
|
||||
//some balloons! this picks an open turf and pops a few balloons in and around that turf, yay.
|
||||
for(var/i in 1 to balloon_clusters)
|
||||
var/turf/clusterspot = pick_n_take(openturfs)
|
||||
new /obj/item/toy/balloon(clusterspot)
|
||||
var/balloons_left_to_give = 3 //the amount of balloons around the cluster
|
||||
var/list/dirs_to_balloon = GLOB.cardinals.Copy()
|
||||
while(balloons_left_to_give > 0)
|
||||
balloons_left_to_give--
|
||||
var/chosen_dir = pick_n_take(dirs_to_balloon)
|
||||
var/turf/balloonstep = get_step(clusterspot, chosen_dir)
|
||||
var/placed = FALSE
|
||||
if(isopenturf(balloonstep))
|
||||
var/obj/item/toy/balloon/B = new(balloonstep)//this clumps the cluster together
|
||||
placed = TRUE
|
||||
if(chosen_dir == NORTH)
|
||||
B.pixel_y -= 10
|
||||
if(chosen_dir == SOUTH)
|
||||
B.pixel_y += 10
|
||||
if(chosen_dir == EAST)
|
||||
B.pixel_x -= 10
|
||||
if(chosen_dir == WEST)
|
||||
B.pixel_x += 10
|
||||
if(!placed)
|
||||
new /obj/item/toy/balloon(clusterspot)
|
||||
//remind me to add wall decor!
|
||||
|
||||
/obj/effect/mapping_helpers/ianbirthday/admin//so admins may birthday any room
|
||||
name = "generic birthday setup"
|
||||
icon_state = "bdayhelper"
|
||||
|
||||
/obj/effect/mapping_helpers/ianbirthday/admin/LateInitialize()
|
||||
birthday()
|
||||
qdel(src)
|
||||
|
||||
Reference in New Issue
Block a user