From e06f0bbc722a0859b65c6942738b7f1e74689254 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Wed, 20 Jan 2021 16:01:09 -0700 Subject: [PATCH 1/9] fixes --- code/datums/components/riding.dm | 2 +- code/modules/mob/living/carbon/human/human.dm | 3 +++ .../mob/living/carbon/human/human_defines.dm | 2 +- tgstation.dme | 20 +++++++++++++++++++ 4 files changed, 25 insertions(+), 2 deletions(-) diff --git a/code/datums/components/riding.dm b/code/datums/components/riding.dm index e9aa5afe92..e11eca2975 100644 --- a/code/datums/components/riding.dm +++ b/code/datums/components/riding.dm @@ -37,7 +37,7 @@ qdel(src) /datum/component/riding/proc/vehicle_mob_buckle(datum/source, mob/living/M, force) - handle_vehicle_offsets() + handle_vehicle_offsets(M.buckled?.dir) /datum/component/riding/proc/handle_vehicle_layer(dir) var/atom/movable/AM = parent diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index df7ed66169..95efd90042 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1010,6 +1010,9 @@ riding_datum.ride_check_rider_restrained = TRUE if(buckled_mobs && ((target in buckled_mobs) || (buckled_mobs.len >= max_buckled_mobs)) || buckled) return + if(istype(target, /mob/living/silicon/pai)) + hands_needed = 0 + target_hands_needed = 0 var/equipped_hands_self var/equipped_hands_target if(hands_needed) diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index a82151cc1d..eedc59d9d5 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -71,7 +71,7 @@ var/list/datum/bioware = list() var/creamed = FALSE //to use with creampie overlays - var/static/list/can_ride_typecache = typecacheof(list(/mob/living/carbon/human, /mob/living/simple_animal/slime, /mob/living/simple_animal/parrot)) + var/static/list/can_ride_typecache = typecacheof(list(/mob/living/carbon/human, /mob/living/simple_animal/slime, /mob/living/simple_animal/parrot, /mob/living/silicon/pai)) var/lastpuke = 0 var/account_id var/last_fire_update diff --git a/tgstation.dme b/tgstation.dme index a0f5d54c03..88ea0be260 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -80,6 +80,7 @@ #include "code\__DEFINES\monkeys.dm" #include "code\__DEFINES\move_force.dm" #include "code\__DEFINES\movement.dm" +#include "code\__DEFINES\movement.dm" #include "code\__DEFINES\movespeed_modification.dm" #include "code\__DEFINES\nanites.dm" #include "code\__DEFINES\networks.dm" @@ -203,6 +204,7 @@ #include "code\__HELPERS\sorts\MergeSort.dm" #include "code\__HELPERS\sorts\TimSort.dm" #include "code\_globalvars\admin.dm" +#include "code\_globalvars\admin.dm" #include "code\_globalvars\bitfields.dm" #include "code\_globalvars\configuration.dm" #include "code\_globalvars\game_modes.dm" @@ -3516,8 +3518,26 @@ #include "code\modules\tgui_panel\audio.dm" #include "code\modules\tgui_panel\external.dm" #include "code\modules\tgui_panel\telemetry.dm" +#include "code\modules\unit_tests\merge_type.dm" #include "code\modules\tgui_panel\tgui_panel.dm" +#include "code\modules\unit_tests\reagent_mod_procs.dm" +#include "code\modules\unit_tests\teleporters.dm" +#include "code\modules\unit_tests\stomach.dm" +#include "code\modules\unit_tests\species_whitelists.dm" +#include "code\modules\unit_tests\siunit.dm" +#include "code\modules\unit_tests\serving_tray.dm" +#include "code\modules\unit_tests\reagent_mod_expose.dm" +#include "code\modules\unit_tests\projectiles.dm" +#include "code\modules\unit_tests\pills.dm" +#include "code\modules\unit_tests\keybinding_init.dm" +#include "code\modules\unit_tests\initialize_sanity.dm" +#include "code\modules\unit_tests\holidays.dm" +#include "code\modules\unit_tests\emoting.dm" +#include "code\modules\unit_tests\heretic_knowledge.dm" +#include "code\modules\unit_tests\confusion.dm" +#include "code\modules\unit_tests\combat.dm" #include "code\modules\tooltip\tooltip.dm" +#include "code\modules\unit_tests\card_mismatch.dm" #include "code\modules\unit_tests\_unit_tests.dm" #include "code\modules\uplink\uplink_devices.dm" #include "code\modules\uplink\uplink_items.dm" From 235ca8809a010fa687e2ae3ce8a0e5aad7db0f92 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Wed, 20 Jan 2021 16:04:52 -0700 Subject: [PATCH 2/9] uh --- code/modules/mob/living/carbon/human/human.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 95efd90042..c51a6e6f99 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -938,7 +938,8 @@ admin_ticket_log(src, msg) /mob/living/carbon/human/MouseDrop_T(mob/living/target, mob/living/user) - if(pulling == target && grab_state >= GRAB_AGGRESSIVE && stat == CONSCIOUS) + var/GS_needed = istype(target, /mob/living/silicon/pai)? GRAB_PASSIVE : GRAB_AGGRESSIVE + if(pulling == target && grab_state >= GS_NEEDED && stat == CONSCIOUS) //If they dragged themselves and we're currently aggressively grabbing them try to piggyback if(user == target && can_piggyback(target)) piggyback(target) From 97924636908d465cd6ccc9b23d95d2d3a48859b9 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Wed, 20 Jan 2021 16:05:21 -0700 Subject: [PATCH 3/9] dme fix --- tgstation.dme | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/tgstation.dme b/tgstation.dme index 88ea0be260..a0f5d54c03 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -80,7 +80,6 @@ #include "code\__DEFINES\monkeys.dm" #include "code\__DEFINES\move_force.dm" #include "code\__DEFINES\movement.dm" -#include "code\__DEFINES\movement.dm" #include "code\__DEFINES\movespeed_modification.dm" #include "code\__DEFINES\nanites.dm" #include "code\__DEFINES\networks.dm" @@ -204,7 +203,6 @@ #include "code\__HELPERS\sorts\MergeSort.dm" #include "code\__HELPERS\sorts\TimSort.dm" #include "code\_globalvars\admin.dm" -#include "code\_globalvars\admin.dm" #include "code\_globalvars\bitfields.dm" #include "code\_globalvars\configuration.dm" #include "code\_globalvars\game_modes.dm" @@ -3518,26 +3516,8 @@ #include "code\modules\tgui_panel\audio.dm" #include "code\modules\tgui_panel\external.dm" #include "code\modules\tgui_panel\telemetry.dm" -#include "code\modules\unit_tests\merge_type.dm" #include "code\modules\tgui_panel\tgui_panel.dm" -#include "code\modules\unit_tests\reagent_mod_procs.dm" -#include "code\modules\unit_tests\teleporters.dm" -#include "code\modules\unit_tests\stomach.dm" -#include "code\modules\unit_tests\species_whitelists.dm" -#include "code\modules\unit_tests\siunit.dm" -#include "code\modules\unit_tests\serving_tray.dm" -#include "code\modules\unit_tests\reagent_mod_expose.dm" -#include "code\modules\unit_tests\projectiles.dm" -#include "code\modules\unit_tests\pills.dm" -#include "code\modules\unit_tests\keybinding_init.dm" -#include "code\modules\unit_tests\initialize_sanity.dm" -#include "code\modules\unit_tests\holidays.dm" -#include "code\modules\unit_tests\emoting.dm" -#include "code\modules\unit_tests\heretic_knowledge.dm" -#include "code\modules\unit_tests\confusion.dm" -#include "code\modules\unit_tests\combat.dm" #include "code\modules\tooltip\tooltip.dm" -#include "code\modules\unit_tests\card_mismatch.dm" #include "code\modules\unit_tests\_unit_tests.dm" #include "code\modules\uplink\uplink_devices.dm" #include "code\modules\uplink\uplink_items.dm" From 20f06cae0fd787fbdf4df2c88fb4f399c61da8a1 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Wed, 20 Jan 2021 16:07:42 -0700 Subject: [PATCH 4/9] fix --- code/modules/mob/living/carbon/human/human.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index c51a6e6f99..98054b6ec2 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -939,7 +939,7 @@ /mob/living/carbon/human/MouseDrop_T(mob/living/target, mob/living/user) var/GS_needed = istype(target, /mob/living/silicon/pai)? GRAB_PASSIVE : GRAB_AGGRESSIVE - if(pulling == target && grab_state >= GS_NEEDED && stat == CONSCIOUS) + if(pulling == target && grab_state >= GS_needed && stat == CONSCIOUS) //If they dragged themselves and we're currently aggressively grabbing them try to piggyback if(user == target && can_piggyback(target)) piggyback(target) From 996ad0634defd080c6359ea8aadfae38a864afa6 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Wed, 20 Jan 2021 16:16:06 -0700 Subject: [PATCH 5/9] fix --- code/modules/mob/living/carbon/human/human.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 98054b6ec2..adcc9795dd 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -952,11 +952,11 @@ . = ..() //src is the user that will be carrying, target is the mob to be carried -/mob/living/carbon/human/proc/can_piggyback(mob/living/carbon/target) - return (istype(target) && target.stat == CONSCIOUS) +/mob/living/carbon/human/proc/can_piggyback(mob/living/target) + return (istype(target, /mob/living/carbon) || istype(target, /mob/living/silicon)) && target.stat == CONSCIOUS /mob/living/carbon/human/proc/can_be_firemanned(mob/living/carbon/target) - return (ishuman(target) && !CHECK_MOBILITY(target, MOBILITY_STAND)) + return (ishuman(target) || ispAI(target) && !CHECK_MOBILITY(target, MOBILITY_STAND)) || ispAI(target) /mob/living/carbon/human/proc/fireman_carry(mob/living/carbon/target) var/carrydelay = 50 //if you have latex you are faster at grabbing From 34473c2ac7b15331127708087b758d122d789d75 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Wed, 20 Jan 2021 16:55:19 -0700 Subject: [PATCH 6/9] fix --- code/modules/mob/living/carbon/human/human.dm | 13 ++++++------- code/modules/mob/living/silicon/pai/pai.dm | 4 ++++ config/game_options.txt | 3 +++ 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index adcc9795dd..3c1cc25497 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -963,19 +963,18 @@ var/skills_space = "" //cobby told me to do this if(HAS_TRAIT(src, TRAIT_QUICKER_CARRY)) carrydelay = 30 - skills_space = "expertly" + skills_space = "expertly " else if(HAS_TRAIT(src, TRAIT_QUICK_CARRY)) carrydelay = 40 - skills_space = "quickly" + skills_space = "quickly " if(can_be_firemanned(target) && !incapacitated(FALSE, TRUE)) - visible_message("[src] starts [skills_space] lifting [target] onto their back..", + visible_message("[src] starts [skills_space]lifting [target] onto their back..", //Joe Medic starts quickly/expertly lifting Grey Tider onto their back.. - "[carrydelay < 35 ? "Using your gloves' nanochips, you" : "You"] [skills_space] start to lift [target] onto your back[carrydelay == 40 ? ", while assisted by the nanochips in your gloves.." : "..."]") + "[carrydelay < 35 ? "Using your gloves' nanochips, you" : "You"] [skills_space]start to lift [target] onto your back[carrydelay == 40 ? ", while assisted by the nanochips in your gloves.." : "..."]") //(Using your gloves' nanochips, you/You) ( /quickly/expertly) start to lift Grey Tider onto your back(, while assisted by the nanochips in your gloves../...) if(do_after(src, carrydelay, TRUE, target)) //Second check to make sure they're still valid to be carried if(can_be_firemanned(target) && !incapacitated(FALSE, TRUE)) - target.set_resting(FALSE, TRUE) buckle_mob(target, TRUE, TRUE, 90, 1, 0, TRUE) return visible_message("[src] fails to fireman carry [target]!") @@ -993,13 +992,13 @@ if(target.incapacitated(FALSE, TRUE) || incapacitated(FALSE, TRUE)) target.visible_message("[target] can't hang onto [src]!") return - buckle_mob(target, TRUE, TRUE, FALSE, 1, 2, FALSE) + buckle_mob(target, TRUE, TRUE, 0, 1, 2, FALSE) else visible_message("[target] fails to climb onto [src]!") else to_chat(target, "You can't piggyback ride [src] right now!") -/mob/living/carbon/human/buckle_mob(mob/living/target, force = FALSE, check_loc = TRUE, lying_buckle = FALSE, hands_needed = 0, target_hands_needed = 0, fireman = FALSE) +/mob/living/carbon/human/buckle_mob(mob/living/target, force = FALSE, check_loc = TRUE, lying_buckle = 0, hands_needed = 0, target_hands_needed = 0, fireman = FALSE) if(!force)//humans are only meant to be ridden through piggybacking and special cases return if(!is_type_in_typecache(target, can_ride_typecache)) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 2ab74664a3..5740f98e90 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -143,6 +143,10 @@ custom_holoform.Grant(src) emitter_next_use = world.time + 10 SECONDS +/mob/living/silicon/pai/deployed/Initialize() + . = ..() + fold_out(TRUE) + /mob/living/silicon/pai/ComponentInitialize() . = ..() if(possible_chassis[chassis]) diff --git a/config/game_options.txt b/config/game_options.txt index 3c53d9fecb..7776d87d4e 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -675,3 +675,6 @@ TURF_DIRT_THRESHOLD 100 ## Default alpha of dirt on spawn DIRT_ALPHA_STARTING 127 + +## Allows pAI custom holoforms +PAI_CUSTOM_HOLOFORMS From 1c99225fbd86f7c97bd62960a65851430867ff1f Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Wed, 27 Jan 2021 20:48:07 -0700 Subject: [PATCH 7/9] Update human.dm --- code/modules/mob/living/carbon/human/human.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 3c1cc25497..c8513f6006 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -953,10 +953,10 @@ //src is the user that will be carrying, target is the mob to be carried /mob/living/carbon/human/proc/can_piggyback(mob/living/target) - return (istype(target, /mob/living/carbon) || istype(target, /mob/living/silicon)) && target.stat == CONSCIOUS + return (iscarbon(target) || ispAI(target)) && target.stat == CONSCIOUS /mob/living/carbon/human/proc/can_be_firemanned(mob/living/carbon/target) - return (ishuman(target) || ispAI(target) && !CHECK_MOBILITY(target, MOBILITY_STAND)) || ispAI(target) + return (ishuman(target) && !CHECK_MOBILITY(target, MOBILITY_STAND)) || ispAI(target) /mob/living/carbon/human/proc/fireman_carry(mob/living/carbon/target) var/carrydelay = 50 //if you have latex you are faster at grabbing From fa2754c0fef837506e1b3fb9c3b78c25ad1a342a Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Wed, 27 Jan 2021 20:49:56 -0700 Subject: [PATCH 8/9] Update human.dm --- code/modules/mob/living/carbon/human/human.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index c8513f6006..2db9137401 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -945,7 +945,7 @@ piggyback(target) return //If you dragged them to you and you're aggressively grabbing try to fireman carry them - else if(user != target) + else if(user == src) if(user.a_intent == INTENT_GRAB) fireman_carry(target) return From c554f0567e7d1a5790f94530f2f02d7f52a060fc Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Fri, 29 Jan 2021 11:57:28 -0700 Subject: [PATCH 9/9] Update human.dm --- code/modules/mob/living/carbon/human/human.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 2db9137401..f653c96cbc 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1011,7 +1011,7 @@ if(buckled_mobs && ((target in buckled_mobs) || (buckled_mobs.len >= max_buckled_mobs)) || buckled) return if(istype(target, /mob/living/silicon/pai)) - hands_needed = 0 + hands_needed = 1 target_hands_needed = 0 var/equipped_hands_self var/equipped_hands_target