Skip to content

Commit

Permalink
Merge branch 'master' into rig
Browse files Browse the repository at this point in the history
  • Loading branch information
Steelpoint committed Feb 4, 2024
2 parents c99e678 + 7d8e802 commit 3e630f6
Show file tree
Hide file tree
Showing 211 changed files with 1,429 additions and 1,058 deletions.
2 changes: 1 addition & 1 deletion .github/alternate_byond_versions.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@
# Example:
# 500.1337: runtimestation

515.1610: lv624
515.1630: lv624
1 change: 1 addition & 0 deletions code/__DEFINES/dcs/signals/atom/signals_item.dm
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,4 @@
#define COMSIG_CAMERA_SET_TARGET "camera_manager_set_target"
#define COMSIG_CAMERA_SET_AREA "camera_manager_set_area"
#define COMSIG_CAMERA_CLEAR "camera_manager_clear_target"
#define COMSIG_CAMERA_REFRESH "camera_manager_refresh"
2 changes: 1 addition & 1 deletion code/__HELPERS/#maths.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ GLOBAL_LIST_INIT(sqrtTable, list(1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4,

// MATH DEFINES

#define Ceiling(x) (-round(-x))
#define Ceiling(x) (-round(-(x)))
#define CLAMP01(x) (clamp(x, 0, 1))

// cotangent
Expand Down
8 changes: 4 additions & 4 deletions code/__HELPERS/icons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ icon/MinColors(icon)
icon/MaxColors(icon)
The icon is blended with a second icon where the maximum of each RGB pixel is the result.
Opacity may increase, as if the icons were blended with ICON_OR. You may supply a color in place of an icon.
icon/Opaque(background = COLOR_BLACK)
icon/Opaque(background = "#000000")
All alpha values are set to 255 throughout the icon. Transparent pixels become black, or whatever background color you specify.
icon/BecomeAlphaMask()
You can convert a simple grayscale icon into an alpha mask to use with other icons very easily with this proc.
Expand Down Expand Up @@ -246,7 +246,7 @@ world

/icon/proc/AddAlphaMask(mask)
var/icon/M = new(mask)
M.Blend(COLOR_WHITE, ICON_SUBTRACT)
M.Blend("#ffffff", ICON_SUBTRACT)
// apply mask
Blend(M, ICON_ADD)

Expand Down Expand Up @@ -544,7 +544,7 @@ world
return flat_icon

/proc/adjust_brightness(color, value)
if (!color) return COLOR_WHITE
if (!color) return "#FFFFFF"
if (!value) return color

var/list/RGB = ReadRGB(color)
Expand Down Expand Up @@ -581,7 +581,7 @@ world
if(A)
A.overlays.Remove(src)

/mob/proc/flick_heal_overlay(time, color = COLOR_GREEN) //used for warden and queen healing
/mob/proc/flick_heal_overlay(time, color = "#00FF00") //used for warden and queen healing
var/image/I = image('icons/mob/mob.dmi', src, "heal_overlay")
switch(icon_size)
if(48)
Expand Down
3 changes: 3 additions & 0 deletions code/_globalvars/global_lists.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ GLOBAL_LIST_EMPTY(WYFaxes) //Departmental faxes
GLOBAL_LIST_EMPTY(USCMFaxes)
GLOBAL_LIST_EMPTY(ProvostFaxes)
GLOBAL_LIST_EMPTY(CMBFaxes)
GLOBAL_LIST_EMPTY(UPPFaxes)
GLOBAL_LIST_EMPTY(TWEFaxes)
GLOBAL_LIST_EMPTY(CLFFaxes)
GLOBAL_LIST_EMPTY(GeneralFaxes) //Inter-machine faxes
GLOBAL_LIST_EMPTY(fax_contents) //List of fax contents to maintain it even if source paper is deleted

Expand Down
4 changes: 2 additions & 2 deletions code/_onclick/hud/fullscreen.dm
Original file line number Diff line number Diff line change
Expand Up @@ -212,13 +212,13 @@
/atom/movable/screen/fullscreen/lighting_backdrop/lit_secondary
invisibility = INVISIBILITY_LIGHTING
layer = BACKGROUND_LAYER + LIGHTING_PRIMARY_DIMMER_LAYER
color = COLOR_BLACK
color = "#000"
alpha = 60

/atom/movable/screen/fullscreen/lighting_backdrop/backplane
invisibility = INVISIBILITY_LIGHTING
layer = LIGHTING_BACKPLANE_LAYER
color = COLOR_BLACK
color = "#000"
blend_mode = BLEND_ADD

/atom/movable/screen/fullscreen/see_through_darkness
Expand Down
2 changes: 1 addition & 1 deletion code/_onclick/hud/human.dm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/datum/hud/human
var/list/gear = list()

/datum/hud/human/New(mob/living/carbon/human/owner, datum/custom_hud/hud_type, ui_color = COLOR_WHITE, ui_alpha = 255)
/datum/hud/human/New(mob/living/carbon/human/owner, datum/custom_hud/hud_type, ui_color = "#ffffff", ui_alpha = 255)
..()
ui_datum = hud_type
if(!istype(ui_datum))
Expand Down
6 changes: 5 additions & 1 deletion code/controllers/mc/globals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,11 @@ GLOBAL_REAL(GLOB, /datum/controller/global_vars)
GLOB = src

var/datum/controller/exclude_these = new
gvars_datum_in_built_vars = exclude_these.vars + list(NAMEOF(src, gvars_datum_protected_varlist), NAMEOF(src, gvars_datum_in_built_vars), NAMEOF(src, gvars_datum_init_order))
// I know this is dumb but the nested vars list hangs a ref to the datum. This fixes that
var/list/controller_vars = exclude_these.vars.Copy()
controller_vars["vars"] = null
gvars_datum_in_built_vars = controller_vars + list(NAMEOF(src, gvars_datum_protected_varlist), NAMEOF(src, gvars_datum_in_built_vars), NAMEOF(src, gvars_datum_init_order))

QDEL_IN(exclude_these, 0) //signal logging isn't ready

log_world("[vars.len - gvars_datum_in_built_vars.len] global variables")
Expand Down
8 changes: 8 additions & 0 deletions code/datums/ASRS.dm
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,14 @@
reference_package = /datum/supply_packs/ammo_shell_box_flechette
cost = ASRS_VERY_LOW_WEIGHT

/datum/supply_packs_asrs/ammo_shell_box_breaching
reference_package = /datum/supply_packs/ammo_shell_box_breaching
cost = ASRS_VERY_LOW_WEIGHT

/datum/supply_packs_asrs/ammo_xm51
reference_package = /datum/supply_packs/ammo_xm51
cost = ASRS_VERY_LOW_WEIGHT

/datum/supply_packs_asrs/ammo_smartgun
reference_package = /datum/supply_packs/ammo_smartgun

Expand Down
10 changes: 5 additions & 5 deletions code/datums/_atmos_setup.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@
// atmospherics devices.
//--------------------------------------------

#define PIPE_COLOR_GREY COLOR_WHITE //yes white is grey
#define PIPE_COLOR_RED COLOR_RED
#define PIPE_COLOR_BLUE COLOR_BLUE
#define PIPE_COLOR_CYAN COLOR_CYAN
#define PIPE_COLOR_GREEN COLOR_GREEN
#define PIPE_COLOR_GREY "#ffffff" //yes white is grey
#define PIPE_COLOR_RED "#ff0000"
#define PIPE_COLOR_BLUE "#0000ff"
#define PIPE_COLOR_CYAN "#00ffff"
#define PIPE_COLOR_GREEN "#00ff00"
#define PIPE_COLOR_YELLOW "#ffcc00"
#define PIPE_COLOR_PURPLE "#5c1ec0"

Expand Down
11 changes: 0 additions & 11 deletions code/datums/agents/tools/stunbaton.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,3 @@
hitcost = 500
stunforce = 40
has_user_lock = FALSE

/obj/item/weapon/baton/antag/check_user_auth(mob/user)
if(!skillcheckexplicit(user, SKILL_ANTAG, SKILL_ANTAG_AGENT))
user.visible_message(SPAN_NOTICE("[src] beeps as [user] picks it up"), SPAN_DANGER("WARNING: Unauthorized user detected. Denying access..."))
user.apply_effect(10, DAZE)
user.visible_message(SPAN_WARNING("[src] beeps and sends a shock through [user]'s body!"))
deductcharge(hitcost)

return FALSE

return TRUE
26 changes: 26 additions & 0 deletions code/datums/ammo/bullet/shotgun.dm
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,32 @@
penetration = ARMOR_PENETRATION_TIER_10
scatter = SCATTER_AMOUNT_TIER_4

/*
16 GAUGE SHOTGUN AMMO
*/

/datum/ammo/bullet/shotgun/light/breaching
name = "light breaching shell"
icon_state = "flechette"
handful_state = "breaching_shell"
multiple_handful_name = TRUE
bonus_projectiles_type = /datum/ammo/bullet/shotgun/light/breaching/spread

accuracy_var_low = PROJECTILE_VARIANCE_TIER_6
accuracy_var_high = PROJECTILE_VARIANCE_TIER_6
damage = 55
max_range = 5
bonus_projectiles_amount = EXTRA_PROJECTILES_TIER_3
penetration = ARMOR_PENETRATION_TIER_1

/datum/ammo/bullet/shotgun/light/breaching/spread
name = "additional light breaching fragments"
bonus_projectiles_amount = 0
accuracy_var_low = PROJECTILE_VARIANCE_TIER_6
accuracy_var_high = PROJECTILE_VARIANCE_TIER_6
scatter = SCATTER_AMOUNT_TIER_3
damage = 10

//Enormous shell for Van Bandolier's superheavy double-barreled hunting gun.
/datum/ammo/bullet/shotgun/twobore
name = "two bore bullet"
Expand Down
10 changes: 5 additions & 5 deletions code/datums/ammo/energy.dm
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,16 @@
icon_state = "stun"
damage_type = OXY
flags_ammo_behavior = AMMO_ENERGY|AMMO_IGNORE_RESIST|AMMO_ALWAYS_FF //Not that ignoring will do much right now.

stamina_damage = 45
accuracy = HIT_ACCURACY_TIER_8
shell_speed = AMMO_SPEED_TIER_1 // Slightly faster
hit_effect_color = "#FFFF00"

/datum/ammo/energy/taser/on_hit_mob(mob/M, obj/projectile/P)
if(ishuman(M))
var/mob/living/carbon/human/H = M
H.disable_special_items() // Disables scout cloak
/datum/ammo/energy/taser/on_hit_mob(mob/mobs, obj/projectile/P)
if(ishuman(mobs))
var/mob/living/carbon/human/humanus = mobs
humanus.disable_special_items() // Disables scout cloak
humanus.make_jittery(40)

/datum/ammo/energy/taser/precise
name = "precise taser bolt"
Expand Down
6 changes: 4 additions & 2 deletions code/datums/ammo/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@
/datum/ammo/flare/set_bullet_traits()
. = ..()
LAZYADD(traits_to_give, list(
BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_incendiary)
BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_incendiary, stacks = 2.5)
))

/datum/ammo/flare/on_hit_mob(mob/M,obj/projectile/P)
Expand Down Expand Up @@ -156,11 +156,13 @@
name = "starshell ash"
icon_state = "starshell_bullet"
max_range = 5
damage = 2.5
flare_type = /obj/item/device/flashlight/flare/on/starshell_ash

/datum/ammo/flare/starshell/set_bullet_traits()
LAZYADD(traits_to_give, list(
BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_iff, /datum/element/bullet_trait_incendiary)
BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_iff),
BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_incendiary, stacks = 1)
))

/datum/ammo/souto
Expand Down
5 changes: 3 additions & 2 deletions code/datums/ammo/xeno.dm
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,7 @@
name = "tail hook"
icon_state = "none"
ping = null
flags_ammo_behavior = AMMO_XENO|AMMO_SKIPS_ALIENS|AMMO_STOPPED_BY_COVER|AMMO_IGNORE_ARMOR
flags_ammo_behavior = AMMO_XENO|AMMO_SKIPS_ALIENS|AMMO_STOPPED_BY_COVER
damage_type = BRUTE

damage = XENO_DAMAGE_TIER_5
Expand All @@ -386,7 +386,8 @@
target.overlays += tail_image

new /datum/effects/xeno_slow(target, fired_proj.firer, ttl = 0.5 SECONDS)
target.apply_effect(0.5, STUN)

target.apply_effect(0.5, ROOT)
INVOKE_ASYNC(target, TYPE_PROC_REF(/atom/movable, throw_atom), fired_proj.firer, get_dist(fired_proj.firer, target)-1, SPEED_VERY_FAST)

qdel(tail_beam)
Expand Down
4 changes: 2 additions & 2 deletions code/datums/custom_hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@
var/coords_x = splittext(coords[1], ":")
return "[coords_x[1]]:[text2num(coords_x[2])+A.hud_offset],[coords[2]]"

/datum/custom_hud/proc/special_behaviour(datum/hud/element, ui_alpha = 255, ui_color = COLOR_WHITE)
/datum/custom_hud/proc/special_behaviour(datum/hud/element, ui_alpha = 255, ui_color = "#ffffff")
return

/datum/custom_hud/old
Expand Down Expand Up @@ -131,7 +131,7 @@
var/coord_row_offset = -8
return "EAST[coord_col]:[coord_col_offset],NORTH[coord_row]:[coord_row_offset]"

/datum/custom_hud/dark/special_behaviour(datum/hud/element, ui_alpha = 255, ui_color = COLOR_WHITE)
/datum/custom_hud/dark/special_behaviour(datum/hud/element, ui_alpha = 255, ui_color = "#ffffff")
element.frame_hud = new /atom/movable/screen()
element.frame_hud.icon = ui_frame_icon
element.frame_hud.icon_state = "dark"
Expand Down
2 changes: 2 additions & 0 deletions code/datums/elements/bullet_trait/damage_boost.dm
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
GLOBAL_LIST_INIT(damage_boost_turfs, typecacheof(/turf))

GLOBAL_LIST_INIT(damage_boost_turfs_xeno, typecacheof(/turf/closed/wall/resin))

GLOBAL_LIST_INIT(damage_boost_breaching, typecacheof(list(
/obj/structure/machinery/door,
/obj/structure/mineral_door,
Expand Down
2 changes: 1 addition & 1 deletion code/datums/emergency_calls/feral_xenos.dm
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@

else if(medics < max_medics)
medics++
var/picked = pick(/mob/living/carbon/xenomorph/drone, /mob/living/carbon/xenomorph/hivelord, /mob/living/carbon/xenomorph/burrower)
var/picked = pick(/mob/living/carbon/xenomorph/drone, /mob/living/carbon/xenomorph/hivelord)
new_xeno = new picked(spawn_loc)

else if(engineers < max_engineers)
Expand Down
2 changes: 1 addition & 1 deletion code/datums/entities/clans.dm
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ BSQL_PROTECT_DATUM(/datum/entity/clan)
)

/datum/entity_meta/clan/on_insert(datum/entity/clan/player_clan)
player_clan.color = COLOR_WHITE
player_clan.color = "#FFFFFF"

player_clan.save()

Expand Down
8 changes: 4 additions & 4 deletions code/datums/entities/player_times.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

// Untracked vars
var/bgcolor = "#4a4a4a"
var/textcolor = COLOR_WHITE
var/textcolor = "#ffffff"

BSQL_PROTECT_DATUM(/datum/entity/player_time)

Expand Down Expand Up @@ -62,7 +62,7 @@ BSQL_PROTECT_DATUM(/datum/entity/player_time)
"job" = role_id,
"playtime" = round(total_minutes MINUTES_TO_HOURS, 0.1),
"bgcolor" = "rgb(0, [Floor(128 * playtime_percentage)], [Floor(255 * playtime_percentage)])",
"textcolor" = COLOR_WHITE,
"textcolor" = "#FFFFFF",
"icondisplay" = icon_display
)

Expand Down Expand Up @@ -103,14 +103,14 @@ BSQL_PROTECT_DATUM(/datum/entity/player_time)
"job" = "Xenomorph",
"playtime" = round(owning_client.get_total_xeno_playtime() DECISECONDS_TO_HOURS, 0.1),
"bgcolor" = "#3a3a3a",
"textcolor" = COLOR_WHITE
"textcolor" = "#FFFFFF"
)

var/list/marine_playtime = list(
"job" = "Human",
"playtime" = round(owning_client.get_total_human_playtime() DECISECONDS_TO_HOURS, 0.1),
"bgcolor" = "#3a3a3a",
"textcolor" = COLOR_WHITE
"textcolor" = "#FFFFFF"
)

LAZYADD(xeno_playtimes, list(xeno_playtime))
Expand Down
2 changes: 1 addition & 1 deletion code/datums/langchat/langchat.dm
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/atom/var/langchat_height = 32 // abovetile usually
/atom/var/langchat_color = COLOR_WHITE
/atom/var/langchat_color = "#FFFFFF"
/atom/var/langchat_styles = ""

/mob/living/carbon/xenomorph/langchat_color = "#b491c8"
Expand Down
2 changes: 1 addition & 1 deletion code/datums/statistics/entities/medal_stats.dm
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
return

var/datum/entity/statistic/medal/new_medal = DB_ENTITY(/datum/entity/statistic/medal)
var/datum/entity/player/player_entity = get_player_from_key(new_recipient.ckey)
var/datum/entity/player/player_entity = get_player_from_key(new_recipient.persistent_ckey)
if(player_entity)
new_medal.player_id = player_entity.id

Expand Down
22 changes: 22 additions & 0 deletions code/datums/supply_packs/ammo.dm
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,16 @@
containername = "\improper shotgun flechette crate"
group = "Ammo"

/datum/supply_packs/ammo_shell_box_breaching
name = "Shell box (16g) (120x breaching shells)"
contains = list(
/obj/item/ammo_box/magazine/shotgun/light/breaching,
)
cost = 40
containertype = /obj/structure/closet/crate/ammo
containername = "\improper shotgun breaching crate"
group = "Ammo"

//------------------------For 88M4 ----------------

/datum/supply_packs/ammo_mod88_mag_box_ap
Expand Down Expand Up @@ -296,6 +306,18 @@
containername = "\improper M41AE2 HPR holo-target magazines crate"
group = "Ammo"

/datum/supply_packs/ammo_xm51
contains = list(
/obj/item/ammo_magazine/rifle/xm51,
/obj/item/ammo_magazine/rifle/xm51,
/obj/item/ammo_magazine/shotgun/light/breaching,
)
name = "XM51 Ammo (2x mags) (1x small breaching shell box)"
cost = 20
containertype = /obj/structure/closet/crate/ammo
containername = "\improper XM51 ammo crate"
group = "Ammo"

//------------------------Smartgunner stuff----------------

/datum/supply_packs/ammo_smartgun_battery_pack
Expand Down
13 changes: 12 additions & 1 deletion code/datums/supply_packs/weapons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,18 @@
)
cost = 30
containertype = /obj/structure/closet/crate/weapon
containername = "MOU-53 Breack Action Shotgun Crate"
containername = "MOU-53 Break Action Shotgun Crate"
group = "Weapons"

/datum/supply_packs/xm51
name = "XM51 Breaching Scattergun Crate (x2)"
contains = list(
/obj/item/storage/box/guncase/xm51,
/obj/item/storage/box/guncase/xm51,
)
cost = 30
containertype = /obj/structure/closet/crate/weapon
containername = "XM51 Breaching Scattergun Crate"
group = "Weapons"

/datum/supply_packs/smartpistol
Expand Down
Loading

0 comments on commit 3e630f6

Please sign in to comment.