diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 5cb5159b53e..7e567f6de26 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -115,7 +115,25 @@ now_pushing = 1 if (ismob(AM)) var/mob/tmob = AM - if(tmob.a_intent == "help" && a_intent == "help" && tmob.canmove && canmove) // mutual brohugs all around! + +//BubbleWrap - Should stop you pushing a restrained person out of the way + + if(istype(tmob, /mob/living/carbon/human)) + + for(var/mob/M in range(tmob, 1)) + if( ((M.pulling == tmob && ( tmob.restrained() && !( M.restrained() ) && M.stat == 0)) || locate(/obj/item/weapon/grab, tmob.grabbed_by.len)) ) + if ( !(world.time % 5) ) + src << "\red [tmob] is restrained, you cannot push past" + now_pushing = 0 + return + if( tmob.pulling == M && ( M.restrained() && !( tmob.restrained() ) && tmob.stat == 0) ) + if ( !(world.time % 5) ) + src << "\red [tmob] is restraining [M], you cannot push past" + now_pushing = 0 + return + + //BubbleWrap: people in handcuffs are always switched around as if they were on 'help' intent to prevent a person being pulled from being seperated from their puller + if((tmob.a_intent == "help" || tmob.restrained()) && (a_intent == "help" || src.restrained()) && tmob.canmove && canmove) // mutual brohugs all around! var/turf/oldloc = loc loc = tmob.loc tmob.loc = oldloc diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 84863977275..57c73b06988 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -119,14 +119,39 @@ visible_message("\red [M] has pushed [src]!") return + var/talked = 0 // BubbleWrap + if(randn <= 60) - drop_item() + //BubbleWrap: Disarming breaks a pull + if ( pulling ) + visible_message("\red [M] has broken [src]'s grip on [pulling]!") + talked = 1 + pulling = null + + //BubbleWrap: Disarming also breaks a grab - this will also stop someone being choked, won't it? + var/obj/item/weapon/grab/lgrab = l_hand + var/obj/item/weapon/grab/rgrab = r_hand + if ( lgrab ) + if ( lgrab.affecting ) + visible_message("\red [M] has broken [src]'s grip on [lgrab.affecting]!") + talked = 1 + spawn(1) + del(lgrab) + if ( rgrab ) + if ( rgrab.affecting ) + visible_message("\red [M] has broken [src]'s grip on [rgrab.affecting]!") + talked = 1 + spawn(1) + del(rgrab) + //End BubbleWrap + + if( !talked ) //BubbleWrap + drop_item() + visible_message("\red [M] has disarmed [src]!") playsound(loc, 'thudswoosh.ogg', 50, 1, -1) - visible_message("\red [M] has disarmed [src]!") return + playsound(loc, 'punchmiss.ogg', 25, 1, -1) visible_message("\red [M] attempted to disarm [src]!") - return - - + return \ No newline at end of file diff --git a/html/changelog.html b/html/changelog.html index 3fc942d8dcc..1cc35d7e3f5 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -59,6 +59,15 @@ Stuff which is in development and not yet visible to players or just code related (ie. code improvements for expandability, etc.) should not be listed here. They should be listed in the changelog upon commit tho. Thanks. --> + +28 January 2012 + 27 January 2012
    @@ -81,8 +90,10 @@ oxygen tanks, and breath masks.
  • Lattice is now removed when you create plating or floor (credit Donkieyo).
  • Monkeys now take damage while in crit (credit Nodrak).
  • The warden now has his own jacket. (credit Shiftyeyesshady).
  • -
  • Spectacular new dice that will display the proper side when rolled!! (credit TedJustice)
  • -
+
  • Spectacular new dice that will display the proper side when rolled!! (credit TedJustice)
  • +
  • Spectacular new dice that will display the proper side when rolled!! (credit TedJustice)
  • + +
  • Borg RCDs can no longer take down R-walls. (headcoder orders)
  • 19 January 2012 diff --git a/icons/turf/floors.dmi b/icons/turf/floors.dmi index a7435baf4b7..32acc89d762 100644 Binary files a/icons/turf/floors.dmi and b/icons/turf/floors.dmi differ