From 232c0c580699f585715b4b0bdefdad43b91cc699 Mon Sep 17 00:00:00 2001 From: BlackMajor Date: Sat, 30 Apr 2022 02:10:51 +1200 Subject: [PATCH] some rig stuff --- code/modules/clothing/spacesuits/rig/rig.dm | 7 ++++--- .../human/species/station/protean/protean_blob.dm | 4 ++++ .../human/species/station/protean/protean_powers.dm | 4 ++-- .../human/species/station/protean/protean_rig.dm | 12 ++++++++++++ 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index 148fab5d3c..6c2ae7f179 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -921,9 +921,13 @@ return //CHOMP Addition - Added this for protean living hardsuit + wearer_move_delay = world.time + 2 if(ai_moving) if(!ai_can_move_suit(user, check_user_module = 1)) return + // AIs are a bit slower than regular and ignore move intent. + //CHOMPEdit - Moved this to where it's relevant + wearer_move_delay = world.time + ai_controlled_move_delay //This is sota the goto stop mobs from moving var if(wearer.transforming || !wearer.canmove) @@ -955,9 +959,6 @@ to_chat(src, "Your host is pinned to a wall by [wearer.pinned[1]]!") return 0 - // AIs are a bit slower than regular and ignore move intent. - wearer_move_delay = world.time + ai_controlled_move_delay - if(istype(wearer.buckled, /obj/vehicle)) //manually set move_delay for vehicles so we don't inherit any mob movement penalties //specific vehicle move delays are set in code\modules\vehicles\vehicle.dm diff --git a/modular_chomp/code/modules/mob/living/carbon/human/species/station/protean/protean_blob.dm b/modular_chomp/code/modules/mob/living/carbon/human/species/station/protean/protean_blob.dm index dd7b81c2a7..842cbe9c4c 100644 --- a/modular_chomp/code/modules/mob/living/carbon/human/species/station/protean/protean_blob.dm +++ b/modular_chomp/code/modules/mob/living/carbon/human/species/station/protean/protean_blob.dm @@ -314,6 +314,10 @@ datum/riding/simple_mob/protean_blob/handle_vehicle_layer() /mob/living/simple_mob/protean_blob/lay_down() ..() + var/obj/item/weapon/rig/rig = src.get_rig() + if(rig) + rig.force_rest(src) + return if(resting) mouse_opacity = 0 plane = ABOVE_OBJ_PLANE diff --git a/modular_chomp/code/modules/mob/living/carbon/human/species/station/protean/protean_powers.dm b/modular_chomp/code/modules/mob/living/carbon/human/species/station/protean/protean_powers.dm index cb681ecc24..0c15c0d737 100644 --- a/modular_chomp/code/modules/mob/living/carbon/human/species/station/protean/protean_powers.dm +++ b/modular_chomp/code/modules/mob/living/carbon/human/species/station/protean/protean_powers.dm @@ -318,12 +318,12 @@ perform_the_nom(P,victim,P,P.vore_selected,1) P.forceMove(get_turf(S.OurRig)) S.OurRig.forceMove(src) - S.OurRig.myprotean = null + S.OurRig.myprotean = src src.equip_to_slot_if_possible(S.OurRig, slot_back) S.OurRig.Moved() P.has_hands = 1 else //We're not in our own RIG - if(P.stat) + if(P.stat || P.resting) to_chat(P,"You can only do this while not stunned.") else if(P.l_hand) diff --git a/modular_chomp/code/modules/mob/living/carbon/human/species/station/protean/protean_rig.dm b/modular_chomp/code/modules/mob/living/carbon/human/species/station/protean/protean_rig.dm index c75b8d9cda..79413cf142 100644 --- a/modular_chomp/code/modules/mob/living/carbon/human/species/station/protean/protean_rig.dm +++ b/modular_chomp/code/modules/mob/living/carbon/human/species/station/protean/protean_rig.dm @@ -349,6 +349,18 @@ AssimilateBag(user,0,W) ..() +/obj/item/weapon/rig/protean/take_hit(damage, source, is_emp=0) + return //We don't do that here + +/obj/item/weapon/rig/protean/emp_act(severity_class) + return //Same here + +/obj/item/weapon/rig/protean/cut_suit() + return //nope + +/obj/item/weapon/rig/protean/force_rest(var/mob/user) + wearer.lay_down() + to_chat(user, "\The [wearer] is now [wearer.resting ? "resting" : "getting up"].") /obj/item/weapon/cell/protean name = "Protean power cell"