Skip to content

Commit

Permalink
Merge branch 'master' into tg-effects-1123
Browse files Browse the repository at this point in the history
  • Loading branch information
fira committed Nov 16, 2023
2 parents 084c827 + 91c941f commit 2eaeec0
Show file tree
Hide file tree
Showing 37 changed files with 5,119 additions and 2,122 deletions.
2 changes: 2 additions & 0 deletions code/__DEFINES/traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,8 @@
// #define TRAIT_X "t_x"

//-- mob traits --
/// Prevents voluntary movement.
#define TRAIT_IMMOBILIZED "immobilized"
/// Apply this to make a mob not dense, and remove it when you want it to no longer make them undense, other sorces of undesity will still apply. Always define a unique source when adding a new instance of this!
#define TRAIT_UNDENSE "undense"
/// Forces the user to stay unconscious.
Expand Down
105 changes: 82 additions & 23 deletions code/datums/emergency_calls/deathsquad.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

//Weyland-Yutani Deathsquad - W-Y Deathsquad. Event only
/datum/emergency_call/death
name = "Weyland Whiteout Operators"
name = "Weyland Whiteout Operators (!DEATHSQUAD!)"
mob_max = 8
mob_min = 5
arrival_message = "'!`2*%slau#*jer t*h$em a!l%. le&*ve n(o^ w&*nes%6es.*v$e %#d ou^'"
Expand All @@ -18,41 +18,76 @@


// DEATH SQUAD--------------------------------------------------------------------------------
/datum/emergency_call/death/create_member(datum/mind/M, turf/override_spawn_loc)
/datum/emergency_call/death/create_member(datum/mind/player, turf/override_spawn_loc)
var/turf/spawn_loc = override_spawn_loc ? override_spawn_loc : get_spawn_point()

if(!istype(spawn_loc))
return //Didn't find a useable spawn point.

var/mob/living/carbon/human/H = new(spawn_loc)
M.transfer_to(H, TRUE)
var/mob/living/carbon/human/person = new(spawn_loc)
player.transfer_to(person, TRUE)

if(!leader && HAS_FLAG(H.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(H.client, JOB_SQUAD_LEADER, time_required_for_job))
leader = H
to_chat(H, SPAN_ROLE_HEADER("You are the Whiteout Team Leader!"))
to_chat(H, SPAN_ROLE_BODY("Whiteout protocol is in effect for the target, all assets onboard are to be liquidated with expediency unless otherwise instructed by Weyland Yutani personnel holding the position of Director or above."))
arm_equipment(H, /datum/equipment_preset/pmc/w_y_whiteout/leader, TRUE, TRUE)
else if(medics < max_medics && HAS_FLAG(H.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(H.client, JOB_SQUAD_MEDIC, time_required_for_job))
if(!leader && HAS_FLAG(person.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(person.client, JOB_SQUAD_LEADER, time_required_for_job))
leader = person
to_chat(person, SPAN_ROLE_HEADER("You are the Whiteout Team Leader!"))
to_chat(person, SPAN_ROLE_BODY("Whiteout protocol is in effect for the target, all assets onboard are to be liquidated with expediency unless otherwise instructed by Weyland Yutani personnel holding the position of Director or above."))
arm_equipment(person, /datum/equipment_preset/pmc/w_y_whiteout/leader, TRUE, TRUE)
else if(medics < max_medics && HAS_FLAG(person.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(person.client, JOB_SQUAD_MEDIC, time_required_for_job))
medics++
to_chat(H, SPAN_ROLE_HEADER("You are a Whiteout Team Medic!"))
to_chat(H, SPAN_ROLE_BODY("Whiteout protocol is in effect for the target, all assets onboard are to be liquidated with expediency unless otherwise instructed by Weyland Yutani personnel holding the position of Director or above."))
arm_equipment(H, /datum/equipment_preset/pmc/w_y_whiteout/medic, TRUE, TRUE)
else if(heavies < max_heavies && HAS_FLAG(H.client.prefs.toggles_ert, PLAY_SMARTGUNNER) && check_timelock(H.client, list(JOB_SQUAD_SPECIALIST, JOB_SQUAD_SMARTGUN), time_required_for_job))
to_chat(person, SPAN_ROLE_HEADER("You are a Whiteout Team Medic!"))
to_chat(person, SPAN_ROLE_BODY("Whiteout protocol is in effect for the target, all assets onboard are to be liquidated with expediency unless otherwise instructed by Weyland Yutani personnel holding the position of Director or above."))
arm_equipment(person, /datum/equipment_preset/pmc/w_y_whiteout/medic, TRUE, TRUE)
else if(heavies < max_heavies && HAS_FLAG(person.client.prefs.toggles_ert, PLAY_SMARTGUNNER) && check_timelock(person.client, list(JOB_SQUAD_SPECIALIST, JOB_SQUAD_SMARTGUN), time_required_for_job))
heavies++
to_chat(H, SPAN_ROLE_HEADER("You are a Whiteout Team Terminator!"))
to_chat(H, SPAN_ROLE_BODY("Whiteout protocol is in effect for the target, all assets onboard are to be liquidated with expediency unless otherwise instructed by Weyland Yutani personnel holding the position of Director or above."))
arm_equipment(H, /datum/equipment_preset/pmc/w_y_whiteout/terminator, TRUE, TRUE)
to_chat(person, SPAN_ROLE_HEADER("You are a Whiteout Team Terminator!"))
to_chat(person, SPAN_ROLE_BODY("Whiteout protocol is in effect for the target, all assets onboard are to be liquidated with expediency unless otherwise instructed by Weyland Yutani personnel holding the position of Director or above."))
arm_equipment(person, /datum/equipment_preset/pmc/w_y_whiteout/terminator, TRUE, TRUE)
else
to_chat(H, SPAN_ROLE_HEADER("You are a Whiteout Team Operative!"))
to_chat(H, SPAN_ROLE_BODY("Whiteout protocol is in effect for the target, all assets onboard are to be liquidated with expediency unless otherwise instructed by Weyland Yutani personnel holding the position of Director or above."))
arm_equipment(H, /datum/equipment_preset/pmc/w_y_whiteout, TRUE, TRUE)
to_chat(person, SPAN_ROLE_HEADER("You are a Whiteout Team Operative!"))
to_chat(person, SPAN_ROLE_BODY("Whiteout protocol is in effect for the target, all assets onboard are to be liquidated with expediency unless otherwise instructed by Weyland Yutani personnel holding the position of Director or above."))
arm_equipment(person, /datum/equipment_preset/pmc/w_y_whiteout, TRUE, TRUE)

addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), H, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS)
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), person, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS)

/datum/emergency_call/death/low_threat
name = "Weyland Whiteout Operators"

// DEATH SQUAD--------------------------------------------------------------------------------
/datum/emergency_call/death/low_threat/create_member(datum/mind/player, turf/override_spawn_loc)
var/turf/spawn_loc = override_spawn_loc ? override_spawn_loc : get_spawn_point()

if(!istype(spawn_loc))
return //Didn't find a useable spawn point.

var/mob/living/carbon/human/person = new(spawn_loc)
player.transfer_to(person, TRUE)

if(!leader && HAS_FLAG(person.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(person.client, JOB_SQUAD_LEADER, time_required_for_job))
leader = person
to_chat(person, SPAN_ROLE_HEADER("You are the Whiteout Team Leader!"))
to_chat(person, SPAN_ROLE_BODY("Whiteout protocol is in effect for the target, all assets onboard are to be liquidated with expediency unless otherwise instructed by Weyland Yutani personnel holding the position of Director or above."))
arm_equipment(person, /datum/equipment_preset/pmc/w_y_whiteout/low_threat/leader, TRUE, TRUE)
else if(medics < max_medics && HAS_FLAG(person.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(person.client, JOB_SQUAD_MEDIC, time_required_for_job))
medics++
to_chat(person, SPAN_ROLE_HEADER("You are a Whiteout Team Medic!"))
to_chat(person, SPAN_ROLE_BODY("Whiteout protocol is in effect for the target, all assets onboard are to be liquidated with expediency unless otherwise instructed by Weyland Yutani personnel holding the position of Director or above."))
arm_equipment(person, /datum/equipment_preset/pmc/w_y_whiteout/low_threat/medic, TRUE, TRUE)
else if(heavies < max_heavies && HAS_FLAG(person.client.prefs.toggles_ert, PLAY_SMARTGUNNER) && check_timelock(person.client, list(JOB_SQUAD_SPECIALIST, JOB_SQUAD_SMARTGUN), time_required_for_job))
heavies++
to_chat(person, SPAN_ROLE_HEADER("You are a Whiteout Team Terminator!"))
to_chat(person, SPAN_ROLE_BODY("Whiteout protocol is in effect for the target, all assets onboard are to be liquidated with expediency unless otherwise instructed by Weyland Yutani personnel holding the position of Director or above."))
arm_equipment(person, /datum/equipment_preset/pmc/w_y_whiteout/low_threat/terminator, TRUE, TRUE)
else
to_chat(person, SPAN_ROLE_HEADER("You are a Whiteout Team Operative!"))
to_chat(person, SPAN_ROLE_BODY("Whiteout protocol is in effect for the target, all assets onboard are to be liquidated with expediency unless otherwise instructed by Weyland Yutani personnel holding the position of Director or above."))
arm_equipment(person, /datum/equipment_preset/pmc/w_y_whiteout/low_threat, TRUE, TRUE)

addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), person, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS)

//################################################################################################
// Marine commandos - USCM Deathsquad. Event only
/datum/emergency_call/marsoc
name = "Marine Raider Strike Team"
name = "Marine Raider Strike Team (!DEATHSQUAD!)"
mob_max = 8
mob_min = 5
probability = 0
Expand Down Expand Up @@ -81,7 +116,7 @@
return

/datum/emergency_call/marsoc_covert
name = "Marine Raider Operatives (Covert)"
name = "Marine Raider Operatives (!DEATHSQUAD! Covert)"
mob_max = 8
mob_min = 5
probability = 0
Expand All @@ -107,3 +142,27 @@
to_chat(H, SPAN_BOLDNOTICE("You are absolutely loyal to High Command and must follow their directives."))
to_chat(H, SPAN_BOLDNOTICE("Execute the mission assigned to you with extreme prejudice!"))
return


/datum/emergency_call/marsoc/low_threat
name = "Marine Raider Operatives"

/datum/emergency_call/marsoc/low_threat/create_member(datum/mind/MIND)

var/turf/spawn_loc = get_spawn_point()

if(!istype(spawn_loc))
return //Didn't find a useable spawn point.

var/mob/living/carbon/human/player = new(spawn_loc)
MIND.transfer_to(player, TRUE)
if(!leader && HAS_FLAG(player.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(player.client, JOB_SQUAD_LEADER, time_required_for_job)) //First one spawned is always the leader.
leader = player
to_chat(player, SPAN_WARNING(FONT_SIZE_BIG("You are a Marine Raider Team Leader, better than all the rest.")))
arm_equipment(player, /datum/equipment_preset/uscm/marsoc/low_threat/sl, TRUE, TRUE)
else
to_chat(player, SPAN_WARNING(FONT_SIZE_BIG("You are an elite Marine Raider, the best of the best.")))
arm_equipment(player, /datum/equipment_preset/uscm/marsoc/low_threat, TRUE, TRUE)
to_chat(player, SPAN_BOLDNOTICE("You are absolutely loyal to High Command and must follow their directives."))
to_chat(player, SPAN_BOLDNOTICE("Execute the mission assigned to you with extreme prejudice!"))
return
28 changes: 27 additions & 1 deletion code/datums/emergency_calls/upp_commando.dm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

//UPP COMMANDOS
/datum/emergency_call/upp_commando
name = "UPP Commandos"
name = "UPP Commandos (!DEATHSQUAD!)"
mob_max = 6
probability = 0
objectives = "Stealthily assault the ship. Use your silenced weapons, tranquilizers, and night vision to get the advantage on the enemy. Take out the power systems, comms and engine. Stick together and keep a low profile."
Expand Down Expand Up @@ -51,3 +51,29 @@

addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), H, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS)

/datum/emergency_call/upp_commando/low_threat
name = "UPP Commandos"

/datum/emergency_call/upp_commando/create_member(datum/mind/mind, turf/override_spawn_loc)
var/turf/spawn_loc = override_spawn_loc ? override_spawn_loc : get_spawn_point()

if(!istype(spawn_loc))
return //Didn't find a useable spawn point.

var/mob/living/carbon/human/person = new(spawn_loc)
mind.transfer_to(person, TRUE)

if(!leader && HAS_FLAG(person.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(person.client, JOB_SQUAD_LEADER, time_required_for_job)) //First one spawned is always the leader.
leader = person
arm_equipment(person, /datum/equipment_preset/upp/commando/leader/low_threat, TRUE, TRUE)
to_chat(person, SPAN_ROLE_HEADER("You are a Commando Team Leader of the Union of Progressive People, a powerful socialist state that rivals the United Americas!"))
else if(medics < max_medics && HAS_FLAG(person.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(person.client, JOB_SQUAD_MEDIC, time_required_for_job))
medics++
to_chat(person, SPAN_ROLE_HEADER("You are a Commando Medic of the Union of Progressive People, a powerful socialist state that rivals the United Americas!"))
arm_equipment(person, /datum/equipment_preset/upp/commando/medic/low_threat, TRUE, TRUE)
else
to_chat(person, SPAN_ROLE_HEADER("You are a Commando of the Union of Progressive People, a powerful socialist state that rivals the United Americas!"))
arm_equipment(person, /datum/equipment_preset/upp/commando/low_threat, TRUE, TRUE)
print_backstory(person)

addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), person, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS)
6 changes: 6 additions & 0 deletions code/game/objects/effects/decals/posters.dm
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,12 @@
serial_number = pick(27,28,30,31)
.=..()

/obj/structure/sign/poster/io
icon_state = "poster14"

/obj/structure/sign/poster/io/Initialize()
serial_number = 14
. = ..()
////////////////
//Hero Posters//
////////////////
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/fulton.dm
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ var/global/list/deployed_fultons = list()
var/mob/living/carbon/human/H = target_atom
if(isyautja(H) && H.stat == DEAD)
can_attach = TRUE
else if((H.stat != DEAD || H.mind && H.check_tod() && H.is_revivable()))
else if((H.stat != DEAD || H.check_tod() && H.is_revivable()))
to_chat(user, SPAN_WARNING("You can't attach [src] to [target_atom], they still have a chance!"))
return
else
Expand Down
4 changes: 4 additions & 0 deletions code/game/objects/items/storage/backpack.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1127,6 +1127,10 @@ GLOBAL_LIST_EMPTY_TYPED(radio_packs, /obj/item/storage/backpack/marine/satchel/r
max_storage_space = 21
camo_alpha = 10

/obj/item/storage/backpack/marine/satchel/scout_cloak/upp/weak
desc = "A thermo-optic camouflage cloak commonly used by UPP commando units. This one is less effective than normal."
actions_types = null

//----------TWE SECTION----------
/obj/item/storage/backpack/rmc
has_gamemode_skin = FALSE
Expand Down
12 changes: 12 additions & 0 deletions code/game/objects/items/storage/pouch.dm
Original file line number Diff line number Diff line change
Expand Up @@ -683,6 +683,18 @@
new /obj/item/reagent_container/hypospray/autoinjector/stimulant/redemption_stimulant(src)
new /obj/item/reagent_container/hypospray/autoinjector/stimulant/speed_stimulant(src)

/obj/item/storage/pouch/medical/socmed/not_op/fill_preset_inventory()
new /obj/item/device/healthanalyzer(src)
new /obj/item/stack/medical/splint(src)
new /obj/item/stack/medical/advanced/bruise_pack(src)
new /obj/item/stack/medical/advanced/ointment(src)
new /obj/item/reagent_container/hypospray/autoinjector/bicaridine(src)
new /obj/item/reagent_container/hypospray/autoinjector/kelotane(src)
new /obj/item/reagent_container/hypospray/autoinjector/oxycodone(src)
new /obj/item/reagent_container/hypospray/autoinjector/emergency(src)
new /obj/item/reagent_container/hypospray/autoinjector/emergency(src)
new /obj/item/tool/extinguisher/mini(src)

/obj/item/storage/pouch/medical/socmed/dutch
name = "\improper Dutch's Medical Pouch"
desc = "A pouch bought from a black market trader by Dutch quite a few years ago. Rumoured to be stolen from secret USCM assets. Its contents have been slowly used up and replaced over the years."
Expand Down
2 changes: 1 addition & 1 deletion code/game/supplyshuttle.dm
Original file line number Diff line number Diff line change
Expand Up @@ -327,7 +327,7 @@ var/datum/controller/supply/supply_controller = new()
M.count_niche_stat(STATISTICS_NICHE_CRATES)

playsound(C.loc,'sound/effects/bamf.ogg', 50, 1) //Ehh
var/obj/structure/droppod/supply/pod = new()
var/obj/structure/droppod/supply/pod = new(null, C)
C.forceMove(pod)
pod.launch(T)
visible_message("[icon2html(src, viewers(src))] [SPAN_BOLDNOTICE("'[C.name]' supply drop launched! Another launch will be available in five minutes.")]")
Expand Down
Loading

0 comments on commit 2eaeec0

Please sign in to comment.