FestiveMap 2021
@@ -0,0 +1,60 @@
|
||||
//Festive Light Poles
|
||||
|
||||
/obj/structure/streetdecor/lamp
|
||||
name = "lamp pole"
|
||||
desc = "A metal pole with latern. Very effective at lighting up the cold streets on a breezy night."
|
||||
layer = 4
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
light_power = 1.4
|
||||
light_range = 15
|
||||
light_color = "#ffffdd"
|
||||
icon = 'modular_citadel/code/modules/festive/32x64icons.dmi'
|
||||
icon_state = "lamp_post"
|
||||
max_integrity = 9999999
|
||||
|
||||
/obj/structure/streetdecor/lampfestive
|
||||
name = "festive lamp pole"
|
||||
desc = "A metal pole with latern and christmas decorations. Very effective at warming up the spirits of people."
|
||||
layer = 4
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
light_power = 1.6
|
||||
light_range = 15
|
||||
light_color = "#ffffdd"
|
||||
icon = 'modular_citadel/code/modules/festive/32x64icons.dmi'
|
||||
icon_state = "lamp_post_festive"
|
||||
max_integrity = 9999999
|
||||
|
||||
/obj/structure/streetdecor/wreathpole
|
||||
name = "wreath pole"
|
||||
desc = "A metal pole with a fancy wreath."
|
||||
layer = 4
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
|
||||
icon = 'modular_citadel/code/modules/festive/32x64icons.dmi'
|
||||
icon_state = "wreath_post"
|
||||
|
||||
/obj/structure/streetdecor/welcomesign
|
||||
name = "Welcome sign"
|
||||
desc = "A tartan trapped sign welcoming you to Nova Edina."
|
||||
layer = 4
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
|
||||
icon = 'modular_citadel/code/modules/festive/city_sign.dmi'
|
||||
icon_state = "sign"
|
||||
|
||||
/obj/structure/streetdecor/bigtree
|
||||
name = "Big festive tree"
|
||||
desc = "Big tree. Big heck. Big festive cheer!"
|
||||
layer = 4
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
light_power = 2
|
||||
light_range = 30
|
||||
light_color = "#ffeeab"
|
||||
icon = 'modular_citadel/code/modules/festive/bigtree.dmi'
|
||||
icon_state = "bigtree"
|
||||
max_integrity = 9999999
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 753 B |
|
After Width: | Height: | Size: 230 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
@@ -0,0 +1,53 @@
|
||||
/obj/effect/decal/festive
|
||||
name = "Festive item!"
|
||||
desc = "It fills you with holiday cheer."
|
||||
icon = 'modular_citadel/code/modules/festive/festive_objects.dmi'
|
||||
icon_state = "holly"
|
||||
plane = -5 //makes the graffiti visible over a wall. I think
|
||||
|
||||
/obj/effect/decal/festive/holly
|
||||
name = "Holly"
|
||||
desc = "A prickly, yet cheerful flora laden with ripe berries of festive joy."
|
||||
|
||||
/obj/effect/decal/festive/fairylights
|
||||
name = "Fairy lights"
|
||||
desc = "A strand of smol glowing lights, almost as if the lights themselves were faries."
|
||||
icon_state = "y_fairylights"
|
||||
light_power = 1.6
|
||||
light_range = 3
|
||||
light_color = "#ffeeab"
|
||||
|
||||
/obj/effect/decal/festive/mistletoe
|
||||
name = "Mistletoe"
|
||||
desc = "A plant that causes 2 victims underneath to engage in a smooch!"
|
||||
icon_state = "mistletoe"
|
||||
|
||||
/obj/effect/decal/festive/christmas_reef
|
||||
name = "Christmas reef"
|
||||
desc = "A ring reef of festive plants."
|
||||
icon_state = "christmas_reef"
|
||||
|
||||
/obj/effect/decal/festive/green_stockings
|
||||
name = "Green stockings"
|
||||
desc = "3 wee booties out on a row, hoping for presents from the fat man's tow."
|
||||
icon_state = "green_stockings"
|
||||
|
||||
/obj/effect/decal/festive/red_stockings
|
||||
name = "Red stockings"
|
||||
desc = "Santa seems to enjoy socks a lot, huh."
|
||||
icon_state = "red_stockings"
|
||||
|
||||
/obj/effect/decal/festive/large_red_stocking
|
||||
name = "Large red stocking"
|
||||
desc = "A big hecking chonker of a sock, a braisen display of greed, or simply the sock of a large man?"
|
||||
icon_state = "large_red_stocking"
|
||||
|
||||
/obj/effect/decal/festive/large_green_stocking
|
||||
name = "Large green stocking"
|
||||
desc = "They say his sock grew 3 sizes that day."
|
||||
icon_state = "large_green_stocking"
|
||||
|
||||
/obj/effect/decal/festive/christmas_ivy_string
|
||||
name = "Festive ivy"
|
||||
desc = "In a recent study performed by the local university, it was found that ivy doesn't grow to live and thrive, but instead to spread festive cheer. You cannot help but feel the holiday spirit wrangle around you fantastically." //I am super tired and I wordswordswords
|
||||
icon_state = "christmas_ivy_string"
|
||||
@@ -0,0 +1,7 @@
|
||||
/obj/item/paper/fluff/festive/note_for_qm
|
||||
name = "To the Quartermaster(s)"
|
||||
info = "Seeing as this is an event for employees spanning the entire sector, it's possible you may not be the only Quartermaster present today and you'll have to share this office should that be the case. Fortunately, you shouldn't need to share a locker - you shall find some additional lockers with quartermaster access in your department's locker room. Should you require additional lockers however, you will need to contact Central Command directly.<br>Additionally, the successful capture of a Syndicate freighter has left us with a surplus of Donksoft weaponry. Considering they pose far less of a concern than their real counterparts, your department has been put in charge of their distribution. Just be sure not to keep them all for yourself - 'tis the season of giving, after all.<br>- Administrator Roux"
|
||||
|
||||
/obj/item/paper/fluff/festive/note_for_chap
|
||||
name = "A letter to the Chaplain"
|
||||
info = "Chaplain,<br>You might not be alone in your duties today. Seeing as these are special circumstances, you will find additional supplies with which to arm your fellow clergymen.<br>Do we expect you to need to use what's inside? Thankfully, no. Alas, should malicious occult forces strike, we want your compatriots to be equipped to face them.<br>At the very least, don't just give these out to anyone. Every time I see an assistant running around with a holy 'sord', I can feel my insides crumble...<br>Soulstone Obelisk<br>Department of Higher Dimensional Affairs"
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1,26 @@
|
||||
//How to use:
|
||||
//Set the name of off the the objects you want controlled by 1 button to the same name
|
||||
//Set the tar_name of this to the same name
|
||||
//Press the button in game.
|
||||
|
||||
/obj/machinery/button/privacy
|
||||
name = "Privacy toggle"
|
||||
var/tar_name
|
||||
var/tint_objs = list()
|
||||
|
||||
/obj/machinery/button/privacy/setup_device()
|
||||
if(!device)
|
||||
for(var/obj/O in get_area(src))
|
||||
if(O.name == tar_name)
|
||||
tint_objs += O
|
||||
..()
|
||||
|
||||
/obj/machinery/button/privacy/attack_hand(mob/user)
|
||||
.=..()
|
||||
for(var/obj/O in tint_objs)
|
||||
if(O.opacity)
|
||||
O.color = "#919191"
|
||||
O.opacity = 0
|
||||
else
|
||||
O.opacity = 1
|
||||
O.color = "#000000"
|
||||
|
After Width: | Height: | Size: 707 B |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 506 B |
|
After Width: | Height: | Size: 444 B |
@@ -0,0 +1,114 @@
|
||||
/obj/vehicle/sealed/vectorcraft/rideable/Initialize()
|
||||
. = ..()
|
||||
|
||||
/obj/vehicle/sealed/vectorcraft/rideable/post_unbuckle_mob(mob/living/M)
|
||||
remove_occupant(M)
|
||||
M.pixel_x = 0
|
||||
M.pixel_y = 0
|
||||
return ..()
|
||||
|
||||
/obj/vehicle/sealed/vectorcraft/rideable/post_buckle_mob(mob/living/M)
|
||||
add_occupant(M)
|
||||
return ..()
|
||||
|
||||
/obj/vehicle/sealed/vectorcraft/rideable/move_car()
|
||||
.=..()
|
||||
driver.pixel_x = pixel_x
|
||||
driver.pixel_y = pixel_y
|
||||
driver.forceMove(src.loc)
|
||||
driver.setDir(dir)
|
||||
|
||||
/obj/vehicle/sealed/vectorcraft/rideable/mob_enter(mob/living/M)
|
||||
if(!istype(M))
|
||||
return FALSE
|
||||
M.visible_message("<span class='notice'>[M] climbs into \the [src]!</span>")
|
||||
M.forceMove(src.loc)
|
||||
add_occupant(M)
|
||||
if(!driver)
|
||||
driver = M
|
||||
if(gear != "auto")
|
||||
gear = driver.a_intent
|
||||
start_engine()
|
||||
driver.pixel_x = pixel_x
|
||||
driver.pixel_y = pixel_y
|
||||
return TRUE
|
||||
|
||||
/obj/vehicle/sealed/vectorcraft/rideable/mob_exit(mob/living/M)
|
||||
.=..()
|
||||
driver.pixel_x = 0
|
||||
driver.pixel_y = 0
|
||||
|
||||
/obj/vehicle/sealed/vectorcraft/rideable/wheelchair
|
||||
name = "Hoverchair"
|
||||
desc = "A chair with big hoverpads. It looks like you can move in this on your own."
|
||||
icon = 'icons/obj/vehicles.dmi'
|
||||
icon_state = "wheelchair"
|
||||
layer = OBJ_LAYER
|
||||
max_integrity = 100
|
||||
armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 20, "acid" = 30) //Wheelchairs aren't super tough yo
|
||||
canmove = TRUE
|
||||
density = FALSE //Thought I couldn't fix this one easily, phew
|
||||
|
||||
|
||||
max_acceleration = 1.5
|
||||
accel_step = 0.5
|
||||
acceleration = 0.35
|
||||
max_deceleration = 1
|
||||
max_velocity = 20
|
||||
boost_power = 15
|
||||
gear = "auto"
|
||||
|
||||
/obj/vehicle/sealed/vectorcraft/rideable/wheelchair/ComponentInitialize() //Since it's technically a chair I want it to have chair properties
|
||||
. = ..()
|
||||
AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE, CALLBACK(src, .proc/can_user_rotate),CALLBACK(src, .proc/can_be_rotated),null)
|
||||
|
||||
|
||||
/obj/vehicle/sealed/vectorcraft/rideable/wheelchair/Destroy()
|
||||
if(has_buckled_mobs())
|
||||
var/mob/living/carbon/H = buckled_mobs[1]
|
||||
unbuckle_mob(H)
|
||||
return ..()
|
||||
|
||||
/obj/vehicle/sealed/vectorcraft/rideable/wheelchair/move_car()
|
||||
. = ..()
|
||||
cut_overlays()
|
||||
playsound(src, 'sound/effects/roll.ogg', 75, 1)
|
||||
if(has_buckled_mobs())
|
||||
handle_rotation_overlayed()
|
||||
|
||||
/obj/vehicle/sealed/vectorcraft/rideable/wheelchair/post_buckle_mob(mob/living/user)
|
||||
. = ..()
|
||||
handle_rotation_overlayed()
|
||||
|
||||
/obj/vehicle/sealed/vectorcraft/rideable/wheelchair/post_unbuckle_mob()
|
||||
. = ..()
|
||||
cut_overlays()
|
||||
|
||||
/obj/vehicle/sealed/vectorcraft/rideable/wheelchair/setDir(newdir)
|
||||
..()
|
||||
handle_rotation(newdir)
|
||||
|
||||
/obj/vehicle/sealed/vectorcraft/rideable/wheelchair/proc/handle_rotation(direction)
|
||||
if(has_buckled_mobs())
|
||||
handle_rotation_overlayed()
|
||||
for(var/m in buckled_mobs)
|
||||
var/mob/living/buckled_mob = m
|
||||
buckled_mob.setDir(direction)
|
||||
|
||||
/obj/vehicle/sealed/vectorcraft/rideable/wheelchair/proc/handle_rotation_overlayed()
|
||||
cut_overlays()
|
||||
var/image/V = image(icon = icon, icon_state = "wheelchair_overlay", layer = FLY_LAYER, dir = src.dir)
|
||||
add_overlay(V)
|
||||
|
||||
|
||||
/obj/vehicle/sealed/vectorcraft/rideable/wheelchair/proc/can_be_rotated(mob/living/user)
|
||||
return TRUE
|
||||
|
||||
/obj/vehicle/sealed/vectorcraft/rideable/wheelchair/proc/can_user_rotate(mob/living/user)
|
||||
var/mob/living/L = driver
|
||||
if(istype(L))
|
||||
if(!user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
|
||||
return FALSE
|
||||
if(isobserver(user) && CONFIG_GET(flag/ghost_interaction))
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
After Width: | Height: | Size: 753 B |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 423 B |