Skip to content

Commit

Permalink
Merge remote-tracking branch 'Aurora/master' into there_ends_the_world
Browse files Browse the repository at this point in the history
  • Loading branch information
Matt Atlas committed Oct 19, 2024
2 parents 5d29307 + e1e0169 commit d77717c
Show file tree
Hide file tree
Showing 72 changed files with 2,104 additions and 6,870 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/byond.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ jobs:
# https://megalinter.io/latest/
- name: Check EditorConfig Compliance
id: ml
uses: oxsecurity/megalinter/flavors/python@v7.10.0
uses: oxsecurity/megalinter/flavors/python@v8.1.0
# Env config options outlined in https://megalinter.io/configuration/
env:
PRINT_ALPACA: false
Expand Down
1 change: 0 additions & 1 deletion aurorastation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -4117,7 +4117,6 @@
#include "maps\random_ruins\exoplanets\asteroid\abandoned_prison\abandoned_prison.dm"
#include "maps\random_ruins\exoplanets\asteroid\coalition_base\coalition_base.dm"
#include "maps\random_ruins\exoplanets\asteroid\mystery_ship\mystery_ship_areas.dm"
#include "maps\random_ruins\exoplanets\asteroid\old_outpost\old_outpost.dm"
#include "maps\random_ruins\exoplanets\biesel\abandoned_warehouse_1.dm"
#include "maps\random_ruins\exoplanets\biesel\abandoned_warehouse_2.dm"
#include "maps\random_ruins\exoplanets\biesel\biesel_camp_site.dm"
Expand Down
Binary file modified bapi.dll
Binary file not shown.
2 changes: 1 addition & 1 deletion code/ZAS/Zone.dm
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ Class Procs:

var/needs_update = 0

var/list/edges
var/list/connection_edge/edges

var/datum/gas_mixture/air = new

Expand Down
3 changes: 3 additions & 0 deletions code/__DEFINES/prefs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@
/// Will show job suit if true, will hide if this is false or EQUIP_PREVIEW_JOB is false
#define EQUIP_PREVIEW_JOB_SUIT BITFLAG(4)

/// Will show custom items if set, not set by default, to prevent overloading SQL requests
#define EQUIP_PREVIEW_CUSTOM_ITEMS BITFLAG(5)

/// The default EQUIP_PREVIEW bitflag, with this, all character creation items are shown
#define EQUIP_PREVIEW_ALL (EQUIP_PREVIEW_LOADOUT|EQUIP_PREVIEW_JOB|EQUIP_PREVIEW_JOB_HAT|EQUIP_PREVIEW_JOB_UNIFORM|EQUIP_PREVIEW_JOB_SUIT)

Expand Down
5 changes: 3 additions & 2 deletions code/__DEFINES/species_languages.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,13 @@
#define IS_PLANT BITFLAG(7) // Is a treeperson.
#define NO_EMBED BITFLAG(8) // Can not have shrapnel or any object embedded into its body
#define IS_MECHANICAL BITFLAG(9) // Is a robot.
#define ACCEPTS_COOLER BITFLAG(10) // Can wear suit coolers and have them work without a suit.
#define ACCEPTS_COOLER BITFLAG(10) // Can wear suit coolers and have them work without a suit.
#define NO_CHUBBY BITFLAG(11) // Cannot be visibly fat from nutrition type.
#define NO_ARTERIES BITFLAG(12) // This species does not have arteries.
#define PHORON_IMMUNE BITFLAG(13) // species doesn't suffer the negative effects of phoron contamination
#define CAN_SWEAT BITFLAG(14) // Forgive me.
#define NO_COLD_SLOWDOWN BITFLAG(15) //Doesn't slow down in the cold.
#define NO_COLD_SLOWDOWN BITFLAG(15) //Doesn't slow down in the cold.
#define NO_EQUIP_SPEEDMODS BITFLAG(16) //Doesn't get affected by carrying certain things or equipping some clothing
// unused: 0x8000(32768) - higher than this will overflow

// Base flags for IPCs.
Expand Down
1 change: 1 addition & 0 deletions code/___linters/odlint.dm
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,6 @@
#pragma EmptyBlock error
#pragma SuspiciousSwitchCase error
#pragma AssignmentInConditional error
#pragma AmbiguousInOrder error

#endif
2 changes: 1 addition & 1 deletion code/controllers/subsystems/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,7 @@ SUBSYSTEM_DEF(jobs)
if(SSatlas.current_sector.description)
to_chat(H, SSatlas.current_sector.get_chat_description())

if("Arrivals Shuttle" in SSatlas.current_map.allowed_spawns && spawning_at == "Arrivals Shuttle")
if(("Arrivals Shuttle" in SSatlas.current_map.allowed_spawns) && spawning_at == "Arrivals Shuttle")
H.centcomm_despawn_timer = addtimer(CALLBACK(H, TYPE_PROC_REF(/mob/living, centcomm_timeout)), 10 MINUTES, TIMER_STOPPABLE)
to_chat(H,SPAN_NOTICE("You have ten minutes to reach the station before you will be forced there."))

Expand Down
2 changes: 1 addition & 1 deletion code/game/gamemodes/events/power_failure.dm
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
C.cell.charge = C.cell.maxcharge
for(var/obj/machinery/power/smes/S in SSmachinery.smes_units)
var/area/current_area = get_area(S)
if(current_area.type in skipped_areas || !is_station_level(S.z))
if((current_area.type in skipped_areas) || !is_station_level(S.z))
continue
S.charge = S.capacity
S.update_icon()
Expand Down
2 changes: 1 addition & 1 deletion code/game/jobs/job/engineering.dm
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@
department_flag = ENGSEC
faction = "Station"
total_positions = 3
spawn_positions = 2
spawn_positions = 3
intro_prefix = "an"
supervisors = "the chief engineer"
selection_color = "#c67519"
Expand Down
7 changes: 7 additions & 0 deletions code/game/machinery/mecha_fabricator.dm
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,10 @@
/obj/machinery/mecha_part_fabricator/dismantle()
for(var/f in materials)
eject_materials(f, -1)

//Stop the queue building if you're dismantling
deltimer(build_callback_timer)

..()

/obj/machinery/mecha_part_fabricator/RefreshParts()
Expand Down Expand Up @@ -191,6 +195,9 @@
count++
to_chat(user, SPAN_NOTICE("You insert [count] [sname] into \the [src]."))

//Wake up, we have things to do (maybe)
handle_queue()

else
to_chat(user, SPAN_NOTICE("\The [src] cannot hold more [sname]."))
return TRUE
Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/telecomms/computers/logbrowser.dm
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@

var/newnet = sanitize(input(usr, "Which network do you want to view?", "Comm Monitor", network) as null|text)

if(newnet && ((usr in range(1, src) || issilicon(usr))))
if(newnet && (((usr in range(1, src)) || issilicon(usr))))
if(length(newnet) > 15)
temp = "<font color = #D70B00>- FAILED: NETWORK TAG STRING TOO LENGHTLY -</font>"

Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/telecomms/computers/telemonitor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@
if(href_list["network"])

var/newnet = sanitize(input(usr, "Which network do you want to view?", "Comm Monitor", network) as null|text)
if(newnet && ((usr in range(1, src) || issilicon(usr))))
if(newnet && (((usr in range(1, src)) || issilicon(usr))))
if(length(newnet) > 15)
temp = "<font color = #D70B00>- FAILED: NETWORK TAG STRING TOO LENGHTLY -</font>"

Expand Down
62 changes: 45 additions & 17 deletions code/game/objects/items/apc_frame.dm
Original file line number Diff line number Diff line change
Expand Up @@ -14,31 +14,59 @@
return TRUE
return ..()

/obj/item/frame/apc/try_build(turf/on_wall)
if (get_dist(on_wall,usr)>1)
/obj/item/frame/apc/try_build(turf/on_wall, mob/user)
if(!istype(user))
stack_trace("APC being built by a non-mob, somehow!")
return
var/ndir = get_dir(usr,on_wall)
if (!(ndir in GLOB.cardinal))

if(get_dist(on_wall, user) > 1)
return

var/ndir = get_dir(user, on_wall)
if(!(ndir in GLOB.cardinal))
to_chat(user, SPAN_WARNING("You need to stand in front of the wall, directly, to build an APC!"))
return
var/turf/loc = get_turf(usr)
var/area/A = loc.loc
if (!istype(loc, /turf/simulated/floor))
to_chat(usr, SPAN_WARNING("APC cannot be placed on this spot."))

var/turf/user_turf = get_turf(user)
var/area/A = get_area(user)

if(!istype(user_turf, /turf/simulated/floor))
to_chat(user, SPAN_WARNING("APC cannot be placed on this spot."))
return
if (A.requires_power == 0 || istype(A, /area/space) || istype(A, /area/mine/unexplored) || istype(A, /area/mine/explored))
to_chat(usr, SPAN_WARNING("APC cannot be placed in this area."))

if(A.requires_power == 0 || istype(A, /area/space) || istype(A, /area/mine/unexplored) || istype(A, /area/mine/explored))
to_chat(user, SPAN_WARNING("APC cannot be placed in this area."))
return
if (A.get_apc())
to_chat(usr, SPAN_WARNING("This area already has an APC."))

if(A.get_apc())
to_chat(user, SPAN_WARNING("This area already has an APC."))
return //only one APC per area
for(var/obj/machinery/power/terminal/T in loc)

for(var/obj/machinery/power/terminal/T in user_turf)
if (T.master)
to_chat(usr, SPAN_WARNING("There is another network terminal here."))
to_chat(user, SPAN_WARNING("There is another network terminal here."))
return
else
var/obj/item/stack/cable_coil/C = new /obj/item/stack/cable_coil(loc)
var/obj/item/stack/cable_coil/C = new /obj/item/stack/cable_coil(user_turf)
C.amount = 10
to_chat(usr, "You cut the cables and disassemble the unused power terminal.")
to_chat(user, "You cut the cables and disassemble the unused power terminal.")
qdel(T)
new /obj/machinery/power/apc(loc, ndir, 1)

//Select the correct prefab path based on where the mob is facing
var/apc_path
switch(ndir)
if(NORTH)
apc_path = /obj/machinery/power/apc/north
if(SOUTH)
apc_path = /obj/machinery/power/apc/south
if(EAST)
apc_path = /obj/machinery/power/apc/east
if(WEST)
apc_path = /obj/machinery/power/apc/west

if(!apc_path)
stack_trace("APC being built by a non-mob, or somehow the direction grabbing or the cardinal directions are fucked!")
return

new apc_path(user_turf, ndir, TRUE)
qdel(src)
2 changes: 1 addition & 1 deletion code/game/objects/items/devices/radio/intercom.dm
Original file line number Diff line number Diff line change
Expand Up @@ -406,7 +406,7 @@ pixel_x = 8;
if(!istype(position) || !(position.z in levels))
return FALSE

if(input_frequency in ANTAG_FREQS && !syndie)
if((input_frequency in ANTAG_FREQS) && !syndie)
return FALSE//Prevents broadcast of messages over devices lacking the encryption

return TRUE
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/devices/traitordevices.dm
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ effective or pretty fucking useless.
if(!istype(target))
to_chat(user, SPAN_NOTICE("[target] is not a valid target!"))
return
if(GLOB.all_languages[LANGUAGE_LIIDRA] in target.languages || target.internal_organs_by_name["blackkois"])
if((GLOB.all_languages[LANGUAGE_LIIDRA] in target.languages) || target.internal_organs_by_name["blackkois"])
to_chat(user, SPAN_NOTICE("[target] is already part of the Lii'dra Hivemind!"))
return
if(isvaurca(target))
Expand Down
44 changes: 44 additions & 0 deletions code/game/objects/items/weapons/melee/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -200,3 +200,47 @@
desc = "A ceremonial sword issued to Sol marine officers as part of their dress uniform."
icon_state = "marineofficersword"
item_state = "marineofficersword"

/obj/item/melee/dinograbber
name = "dino grabber"
desc = "A plastic T-Rex head on a thin aluminum tube. A piece of string links the jaw and a trigger, allowing you to grab \
objects with it. Perfect for annoying your friends!"
icon = 'icons/obj/dinograbber.dmi'
icon_state = "dinograbber"
item_state = "dinograbber"
contained_sprite = TRUE
slot_flags = SLOT_BELT
force = 0
throwforce = 0
w_class = WEIGHT_CLASS_NORMAL
throw_speed = 7
throw_range = 15
attack_verb = list("grabbed at")
var/drop_result = FALSE

/obj/item/melee/dinograbber/attack(mob/living/target_mob, mob/living/user, target_zone)
..()

if(!ishuman(target_mob))
return
drop_result = FALSE

// 20% chance to disarm someone per hit, not including the chance to miss with the weapon
if(prob(20))
// If hit in a valid zone, check and drop the item held in the respective hand, only working for items that are weight class small or below
switch(target_zone)
if(BP_L_HAND, BP_L_ARM)
if(target_mob.l_hand && (target_mob.l_hand != src) && target_mob.l_hand.w_class <= WEIGHT_CLASS_SMALL)
target_mob.drop_l_hand()
drop_result = TRUE

if(BP_R_HAND, BP_R_ARM)
if(target_mob.r_hand && (target_mob.r_hand != src) && target_mob.r_hand.w_class <= WEIGHT_CLASS_SMALL)
target_mob.drop_r_hand()
drop_result = TRUE

// Visible messages for either result.
if(drop_result)
user.visible_message(SPAN_DANGER("\The [user] disarms \the [target_mob] with \the [src]!"), SPAN_NOTICE("You successfully disarm \the [target_mob] with \the [src]!"))
else
user.visible_message(SPAN_DANGER("\The [user] fail to disarm \the [target_mob] with \the [src]!"), SPAN_NOTICE("You fail to disarm \the [target_mob] with \the [src]!"))
4 changes: 2 additions & 2 deletions code/game/objects/items/weapons/storage/secure.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
// -----------------------------
// Generic Item
// -----------------------------
/obj/item/storage/secure
ABSTRACT_TYPE(/obj/item/storage/secure)
name = "secstorage"
var/icon_locking = "secureb"
var/icon_sparking = "securespark"
Expand Down Expand Up @@ -87,7 +87,7 @@
dat += "<p>\n<font color=red><b>LOCKING SYSTEM ERROR - 1701</b></font>"
if (src.l_setshort)
dat += "<p>\n<font color=red><b>ALERT: MEMORY SYSTEM ERROR - 6040 201</b></font>"
message = "src.code[]"
message = "[src.code]"
if (!src.locked)
message = "*****"
dat += "<HR>\n>[message]<BR>\n<A href='?src=[REF(src)];type=1'>1</A>-<A href='?src=[REF(src)];type=2'>2</A>-<A href='?src=[REF(src)];type=3'>3</A><BR>\n<A href='?src=[REF(src)];type=4'>4</A>-<A href='?src=[REF(src)];type=5'>5</A>-<A href='?src=[REF(src)];type=6'>6</A><BR>\n<A href='?src=[REF(src)];type=7'>7</A>-<A href='?src=[REF(src)];type=8'>8</A>-<A href='?src=[REF(src)];type=9'>9</A><BR>\n<A href='?src=[REF(src)];type=R'>R</A>-<A href='?src=[REF(src)];type=0'>0</A>-<A href='?src=[REF(src)];type=E'>E</A><BR>\n</TT>"
Expand Down
1 change: 1 addition & 0 deletions code/game/objects/items/weapons/weaponry.dm
Original file line number Diff line number Diff line change
Expand Up @@ -149,3 +149,4 @@
to_chat(target_mob, SPAN_WARNING("<b> You have been banned FOR NO REISIN by [user]</b>"))
to_chat(user, SPAN_WARNING(" You have <b>BANNED</b> [target_mob]"))
playsound(loc, 'sound/effects/adminhelp.ogg', 15)

4 changes: 2 additions & 2 deletions code/game/objects/random/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -444,7 +444,7 @@
)
while(!P)
P = pick(typesof(/obj/structure/flora/pottedplant))
if(P in unwanted || ((P in rare) && prob(50)))
if((P in unwanted) || ((P in rare) && prob(50)))
P = null
. = new P(loc)

Expand All @@ -465,7 +465,7 @@
)
while(!P)
P = pick(typesof(/obj/item/flora/pottedplant_small))
if(P in unwanted || ((P in rare) && prob(50)))
if((P in unwanted) || ((P in rare) && prob(50)))
P = null
. = new P(loc)

Expand Down
4 changes: 2 additions & 2 deletions code/modules/background/citizenship/vaurca.dm
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@
if(H)
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/storage/backpack/typec/klax(H), slot_back)
H.equip_to_slot_or_del(new /obj/item/gun/energy/pistol/hegemony(H), slot_in_backpack)
H.equip_to_slot_or_del(new /obj/item/gun/energy/vaurca/blaster(H), slot_in_backpack)
if(!visualsOnly)
addtimer(CALLBACK(src, PROC_REF(send_representative_mission), H), 5 MINUTES)
return TRUE
Expand Down Expand Up @@ -217,7 +217,7 @@
if(H)
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/storage/backpack/typec/cthur(H), slot_back)
H.equip_to_slot_or_del(new /obj/item/gun/energy/fedpistol/nopsi(H), slot_in_backpack)
H.equip_to_slot_or_del(new /obj/item/gun/energy/vaurca/blaster(H), slot_in_backpack)
if(!visualsOnly)
addtimer(CALLBACK(src, PROC_REF(send_representative_mission), H), 5 MINUTES)
return TRUE
Expand Down
3 changes: 3 additions & 0 deletions code/modules/cargo/random_stock/t3_rare.dm
Original file line number Diff line number Diff line change
Expand Up @@ -164,4 +164,7 @@ STOCK_ITEM_RARE(pistols, 1)
var/type = pickweight(pistols)
new type(L)

STOCK_ITEM_RARE(dinograbber, 1.75)
new /obj/item/melee/dinograbber(L)

STOCK_ITEM_RARE(nothing, 0)
1 change: 1 addition & 0 deletions code/modules/client/preference_setup/general/03_body.dm
Original file line number Diff line number Diff line change
Expand Up @@ -300,6 +300,7 @@ var/global/list/valid_bloodtypes = list(
out += "<br><a href='?src=[REF(src)];toggle_preview_value=[EQUIP_PREVIEW_JOB_HAT]'>[pref.equip_preview_mob & EQUIP_PREVIEW_JOB_HAT ? "Hide job hat" : "Show job hat"]</a>"
out += "<br><a href='?src=[REF(src)];toggle_preview_value=[EQUIP_PREVIEW_JOB_UNIFORM]'>[pref.equip_preview_mob & EQUIP_PREVIEW_JOB_UNIFORM ? "Hide job uniform" : "Show job uniform"]</a>"
out += "<br><a href='?src=[REF(src)];toggle_preview_value=[EQUIP_PREVIEW_JOB_SUIT]'>[pref.equip_preview_mob & EQUIP_PREVIEW_JOB_SUIT ? "Hide job suit" : "Show job suit"]</a>"
out += "<br><a href='?src=[REF(src)];toggle_preview_value=[EQUIP_PREVIEW_CUSTOM_ITEMS]'>[pref.equip_preview_mob & EQUIP_PREVIEW_CUSTOM_ITEMS ? "Hide custom items" : "Show custom items"]</a>"
out += "</td></tr></table>"

var/tail_spacing = FALSE
Expand Down
2 changes: 1 addition & 1 deletion code/modules/clothing/under/accessories/badges.dm
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@
if(!istype(id_card))
return

if(ACCESS_SECURITY in id_card.access || emagged)
if((ACCESS_SECURITY in id_card.access) || emagged)
to_chat(user, "You imprint your ID details onto the badge.")
set_name(user.real_name)
else
Expand Down
29 changes: 29 additions & 0 deletions code/modules/customitems/item_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1971,3 +1971,32 @@ All custom items with worn sprites must follow the contained sprite system: http
flag_path = "devorask_flag"
flag_size = TRUE
flag_item = /obj/item/flag/fluff/devorask_flag/l

/obj/item/organ/external/arm/fluff/gracia_autakh // gracia's aut'akh left arm - Gracia Hiza - cometblaze
robotize_type = PROSTHETIC_AUTAKH
skin_color = FALSE
override_robotize_force_icon = 'icons/mob/human_races/fluff/gracia_arm.dmi'
override_robotize_painted = FALSE
robotize_children = FALSE

/obj/item/organ/external/arm/fluff/gracia_autakh/Initialize(mapload)
. = ..()
// adding the hand to the child here means only the arm has to be added to the DB
// since the hand will be attached automatically
LAZYADD(children, new /obj/item/organ/external/hand/fluff/gracia_autakh(src))

/obj/item/organ/external/hand/fluff/gracia_autakh // gracia's aut'akh left hand - Gracia Hiza - cometblaze
robotize_type = PROSTHETIC_AUTAKH
skin_color = FALSE
override_robotize_force_icon = 'icons/mob/human_races/fluff/gracia_arm.dmi'
override_robotize_painted = FALSE
robotize_children = FALSE

/obj/item/clothing/suit/storage/toggle/fluff/tokash_mantle //Consular Mantle - Suvek Tokash - Evandorf
name = "consular's mantle"
desc = "A long, ornate, and somewhat extravagant cloak-like mantle. Fashioned with Hegemony colors, it serves as a symbol of the wearer's station and allegiance. Scenes of Unathi history and legend etched into the golden crest surmount the trailing, blood-red fabric. "
icon = 'icons/obj/custom_items/tokash_mantle.dmi'
icon_override = 'icons/obj/custom_items/tokash_mantle.dmi'
icon_state = "tokash_mantle"
item_state = "tokash_mantle"
contained_sprite = TRUE
Loading

0 comments on commit d77717c

Please sign in to comment.