Merge remote-tracking branch 'refs/remotes/Citadel-Station-13/master' into modular_cit_cleaning
This commit is contained in:
@@ -172,14 +172,15 @@
|
||||
)
|
||||
|
||||
/obj/machinery/cryopod/Initialize()
|
||||
. = ..()
|
||||
update_icon()
|
||||
find_control_computer()
|
||||
return ..()
|
||||
find_control_computer(TRUE)
|
||||
|
||||
/obj/machinery/cryopod/proc/find_control_computer(urgent = 0,area/A)
|
||||
for(var/obj/machinery/computer/cryopod/C in A)
|
||||
/obj/machinery/cryopod/proc/find_control_computer(urgent = FALSE)
|
||||
for(var/obj/machinery/computer/cryopod/C in get_area(src))
|
||||
control_computer = C
|
||||
break
|
||||
if(C)
|
||||
return C
|
||||
|
||||
// Don't send messages unless we *need* the computer, and less than five minutes have passed since last time we messaged
|
||||
if(!control_computer && urgent && last_no_computer_message + 5*60*10 < world.time)
|
||||
@@ -187,7 +188,7 @@
|
||||
message_admins("Cryopod in [get_area(src)] could not find control computer!")
|
||||
last_no_computer_message = world.time
|
||||
|
||||
return control_computer != null
|
||||
return null
|
||||
|
||||
/obj/machinery/cryopod/close_machine(mob/user)
|
||||
if(!control_computer)
|
||||
|
||||
@@ -11,4 +11,7 @@
|
||||
alternate_screams = list('modular_citadel/sound/voice/scream_silicon.ogg')
|
||||
|
||||
/obj/item/clothing/head/ushanka
|
||||
alternate_screams = list('modular_citadel/sound/misc/cyka1.ogg', 'modular_citadel/sound/misc/cheekibreeki.ogg')
|
||||
alternate_screams = list('modular_citadel/sound/misc/cyka1.ogg', 'modular_citadel/sound/misc/cheekibreeki.ogg')
|
||||
|
||||
/obj/item/proc/grenade_prime_react(obj/item/grenade/nade)
|
||||
return
|
||||
@@ -16,7 +16,7 @@
|
||||
righthand_file = 'modular_citadel/icons/mob/inhands/balls_right.dmi'
|
||||
item_state = "tennis_classic"
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/mouthball.dmi'
|
||||
slot_flags = SLOT_HEAD | SLOT_NECK | SLOT_EARS //Fluff item, put it wherever you want!
|
||||
slot_flags = ITEM_SLOT_HEAD | ITEM_SLOT_NECK | ITEM_SLOT_EARS //Fluff item, put it wherever you want!
|
||||
throw_range = 14
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
return
|
||||
playsound(get_turf(src), 'sound/effects/woodhit.ogg', 75, 1, -1)
|
||||
target.Knockdown(softstun_ds, TRUE, FALSE, hardstun_ds, stam_dmg)
|
||||
add_logs(user, target, "stunned", src)
|
||||
log_combat(user, target, "stunned", src)
|
||||
src.add_fingerprint(user)
|
||||
target.visible_message("<span class ='danger'>[user] has knocked down [target] with [src]!</span>", \
|
||||
"<span class ='userdanger'>[user] has knocked down [target] with [src]!</span>")
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
//V-tech kicked in yo
|
||||
/obj/effect/proc_holder/silicon/cyborg/vtecControl
|
||||
name = "vTec Control"
|
||||
desc = "Allows finer-grained control of the vTec speed boost."
|
||||
action_icon = 'icons/mob/actions.dmi'
|
||||
action_icon_state = "Chevron_State_0"
|
||||
|
||||
var/currentState = 0
|
||||
var/maxReduction = 2
|
||||
|
||||
|
||||
/obj/effect/proc_holder/silicon/cyborg/vtecControl/Click(mob/living/silicon/robot/user)
|
||||
|
||||
var/mob/living/silicon/robot/self = usr
|
||||
|
||||
currentState = (currentState + 1) % 3
|
||||
|
||||
if(usr)
|
||||
switch(currentState)
|
||||
if (0)
|
||||
self.speed += maxReduction
|
||||
if (1)
|
||||
self.speed -= maxReduction*0.5
|
||||
if (2)
|
||||
self.speed -= maxReduction*0.5
|
||||
|
||||
action.button_icon_state = "Chevron_State_[currentState]"
|
||||
action.UpdateButtonIcon()
|
||||
|
||||
return
|
||||
@@ -1,72 +1,5 @@
|
||||
//Yes, hi. This is the file that handles Citadel's turf modifications.
|
||||
|
||||
//But before we touch turfs, we'll take some time to define a couple of things for footstep sounds.
|
||||
/mob/living
|
||||
var/makesfootstepsounds
|
||||
var/footstepcount
|
||||
|
||||
/mob/living/carbon/human
|
||||
makesfootstepsounds = TRUE
|
||||
|
||||
/atom
|
||||
var/footstepsoundoverride
|
||||
|
||||
//All of these sounds are from CEV Eris as of 11/25/2017, the time when the original PR adding footstep sounds was made.
|
||||
GLOBAL_LIST_INIT(turf_footstep_sounds, list(
|
||||
"floor" = list('modular_citadel/sound/footstep/floor1.ogg','modular_citadel/sound/footstep/floor2.ogg','modular_citadel/sound/footstep/floor3.ogg','modular_citadel/sound/footstep/floor4.ogg','modular_citadel/sound/footstep/floor5.ogg'),
|
||||
"plating" = list('modular_citadel/sound/footstep/plating1.ogg','modular_citadel/sound/footstep/plating2.ogg','modular_citadel/sound/footstep/plating3.ogg','modular_citadel/sound/footstep/plating4.ogg','modular_citadel/sound/footstep/plating5.ogg'),
|
||||
"wood" = list('modular_citadel/sound/footstep/wood1.ogg','modular_citadel/sound/footstep/wood2.ogg','modular_citadel/sound/footstep/wood3.ogg','modular_citadel/sound/footstep/wood4.ogg','modular_citadel/sound/footstep/wood5.ogg'),
|
||||
"carpet" = list('modular_citadel/sound/footstep/carpet1.ogg','modular_citadel/sound/footstep/carpet2.ogg','modular_citadel/sound/footstep/carpet3.ogg','modular_citadel/sound/footstep/carpet4.ogg','modular_citadel/sound/footstep/carpet5.ogg'),
|
||||
"hull" = list('modular_citadel/sound/footstep/hull1.ogg','modular_citadel/sound/footstep/hull2.ogg','modular_citadel/sound/footstep/hull3.ogg','modular_citadel/sound/footstep/hull4.ogg','modular_citadel/sound/footstep/hull5.ogg'),
|
||||
"catwalk" = list('modular_citadel/sound/footstep/catwalk1.ogg','modular_citadel/sound/footstep/catwalk2.ogg','modular_citadel/sound/footstep/catwalk3.ogg','modular_citadel/sound/footstep/catwalk4.ogg','modular_citadel/sound/footstep/catwalk5.ogg'),
|
||||
"asteroid" = list('modular_citadel/sound/footstep/asteroid1.ogg','modular_citadel/sound/footstep/asteroid2.ogg','modular_citadel/sound/footstep/asteroid3.ogg','modular_citadel/sound/footstep/asteroid4.ogg','modular_citadel/sound/footstep/asteroid5.ogg')
|
||||
))
|
||||
|
||||
/turf/open
|
||||
var/footstepsounds
|
||||
|
||||
/turf/open/floor
|
||||
footstepsounds = "floor"
|
||||
|
||||
/turf/open/floor/plating
|
||||
footstepsounds = "plating"
|
||||
|
||||
/turf/open/floor/wood
|
||||
footstepsounds = "wood"
|
||||
|
||||
/turf/open/floor/plating/asteroid
|
||||
footstepsounds = "asteroid"
|
||||
|
||||
/turf/open/floor/plating/dirt
|
||||
footstepsounds = "asteroid"
|
||||
|
||||
/turf/open/floor/grass
|
||||
footstepsounds = "asteroid"
|
||||
|
||||
/turf/open/floor/carpet
|
||||
footstepsounds = "carpet"
|
||||
|
||||
/turf/open/floor/plasteel/grimy
|
||||
footstepsounds = "carpet"
|
||||
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump
|
||||
footstepsoundoverride = "catwalk"
|
||||
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber
|
||||
footstepsoundoverride = "catwalk"
|
||||
|
||||
/obj/structure/disposalpipe
|
||||
footstepsoundoverride = "catwalk"
|
||||
|
||||
/obj/machinery/holopad
|
||||
footstepsoundoverride = "catwalk"
|
||||
|
||||
/obj/structure/table
|
||||
footstepsoundoverride = "hull"
|
||||
|
||||
/obj/structure/table/wood
|
||||
footstepsoundoverride = "wood"
|
||||
|
||||
/*
|
||||
/turf/open/floor/Entered(atom/obj, atom/oldloc)
|
||||
. = ..()
|
||||
@@ -89,39 +22,3 @@ GLOBAL_LIST_INIT(turf_footstep_sounds, list(
|
||||
dirtamount += round(spreadindirt.alpha * 0.05)
|
||||
dirt.alpha = min(dirtamount,255)
|
||||
return TRUE
|
||||
|
||||
//The proc that handles footsteps! It's pure, unfiltered spaghetti code.
|
||||
/mob/living/proc/CitFootstep(turf/open/floor)
|
||||
if(floor && istype(floor,/turf/open) && floor.footstepsounds)
|
||||
if(has_gravity(floor) || prob(25))
|
||||
footstepcount++
|
||||
if(canmove && !lying && !buckled && makesfootstepsounds && m_intent == MOVE_INTENT_RUN && footstepcount >= 3)
|
||||
footstepcount = 0
|
||||
var/overriddenfootstepsound
|
||||
if(footstepsoundoverride)
|
||||
if(isfile(footstepsoundoverride))
|
||||
overriddenfootstepsound = list(footstepsoundoverride)
|
||||
else
|
||||
overriddenfootstepsound = footstepsoundoverride
|
||||
if(!overriddenfootstepsound && istype(src, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = src
|
||||
if(H && H.shoes)
|
||||
var/obj/item/clothing/shoes/S = H.shoes
|
||||
if(S && S.footstepsoundoverride)
|
||||
if(isfile(S.footstepsoundoverride))
|
||||
overriddenfootstepsound = list(S.footstepsoundoverride)
|
||||
else
|
||||
overriddenfootstepsound = S.footstepsoundoverride
|
||||
if(!overriddenfootstepsound && floor.contents)
|
||||
var/objschecked
|
||||
for(var/atom/childobj in floor.contents)
|
||||
if(childobj.footstepsoundoverride && childobj.invisibility < INVISIBILITY_MAXIMUM)
|
||||
if(isfile(childobj.footstepsoundoverride))
|
||||
overriddenfootstepsound = list(childobj.footstepsoundoverride)
|
||||
else
|
||||
overriddenfootstepsound = childobj.footstepsoundoverride
|
||||
break
|
||||
objschecked++
|
||||
if(objschecked >= 25)
|
||||
break //walking on 50k foam darts didn't crash the server during my testing, but its better to be safe than sorry
|
||||
playsound(src,(overriddenfootstepsound ? (islist(overriddenfootstepsound) ? pick(overriddenfootstepsound) : pick(GLOB.turf_footstep_sounds[overriddenfootstepsound])) : (islist(floor.footstepsounds) ? pick(floor.footstepsounds) : pick(GLOB.turf_footstep_sounds[floor.footstepsounds]))),50, 1)
|
||||
|
||||
Reference in New Issue
Block a user