|
|
|
|
@@ -29,7 +29,7 @@
|
|
|
|
|
var/effectQuiet = FALSE //The female sniper. If true, the pod makes no noise (including related explosions, opening sounds, etc)
|
|
|
|
|
var/effectMissile = FALSE //If true, the pod deletes the second it lands. If you give it an explosion, it will act like a missile exploding as it hits the ground
|
|
|
|
|
var/effectCircle = FALSE //If true, allows the pod to come in at any angle. Bit of a weird feature but whatever its here
|
|
|
|
|
var/style = STYLE_STANDARD //Style is a variable that keeps track of what the pod is supposed to look like. It acts as an index to the POD_STYLES list in cargo.dm defines to get the proper icon/name/desc for the pod.
|
|
|
|
|
var/style = STYLE_STANDARD //Style is a variable that keeps track of what the pod is supposed to look like. It acts as an index to the POD_STYLES list in cargo.dm defines to get the proper icon/name/desc for the pod.
|
|
|
|
|
var/reversing = FALSE //If true, the pod will not send any items. Instead, after opening, it will close again (picking up items/mobs) and fly back to centcom
|
|
|
|
|
var/landingSound //Admin sound to play when the pod lands
|
|
|
|
|
var/openingSound //Admin sound to play when the pod opens
|
|
|
|
|
@@ -76,7 +76,7 @@
|
|
|
|
|
|
|
|
|
|
/obj/structure/closet/supplypod/tool_interact(obj/item/W, mob/user)
|
|
|
|
|
if (bluespace) //We dont want to worry about interacting with bluespace pods, as they are due to delete themselves soon anyways.
|
|
|
|
|
return FALSE
|
|
|
|
|
return FALSE
|
|
|
|
|
else
|
|
|
|
|
..()
|
|
|
|
|
|
|
|
|
|
@@ -86,13 +86,15 @@
|
|
|
|
|
/obj/structure/closet/supplypod/contents_explosion() //Supplypods also protect their contents from the harmful effects of fucking exploding.
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
/obj/structure/closet/supplypod/prevent_content_explosion() //Useful for preventing epicenter explosions from damaging contents
|
|
|
|
|
return TRUE
|
|
|
|
|
|
|
|
|
|
/obj/structure/closet/supplypod/toggle(mob/living/user) //Supplypods shouldn't be able to be manually opened under any circumstances, as the open() proc generates supply order datums
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
/obj/structure/closet/supplypod/proc/preOpen() //Called before the open() proc. Handles anything that occurs right as the pod lands.
|
|
|
|
|
var/turf/T = get_turf(src)
|
|
|
|
|
var/list/B = explosionSize //Mostly because B is more readable than explosionSize :p
|
|
|
|
|
var/boomTotal = 0 //A counter used to check if the explosion does nothing
|
|
|
|
|
if (landingSound)
|
|
|
|
|
playsound(get_turf(src), landingSound, soundVolume, 0, 0)
|
|
|
|
|
for (var/mob/living/M in T)
|
|
|
|
|
@@ -108,10 +110,8 @@
|
|
|
|
|
M.gib() //After adjusting the fuck outta that brute loss we finish the job with some satisfying gibs
|
|
|
|
|
M.adjustBruteLoss(damage)
|
|
|
|
|
|
|
|
|
|
for (var/i in B)
|
|
|
|
|
boomTotal += i //Count up all the values of the explosion
|
|
|
|
|
|
|
|
|
|
if (boomTotal != 0) //If the explosion list isn't all zeroes, call an explosion
|
|
|
|
|
if (B[1] || B[2] || B[3] || B[4]) //If the explosion list isn't all zeroes, call an explosion
|
|
|
|
|
explosion(get_turf(src), B[1], B[2], B[3], flame_range = B[4], silent = effectQuiet, ignorecap = istype(src, /obj/structure/closet/supplypod/centcompod)) //less advanced equipment than bluespace pod, so larger explosion when landing
|
|
|
|
|
else if (!effectQuiet) //If our explosion list IS all zeroes, we still make a nice explosion sound (unless the effectQuiet var is true)
|
|
|
|
|
playsound(src, "explosion", landingSound ? 15 : 80, 1)
|
|
|
|
|
@@ -150,10 +150,10 @@
|
|
|
|
|
playsound(get_turf(holder), leavingSound, soundVolume, 0, 0)
|
|
|
|
|
if (reversing) //If we're reversing, we call the close proc. This sends the pod back up to centcom
|
|
|
|
|
close(holder)
|
|
|
|
|
else if (bluespace) //If we're a bluespace pod, then delete ourselves (along with our holder, if a seperate holder exists)
|
|
|
|
|
if (style != STYLE_INVISIBLE)
|
|
|
|
|
else if (bluespace) //If we're a bluespace pod, then delete ourselves (along with our holder, if a seperate holder exists)
|
|
|
|
|
if (style != STYLE_INVISIBLE)
|
|
|
|
|
do_sparks(5, TRUE, holder) //Create some sparks right before closing
|
|
|
|
|
qdel(src) //Delete ourselves and the holder
|
|
|
|
|
qdel(src) //Delete ourselves and the holder
|
|
|
|
|
if (holder != src)
|
|
|
|
|
qdel(holder)
|
|
|
|
|
|
|
|
|
|
|