Skip to content

Commit

Permalink
Merge branch 'master' into SgQoL
Browse files Browse the repository at this point in the history
  • Loading branch information
private-tristan authored Mar 3, 2024
2 parents 7b5dea6 + e9c2480 commit 8ec5905
Show file tree
Hide file tree
Showing 63 changed files with 2,623 additions and 2,527 deletions.
4 changes: 2 additions & 2 deletions code/__DEFINES/human.dm
Original file line number Diff line number Diff line change
Expand Up @@ -182,8 +182,8 @@

//Synthetic Defines
#define SYNTH_COLONY "Third Generation Colonial Synthetic"
#define SYNTH_COLONY_GEN_TWO "First Generation Colonial Synthetic"
#define SYNTH_COLONY_GEN_ONE "Second Generation Colonial Synthetic"
#define SYNTH_COLONY_GEN_TWO "Second Generation Colonial Synthetic"
#define SYNTH_COLONY_GEN_ONE "First Generation Colonial Synthetic"
#define SYNTH_COMBAT "Combat Synthetic"
#define SYNTH_INFILTRATOR "Infiltrator Synthetic"
#define SYNTH_WORKING_JOE "Working Joe"
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/mode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,7 @@ DEFINE_BITFIELD(whitelist_status, list(
#define FACTION_LIST_MERCENARY list(FACTION_MERCENARY)
#define FACTION_LIST_MARSHAL list(FACTION_MARSHAL)
#define FACTION_LIST_DUTCH list(FACTION_DUTCH)
#define FACTION_LIST_SURVIVOR_WY list(FACTION_SURVIVOR, FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_WY)
#define FACTION_LIST_MARINE_WY list(FACTION_MARINE, FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_WY)
#define FACTION_LIST_MARINE_UPP list(FACTION_MARINE, FACTION_UPP)
#define FACTION_LIST_MARINE_TWE list(FACTION_MARINE, FACTION_TWE)
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/vendors.dm
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
#define MARINE_CAN_BUY_COMBAT_ARMOR "combat_armor"
#define MARINE_CAN_BUY_KIT "kit"
#define MARINE_CAN_BUY_DRESS "dress"
#define CIVILIAN_CAN_BUY_BACKPACK "civilian_backpack"
#define CIVILIAN_CAN_BUY_UTILITY "civilian_utility"

#define MARINE_CAN_BUY_ALL list(MARINE_CAN_BUY_UNIFORM = 1, MARINE_CAN_BUY_SHOES = 1, MARINE_CAN_BUY_HELMET = 1, MARINE_CAN_BUY_ARMOR = 1, MARINE_CAN_BUY_GLOVES = 1, MARINE_CAN_BUY_EAR = 1, MARINE_CAN_BUY_BACKPACK = 1, MARINE_CAN_BUY_POUCH = 2, MARINE_CAN_BUY_BELT = 1, MARINE_CAN_BUY_GLASSES = 1, MARINE_CAN_BUY_MASK = 1, MARINE_CAN_BUY_ESSENTIALS = 1, MARINE_CAN_BUY_SECONDARY = 1, MARINE_CAN_BUY_ATTACHMENT = 1, MARINE_CAN_BUY_MRE = 1, MARINE_CAN_BUY_ACCESSORY = 1, MARINE_CAN_BUY_COMBAT_SHOES = 1, MARINE_CAN_BUY_COMBAT_HELMET = 1, MARINE_CAN_BUY_COMBAT_ARMOR = 1, MARINE_CAN_BUY_KIT = 1, MARINE_CAN_BUY_DRESS = 99)

Expand Down
1 change: 1 addition & 0 deletions code/_globalvars/lists/mapping_globals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ GLOBAL_LIST_EMPTY(teleporter_landmarks)

GLOBAL_LIST_INIT(cardinals, list(NORTH, SOUTH, EAST, WEST))
GLOBAL_LIST_EMPTY(nightmare_landmarks)
GLOBAL_LIST_EMPTY(nightmare_landmark_tags_removed)

GLOBAL_LIST_EMPTY(ship_areas)

Expand Down
13 changes: 7 additions & 6 deletions code/datums/ammo/ammo.dm
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@
/// that will be given to a projectile with the current ammo datum
var/list/list/traits_to_give

var/flamer_reagent_type = /datum/reagent/napalm/ut
var/flamer_reagent_id = "utnapthal"

/// The flicker that plays when a bullet hits a target. Usually red. Can be nulled so it doesn't show up at all.
var/hit_effect_color = "#FF0000"
Expand Down Expand Up @@ -237,11 +237,12 @@

P.fire_at(new_target, original_P.firer, original_P.shot_from, P.ammo.max_range, P.ammo.shell_speed, original_P.original) //Fire!

/datum/ammo/proc/drop_flame(turf/T, datum/cause_data/cause_data) // ~Art updated fire 20JAN17
if(!istype(T))
/datum/ammo/proc/drop_flame(turf/turf, datum/cause_data/cause_data) // ~Art updated fire 20JAN17
if(!istype(turf))
return
if(locate(/obj/flamer_fire) in T)
if(locate(/obj/flamer_fire) in turf)
return

var/datum/reagent/R = new flamer_reagent_type()
new /obj/flamer_fire(T, cause_data, R)
var/datum/reagent/chemical = GLOB.chemical_reagents_list[flamer_reagent_id]

new /obj/flamer_fire(turf, cause_data, chemical)
4 changes: 2 additions & 2 deletions code/datums/ammo/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,11 @@
drop_flame(get_turf(P), P.weapon_cause_data)

/datum/ammo/flamethrower/tank_flamer
flamer_reagent_type = /datum/reagent/napalm/blue
flamer_reagent_id = "napalmx"

/datum/ammo/flamethrower/sentry_flamer
flags_ammo_behavior = AMMO_IGNORE_ARMOR|AMMO_IGNORE_COVER|AMMO_FLAME
flamer_reagent_type = /datum/reagent/napalm/blue
flamer_reagent_id = "napalmx"

accuracy = HIT_ACCURACY_TIER_8
accurate_range = 6
Expand Down
26 changes: 17 additions & 9 deletions code/datums/diseases/black_goo.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@
#define ZOMBIE_INFECTION_STAGE_ONE 1
#define ZOMBIE_INFECTION_STAGE_TWO 2
#define ZOMBIE_INFECTION_STAGE_THREE 3
#define ZOMBIE_INFECTION_STAGE_FOUR 4
#define SLOW_INFECTION_RATE 1
#define FAST_INFECTION_RATE 7
#define STAGE_LEVEL_THRESHOLD 360
#define MESSAGE_COOLDOWN_TIME 1 MINUTES

/datum/disease/black_goo
name = "Black Goo"
max_stages = 3
max_stages = 4
cure = "Anti-Zed"
cure_id = "antiZed"
spread = "Bites"
Expand Down Expand Up @@ -120,17 +121,23 @@
stage_level += 42

if(ZOMBIE_INFECTION_STAGE_THREE)
//check if the mob is already a zombie and just return to avoid weird stuff, edge case if zombie_is_transforming deoesn't work.
// if zombie or transforming we upgrade it to stage four.
if(iszombie(infected_mob))
stage++
return

if(infected_mob.stat == DEAD && stage_counter != stage)
to_chat(infected_mob, SPAN_CENTERBOLD("Your zombie infection is now at stage three! Zombie transformation begin!"))
stage_counter = stage
hidden = list(0,0)
// if not a zombie(above check) and isn't transforming then we transform you into a zombie.
if(!zombie_is_transforming)
// if your dead we inform you that you're going to turn into a zombie.
if(infected_mob.stat == DEAD && stage_counter != stage)
to_chat(infected_mob, SPAN_CENTERBOLD("Your zombie infection is now at stage three! Zombie transformation begin!"))
stage_counter = stage
zombie_transform(infected_mob)
infected_mob.next_move_slowdown = max(infected_mob.next_move_slowdown, 2)
hidden = list(0,0)
infected_mob.next_move_slowdown = max(infected_mob.next_move_slowdown, 2)

if(ZOMBIE_INFECTION_STAGE_FOUR)
return
// final stage of infection it's to avoid running the above test once you're a zombie for now. maybe more later.

/datum/disease/black_goo/proc/zombie_transform(mob/living/carbon/human/human)
set waitfor = 0
Expand All @@ -149,7 +156,7 @@
playsound(human.loc, 'sound/hallucinations/wail.ogg', 25, 1)
human.jitteriness = 0
human.set_species(SPECIES_ZOMBIE)
stage = 3
stage = 4
human.faction = FACTION_ZOMBIE
zombie_is_transforming = FALSE

Expand Down Expand Up @@ -310,6 +317,7 @@
#undef ZOMBIE_INFECTION_STAGE_ONE
#undef ZOMBIE_INFECTION_STAGE_TWO
#undef ZOMBIE_INFECTION_STAGE_THREE
#undef ZOMBIE_INFECTION_STAGE_FOUR
#undef STAGE_LEVEL_THRESHOLD
#undef SLOW_INFECTION_RATE
#undef FAST_INFECTION_RATE
Expand Down
64 changes: 54 additions & 10 deletions code/datums/supply_packs/ammo.dm
Original file line number Diff line number Diff line change
Expand Up @@ -346,15 +346,15 @@

//------------------------Sentries Ammo----------------

/datum/supply_packs/ammo_sentry
name = "UA 571-C sentry ammunition (x2)"
/datum/supply_packs/ammo_sentry_shotgun
name = "UA 12-G sentry shotgun ammunition (x2)"
contains = list(
/obj/item/ammo_magazine/sentry,
/obj/item/ammo_magazine/sentry,
/obj/item/ammo_magazine/sentry/shotgun,
/obj/item/ammo_magazine/sentry/shotgun,
)
cost = 40
containertype = /obj/structure/closet/crate/ammo
containername = "\improper sentry ammo crate"
containername = "\improper sentry shotgun ammo crate"
group = "Ammo"

/datum/supply_packs/ammo_sentry_flamer
Expand All @@ -368,15 +368,37 @@
containername = "\improper sentry flamer ammo crate"
group = "Ammo"

/datum/supply_packs/ammo_sentry_shotgun
name = "UA 12-G sentry shotgun ammunition (x2)"
/datum/supply_packs/ammo_mini_sentry_flamer
name = "UA 45-F mini sentry flamer ammunition (x2)"
contains = list(
/obj/item/ammo_magazine/sentry/shotgun,
/obj/item/ammo_magazine/sentry/shotgun,
/obj/item/ammo_magazine/sentry_flamer/mini,
/obj/item/ammo_magazine/sentry_flamer/mini,
)
cost = 40
containertype = /obj/structure/closet/crate/ammo
containername = "\improper sentry shotgun ammo crate"
containername = "\improper mini sentry flamer ammo crate"
group = "Ammo"

/datum/supply_packs/ammo_glob_sentry_flamer
name = "UA 60-FP sentry plasma incinerator tank (x2)"
contains = list(
/obj/item/ammo_magazine/sentry_flamer/glob,
/obj/item/ammo_magazine/sentry_flamer/glob,
)
cost = 40
containertype = /obj/structure/closet/crate/ammo
containername = "\improper sentry plasma incinerator ammo crate"
group = "Ammo"

/datum/supply_packs/ammo_sentry
name = "UA 571-C sentry ammunition (x2)"
contains = list(
/obj/item/ammo_magazine/sentry,
/obj/item/ammo_magazine/sentry,
)
cost = 40
containertype = /obj/structure/closet/crate/ammo
containername = "\improper sentry ammo crate"
group = "Ammo"

//------------------------M240 flamer tanks----------------
Expand Down Expand Up @@ -419,6 +441,28 @@
containertype = /obj/structure/closet/crate/ammo/alt/flame
group = "Ammo"

//------------------------Mounted guns ammo----------------
/datum/supply_packs/ammo_m2c
name = "M2C ammunition crate (x2)"
contains = list(
/obj/item/ammo_magazine/m2c,
/obj/item/ammo_magazine/m2c,
)
cost = 25
containertype = /obj/structure/closet/crate/ammo
containername = "\improper m2c ammunition crate"
group = "Ammo"

/datum/supply_packs/ammo_m56d
name = "M56D drum magazine crate (x1)"
contains = list(
/obj/item/ammo_magazine/m56d,
)
cost = 25
containertype = /obj/structure/closet/crate/ammo
containername = "\improper m56d drum magazine crate"
group = "Ammo"

//This crate has a little bit of everything, mostly okay stuff, but it does have some really unique picks.
/datum/supply_packs/ammo_surplus
name = "Surplus ammo crate (various USCM magazines x10)"
Expand Down
87 changes: 83 additions & 4 deletions code/game/machinery/fax_machine.dm
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ GLOBAL_LIST_EMPTY(alldepartments)
else
to_chat(user, SPAN_NOTICE("\The [src] jammed! It can only accept up to five papers at once."))
playsound(src, "sound/machines/terminal_insert_disc.ogg", 50, TRUE)
flick("faxsend", src)
flick("[initial(icon_state)]send", src)
updateUsrDialog()
return

Expand Down Expand Up @@ -245,7 +245,7 @@ GLOBAL_LIST_EMPTY(alldepartments)
else
to_chat(ui.user, SPAN_NOTICE("\The [src] jammed! It can only accept up to five papers at once."))
playsound(src, "sound/machines/terminal_insert_disc.ogg", 50, TRUE)
flick("faxsend", src)
flick("[initial(icon_state)]send", src)
. = TRUE

if("ejectid")
Expand Down Expand Up @@ -408,10 +408,10 @@ GLOBAL_LIST_EMPTY(alldepartments)
return
if(! (F.inoperable() ) )

flick("faxreceive", F)
flick("[initial(icon_state)]receive", F)

// give the sprite some time to flick
spawn(20)
spawn(30)
var/obj/item/paper/P = new(F.loc,faxcontents.photo_list)
P.name = "faxed message"
P.info = "[faxcontents.data]"
Expand Down Expand Up @@ -515,6 +515,85 @@ GLOBAL_LIST_EMPTY(alldepartments)
target_department = "Brig"
network = "USCM High Command Quantum Relay"


///The deployed fax machine backpack
/obj/structure/machinery/faxmachine/backpack
name = "\improper Portable Press Fax Machine"
desc = "A standard issue portable fax machine for civilian reporters. Functions off of an internal battery. Cannot receive faxes while being worn. It is currently deployed. Click-drag the device towards you to pick it up."
icon_state = "fax_backpack"
needs_power = FALSE
use_power = USE_POWER_NONE
health = 150

///The wearable and deployable part of the fax machine backpack
/obj/item/device/fax_backpack
name = "\improper Portable Press Fax Machine"
desc = "A standard issue portable fax machine for civilian reporters. Functions off of an internal battery. Cannot receive faxes while being worn. It is currently undeployed. Activate the device inhand to deploy it."
icon = 'icons/obj/structures/machinery/library.dmi'
icon_state = "fax_backpack"
item_state = "fax_backpack"
w_class = SIZE_HUGE
flags_equip_slot = SLOT_BACK
flags_item = ITEM_OVERRIDE_NORTHFACE

/obj/item/device/fax_backpack/attack_self(mob/user) //activate item version fax inhand to deploy
if(!ishuman(user))
return
var/turf/deployturf = get_turf(user)
if(istype(deployturf, /turf/open))
var/turf/open/floor = deployturf
if(!floor.allow_construction)
to_chat(user, SPAN_WARNING("You cannot deploy [src] here, find a more secure surface!"))
return FALSE
var/fail = FALSE
if(deployturf.density)
fail = TRUE
else
var/static/list/blocking_types = typecacheof(list(
/obj/structure/machinery/defenses,
/obj/structure/window,
/obj/structure/windoor_assembly,
/obj/structure/machinery/door,
))
for(var/obj/blockingobj in deployturf.contents)
if(blockingobj.density && !(blockingobj.flags_atom & ON_BORDER))
fail = TRUE
break
if(is_type_in_typecache(blockingobj, blocking_types))
fail = TRUE
break
if(fail)
to_chat(user, SPAN_WARNING("You can't deploy [src] here, something is in the way."))
return
to_chat(user, SPAN_NOTICE("You begin to deploy [src]..."))
if(do_after(user, 4.5 SECONDS, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_BUILD))
to_chat(user, SPAN_NOTICE("You deploy [src]."))
var/obj/structure/machinery/faxmachine/backpack/deployedfax = new(deployturf)
transfer_label_component(deployedfax)
playsound(src.loc, 'sound/machines/print.ogg', 40, 1)
qdel(src)
return
return ..()

/obj/structure/machinery/faxmachine/backpack/MouseDrop(over_object, src_location, over_location) //Drag the deployed fax onto you to pick it up.
if(!ishuman(usr))
return
var/mob/living/carbon/human/user = usr
if(over_object == user && in_range(src, user))
if(original_fax || scan)
to_chat(user, SPAN_NOTICE("There is still something in [src]. Remove it before you pick it up."))
return
to_chat(user, SPAN_NOTICE("You begin to pick up [src]..."))
if(do_after(user, 4.5 SECONDS, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_BUILD))
playsound(src.loc, 'sound/items/Ratchet.ogg', 25, 1)
to_chat(user, SPAN_NOTICE("You pick up [src]."))
var/obj/item/device/fax_backpack/faxbag = new(loc)
transfer_label_component(faxbag)
user.put_in_hands(faxbag)
qdel(src)
return
return ..()

/datum/fax
var/data
var/list/photo_list
Expand Down
Loading

0 comments on commit 8ec5905

Please sign in to comment.