Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into Hybrisa
Browse files Browse the repository at this point in the history
  • Loading branch information
Drulikar committed Jun 18, 2024
2 parents 9422f66 + 43a38ff commit 09f18d0
Show file tree
Hide file tree
Showing 112 changed files with 1,795 additions and 594 deletions.
3 changes: 2 additions & 1 deletion code/__DEFINES/__game.dm
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@
#define SOUND_ADMIN_ATMOSPHERIC (1<<7)
#define SOUND_ARES_MESSAGE (1<<8)
#define SOUND_OBSERVER_ANNOUNCEMENTS (1<<9)
#define SOUND_FAX_MACHINE (1<<10)

//toggles_chat
#define CHAT_OOC (1<<0)
Expand Down Expand Up @@ -160,7 +161,7 @@

#define TOGGLES_LANGCHAT_DEFAULT (LANGCHAT_SEE_EMOTES)

#define TOGGLES_SOUND_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|SOUND_INTERNET|SOUND_ADMIN_MEME|SOUND_ADMIN_ATMOSPHERIC|SOUND_OBSERVER_ANNOUNCEMENTS)
#define TOGGLES_SOUND_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|SOUND_INTERNET|SOUND_ADMIN_MEME|SOUND_ADMIN_ATMOSPHERIC|SOUND_OBSERVER_ANNOUNCEMENTS|SOUND_FAX_MACHINE)

#define TOGGLES_FLASHING_DEFAULT (FLASH_ROUNDSTART|FLASH_ROUNDEND|FLASH_CORPSEREVIVE|FLASH_ADMINPM|FLASH_UNNEST)

Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/vendors.dm
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@
/// Vendors with this flag will fill retroactively based on latejoining players,
/// and expect a scale multiplier instead of amount of items
#define VEND_STOCK_DYNAMIC (1<<10)
/// Vends props looking like the items instead of the actual items. Basically for tutorials.
#define VEND_PROPS (1<<11)

// Redemption Tokens
#define VEND_TOKEN_ENGINEER "Engineer"
Expand Down
13 changes: 13 additions & 0 deletions code/__HELPERS/unsorted.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1501,6 +1501,19 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)

#define UNTIL(X) while(!(X)) stoplag()

/// Macro for cases where an UNTIL() may go on forever (such as for an http request)
#define UNTIL_OR_TIMEOUT(X, __time) \
do {\
__time = max(__time, 0);\
var/__start_time = world.time;\
while(!(X)) {;\
stoplag();\
if(__start_time + __time <= world.time) {;\
CRASH("UNTIL_OR_TIMEOUT hit timeout limit of [__time]");\
};\
};\
} while(FALSE)

//Repopulates sortedAreas list
/proc/repopulate_sorted_areas()
GLOB.sorted_areas = list()
Expand Down
2 changes: 1 addition & 1 deletion code/datums/ammo/bullet/arc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
scatter = 0
damage = 30
damage_var_high = PROJECTILE_VARIANCE_TIER_8
penetration = ARMOR_PENETRATION_TIER_2
penetration = ARMOR_PENETRATION_TIER_3
accurate_range = 10
max_range = 12
shell_speed = AMMO_SPEED_TIER_6
9 changes: 9 additions & 0 deletions code/datums/ammo/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,15 @@
R.durationfire = BURN_TIME_INSTANT
new /obj/flamer_fire(T, cause_data, R, 0)

/datum/ammo/flamethrower/sentry_flamer/wy
name = "sticky fire"
flamer_reagent_id = "stickynapalm"
shell_speed = AMMO_SPEED_TIER_4

/datum/ammo/flamethrower/sentry_flamer/upp
name = "gel fire"
flamer_reagent_id = "napalmgel"

/datum/ammo/flare
name = "flare"
ping = null //no bounce off.
Expand Down
4 changes: 2 additions & 2 deletions code/datums/entities/player_sticky_ban.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ BSQL_PROTECT_DATUM(/datum/entity/stickyban)
table_name = "stickyban"
field_types = list(
"identifier" = DB_FIELDTYPE_STRING_LARGE,
"reason" = DB_FIELDTYPE_STRING_LARGE,
"message" = DB_FIELDTYPE_STRING_LARGE,
"reason" = DB_FIELDTYPE_STRING_MAX,
"message" = DB_FIELDTYPE_STRING_MAX,
"date" = DB_FIELDTYPE_STRING_LARGE,
"active" = DB_FIELDTYPE_INT,
"adminid" = DB_FIELDTYPE_BIGINT,
Expand Down
46 changes: 23 additions & 23 deletions code/datums/medal_awards.dm
Original file line number Diff line number Diff line change
Expand Up @@ -131,16 +131,17 @@ GLOBAL_LIST_INIT(human_medals, list(MARINE_CONDUCT_MEDAL, MARINE_BRONZE_HEART_ME

// Create an actual medal item
if(medal_location)
var/turf/turf_location = get_turf(medal_location)
var/obj/item/clothing/accessory/medal/medal
switch(medal_type)
if(MARINE_CONDUCT_MEDAL)
medal = new /obj/item/clothing/accessory/medal/bronze/conduct(medal_location)
medal = new /obj/item/clothing/accessory/medal/bronze/conduct(turf_location)
if(MARINE_BRONZE_HEART_MEDAL)
medal = new /obj/item/clothing/accessory/medal/bronze/heart(medal_location)
medal = new /obj/item/clothing/accessory/medal/bronze/heart(turf_location)
if(MARINE_VALOR_MEDAL)
medal = new /obj/item/clothing/accessory/medal/silver/valor(medal_location)
medal = new /obj/item/clothing/accessory/medal/silver/valor(turf_location)
if(MARINE_HEROISM_MEDAL)
medal = new /obj/item/clothing/accessory/medal/gold/heroism(medal_location)
medal = new /obj/item/clothing/accessory/medal/gold/heroism(turf_location)
else
return FALSE
medal.recipient_name = chosen_recipient
Expand Down Expand Up @@ -223,16 +224,17 @@ GLOBAL_LIST_INIT(human_medals, list(MARINE_CONDUCT_MEDAL, MARINE_BRONZE_HEART_ME

// Create an actual medal item
if(medal_location)
var/turf/turf_location = get_turf(medal_location)
var/obj/item/clothing/accessory/medal/medal
switch(medal_type)
if(MARINE_CONDUCT_MEDAL)
medal = new /obj/item/clothing/accessory/medal/bronze/conduct(medal_location)
medal = new /obj/item/clothing/accessory/medal/bronze/conduct(turf_location)
if(MARINE_BRONZE_HEART_MEDAL)
medal = new /obj/item/clothing/accessory/medal/bronze/heart(medal_location)
medal = new /obj/item/clothing/accessory/medal/bronze/heart(turf_location)
if(MARINE_VALOR_MEDAL)
medal = new /obj/item/clothing/accessory/medal/silver/valor(medal_location)
medal = new /obj/item/clothing/accessory/medal/silver/valor(turf_location)
if(MARINE_HEROISM_MEDAL)
medal = new /obj/item/clothing/accessory/medal/gold/heroism(medal_location)
medal = new /obj/item/clothing/accessory/medal/gold/heroism(turf_location)
else
return FALSE
medal.recipient_name = chosen_recipient
Expand All @@ -254,7 +256,7 @@ GLOBAL_LIST_INIT(human_medals, list(MARINE_CONDUCT_MEDAL, MARINE_BRONZE_HEART_ME
return TRUE

/proc/open_medal_panel(mob/living/carbon/human/user, obj/printer)
var/obj/item/card/id/card = user.wear_id
var/obj/item/card/id/card = user?.get_idcard()
if(!card)
to_chat(user, SPAN_WARNING("You must have an authenticated ID Card to award medals."))
return
Expand Down Expand Up @@ -289,23 +291,21 @@ GLOBAL_LIST_INIT(xeno_medals, list(XENO_SLAUGHTER_MEDAL, XENO_RESILIENCE_MEDAL,
var/list/recipient_castes = list()
var/list/recipient_mobs = list()
for(var/mob/living/carbon/xenomorph/xeno in hive.totalXenos)
if (xeno.persistent_ckey == usr.persistent_ckey) // Don't award self
continue
if (xeno.tier == 0) // Don't award larva or facehuggers
continue
if (!as_admin && istype(xeno.caste, /datum/caste_datum/queen)) // Don't award queens unless admin
if(xeno.persistent_ckey == usr.persistent_ckey) // Don't award self
continue
if(xeno.tier == 0) // Don't award larva or facehuggers
if(!as_admin || !isqueen(xeno)) // Don't award queens unless admin (She is tier 0 for whatever reason)
continue
var/recipient_name = xeno.real_name
recipient_castes[recipient_name] = xeno.caste_type
recipient_mobs[recipient_name] = xeno
possible_recipients += recipient_name
for(var/mob/living/carbon/xenomorph/xeno in hive.total_dead_xenos)
if (xeno.persistent_ckey == usr.persistent_ckey) // Don't award previous selves
continue
if (xeno.tier == 0) // Don't award larva or facehuggers
continue
if (!as_admin && istype(xeno.caste, /datum/caste_datum/queen)) // Don't award previous queens unless admin
if(xeno.persistent_ckey == usr.persistent_ckey) // Don't award previous selves
continue
if(xeno.tier == 0) // Don't award larva or facehuggers
if(!as_admin || !isqueen(xeno)) // Don't award queens unless admin (She is tier 0 for whatever reason)
continue
var/recipient_name = xeno.real_name
recipient_castes[recipient_name] = xeno.caste_type
recipient_mobs[recipient_name] = xeno
Expand Down Expand Up @@ -580,8 +580,8 @@ GLOBAL_DATUM_INIT(ic_medals_panel, /datum/ic_medal_panel, new)
. = ..()
if(.)
return
var/mob/living/carbon/human/user = usr
var/obj/item/card/id/card = user.wear_id
var/mob/living/carbon/human/user = ui.user
var/obj/item/card/id/card = user?.get_idcard()
if(!card)
to_chat(user, SPAN_WARNING("You must have an authenticated ID Card to award medals."))
return
Expand All @@ -608,7 +608,7 @@ GLOBAL_DATUM_INIT(ic_medals_panel, /datum/ic_medal_panel, new)

switch(action)
if("grant_new_medal")
if(give_medal_award(get_turf(actual_loc)))
if(give_medal_award(actual_loc))
actual_loc.visible_message(SPAN_NOTICE("[actual_loc] prints a medal."))
. = TRUE

Expand All @@ -633,7 +633,7 @@ GLOBAL_DATUM_INIT(ic_medals_panel, /datum/ic_medal_panel, new)
if(confirm_choice != "Yes")
return

if(give_medal_award_prefilled(get_turf(actual_loc), user, recommendation.recipient_name, recommendation.recipient_rank, recommendation.recipient_ckey, medal_citation, medal_type, recommendation.recommended_by_ckey, recommendation.recommended_by_name))
if(give_medal_award_prefilled(actual_loc, user, recommendation.recipient_name, recommendation.recipient_rank, recommendation.recipient_ckey, medal_citation, medal_type, recommendation.recommended_by_ckey, recommendation.recommended_by_name))
GLOB.medal_recommendations -= recommendation
qdel(recommendation)
user.visible_message(SPAN_NOTICE("[actual_loc] prints a medal."))
Expand Down
24 changes: 3 additions & 21 deletions code/datums/supply_packs/operations.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,12 @@
/obj/structure/ob_ammo/ob_fuel,
/obj/structure/ob_ammo/ob_fuel,
/obj/structure/ob_ammo/warhead/incendiary,
/obj/structure/ob_ammo/ob_fuel,
/obj/structure/ob_ammo/ob_fuel,
/obj/structure/ob_ammo/ob_fuel,
/obj/structure/ob_ammo/ob_fuel,
/obj/structure/ob_ammo/ob_fuel,
/obj/structure/ob_ammo/warhead/incendiary,
)

name = "OB Incendiary Crate"
cost = 0
containertype = /obj/structure/closet/crate/secure/ob
containername = "OB Ammo Crate (Incendiary x2)"
containername = "OB Ammo Crate (Incendiary)"
buyable = 0
group = "Operations"

Expand All @@ -33,18 +27,12 @@
/obj/structure/ob_ammo/ob_fuel,
/obj/structure/ob_ammo/ob_fuel,
/obj/structure/ob_ammo/warhead/explosive,
/obj/structure/ob_ammo/ob_fuel,
/obj/structure/ob_ammo/ob_fuel,
/obj/structure/ob_ammo/ob_fuel,
/obj/structure/ob_ammo/ob_fuel,
/obj/structure/ob_ammo/ob_fuel,
/obj/structure/ob_ammo/warhead/explosive,
)

name = "OB HE Crate"
cost = 0
containertype = /obj/structure/closet/crate/secure/ob
containername = "OB Ammo Crate (HE x2)"
containername = "OB Ammo Crate (HE)"
buyable = 0
group = "Operations"

Expand All @@ -56,18 +44,12 @@
/obj/structure/ob_ammo/ob_fuel,
/obj/structure/ob_ammo/ob_fuel,
/obj/structure/ob_ammo/warhead/cluster,
/obj/structure/ob_ammo/ob_fuel,
/obj/structure/ob_ammo/ob_fuel,
/obj/structure/ob_ammo/ob_fuel,
/obj/structure/ob_ammo/ob_fuel,
/obj/structure/ob_ammo/ob_fuel,
/obj/structure/ob_ammo/warhead/cluster,
)

name = "OB Cluster Crate"
cost = 0
containertype = /obj/structure/closet/crate/secure/ob
containername = "OB Ammo Crate (Cluster x2)"
containername = "OB Ammo Crate (Cluster)"
buyable = 0
group = "Operations"

Expand Down
Loading

0 comments on commit 09f18d0

Please sign in to comment.