mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-12 11:13:16 +00:00
Merge branch 'master' of https://github.com/Baystation12/Baystation12 into dev
This commit is contained in:
@@ -11,7 +11,7 @@ datum/directive/terminations/alien_fraud
|
|||||||
datum/directive/terminations/alien_fraud/get_crew_to_terminate()
|
datum/directive/terminations/alien_fraud/get_crew_to_terminate()
|
||||||
var/list/aliens[0]
|
var/list/aliens[0]
|
||||||
for(var/mob/M in player_list)
|
for(var/mob/M in player_list)
|
||||||
if (M.is_ready() && is_alien(M))
|
if (M.is_ready() && is_alien(M) && M != mode.head_loyalist.current)
|
||||||
aliens.Add(M)
|
aliens.Add(M)
|
||||||
return aliens
|
return aliens
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ datum/directive/bluespace_contagion
|
|||||||
proc/get_infection_candidates()
|
proc/get_infection_candidates()
|
||||||
var/list/candidates[0]
|
var/list/candidates[0]
|
||||||
for(var/mob/M in player_list)
|
for(var/mob/M in player_list)
|
||||||
if (M.is_ready() && !M.is_mechanical())
|
if (M.is_ready() && !M.is_mechanical() && M != mode.head_loyalist.current)
|
||||||
candidates.Add(M)
|
candidates.Add(M)
|
||||||
return candidates
|
return candidates
|
||||||
|
|
||||||
|
|||||||
@@ -552,6 +552,8 @@
|
|||||||
)
|
)
|
||||||
if(istype(M, /mob/living/carbon/human))
|
if(istype(M, /mob/living/carbon/human))
|
||||||
var/datum/organ/internal/eyes/eyes = H.internal_organs_by_name["eyes"]
|
var/datum/organ/internal/eyes/eyes = H.internal_organs_by_name["eyes"]
|
||||||
|
if(!eyes)
|
||||||
|
return
|
||||||
eyes.damage += rand(3,4)
|
eyes.damage += rand(3,4)
|
||||||
if(eyes.damage >= eyes.min_bruised_damage)
|
if(eyes.damage >= eyes.min_bruised_damage)
|
||||||
if(M.stat != 2)
|
if(M.stat != 2)
|
||||||
@@ -631,4 +633,3 @@
|
|||||||
var/obj/item/I = get_active_hand()
|
var/obj/item/I = get_active_hand()
|
||||||
if(I && !I.abstract)
|
if(I && !I.abstract)
|
||||||
I.showoff(src)
|
I.showoff(src)
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ var/list/hiss_sound = list('sound/voice/hiss1.ogg','sound/voice/hiss2.ogg','soun
|
|||||||
var/list/page_sound = list('sound/effects/pageturn1.ogg', 'sound/effects/pageturn2.ogg','sound/effects/pageturn3.ogg')
|
var/list/page_sound = list('sound/effects/pageturn1.ogg', 'sound/effects/pageturn2.ogg','sound/effects/pageturn3.ogg')
|
||||||
//var/list/gun_sound = list('sound/weapons/Gunshot.ogg', 'sound/weapons/Gunshot2.ogg','sound/weapons/Gunshot3.ogg','sound/weapons/Gunshot4.ogg')
|
//var/list/gun_sound = list('sound/weapons/Gunshot.ogg', 'sound/weapons/Gunshot2.ogg','sound/weapons/Gunshot3.ogg','sound/weapons/Gunshot4.ogg')
|
||||||
|
|
||||||
/proc/playsound(var/atom/source, soundin, vol as num, vary, extrarange as num, falloff)
|
/proc/playsound(var/atom/source, soundin, vol as num, vary, extrarange as num, falloff, var/is_global)
|
||||||
|
|
||||||
soundin = get_sfx(soundin) // same sound for everyone
|
soundin = get_sfx(soundin) // same sound for everyone
|
||||||
|
|
||||||
@@ -39,14 +39,13 @@ var/list/page_sound = list('sound/effects/pageturn1.ogg', 'sound/effects/pagetur
|
|||||||
|
|
||||||
var/new_frequency = 32000 + (frequency - 32000)*0.125 //lower the frequency. very rudimentary
|
var/new_frequency = 32000 + (frequency - 32000)*0.125 //lower the frequency. very rudimentary
|
||||||
var/new_volume = vol*0.15 //muffle the sound, like we're hearing through contact
|
var/new_volume = vol*0.15 //muffle the sound, like we're hearing through contact
|
||||||
M.playsound_local(turf_source, soundin, new_volume, vary, new_frequency, falloff)
|
M.playsound_local(turf_source, soundin, new_volume, vary, new_frequency, falloff, is_global)
|
||||||
else
|
else
|
||||||
M.playsound_local(turf_source, soundin, vol, vary, frequency, falloff)
|
M.playsound_local(turf_source, soundin, vol, vary, frequency, falloff, is_global)
|
||||||
|
|
||||||
var/const/FALLOFF_SOUNDS = 2
|
var/const/FALLOFF_SOUNDS = 0.5
|
||||||
var/const/SURROUND_CAP = 255
|
|
||||||
|
|
||||||
/mob/proc/playsound_local(var/turf/turf_source, soundin, vol as num, vary, frequency, falloff)
|
/mob/proc/playsound_local(var/turf/turf_source, soundin, vol as num, vary, frequency, falloff, is_global)
|
||||||
if(!src.client || ear_deaf > 0) return
|
if(!src.client || ear_deaf > 0) return
|
||||||
soundin = get_sfx(soundin)
|
soundin = get_sfx(soundin)
|
||||||
|
|
||||||
@@ -54,8 +53,7 @@ var/const/SURROUND_CAP = 255
|
|||||||
S.wait = 0 //No queue
|
S.wait = 0 //No queue
|
||||||
S.channel = 0 //Any channel
|
S.channel = 0 //Any channel
|
||||||
S.volume = vol
|
S.volume = vol
|
||||||
S.environment = 2
|
S.environment = -1
|
||||||
|
|
||||||
if (vary)
|
if (vary)
|
||||||
if(frequency)
|
if(frequency)
|
||||||
S.frequency = frequency
|
S.frequency = frequency
|
||||||
@@ -65,20 +63,21 @@ var/const/SURROUND_CAP = 255
|
|||||||
if(isturf(turf_source))
|
if(isturf(turf_source))
|
||||||
// 3D sounds, the technology is here!
|
// 3D sounds, the technology is here!
|
||||||
var/turf/T = get_turf(src)
|
var/turf/T = get_turf(src)
|
||||||
S.volume -= get_dist(T, turf_source) * 0.75
|
S.volume -= get_dist(T, turf_source) * 2 //multiplicative falloff to add on top of natural audio falloff.
|
||||||
|
var/datum/gas_mixture/environment = T.return_air()
|
||||||
|
if(get_dist(T, turf_source) > 2)
|
||||||
|
S.volume -= environment.return_pressure()/100 + 1
|
||||||
if (S.volume < 0)
|
if (S.volume < 0)
|
||||||
S.volume = 0
|
S.volume = 0
|
||||||
var/dx = turf_source.x - T.x // Hearing from the right/left
|
var/dx = turf_source.x - T.x // Hearing from the right/left
|
||||||
|
S.x = dx
|
||||||
S.x = round(max(-SURROUND_CAP, min(SURROUND_CAP, dx)), 1)
|
|
||||||
|
|
||||||
var/dz = turf_source.y - T.y // Hearing from infront/behind
|
var/dz = turf_source.y - T.y // Hearing from infront/behind
|
||||||
S.z = round(max(-SURROUND_CAP, min(SURROUND_CAP, dz)), 1)
|
S.z = dz
|
||||||
|
|
||||||
// The y value is for above your head, but there is no ceiling in 2d spessmens.
|
// The y value is for above your head, but there is no ceiling in 2d spessmens.
|
||||||
S.y = 1
|
S.y = 1
|
||||||
S.falloff = (falloff ? falloff : FALLOFF_SOUNDS)
|
S.falloff = (falloff ? falloff : FALLOFF_SOUNDS)
|
||||||
|
if(!is_global)
|
||||||
|
S.environment = 2
|
||||||
src << S
|
src << S
|
||||||
|
|
||||||
/client/proc/playtitlemusic()
|
/client/proc/playtitlemusic()
|
||||||
|
|||||||
@@ -1031,7 +1031,9 @@ datum/preferences
|
|||||||
if("input")
|
if("input")
|
||||||
switch(href_list["preference"])
|
switch(href_list["preference"])
|
||||||
if("name")
|
if("name")
|
||||||
var/new_name = reject_bad_name( input(user, "Choose your character's name:", "Character Preference") as text|null )
|
var/raw_name = input(user, "Choose your character's name:", "Character Preference") as text|null
|
||||||
|
if (!isnull(raw_name)) // Check to ensure that the user entered text (rather than cancel.)
|
||||||
|
var/new_name = reject_bad_name(raw_name)
|
||||||
if(new_name)
|
if(new_name)
|
||||||
real_name = new_name
|
real_name = new_name
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -159,8 +159,8 @@
|
|||||||
src.damage += 0.2 * process_accuracy
|
src.damage += 0.2 * process_accuracy
|
||||||
//Damaged one shares the fun
|
//Damaged one shares the fun
|
||||||
else
|
else
|
||||||
var/victim = pick(owner.internal_organs)
|
var/datum/organ/internal/O = pick(owner.internal_organs)
|
||||||
var/datum/organ/internal/O = owner.internal_organs[victim]
|
if(O)
|
||||||
O.damage += 0.2 * process_accuracy
|
O.damage += 0.2 * process_accuracy
|
||||||
|
|
||||||
//Detox can heal small amounts of damage
|
//Detox can heal small amounts of damage
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
H << "\red You have a monitor for a head, where do you think you're going to put that?"
|
H << "\red You have a monitor for a head, where do you think you're going to put that?"
|
||||||
return
|
return
|
||||||
|
|
||||||
M << "\blue You swallow a gulp of [src]."
|
M << "\blue You swallow a gulp from \the [src]."
|
||||||
if(reagents.total_volume)
|
if(reagents.total_volume)
|
||||||
reagents.trans_to_ingest(M, gulp_size)
|
reagents.trans_to_ingest(M, gulp_size)
|
||||||
|
|
||||||
|
|||||||
@@ -71,7 +71,7 @@
|
|||||||
center_of_mass = list("x"=16, "y"=10)
|
center_of_mass = list("x"=16, "y"=10)
|
||||||
if("tomatojuice")
|
if("tomatojuice")
|
||||||
icon_state = "glass_red"
|
icon_state = "glass_red"
|
||||||
name = "Glass of Tomato juf"
|
name = "Glass of Tomato juice"
|
||||||
desc = "Are you sure this is tomato juice?"
|
desc = "Are you sure this is tomato juice?"
|
||||||
center_of_mass = list("x"=16, "y"=10)
|
center_of_mass = list("x"=16, "y"=10)
|
||||||
if("blood")
|
if("blood")
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
standing_mob = 1
|
standing_mob = 1
|
||||||
load_item_visible = 1
|
load_item_visible = 1
|
||||||
load_offset_x = 0
|
load_offset_x = 0
|
||||||
load_offset_y = 8
|
load_offset_y = 7
|
||||||
|
|
||||||
var/car_limit = 3 //how many cars an engine can pull before performance degrades
|
var/car_limit = 3 //how many cars an engine can pull before performance degrades
|
||||||
active_engines = 1
|
active_engines = 1
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
standing_mob = 1
|
standing_mob = 1
|
||||||
load_item_visible = 1
|
load_item_visible = 1
|
||||||
load_offset_x = 0
|
load_offset_x = 0
|
||||||
load_offset_y = 5
|
load_offset_y = 4
|
||||||
|
|
||||||
//-------------------------------------------
|
//-------------------------------------------
|
||||||
// Standard procs
|
// Standard procs
|
||||||
@@ -44,6 +44,8 @@
|
|||||||
cell = new /obj/item/weapon/cell/high
|
cell = new /obj/item/weapon/cell/high
|
||||||
verbs -= /atom/movable/verb/pull
|
verbs -= /atom/movable/verb/pull
|
||||||
key = new()
|
key = new()
|
||||||
|
var/image/I = new(icon = 'icons/obj/vehicles.dmi', icon_state = "cargo_engine_overlay", layer = src.layer + 0.2) //over mobs
|
||||||
|
overlays += I
|
||||||
|
|
||||||
/obj/vehicle/train/cargo/engine/Move()
|
/obj/vehicle/train/cargo/engine/Move()
|
||||||
if(on && cell.charge < power_use)
|
if(on && cell.charge < power_use)
|
||||||
@@ -249,6 +251,9 @@
|
|||||||
if(istype(load, /mob/living/carbon/human))
|
if(istype(load, /mob/living/carbon/human))
|
||||||
load.pixel_y += 4
|
load.pixel_y += 4
|
||||||
|
|
||||||
|
if(load)
|
||||||
|
return 1
|
||||||
|
|
||||||
/obj/vehicle/train/cargo/engine/load(var/atom/movable/C)
|
/obj/vehicle/train/cargo/engine/load(var/atom/movable/C)
|
||||||
if(!ismob(C))
|
if(!ismob(C))
|
||||||
return 0
|
return 0
|
||||||
|
|||||||
@@ -80,7 +80,7 @@
|
|||||||
return 1
|
return 1
|
||||||
|
|
||||||
/obj/vehicle/train/MouseDrop_T(var/atom/movable/C, mob/user as mob)
|
/obj/vehicle/train/MouseDrop_T(var/atom/movable/C, mob/user as mob)
|
||||||
if(user.buckled || user.stat || user.restrained() || !Adjacent(user) || !user.Adjacent(C))
|
if(user.buckled || user.stat || user.restrained() || !Adjacent(user) || !user.Adjacent(C) || !istype(C))
|
||||||
return
|
return
|
||||||
if(istype(C,/obj/vehicle/train))
|
if(istype(C,/obj/vehicle/train))
|
||||||
latch(C, user)
|
latch(C, user)
|
||||||
|
|||||||
@@ -58,6 +58,8 @@
|
|||||||
return 0
|
return 0
|
||||||
|
|
||||||
/obj/vehicle/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
/obj/vehicle/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||||
|
if(istype(W, /obj/item/weapon/hand_labeler))
|
||||||
|
return
|
||||||
if(istype(W, /obj/item/weapon/screwdriver))
|
if(istype(W, /obj/item/weapon/screwdriver))
|
||||||
if(!locked)
|
if(!locked)
|
||||||
open = !open
|
open = !open
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Reference in New Issue
Block a user