Merge pull request #388 from Bone-White/master

Altered disarm knockdown …
This commit is contained in:
ZomgPonies
2014-08-16 17:45:02 -04:00
4 changed files with 38 additions and 7 deletions
+3
View File
@@ -22,6 +22,9 @@ datum/game_mode/nations
split_teams()
spawn_flags()
populate_vars()
for(var/mob/M in player_list)
if(!istype(M,/mob/new_player))
M << sound('sound/effects/purge_siren.ogg')
return ..()
/datum/game_mode/nations/send_intercept()
+18 -2
View File
@@ -19,6 +19,21 @@ REAGENT SCANNER
item_state = "electronic"
m_amt = 150
origin_tech = "magnets=1;engineering=1"
var/scan_range = 1
var/pulse_duration = 10
/obj/item/device/t_scanner/longer_pulse
origin_tech = "magnets=2;engineering=2"
pulse_duration = 50
/obj/item/device/t_scanner/extended_range
origin_tech = "magnets=1;engineering=3"
scan_range = 3
/obj/item/device/t_scanner/extended_range/longer_pulse
origin_tech = "magnets=2;engineering=3"
scan_range = 3
pulse_duration = 50
/obj/item/device/t_scanner/Destroy()
if(on)
@@ -39,7 +54,7 @@ REAGENT SCANNER
processing_objects.Remove(src)
return null
for(var/turf/T in range(1, src.loc) )
for(var/turf/T in range(scan_range, src.loc) )
if(!T.intact)
continue
@@ -51,7 +66,7 @@ REAGENT SCANNER
if(O.invisibility == 101)
O.invisibility = 0
spawn(10)
spawn(pulse_duration)
if(O)
var/turf/U = O.loc
if(U.intact)
@@ -65,6 +80,7 @@ REAGENT SCANNER
M.alpha = oldalpha
var/mob/living/M = locate() in T
if(M && M.invisibility == 2)
M.invisibility = 0
spawn(2)
@@ -176,12 +176,24 @@
return W.afterattack(target,src)
var/randn = rand(1, 100)
if (randn <= 25)
apply_effect(4, WEAKEN, run_armor_check(affecting, "melee"))
if(!src.handcuffed) // Bone White - disarm knockdown only occurs if you have an aggressive grab on the target, Longer duration (8) to allow handcuffing.
//check for an aggressive grab
for (var/obj/item/weapon/grab/G in src.grabbed_by)
if (G.assailant == M && G.state >= GRAB_AGGRESSIVE)
world << "aggressive grab"
randn -= 30 // this value is the % chance of knockdown if you disarm someone whilst you have an aggressive grab.
else
//if target is handcuffed, always push them over
randn = 0
if (randn <= 0)
world << "push over success"
apply_effect(4, WEAKEN, run_armor_check(affecting, "melee")) // first var here is the length of the knockdown
playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
visible_message("\red <B>[M] has pushed [src]!</B>")
M.attack_log += text("\[[time_stamp()]\] <font color='red'>Pushed [src.name] ([src.ckey])</font>")
src.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been pushed by [M.name] ([M.ckey])</font>")
visible_message("\red <B>[M] has floored [src]!</B>")
M.attack_log += text("\[[time_stamp()]\] <font color='red'>Floored [src.name] ([src.ckey])</font>")
src.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been floored by [M.name] ([M.ckey])</font>")
if(!iscarbon(M))
LAssailant = null
else