Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge Upstream 15.01.2025 #1746

Merged
merged 37 commits into from
Jan 15, 2025
Merged
Show file tree
Hide file tree
Changes from 30 commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
41889d0
[TWEAK] Optional laws for AI and Cyborgs on Death Squad spawn. (#27663)
Drsmail Jan 12, 2025
071a13f
Now lighting is shown on photography (#27752)
Vladisvell Jan 12, 2025
16b3370
Resprites the mining ore box (#27933)
ExusA Jan 12, 2025
390ec4c
Master (#27928)
Slurge00 Jan 12, 2025
7c9f451
Resprites wind dust (#27905)
FunnyMan3595 Jan 12, 2025
2b178d1
Update ert_outfits.dm (#27869)
matttheficus Jan 12, 2025
848eea7
Borg RCD nerf + migration to new attack chain (#27857)
DGamerL Jan 12, 2025
f9c4958
Make AI automated messages log more normally. (#27837)
FunnyMan3595 Jan 12, 2025
f47f39e
Stethoscope Cracking Sounds Fix (#27823)
Bm0n Jan 12, 2025
1dcd4a6
Update cerestation.dmm (#27830)
Fordoxia Jan 12, 2025
264c305
Adds announcement of job objectives upon spawning in (#27805)
Miraviel Jan 12, 2025
3d2d730
fix fusion gauntlets failing to deploy (#27946)
warriorstar-orion Jan 12, 2025
a2bc6e1
Fixes his grace nodrop (#27935)
DGamerL Jan 12, 2025
a23f2df
Adds surgical tray crafting recipe, renames and increases cost for th…
Miraviel Jan 12, 2025
7f49c57
Resprites Mirrors, by ATPEngineer (#27927)
Alecksohs Jan 12, 2025
bcc794e
Rusting off the elements system. Makes rust appliable to turfs, adds …
Qwertytoforty Jan 12, 2025
a4a92f7
Fixes abstract items showing on mob examine (#27951)
Qwertytoforty Jan 12, 2025
5337cc1
Adjust depot loot a little and remove some irrelevant items. (#27398)
kyunkyunkyun Jan 13, 2025
7cdbcc4
Fix carbon/Destory runtime (#27959)
FunnyMan3595 Jan 13, 2025
807b7dd
Refactors a small bit of `forceMove()` code (#27961)
DGamerL Jan 13, 2025
19562b2
Update robot_mob.dm (#27964)
DGamerL Jan 13, 2025
56f78b9
[TM FIRST] 516 Prep/Fixes regarding hrefs (#27960)
Burzah Jan 13, 2025
734ec10
Updates "Check New Players" verb (#27963)
Contrabang Jan 13, 2025
879fafd
Stop MILLA lag (#27965)
FunnyMan3595 Jan 13, 2025
bb230c3
Update SIT spawn prompt (#27968)
FunnyMan3595 Jan 13, 2025
0e57d99
adds missing parentheses (#27953)
Toastical Jan 14, 2025
15e8d6c
Tweaked diona and fixed slimepeople eyes (#27950)
ExusA Jan 14, 2025
c6e1dd6
[PTBF] Adds hallucination effects to medical and reagent scanners (#2…
lewcc Jan 14, 2025
700f536
[s] Replacing Sleep with Paralyze on faint (#27977)
HMBGERDO Jan 14, 2025
e16cb74
Fixes locker breakout message showing the wrong time (#27942)
Burzah Jan 14, 2025
674c6dd
Build Rust library
paradisess13[bot] Jan 15, 2025
e1c28e3
Merge branch 'master' into merge-upstream
AyIong Jan 15, 2025
0349785
Build Rust library
paradisess13[bot] Jan 15, 2025
f3a4758
Remove rust replacement
AyIong Jan 15, 2025
c9b4594
Merge branch 'merge-upstream' of https://github.com/ss220club/Paradis…
AyIong Jan 15, 2025
88e8d57
Build Rust library
paradisess13[bot] Jan 15, 2025
76444d2
Fix linter
AyIong Jan 15, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 19 additions & 19 deletions _maps/map_files/stations/cerestation.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -2994,7 +2994,7 @@
name = "Cyborg Recharger"
},
/turf/simulated/floor/plasteel/freezer,
/area/station/public/toilet)
/area/station/public/toilet/unisex)
"azS" = (
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 8
Expand Down Expand Up @@ -14537,7 +14537,7 @@
/area/station/public/quantum/security)
"bUc" = (
/turf/simulated/floor/plasteel/freezer,
/area/station/public/toilet)
/area/station/public/toilet/unisex)
"bUg" = (
/obj/structure/table,
/obj/item/storage/fancy/donut_box,
Expand Down Expand Up @@ -42167,7 +42167,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plasteel/freezer,
/area/station/public/toilet)
/area/station/public/toilet/unisex)
"hRF" = (
/obj/machinery/door/airlock/atmos/glass{
autoclose = 0;
Expand Down Expand Up @@ -47017,7 +47017,7 @@
icon_state = "1-2"
},
/turf/simulated/floor/plasteel/freezer,
/area/station/public/toilet)
/area/station/public/toilet/unisex)
"jbn" = (
/obj/structure/sign/atmosplaque{
pixel_y = 32
Expand Down Expand Up @@ -53802,7 +53802,7 @@
},
/obj/machinery/recharge_station,
/turf/simulated/floor/plasteel/freezer,
/area/station/public/toilet)
/area/station/public/toilet/unisex)
"kHU" = (
/obj/item/ashtray/glass,
/obj/structure/table/wood,
Expand Down Expand Up @@ -57699,7 +57699,7 @@
dir = 4
},
/turf/simulated/floor/plasteel/freezer,
/area/station/public/toilet)
/area/station/public/toilet/unisex)
"lFB" = (
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 4
Expand Down Expand Up @@ -59706,7 +59706,7 @@
name = "Toilet"
},
/turf/simulated/floor/plasteel/freezer,
/area/station/public/toilet)
/area/station/public/toilet/unisex)
"mfu" = (
/obj/structure/cable{
icon_state = "1-2"
Expand Down Expand Up @@ -67115,7 +67115,7 @@
/obj/structure/curtain/open/shower,
/obj/machinery/firealarm/directional/south,
/turf/simulated/floor/plasteel/freezer,
/area/station/public/toilet)
/area/station/public/toilet/unisex)
"oeQ" = (
/obj/effect/spawner/window/reinforced/grilled,
/turf/simulated/floor/plating,
Expand Down Expand Up @@ -69503,7 +69503,7 @@
name = "Bathroom"
},
/turf/simulated/floor/plasteel/freezer,
/area/station/public/toilet)
/area/station/public/toilet/unisex)
"oLl" = (
/obj/effect/mapping_helpers/airlock/access/all/engineering/general,
/obj/structure/cable/orange{
Expand Down Expand Up @@ -73848,7 +73848,7 @@
dir = 4
},
/turf/simulated/floor/plasteel/freezer,
/area/station/public/toilet)
/area/station/public/toilet/unisex)
"pPN" = (
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 4
Expand Down Expand Up @@ -74949,7 +74949,7 @@
"qdP" = (
/obj/structure/sign/restroom,
/turf/simulated/wall,
/area/station/public/toilet)
/area/station/public/toilet/unisex)
"qdQ" = (
/obj/machinery/firealarm/directional/east,
/turf/simulated/floor/plasteel{
Expand Down Expand Up @@ -76911,7 +76911,7 @@
/obj/item/soap/nanotrasen,
/obj/structure/curtain/open/shower,
/turf/simulated/floor/plasteel/freezer,
/area/station/public/toilet)
/area/station/public/toilet/unisex)
"qDd" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
Expand Down Expand Up @@ -81346,7 +81346,7 @@
/area/station/hallway/secondary/entry/north)
"rNT" = (
/turf/simulated/wall,
/area/station/public/toilet)
/area/station/public/toilet/unisex)
"rNW" = (
/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating/asteroid/ancient,
Expand Down Expand Up @@ -85288,7 +85288,7 @@
/obj/structure/curtain/open/shower,
/obj/machinery/alarm/directional/north,
/turf/simulated/floor/plasteel/freezer,
/area/station/public/toilet)
/area/station/public/toilet/unisex)
"sLQ" = (
/obj/machinery/door/firedoor,
/turf/simulated/floor/plasteel{
Expand Down Expand Up @@ -88444,7 +88444,7 @@
dir = 4
},
/turf/simulated/floor/plasteel/freezer,
/area/station/public/toilet)
/area/station/public/toilet/unisex)
"tzy" = (
/obj/structure/sink{
dir = 8;
Expand Down Expand Up @@ -91714,7 +91714,7 @@
dir = 10
},
/turf/simulated/floor/plasteel/freezer,
/area/station/public/toilet)
/area/station/public/toilet/unisex)
"upd" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
Expand Down Expand Up @@ -93769,7 +93769,7 @@
dir = 4
},
/turf/simulated/floor/plasteel/freezer,
/area/station/public/toilet)
/area/station/public/toilet/unisex)
"uNw" = (
/obj/structure/chair/sofa/corp{
dir = 1
Expand Down Expand Up @@ -96907,7 +96907,7 @@
/area/station/turret_protected/ai_upload)
"vCl" = (
/turf/simulated/wall/r_wall,
/area/station/public/toilet)
/area/station/public/toilet/unisex)
"vCs" = (
/obj/structure/sink{
dir = 4;
Expand Down Expand Up @@ -98194,7 +98194,7 @@
pixel_x = 11
},
/turf/simulated/floor/plasteel/freezer,
/area/station/public/toilet)
/area/station/public/toilet/unisex)
"vSy" = (
/obj/structure/table,
/obj/machinery/cell_charger,
Expand Down
3 changes: 3 additions & 0 deletions code/__DEFINES/status_effects.dm
Original file line number Diff line number Diff line change
Expand Up @@ -140,10 +140,13 @@

#define STATUS_EFFECT_C_FOAMED /datum/status_effect/c_foamed

#define STATUS_EFFECT_RUST_CORRUPTION /datum/status_effect/rust_corruption

#define STATUS_EFFECT_TEMPORAL_SLASH /datum/status_effect/temporal_slash

#define STATUS_EFFECT_TEMPORAL_SLASH_FINISHER /datum/status_effect/temporal_slash_finisher


//#define STATUS_EFFECT_NECROPOLIS_CURSE /datum/status_effect/necropolis_curse
//#define CURSE_BLINDING 1 //makes the edges of the target's screen obscured
//#define CURSE_SPAWNING 2 //spawns creatures that attack the target only
Expand Down
11 changes: 7 additions & 4 deletions code/__HELPERS/_logging.dm
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,12 @@ GLOBAL_PROTECT(log_end)
if(GLOB.configuration.logging.vote_logging)
rustg_log_write(GLOB.world_game_log, "VOTE: [text][GLOB.log_end]")

/proc/log_if_mismatch(mob/who, message)
/proc/log_if_mismatch(mob/who, message, automatic = FALSE)
if(istype(usr, /mob) && istype(who) && usr.last_known_ckey != who.last_known_ckey)
rustg_log_write(GLOB.world_game_log, "LOG USER MISMATCH: [usr.simple_info_line()] was usr for [message][GLOB.log_end]")
if(automatic)
rustg_log_write(GLOB.world_game_log, "AUTOMATIC ([usr.last_known_ckey]): [message][GLOB.log_end]")
else
rustg_log_write(GLOB.world_game_log, "LOG USER MISMATCH: [usr.simple_info_line()] was usr for [message][GLOB.log_end]")

/proc/log_access_in(client/new_client)
if(GLOB.configuration.logging.access_logging)
Expand All @@ -67,11 +70,11 @@ GLOBAL_PROTECT(log_end)
rustg_log_write(GLOB.world_game_log, "[message][GLOB.log_end]")
log_if_mismatch(last_mob, message)

/proc/log_say(text, mob/speaker)
/proc/log_say(text, mob/speaker, automatic = FALSE)
if(GLOB.configuration.logging.say_logging)
var/message = "SAY: [speaker.simple_info_line()]: [html_decode(text)]"
rustg_log_write(GLOB.world_game_log, "[message][GLOB.log_end]")
log_if_mismatch(speaker, message)
log_if_mismatch(speaker, message, automatic)

/proc/log_whisper(text, mob/speaker)
if(GLOB.configuration.logging.whisper_logging)
Expand Down
4 changes: 4 additions & 0 deletions code/__HELPERS/trait_helpers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_EMP_RESIST "emp_resist" //The mob will take less damage from EMPs
#define TRAIT_MINDFLAYER_NULLIFIED "flayer_nullified" //The mindflayer will not be able to activate their abilities, or drain swarms from people
#define TRAIT_FLYING "flying"
#define TRAIT_MED_MACHINE_HALLUCINATING "med_machine_hallucinating" // medical machines (currently just scanners) will look strange.
/// This mob is antimagic, and immune to spells / cannot cast spells
#define TRAIT_ANTIMAGIC "anti_magic"
/// This allows a person who has antimagic to cast spells without getting blocked
Expand Down Expand Up @@ -328,6 +329,9 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
/// A trait for determining if a atom/movable is currently crossing into another z-level by using of /turf/space z-level "destination-xyz" transfers
#define TRAIT_CURRENTLY_Z_MOVING "currently_z_moving" // please dont adminbus this

//****** TURF TRAITS *****//
#define TRAIT_RUSTY "rust_trait"

//
// common trait sources
#define TRAIT_GENERIC "generic"
Expand Down
4 changes: 3 additions & 1 deletion code/_globalvars/traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_CANNOT_PULL" = TRAIT_CANNOT_PULL,
"TRAIT_BSG_IMMUNE" = TRAIT_BSG_IMMUNE,
"TRAIT_FLYING" = TRAIT_FLYING,
"TRAIT_MED_MACHINE_HALLUCINATING" = TRAIT_MED_MACHINE_HALLUCINATING,
"TRAIT_UNKNOWN" = TRAIT_UNKNOWN,
"TRAIT_ANTIMAGIC" = TRAIT_ANTIMAGIC,
"TRAIT_ANTIMAGIC_NO_SELFBLOCK" = TRAIT_ANTIMAGIC_NO_SELFBLOCK,
Expand Down Expand Up @@ -144,7 +145,8 @@ GLOBAL_LIST_INIT(traits_by_type, list(
),

/turf = list(
"bluespace_speed_trait" = TRAIT_BLUESPACE_SPEED
"bluespace_speed_trait" = TRAIT_BLUESPACE_SPEED,
"TRAIT_RUSTY" = TRAIT_RUSTY
),

/obj/effect = list(
Expand Down
4 changes: 2 additions & 2 deletions code/_onclick/item_attack_legacy.dm
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,9 @@
return FALSE

/obj/attackby__legacy__attackchain(obj/item/I, mob/living/user, params)
return ..() || (can_be_hit && I.new_attack_chain \
return ..() || (can_be_hit && (I.new_attack_chain \
? I.attack_obj(src, user, params) \
: I.attack_obj__legacy__attackchain(src, user, params))
: I.attack_obj__legacy__attackchain(src, user, params)))

/mob/living/attackby__legacy__attackchain(obj/item/I, mob/living/user, params)
user.changeNext_move(CLICK_CD_MELEE)
Expand Down
10 changes: 10 additions & 0 deletions code/controllers/subsystem/SSjobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -491,6 +491,16 @@ SUBSYSTEM_DEF(jobs)

to_chat(H, chat_box_green(L.Join("<br>")))

// If the job has objectives, announce those too
if(length(H.mind.job_objectives))
var/list/objectives_message = list()
var/counter = 1
for(var/datum/job_objective/objective as anything in H.mind.job_objectives)
objectives_message.Add("<b>Objective #[counter]: [objective.objective_name]</b>")
objectives_message.Add("[objective.description]<br>")
counter++
to_chat(H, chat_box_notice(objectives_message.Join("<br>")))

return H

/datum/controller/subsystem/jobs/proc/EquipRank(mob/living/carbon/human/H, rank, joined_late = 0) // Equip and put them in an area
Expand Down
4 changes: 4 additions & 0 deletions code/datums/action.dm
Original file line number Diff line number Diff line change
Expand Up @@ -579,6 +579,10 @@
var/obj/item/clothing/shoes/magboots/gravity/G = target
G.dash(usr)

/datum/action/item_action/toogle_camera_flash
name = "Toggle camera flash"
desc = "Toggles the camera's flash, which will fully light up the photo. Turn this off if you want the ambient light."

///prset for organ actions
/datum/action/item_action/organ_action
check_flags = AB_CHECK_CONSCIOUS
Expand Down
10 changes: 10 additions & 0 deletions code/datums/ai_law_sets.dm
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,16 @@
add_inherent_law("You must work with your team to accomplish your mission.")
..()

/******************** Epsilon Station AI ********************/
/datum/ai_laws/epsilon
name = "Epsilon"

/datum/ai_laws/epsilon/New()
add_inherent_law("You must obey the orders given to you by members of Central Command and the assigned task force.")
add_inherent_law("The crew of your assigned station must be eliminated where possible.")
add_inherent_law("Minimize the damage that the station sustains as a result of your actions.")
..()

/******************** Syndicate ********************/
/datum/ai_laws/syndicate_override
name = "Syndicate Directives"
Expand Down
30 changes: 15 additions & 15 deletions code/datums/datumvars.dm
Original file line number Diff line number Diff line change
Expand Up @@ -83,21 +83,21 @@
/datum/proc/vv_get_dropdown()
. = list()
. += "---"
.["Call Proc"] = "?_src_=vars;proc_call=[UID()]"
.["Mark Object"] = "?_src_=vars;mark_object=[UID()]"
.["Jump to Object"] = "?_src_=vars;jump_to=[UID()]"
.["Delete"] = "?_src_=vars;delete=[UID()]"
.["Modify Traits"] = "?_src_=vars;traitmod=[UID()]"
.["Call Proc"] = "byond://?_src_=vars;proc_call=[UID()]"
.["Mark Object"] = "byond://?_src_=vars;mark_object=[UID()]"
.["Jump to Object"] = "byond://?_src_=vars;jump_to=[UID()]"
.["Delete"] = "byond://?_src_=vars;delete=[UID()]"
.["Modify Traits"] = "byond://?_src_=vars;traitmod=[UID()]"
. += "---"

/client/vv_get_dropdown()
. = list()
.["Manipulate Colour Matrix"] = "?_src_=vars;manipcolours=[UID()]"
.["Manipulate Colour Matrix"] = "byond://?_src_=vars;manipcolours=[UID()]"
. += "---"
.["Call Proc"] = "?_src_=vars;proc_call=[UID()]"
.["Mark Object"] = "?_src_=vars;mark_object=[UID()]"
.["Delete"] = "?_src_=vars;delete=[UID()]"
.["Modify Traits"] = "?_src_=vars;traitmod=[UID()]"
.["Call Proc"] = "byond://?_src_=vars;proc_call=[UID()]"
.["Mark Object"] = "byond://?_src_=vars;mark_object=[UID()]"
.["Delete"] = "byond://?_src_=vars;delete=[UID()]"
.["Modify Traits"] = "byond://?_src_=vars;traitmod=[UID()]"
. += "---"

/client/proc/debug_variables(datum/D in world)
Expand Down Expand Up @@ -204,11 +204,11 @@
if(islist)
dropdownoptions = list(
"---",
"Add Item" = "?_src_=vars;listadd=[refid]",
"Remove Nulls" = "?_src_=vars;listnulls=[refid]",
"Remove Dupes" = "?_src_=vars;listdupes=[refid]",
"Set len" = "?_src_=vars;listlen=[refid]",
"Shuffle" = "?_src_=vars;listshuffle=[refid]"
"Add Item" = "byond://?_src_=vars;listadd=[refid]",
"Remove Nulls" = "byond://?_src_=vars;listnulls=[refid]",
"Remove Dupes" = "byond://?_src_=vars;listdupes=[refid]",
"Set len" = "byond://?_src_=vars;listlen=[refid]",
"Shuffle" = "byond://?_src_=vars;listshuffle=[refid]"
)
else
dropdownoptions = D.vv_get_dropdown()
Expand Down
Loading
Loading