Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
Rhials committed Jun 24, 2024
2 parents 443938e + 217b39c commit 62d34f7
Show file tree
Hide file tree
Showing 43 changed files with 111 additions and 104 deletions.
12 changes: 1 addition & 11 deletions _maps/shuttles/emergency_medisim.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -693,17 +693,7 @@
/turf/open/misc/sandy_dirt,
/area/shuttle/escape/simulation)
"Cv" = (
/obj/machinery/drone_dispenser{
desc = "A hefty machine that periodically creates a pair of binoculars. Really, Nanotrasen? We're getting this lazy?";
dispense_type = /obj/item/binoculars;
end_create_message = "dispenses a pair of binoculars.";
glass_cost = 0;
iron_cost = 0;
maximum_idle = 1;
name = "binoculars fabricator";
energy_used = 0;
starting_amount = 25000
},
/obj/machinery/drone_dispenser/binoculars,
/turf/open/floor/mineral/titanium/yellow,
/area/shuttle/escape)
"Cy" = (
Expand Down
20 changes: 17 additions & 3 deletions code/game/machinery/droneDispenser.dm
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@

var/mode = DRONE_READY
var/timer
var/cooldownTime = 1800 //3 minutes
var/cooldownTime = 3 MINUTES
var/production_time = 30
//The item the dispenser will create
var/dispense_type = /obj/effect/mob_spawn/ghost_role/drone
Expand Down Expand Up @@ -59,7 +59,8 @@
MATCONTAINER_EXAMINE, \
allowed_items = /obj/item/stack \
)
materials.insert_amount_mat(starting_amount)
materials.insert_amount_mat(starting_amount, /datum/material/iron)
materials.insert_amount_mat(starting_amount, /datum/material/glass)
materials.precise_insertion = TRUE
using_materials = list(/datum/material/iron = iron_cost, /datum/material/glass = glass_cost)
REGISTER_REQUIRED_MAP_ITEM(1, 1)
Expand Down Expand Up @@ -136,6 +137,19 @@
recharge_sound = null
recharge_message = null

// A dispenser that produces binoculars, for the MediSim shuttle.
/obj/machinery/drone_dispenser/binoculars
name = "binoculars fabricator"
desc = "A hefty machine that periodically creates a pair of binoculars. Really, Nanotrasen? We're getting this lazy?"
dispense_type = /obj/item/binoculars
starting_amount = SHEET_MATERIAL_AMOUNT * 2.5 //Redudant
maximum_idle = 1
cooldownTime = 5 SECONDS
iron_cost = 0
glass_cost = 0
energy_used = 0
end_create_message = "dispenses a pair of binoculars."

/obj/machinery/drone_dispenser/examine(mob/user)
. = ..()
var/material_requirement_string = "It needs "
Expand All @@ -155,7 +169,7 @@
if((machine_stat & (NOPOWER|BROKEN)) || !anchored)
return

if(!materials.has_materials(using_materials))
if((glass_cost != 0 || iron_cost != 0) && !materials.has_materials(using_materials))
return // We require more minerals

// We are currently in the middle of something
Expand Down
4 changes: 2 additions & 2 deletions code/game/objects/items/mail.dm
Original file line number Diff line number Diff line change
Expand Up @@ -488,7 +488,7 @@

/obj/item/storage/mail_counterfeit_device
name = "GLA-2 mail counterfeit device"
desc = "Device that actually able to counterfeit NT's mail. This device also able to place a trap inside of mail for malicious actions. Trap will \"activate\" any item inside of mail. Also it might be used for contraband purposes. Integrated micro-computer will give you great configuration optionality for your needs."
desc = "A single-use device for spoofing official NT envelopes. Can hold one normal sized object, and can be programmed to arm its contents when opened."
w_class = WEIGHT_CLASS_NORMAL
icon = 'icons/obj/antags/syndicate_tools.dmi'
icon_state = "mail_counterfeit_device"
Expand All @@ -501,7 +501,7 @@

/obj/item/storage/mail_counterfeit_device/examine_more(mob/user)
. = ..()
. += span_notice("<i>You notice the manufacture marking on the side of the device...</i>")
. += span_notice("<i>You notice the manufacturer information on the side of the device...</i>")
. += "\t[span_info("Guerilla Letter Assembler")]"
. += "\t[span_info("GLA Postal Service, right on schedule.")]"
return .
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/storage/uplink_kits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -449,7 +449,7 @@

/obj/item/storage/box/syndie_kit/mail_counterfeit
name = "mail counterfeit kit"
desc = "A box full of mail counterfeit devices. Nothing stops the mail."
desc = "A GLA Postal Service branded box. It's emblazoned with the motto: *Nothing stops the mail*."

/obj/item/storage/box/syndie_kit/mail_counterfeit/PopulateContents()
for(var/i in 1 to 6)
Expand Down
10 changes: 10 additions & 0 deletions code/modules/antagonists/_common/antag_datum.dm
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ GLOBAL_LIST_EMPTY(antagonists)
var/default_custom_objective = "Cause chaos on the space station."
/// Whether we give a hardcore random bonus for greentexting as this antagonist while playing hardcore random
var/hardcore_random_bonus = FALSE
/// A path to the audio stinger that plays upon gaining this datum.
var/stinger_sound

//ANTAG UI

Expand Down Expand Up @@ -342,6 +344,14 @@ GLOBAL_LIST_EMPTY(antagonists)
/datum/antagonist/proc/greet()
if(!silent)
to_chat(owner.current, span_big("You are \the [src]."))
play_stinger()

/// Plays the antag stinger sound, if we have one
/datum/antagonist/proc/play_stinger()
if(isnull(stinger_sound))
return

owner.current.playsound_local(get_turf(owner.current), stinger_sound, 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE)

/**
* Proc that sends fluff or instructional messages to the player when they lose this antag datum.
Expand Down
1 change: 1 addition & 0 deletions code/modules/antagonists/abductor/abductor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@
objectives += team.objectives
finalize_abductor()
ADD_TRAIT(owner, TRAIT_ABDUCTOR_TRAINING, ABDUCTOR_ANTAGONIST)
owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/ayylien.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE)
return ..()

/datum/antagonist/abductor/on_removal()
Expand Down
3 changes: 2 additions & 1 deletion code/modules/antagonists/battlecruiser/battlecruiser.dm
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,15 @@
antag_hud_name = "battlecruiser_crew"
antagpanel_category = ANTAG_GROUP_SYNDICATE
job_rank = ROLE_BATTLECRUISER_CREW
stinger_sound = 'sound/ambience/antag/ops.ogg'
/// Team to place the crewmember on.
var/datum/team/battlecruiser/battlecruiser_team

/datum/antagonist/battlecruiser/get_team()
return battlecruiser_team

/datum/antagonist/battlecruiser/greet()
owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/ops.ogg',100,0, use_reverb = FALSE)
play_stinger()
to_chat(owner, span_big("You are a [name]!"))
owner.announce_objectives()

Expand Down
3 changes: 1 addition & 2 deletions code/modules/antagonists/blob/blob_antag.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
show_in_antagpanel = FALSE
job_rank = ROLE_BLOB
ui_name = "AntagInfoBlob"
stinger_sound = 'sound/ambience/antag/blobalert.ogg'
/// Action to release a blob infection
var/datum/action/innate/blobpop/pop_action
/// Initial points for a human blob
Expand All @@ -31,8 +32,6 @@
else
has_already_popped = TRUE

owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/blobalert.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE)

/datum/antagonist/blob/on_gain()
create_objectives()
. = ..()
Expand Down
3 changes: 2 additions & 1 deletion code/modules/antagonists/brother/brother.dm
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
suicide_cry = "FOR MY BROTHER!!"
antag_moodlet = /datum/mood_event/focused
hardcore_random_bonus = TRUE
stinger_sound = 'sound/ambience/antag/tatoralert.ogg'
VAR_PRIVATE
datum/team/brother_team/team

Expand Down Expand Up @@ -172,7 +173,7 @@
owner.announce_objectives()

/datum/antagonist/brother/proc/finalize_brother()
owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/tatoralert.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE)
play_stinger()
team.update_name()

/datum/antagonist/brother/admin_add(datum/mind/new_owner,mob/admin)
Expand Down
4 changes: 3 additions & 1 deletion code/modules/antagonists/changeling/changeling.dm
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
can_assign_self_objectives = TRUE
default_custom_objective = "Consume the station's most valuable genomes."
hardcore_random_bonus = TRUE
stinger_sound = 'sound/ambience/antag/ling_alert.ogg'
/// Whether to give this changeling objectives or not
var/give_objectives = TRUE
/// Weather we assign objectives which compete with other lings
Expand Down Expand Up @@ -127,7 +128,6 @@
if(give_objectives)
forge_objectives()
owner.current.get_language_holder().omnitongue = TRUE
owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/ling_alert.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE)
return ..()

/datum/antagonist/changeling/apply_innate_effects(mob/living/mob_override)
Expand Down Expand Up @@ -1023,6 +1023,7 @@
total_chem_storage = 50

/datum/antagonist/changeling/headslug/greet()
play_stinger()
to_chat(owner, span_boldannounce("You are a fresh changeling birthed from a headslug! \
You aren't as strong as a normal changeling, as you are newly born."))

Expand All @@ -1035,6 +1036,7 @@
return finish_preview_icon(final_icon)

/datum/antagonist/changeling/space/greet()
play_stinger()
to_chat(src, span_changeling("Our mind stirs to life, from the depths of an endless slumber..."))

/datum/outfit/changeling
Expand Down
2 changes: 1 addition & 1 deletion code/modules/antagonists/cult/datums/cultist.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
preview_outfit = /datum/outfit/cultist
job_rank = ROLE_CULTIST
antag_hud_name = "cult"
stinger_sound = 'sound/ambience/antag/bloodcult/bloodcult_gain.ogg'

///The vote ability Cultists have to elect someone to be the leader.
var/datum/action/innate/cult/mastervote/vote_ability
Expand All @@ -23,7 +24,6 @@

/datum/antagonist/cult/greet()
. = ..()
owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/bloodcult/bloodcult_gain.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE)//subject to change
owner.announce_objectives()

/datum/antagonist/cult/on_gain()
Expand Down
3 changes: 1 addition & 2 deletions code/modules/antagonists/heretic/heretic_antag.dm
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
can_assign_self_objectives = TRUE
default_custom_objective = "Turn a department into a testament for your dark knowledge."
hardcore_random_bonus = TRUE
stinger_sound = 'sound/ambience/antag/heretic/heretic_gain.ogg'
/// Whether we give this antagonist objectives on gain.
var/give_objectives = TRUE
/// Whether we've ascended! (Completed one of the final rituals)
Expand Down Expand Up @@ -206,8 +207,6 @@
if(give_objectives)
forge_primary_objectives()

owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/heretic/heretic_gain.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE)

for(var/starting_knowledge in GLOB.heretic_start_knowledge)
gain_knowledge(starting_knowledge)

Expand Down
5 changes: 1 addition & 4 deletions code/modules/antagonists/heretic/heretic_monsters.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,10 @@
antag_hud_name = "heretic_beast"
suicide_cry = "MY MASTER SMILES UPON ME!!"
show_in_antagpanel = FALSE
stinger_sound = 'sound/ambience/antag/heretic/heretic_gain.ogg'
/// Our master (a heretic)'s mind.
var/datum/mind/master

/datum/antagonist/heretic_monster/on_gain()
. = ..()
owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/heretic/heretic_gain.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE)

/datum/antagonist/heretic_monster/on_removal()
if(!silent)
if(master?.current)
Expand Down
3 changes: 2 additions & 1 deletion code/modules/antagonists/nukeop/datums/operative.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
show_to_ghosts = TRUE
hijack_speed = 2 //If you can't take out the station, take the shuttle instead.
suicide_cry = "FOR THE SYNDICATE!!"
stinger_sound = 'sound/ambience/antag/ops.ogg'
/// Which nukie team are we on?
var/datum/team/nuclear/nuke_team
/// If not assigned a team by default ops will try to join existing ones, set this to TRUE to always create new team.
Expand All @@ -30,7 +31,7 @@
var/discount_limited_amount = 10

/datum/antagonist/nukeop/greet()
owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/ops.ogg',100,0, use_reverb = FALSE)
play_stinger()
to_chat(owner, span_big("You are a [nuke_team ? nuke_team.syndicate_name : "syndicate"] agent!"))
owner.announce_objectives()

Expand Down
2 changes: 1 addition & 1 deletion code/modules/antagonists/nukeop/datums/operative_leader.dm
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
H.update_icons()

/datum/antagonist/nukeop/leader/greet()
owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/ops.ogg',100,0, use_reverb = FALSE)
play_stinger()
to_chat(owner, "<span class='warningplain'><B>You are the Syndicate [title] for this mission. You are responsible for guiding the team and your ID is the only one who can open the launch bay doors.</B></span>")
to_chat(owner, "<span class='warningplain'><B>If you feel you are not up to this task, give your ID and radio to another operative.</B></span>")
if(!CONFIG_GET(flag/disable_warops))
Expand Down
3 changes: 2 additions & 1 deletion code/modules/antagonists/obsessed/obsessed.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
suicide_cry = "FOR MY LOVE!!"
preview_outfit = /datum/outfit/obsessed
hardcore_random_bonus = TRUE
stinger_sound = 'sound/ambience/antag/creepalert.ogg'
var/datum/brain_trauma/special/obsessed/trauma

/datum/antagonist/obsessed/admin_add(datum/mind/new_owner,mob/admin)
Expand All @@ -28,7 +29,7 @@
C.gain_trauma(/datum/brain_trauma/special/obsessed)//ZAP

/datum/antagonist/obsessed/greet()
owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/creepalert.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE)
play_stinger()
owner.announce_objectives()

/datum/antagonist/obsessed/Destroy()
Expand Down
2 changes: 1 addition & 1 deletion code/modules/antagonists/revolution/revolution.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
antag_moodlet = /datum/mood_event/revolution
antag_hud_name = "rev"
suicide_cry = "VIVA LA REVOLUTION!!"
stinger_sound = 'sound/ambience/antag/revolutionary_tide.ogg'
var/datum/team/revolution/rev_team

/// When this antagonist is being de-antagged, this is the source. Can be a mob (for mindshield/blunt force trauma) or a #define string.
Expand Down Expand Up @@ -67,7 +68,6 @@
/datum/antagonist/rev/greet()
. = ..()
to_chat(owner, span_userdanger("Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution!"))
owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/revolutionary_tide.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE)
owner.announce_objectives()

/datum/antagonist/rev/create_team(datum/team/revolution/new_team)
Expand Down
3 changes: 1 addition & 2 deletions code/modules/antagonists/traitor/datum_traitor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
can_assign_self_objectives = TRUE
default_custom_objective = "Perform an overcomplicated heist on valuable Nanotrasen assets."
hardcore_random_bonus = TRUE
stinger_sound = 'sound/ambience/antag/tatoralert.ogg'

///The flag of uplink that this traitor is supposed to have.
var/uplink_flag_given = UPLINK_TRAITORS
Expand Down Expand Up @@ -114,8 +115,6 @@

owner.teach_crafting_recipe(/datum/crafting_recipe/syndicate_uplink_beacon)

owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/tatoralert.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE)

return ..()

/datum/antagonist/traitor/on_removal()
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mining/equipment/grapple_gun.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

/obj/item/grapple_gun
name = "grapple gun"
desc = "A handy tool for traversing the land-scape of lava-land!"
desc = "A small specialised airgun capable of launching a climbing hook into a distant rock face and pulling the user toward it via motorised zip-line. A handy tool for traversing the craggy landscape of lavaland!"
icon = 'icons/obj/mining.dmi'
icon_state = "grapple_gun"
lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi'
Expand Down
2 changes: 1 addition & 1 deletion code/modules/uplink/uplink_items/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

/datum/uplink_item/role_restricted/mail_counterfeit_kit
name = "GLA Brand Mail Counterfeit Kit"
desc = "A box full of mail counterfeit devices. Devices that actually able to counterfeit NT's mail. Those devices also able to place a trap inside of mail for malicious actions. Trap will \"activate\" any item inside of mail. Also counterfieted mail might be used for contraband purposes. Integrated micro-computer will give you great configuration optionality for your needs. \nNothing stops the mail."
desc = "A box of five (5) counterfeit devices. Each single-use device can hold one normal sized object, and impersonate an ordinary postal envelope addressed to whoever you choose. Optionally, can be rigged to activate held items - great for if you want to surprise someone with a primed grenade!"
item = /obj/item/storage/box/syndie_kit/mail_counterfeit
cost = 2
illegal_tech = FALSE
Expand Down
4 changes: 0 additions & 4 deletions html/changelogs/AutoChangeLog-pr-84070.yml

This file was deleted.

5 changes: 5 additions & 0 deletions html/changelogs/AutoChangeLog-pr-84155.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
author: "Rhials"
delete-after: True
changes:
- bugfix: "Drone fabricator subtypes that spawn pre-loaded now actually start with materials inside."
- bugfix: "The binocular fabriactor on the MediSim shuttle works again."
4 changes: 0 additions & 4 deletions html/changelogs/AutoChangeLog-pr-84175.yml

This file was deleted.

4 changes: 0 additions & 4 deletions html/changelogs/AutoChangeLog-pr-84176.yml

This file was deleted.

4 changes: 0 additions & 4 deletions html/changelogs/AutoChangeLog-pr-84178.yml

This file was deleted.

4 changes: 4 additions & 0 deletions html/changelogs/AutoChangeLog-pr-84180.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
author: "Rhials"
delete-after: True
changes:
- sound: "The abductor team now has their own antag stinger."
4 changes: 4 additions & 0 deletions html/changelogs/AutoChangeLog-pr-84181.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
author: "DaCoolBoss"
delete-after: True
changes:
- spellcheck: "Grapple gun's description has been updated."
Loading

0 comments on commit 62d34f7

Please sign in to comment.