module things, jfc
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
/obj/effect/oneway
|
||||
name = "one way effect"
|
||||
desc = "Only lets things in from it's dir."
|
||||
icon = 'icons/effects/mapping_helpers.dmi'
|
||||
icon_state = "field_dir"
|
||||
invisibility = INVISIBILITY_MAXIMUM
|
||||
anchored = TRUE
|
||||
|
||||
/obj/effect/oneway/CanPass(atom/movable/mover, turf/target)
|
||||
var/turf/T = get_turf(src)
|
||||
var/turf/MT = get_turf(mover)
|
||||
return ..() && (T == MT || get_dir(MT,T) == dir)
|
||||
|
||||
|
||||
/obj/effect/wind
|
||||
name = "wind effect"
|
||||
desc = "Creates pressure effect in it's direction. Use sparingly."
|
||||
icon = 'icons/effects/mapping_helpers.dmi'
|
||||
icon_state = "field_dir"
|
||||
invisibility = INVISIBILITY_MAXIMUM
|
||||
var/strength = 30
|
||||
|
||||
/obj/effect/wind/Initialize()
|
||||
. = ..()
|
||||
START_PROCESSING(SSobj,src)
|
||||
|
||||
/obj/effect/wind/process()
|
||||
var/turf/open/T = get_turf(src)
|
||||
if(istype(T))
|
||||
T.consider_pressure_difference(get_step(T,dir),strength)
|
||||
@@ -125,8 +125,12 @@
|
||||
|
||||
/proc/toggle_all_ctf(mob/user)
|
||||
var/ctf_enabled = FALSE
|
||||
var/area/A
|
||||
for(var/obj/machinery/capture_the_flag/CTF in GLOB.machines)
|
||||
ctf_enabled = CTF.toggle_ctf()
|
||||
A = get_area(CTF)
|
||||
for(var/obj/machinery/power/emitter/E in A)
|
||||
E.active = ctf_enabled
|
||||
message_admins("[key_name_admin(user)] has [ctf_enabled? "enabled" : "disabled"] CTF!")
|
||||
notify_ghosts("CTF has been [ctf_enabled? "enabled" : "disabled"]!",'sound/effects/ghost2.ogg')
|
||||
|
||||
@@ -154,22 +158,11 @@
|
||||
|
||||
var/list/dead_barricades = list()
|
||||
|
||||
var/static/ctf_object_typecache
|
||||
var/static/arena_reset = FALSE
|
||||
var/static/list/people_who_want_to_play = list()
|
||||
|
||||
/obj/machinery/capture_the_flag/Initialize()
|
||||
. = ..()
|
||||
if(!ctf_object_typecache)
|
||||
ctf_object_typecache = typecacheof(list(
|
||||
/turf,
|
||||
/mob,
|
||||
/area,
|
||||
/obj/machinery,
|
||||
/obj/structure,
|
||||
/obj/effect/ctf,
|
||||
/obj/item/twohanded/ctf
|
||||
))
|
||||
GLOB.poi_list |= src
|
||||
|
||||
/obj/machinery/capture_the_flag/Destroy()
|
||||
@@ -338,12 +331,20 @@
|
||||
|
||||
/obj/machinery/capture_the_flag/proc/reset_the_arena()
|
||||
var/area/A = get_area(src)
|
||||
var/list/ctf_object_typecache = typecacheof(list(
|
||||
/obj/machinery,
|
||||
/obj/effect/ctf,
|
||||
/obj/item/twohanded/ctf
|
||||
))
|
||||
for(var/atm in A)
|
||||
if(!is_type_in_typecache(atm, ctf_object_typecache))
|
||||
qdel(atm)
|
||||
if (isturf(A) || ismob(A) || isarea(A))
|
||||
continue
|
||||
if(isstructure(atm))
|
||||
var/obj/structure/S = atm
|
||||
S.obj_integrity = S.max_integrity
|
||||
else if(!is_type_in_typecache(atm, ctf_object_typecache))
|
||||
qdel(atm)
|
||||
|
||||
|
||||
/obj/machinery/capture_the_flag/proc/stop_ctf()
|
||||
ctf_enabled = FALSE
|
||||
@@ -555,7 +556,7 @@
|
||||
anchored = TRUE
|
||||
alpha = 255
|
||||
|
||||
/obj/structure/trap/examine(mob/user)
|
||||
/obj/structure/trap/ctf/examine(mob/user)
|
||||
return
|
||||
|
||||
/obj/structure/trap/ctf/trap_effect(mob/living/L)
|
||||
@@ -606,10 +607,10 @@
|
||||
/obj/effect/ctf/ammo/Crossed(atom/movable/AM)
|
||||
reload(AM)
|
||||
|
||||
/obj/effect/ctf/ammo/Collide(atom/movable/AM)
|
||||
/obj/effect/ctf/ammo/Bump(atom/movable/AM)
|
||||
reload(AM)
|
||||
|
||||
/obj/effect/ctf/ammo/CollidedWith(atom/movable/AM)
|
||||
/obj/effect/ctf/ammo/Bumped(atom/movable/AM)
|
||||
reload(AM)
|
||||
|
||||
/obj/effect/ctf/ammo/proc/reload(mob/living/M)
|
||||
|
||||
@@ -26,10 +26,11 @@
|
||||
var/assignedrole
|
||||
var/show_flavour = TRUE
|
||||
var/banType = "lavaland"
|
||||
var/ghost_usable = TRUE
|
||||
|
||||
//ATTACK GHOST IGNORING PARENT RETURN VALUE
|
||||
/obj/effect/mob_spawn/attack_ghost(mob/user)
|
||||
if(!SSticker.HasRoundStarted() || !loc)
|
||||
if(!SSticker.HasRoundStarted() || !loc || !ghost_usable)
|
||||
return
|
||||
if(!uses)
|
||||
to_chat(user, "<span class='warning'>This spawner is out of charges!</span>")
|
||||
@@ -49,7 +50,7 @@
|
||||
. = ..()
|
||||
if(instant || (roundstart && (mapload || (SSticker && SSticker.current_state > GAME_STATE_SETTING_UP))))
|
||||
create()
|
||||
else
|
||||
else if(ghost_usable)
|
||||
GLOB.poi_list |= src
|
||||
LAZYADD(GLOB.mob_spawners[name], src)
|
||||
|
||||
@@ -224,6 +225,9 @@
|
||||
death = FALSE
|
||||
roundstart = FALSE //you could use these for alive fake humans on roundstart but this is more common scenario
|
||||
|
||||
/obj/effect/mob_spawn/human/corpse/delayed
|
||||
ghost_usable = FALSE //These are just not-yet-set corpses.
|
||||
instant = FALSE
|
||||
|
||||
//Non-human spawners
|
||||
|
||||
@@ -336,10 +340,10 @@
|
||||
|
||||
/obj/effect/mob_spawn/human/miner
|
||||
name = "Shaft Miner"
|
||||
outfit = /datum/outfit/job/miner/asteroid
|
||||
outfit = /datum/outfit/job/miner
|
||||
|
||||
/obj/effect/mob_spawn/human/miner/rig
|
||||
outfit = /datum/outfit/job/miner/equipped/asteroid
|
||||
outfit = /datum/outfit/job/miner/equipped/hardsuit
|
||||
|
||||
/obj/effect/mob_spawn/human/miner/explorer
|
||||
outfit = /datum/outfit/job/miner/equipped
|
||||
@@ -396,7 +400,7 @@
|
||||
name = "lifeguard sleeper"
|
||||
id_job = "Lifeguard"
|
||||
uniform = /obj/item/clothing/under/shorts/red
|
||||
|
||||
|
||||
/datum/outfit/beachbum
|
||||
name = "Beach Bum"
|
||||
glasses = /obj/item/clothing/glasses/sunglasses
|
||||
@@ -554,17 +558,3 @@
|
||||
shoes = /obj/item/clothing/shoes/sneakers/black
|
||||
suit = /obj/item/clothing/suit/armor/vest
|
||||
glasses = /obj/item/clothing/glasses/sunglasses/reagent
|
||||
|
||||
|
||||
//Aliens for the alien nest space ruin.
|
||||
/obj/effect/mob_spawn/alien/corpse/humanoid/drone
|
||||
mob_type = /mob/living/carbon/alien/humanoid/drone
|
||||
death = TRUE
|
||||
name = "alien drone"
|
||||
mob_name = "alien drone"
|
||||
|
||||
/obj/effect/mob_spawn/alien/corpse/humanoid/queen
|
||||
mob_type = /mob/living/carbon/alien/humanoid/royal/queen
|
||||
death = TRUE
|
||||
name = "alien queen"
|
||||
mob_name = "alien queen"
|
||||
@@ -134,7 +134,7 @@ GLOBAL_DATUM(the_gateway, /obj/machinery/gateway/centerstation)
|
||||
update_icon()
|
||||
|
||||
//okay, here's the good teleporting stuff
|
||||
/obj/machinery/gateway/centerstation/CollidedWith(atom/movable/AM)
|
||||
/obj/machinery/gateway/centerstation/Bumped(atom/movable/AM)
|
||||
if(!active)
|
||||
return
|
||||
if(!detect())
|
||||
@@ -210,7 +210,7 @@ GLOBAL_DATUM(the_gateway, /obj/machinery/gateway/centerstation)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/gateway/centeraway/CollidedWith(atom/movable/AM)
|
||||
/obj/machinery/gateway/centeraway/Bumped(atom/movable/AM)
|
||||
if(!detect())
|
||||
return
|
||||
if(!active)
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
idle_power_usage = 0
|
||||
active_power_usage = 0
|
||||
|
||||
active = 1
|
||||
active = TRUE
|
||||
locked = TRUE
|
||||
state = 2
|
||||
|
||||
|
||||
@@ -149,11 +149,6 @@
|
||||
|
||||
//liquid plasma!!!!!!//
|
||||
|
||||
/turf/open/floor/plasteel/vault/snowdin
|
||||
initial_gas_mix = "o2=22;n2=82;TEMP=180"
|
||||
planetary_atmos = 1
|
||||
temperature = 180
|
||||
|
||||
/turf/open/floor/plasteel/dark/snowdin
|
||||
initial_gas_mix = "o2=22;n2=82;TEMP=180"
|
||||
planetary_atmos = 1
|
||||
@@ -265,7 +260,7 @@
|
||||
/obj/item/paper/crumpled/ruins/snowdin/foreshadowing
|
||||
name = "scribbled note"
|
||||
info = {"Something's gone VERY wrong here. Jouslen has been mumbling about some weird shit in his cabin during the night and he seems always tired when we're working. I tried to confront him about it and he blew up on me,
|
||||
telling me to mind my own business. I reported him to the officer, said he'd look into it. We only got another 2 months here before we're pulled for another assignment, so this shit can't go any quicker.."}
|
||||
telling me to mind my own business. I reported him to the officer, said he'd look into it. We only got another 2 months here before we're pulled for another assignment, so this shit can't go any quicker..."}
|
||||
|
||||
/obj/item/paper/crumpled/ruins/snowdin/misc1
|
||||
name = "Mission Prologue"
|
||||
@@ -276,7 +271,7 @@
|
||||
name = "scribbled note"
|
||||
info = {"If you're reading this: GET OUT! The mining go on here has unearthed something that was once-trapped by the layers of ice on this hell-hole. The overseer and Jouslen have gone missing. The officer is
|
||||
keeping the rest of us on lockdown and I swear to god I keep hearing strange noises outside the walls at night. The gateway link has gone dead and without a supply of resources from Central, we're left
|
||||
for dead here. We haven't heard anything back from the mining squad either, so I can only assume whatever the fuck they unearthed got them first before coming for us. I don't want to die here.."}
|
||||
for dead here. We haven't heard anything back from the mining squad either, so I can only assume whatever the fuck they unearthed got them first before coming for us. I don't want to die here..."}
|
||||
|
||||
/obj/item/paper/fluff/awaymissions/snowdin/saw_usage
|
||||
name = "SAW Usage"
|
||||
@@ -563,6 +558,7 @@
|
||||
armor = list("melee" = 20, "bullet" = 10, "laser" = 0,"energy" = 5, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 25, "acid" = 25)
|
||||
cold_protection = CHEST|GROIN|ARMS|LEGS
|
||||
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
|
||||
|
||||
/obj/item/clothing/shoes/combat/coldres
|
||||
name = "insulated combat boots"
|
||||
desc = "High speed, low drag combat boots, now with an added layer of insulation."
|
||||
@@ -595,8 +591,8 @@
|
||||
death = FALSE
|
||||
faction = ROLE_SYNDICATE
|
||||
outfit = /datum/outfit/snowsyndie
|
||||
flavour_text = {"You are a syndicate operative recently awoken from cyrostatis in an underground outpost. Monitor Nanotrasen communications and record information. All intruders should be
|
||||
disposed of swirfly to assure no gathered information is stolen or lost. Try not to wander too far from the outpost as the caves can be a deadly place even for a trained operative such as yourself."}
|
||||
flavour_text = "<span class='big bold'>You are a syndicate operative recently awoken from cryostasis in an underground outpost. Monitor Nanotrasen communications and record information. All intruders should be \
|
||||
disposed of swiftly to assure no gathered information is stolen or lost. Try not to wander too far from the outpost as the caves can be a deadly place even for a trained operative such as yourself.</span>"
|
||||
|
||||
/datum/outfit/snowsyndie
|
||||
name = "Syndicate Snow Operative"
|
||||
|
||||
@@ -40,3 +40,12 @@
|
||||
/area/awaymission/spacebattle/secret
|
||||
name = "Hidden Chamber"
|
||||
icon_state = "awaycontent10"
|
||||
|
||||
/mob/living/simple_animal/hostile/syndicate/ranged/spacebattle
|
||||
loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier,
|
||||
/obj/item/gun/ballistic/automatic/c20r,
|
||||
/obj/item/shield/energy)
|
||||
|
||||
/mob/living/simple_animal/hostile/syndicate/melee/spacebattle
|
||||
deathmessage = "falls limp as they release their grip from the energy weapons, activating their self-destruct function!"
|
||||
loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier)
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
* Guns
|
||||
* Safe code hints
|
||||
* Captain's safe
|
||||
* Modified Nar-Sie
|
||||
* Modified Nar'Sie
|
||||
*/
|
||||
|
||||
|
||||
@@ -134,7 +134,7 @@ GLOBAL_VAR_INIT(sc_safecode5, "[rand(0,9)]")
|
||||
new /obj/item/stack/ore/diamond(src)
|
||||
|
||||
/*
|
||||
* Modified Nar-Sie
|
||||
* Modified Nar'Sie
|
||||
*/
|
||||
/obj/singularity/narsie/mini
|
||||
desc = "Your body becomes weak and your feel your mind slipping away as you try to comprehend what you know can't be possible."
|
||||
|
||||
@@ -132,9 +132,9 @@
|
||||
var/triggered = 0
|
||||
|
||||
/obj/effect/meatgrinder/Crossed(atom/movable/AM)
|
||||
CollidedWith(AM)
|
||||
Bumped(AM)
|
||||
|
||||
/obj/effect/meatgrinder/CollidedWith(atom/movable/AM)
|
||||
/obj/effect/meatgrinder/Bumped(atom/movable/AM)
|
||||
|
||||
if(triggered)
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user