Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into Delta_East_Remap
Browse files Browse the repository at this point in the history
  • Loading branch information
Hearstrings committed Nov 27, 2023
2 parents f630f31 + af51706 commit 305a885
Show file tree
Hide file tree
Showing 138 changed files with 86,688 additions and 22 deletions.
84,631 changes: 84,631 additions & 0 deletions _maps/map_files220/RandomZLevels/blackmesa.dmm

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions config/example/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -861,6 +861,7 @@ enabled_away_missions = [
"_maps/map_files220/RandomZLevels/blackmarketpackers.dmm",
"_maps/map_files220/RandomZLevels/gate_lizard.dmm",
"_maps/map_files220/RandomZLevels/caves.dmm",
"_maps/map_files220/RandomZLevels/blackmesa.dmm",
]


Expand Down
2 changes: 2 additions & 0 deletions modular_ss220/_misc/code/discord_configuration.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@
var/new_round_waiting_role = ""

/datum/configuration_section/discord_configuration/load_data(list/data)
. = ..()

CONFIG_LOAD_STR(new_round_waiting_role, data["new_round_waiting_role_id"])
56 changes: 56 additions & 0 deletions modular_ss220/aesthetics/decals/code/decals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,62 @@
/obj/effect/turf_decal/siding/wideplating/dark/end
icon_state = "siding_wideplating_end"

/obj/effect/turf_decal/siding/trimline
icon_state = "trimline_fill"
color = "#aaaaaa"
alpha = 120

/obj/effect/turf_decal/siding/trimline/corner
icon_state = "trimline_corner_fill"

/obj/effect/turf_decal/siding/trimline/end
icon_state = "trimline_end_fill"

/obj/effect/turf_decal/siding/trimline/light
color = "#FFFFFF"

/obj/effect/turf_decal/siding/trimline/light/corner
icon_state = "trimline_corner_fill"

/obj/effect/turf_decal/siding/trimline/light/end
icon_state = "trimline_end_fill"

/obj/effect/turf_decal/siding/trimline/dark
color = "#474747"

/obj/effect/turf_decal/siding/trimline/dark/corner
icon_state = "trimline_corner_fill"

/obj/effect/turf_decal/siding/trimline/dark/end
icon_state = "trimline_end_fill"

/obj/effect/turf_decal/siding/trimline/green
color = "#9FED58"

/obj/effect/turf_decal/siding/trimline/green/corner
icon_state = "trimline_corner_fill"

/obj/effect/turf_decal/siding/trimline/green/end
icon_state = "trimline_end_fill"

/obj/effect/turf_decal/siding/trimline/blue
color = "#486091"

/obj/effect/turf_decal/siding/trimline/blue/corner
icon_state = "trimline_corner_fill"

/obj/effect/turf_decal/siding/trimline/blue/end
icon_state = "trimline_end_fill"

/obj/effect/turf_decal/siding/trimline/brown
color = "#A46106"

/obj/effect/turf_decal/siding/trimline/brown/corner
icon_state = "trimline_corner_fill"

/obj/effect/turf_decal/siding/trimline/brown/end
icon_state = "trimline_end_fill"

/* TILE */
/obj/effect/turf_decal/tile
icon = 'modular_ss220/aesthetics/decals/icons/tile.dmi'
Expand Down
Binary file modified modular_ss220/aesthetics/decals/icons/siding.dmi
Binary file not shown.
3 changes: 3 additions & 0 deletions modular_ss220/aesthetics/floors/code/floors.dm
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,9 @@
floor_tile = /obj/item/stack/tile/wood/parquet/tile
broken_states = list("wood_tile-broken", "wood_tile-broken2", "wood_tile-broken3")

/turf/simulated/floor/plasteel/smooth
icon_state = "smooth"

// LIGHT FLOORS
/turf/simulated/floor/light
icon = 'icons/turf/floors.dmi'
Expand Down
Binary file modified modular_ss220/aesthetics/floors/icons/floors.dmi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
1 change: 1 addition & 0 deletions modular_ss220/clothing/_clothing.dme
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@
#include "code/under.dm"
#include "code/cloaks.dm"
#include "code/garment_bag.dm"
#include "code/hev_suit.dm"
212 changes: 212 additions & 0 deletions modular_ss220/clothing/code/hev_suit.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,212 @@
#define SOUND_BEEP(sound) add_queue(##sound, 20)
#define MORPHINE_INJECTION_DELAY (30 SECONDS)

//Suit
/obj/item/clothing/suit/space/hev
name = "\improper hazardous environment suit"
desc = "The Mark IV HEV suit protects the user from a number of hazardous environments and has in build ballistic protection."
icon = 'modular_ss220/clothing/icons/object/suits.dmi'
icon_state = "hev"
icon_override = 'modular_ss220/clothing/icons/mob/suits.dmi'
item_state = "hev"
lefthand_file = 'modular_ss220/clothing/icons/inhands/left_hand.dmi'
righthand_file = 'modular_ss220/clothing/icons/inhands/right_hand.dmi'
resistance_flags = FIRE_PROOF | ACID_PROOF | FREEZE_PROOF | STOPSPRESSUREDMAGE
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
armor = list(MELEE = 35, BULLET = 30, LASER = 20, ENERGY = 25, BOMB = 30, RAD = 100, FIRE = 80, ACID = 50)
allowed = list(
/obj/item/tank/internals/emergency_oxygen,
/obj/item/tank/internals/plasmaman,
/obj/item/gun/energy,
/obj/item/gun/projectile,
/obj/item/crowbar,
)
slowdown = 0.25

var/static/list/funny_signals = list(
COMSIG_MOB_SAY = PROC_REF(handle_speech),
COMSIG_MOB_DEATH = PROC_REF(handle_death),
COMSIG_LIVING_IGNITED = PROC_REF(handle_ignite),
COMSIG_LIVING_ELECTROCUTE_ACT = PROC_REF(handle_shock),
// COMSIG_MOB_APPLY_DAMAGE= PROC_REF(handle_damage),
)


var/list/sound_queue = list()

var/emag_doses_left = 5

var/mob/living/carbon/owner

var/obj/item/geiger_counter/GC

COOLDOWN_DECLARE(next_damage_notify)
COOLDOWN_DECLARE(next_morphine)

/obj/item/clothing/suit/space/hev/Initialize(mapload)
. = ..()
GC = new(src)
GC.scanning = TRUE
update_appearance(UPDATE_ICON)

/obj/item/clothing/suit/space/hev/Destroy()
QDEL_NULL(GC)
owner = null
return ..()

/obj/item/clothing/suit/space/hev/proc/process_sound_queue()

var/list/sound_data = sound_queue[1]
var/sound_file = sound_data[1]
var/sound_delay = sound_data[2]

playsound(src, sound_file, 50)

sound_queue.Cut(1,2)

if(!length(sound_queue))
return

addtimer(CALLBACK(src, PROC_REF(process_sound_queue)), sound_delay)

/obj/item/clothing/suit/space/hev/emag_act(mob/user, obj/item/card/emag/emag_card)
if(flags & emagged)
return FALSE
if(owner)
to_chat(owner, span_warning("You need to take off \the [name] before emagging it."))
return FALSE
flags |= emagged
do_sparks(8, FALSE, get_turf(src))
return TRUE

/obj/item/clothing/suit/space/hev/proc/add_queue(desired_file, desired_delay, purge_queue=FALSE)

var/was_empty_sound_queue = !length(sound_queue)

if(purge_queue)
sound_queue.Cut()

sound_queue += list(list(desired_file,desired_delay)) //BYOND is fucking weird so you have to do this bullshit if you want to add a list to a list.

if(was_empty_sound_queue)
addtimer(CALLBACK(src, PROC_REF(process_sound_queue)), 1 SECONDS)

return TRUE

//Signal handling.
/obj/item/clothing/suit/space/hev/equipped(mob/M, slot)
..()
if(slot == SLOT_HUD_OUTER_SUIT && iscarbon(M))
for(var/voice in funny_signals)
RegisterSignal(M, voice, funny_signals[voice])
add_queue('modular_ss220/aesthetics_sounds/sound/hev/blip.ogg', 2 SECONDS, purge_queue=TRUE)
owner = M
add_queue('modular_ss220/aesthetics_sounds/sound/hev/01_hev_logon.ogg', 11 SECONDS)
add_queue('modular_ss220/aesthetics_sounds/sound/hev/03_atmospherics_on.ogg', 6 SECONDS)
add_queue('modular_ss220/aesthetics_sounds/sound/hev/08_communications_on.ogg', 5 SECONDS)
add_queue('modular_ss220/aesthetics_sounds/sound/hev/04_vitalsigns_on.ogg', 5 SECONDS)
add_queue('modular_ss220/aesthetics_sounds/sound/hev/09_safe_day.ogg', 8 SECONDS)
else
for(var/voice in funny_signals)
UnregisterSignal(M, voice)

/obj/item/clothing/suit/space/hev/dropped(mob/M)
..()
for(var/voice in funny_signals)
UnregisterSignal(M, voice)

//Death
/obj/item/clothing/suit/space/hev/proc/handle_death(gibbed)
SIGNAL_HANDLER
add_queue('modular_ss220/aesthetics_sounds/sound/hev/death.ogg', 5 SECONDS, purge_queue=TRUE)

//Mute
/obj/item/clothing/suit/space/hev/proc/handle_speech(datum/source, mob/speech_args)
SIGNAL_HANDLER
if(!(flags & emagged))
var/static/list/cancel_messages = list(
"Вам трудно говорить, когда костюм туго сдавливает ваше горло...",
"Ваши связки ощущаются сдавленными, что пресекает любую попытку выдавить хоть какой-то звук...",
"Вы пытаетесь что-то сказать, но костюм сдавливает вам гортань..."
)

speech_args[SPEECH_MESSAGE] = "..."
to_chat(source, span_warning(pick(cancel_messages)))

//Fire
/obj/item/clothing/suit/space/hev/proc/handle_ignite(mob/living)
SIGNAL_HANDLER
SOUND_BEEP('modular_ss220/aesthetics_sounds/sound/hev/beep_3.ogg')
add_queue('modular_ss220/aesthetics_sounds/sound/hev/heat.ogg', 3 SECONDS)

//Shock
/obj/item/clothing/suit/space/hev/proc/handle_shock(mob/living)
SIGNAL_HANDLER
SOUND_BEEP('modular_ss220/aesthetics_sounds/sound/hev/beep_3.ogg')
add_queue('modular_ss220/aesthetics_sounds/sound/hev/shok.ogg', 3 SECONDS)

//Helmet
/obj/item/clothing/head/helmet/hev_helmet
name = "hazardous environment suit helmet"
desc = "The Mark IV HEV suit helmet."
icon = 'modular_ss220/clothing/icons/object/helmet.dmi'
icon_override = 'modular_ss220/clothing/icons/mob/helmet.dmi'
item_state = "hev_helmet"
icon_state = "hev0"
lefthand_file = 'modular_ss220/clothing/icons/inhands/left_hand.dmi'
righthand_file = 'modular_ss220/clothing/icons/inhands/right_hand.dmi'
armor = list(MELEE = 10, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 5, RAD = 100, FIRE = 15, ACID = 20)
flags = BLOCKHAIR | STOPSPRESSUREDMAGE | THICKMATERIAL
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE
visor_flags = STOPSPRESSUREDMAGE
flash_protect = FLASH_PROTECTION_WELDER
dog_fashion = null
var/on = FALSE
var/brightness_on = 4
actions_types = list(/datum/action/item_action/toggle_helmet_light)
var/hud_types = DATA_HUD_MEDICAL_ADVANCED

/obj/item/clothing/head/helmet/hev_helmet/Initialize(mapload)
. = ..()
if(!islist(hud_types) && hud_types)
hud_types = list(hud_types)

/obj/item/clothing/head/helmet/hev_helmet/equipped(mob/living/carbon/human/user, slot)
..()
if(slot != SLOT_HUD_HEAD)
return
for(var/new_hud in hud_types)
var/datum/atom_hud/H = GLOB.huds[new_hud]
H.add_hud_to(user)

/obj/item/clothing/head/helmet/hev_helmet/dropped(mob/living/carbon/human/user)
..()
for(var/new_hud in hud_types)
var/datum/atom_hud/H = GLOB.huds[new_hud]
H.remove_hud_from(user)

/obj/item/clothing/head/helmet/hev_helmet/ui_action_click(mob/user, toggle_helmet_light)
light_toggle(user)

/obj/item/clothing/head/helmet/hev_helmet/proc/light_toggle(mob/user)
on = !on
icon_state = "hev[on]"

if(ishuman(user))
var/mob/living/carbon/human/H = user
H.update_inv_head()

if(on)
set_light(brightness_on)
else
set_light(0)

/obj/item/clothing/head/helmet/hev_helmet/extinguish_light(force = FALSE)
if(on)
light_toggle()
visible_message("<span class='danger'>[src]'s light fades and turns off.</span>")

#undef MORPHINE_INJECTION_DELAY
#undef SOUND_BEEP
Binary file modified modular_ss220/clothing/icons/inhands/left_hand.dmi
Binary file not shown.
Binary file modified modular_ss220/clothing/icons/inhands/right_hand.dmi
Binary file not shown.
Binary file added modular_ss220/clothing/icons/mob/helmet.dmi
Binary file not shown.
Binary file modified modular_ss220/clothing/icons/mob/suits.dmi
Binary file not shown.
Binary file added modular_ss220/clothing/icons/object/helmet.dmi
Binary file not shown.
Binary file modified modular_ss220/clothing/icons/object/suits.dmi
Binary file not shown.
10 changes: 5 additions & 5 deletions modular_ss220/events/code/headcrabs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -25,19 +25,19 @@
headcrab_type = rand(0, 5)
switch(headcrab_type)
if(HEADCRAB_NORMAL)
spawn_types = list(/mob/living/simple_animal/hostile/headcrab)
spawn_types = list(/mob/living/simple_animal/hostile/blackmesa/xen/headcrab)
max_number = 6
if(HEADCRAB_FASTMIX)
spawn_types = list(/mob/living/simple_animal/hostile/headcrab, /mob/living/simple_animal/hostile/headcrab/fast)
spawn_types = list(/mob/living/simple_animal/hostile/blackmesa/xen/headcrab, /mob/living/simple_animal/hostile/blackmesa/xen/headcrab/fast)
max_number = 8
if(HEADCRAB_FAST)
spawn_types = list(/mob/living/simple_animal/hostile/headcrab/fast)
spawn_types = list(/mob/living/simple_animal/hostile/blackmesa/xen/headcrab/fast)
max_number = 6
if(HEADCRAB_POISONMIX)
spawn_types = list(/mob/living/simple_animal/hostile/headcrab, /mob/living/simple_animal/hostile/headcrab/poison)
spawn_types = list(/mob/living/simple_animal/hostile/blackmesa/xen/headcrab, /mob/living/simple_animal/hostile/blackmesa/xen/headcrab/poison)
max_number = 4
if(HEADCRAB_POISON)
spawn_types = list(/mob/living/simple_animal/hostile/headcrab/poison)
spawn_types = list(/mob/living/simple_animal/hostile/blackmesa/xen/headcrab/poison)
max_number = 3
if(HEADCRAB_SPAWNER)
spawn_types = list(/obj/structure/spawner/headcrab)
Expand Down
1 change: 1 addition & 0 deletions modular_ss220/maps220/_maps220.dme
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,4 @@
#include "code/objects.dm"
#include "code/papers.dm"
#include "code/admin.dm"
#include "code/flora.dm"
Loading

0 comments on commit 305a885

Please sign in to comment.