Special Swords and amputation (#715)

changes:

rscadd: "Chainswords now have an improved animation."
rscadd: "Chainswords and energy blades can no longer get embedded in people."
rscadd: "Chainswords and energy blades can now be used as surgical tools to amputate limbs. Chainswords are messy. Energy blades will cut clean and cauterize the wound"
tweak: "Surgery messages about amputating bodyparts are now very noticeable"
tweak: "Cauterising wounds with a welding tool is much more reliable. Cauterising with a cigarette is no longer effective."
bugfix: "Fixed chainsword held sprite not updating when toggled"
This commit is contained in:
NanakoAC
2016-08-15 00:36:28 +03:00
committed by skull132
parent f4ebd9f8ff
commit 2fcd1eccd3
8 changed files with 103 additions and 17 deletions
@@ -302,13 +302,15 @@ emp_act
if (armor)
damage /= armor+1
//blunt objects should really not be embedding in things unless a huge amount of force is involved
var/embed_chance = weapon_sharp? damage/I.w_class : damage/(I.w_class*3)
var/embed_threshold = weapon_sharp? 5*I.w_class : 15*I.w_class
//Sharp objects will always embed if they do enough damage.
if((weapon_sharp && damage > (10*I.w_class)) || (damage > embed_threshold && prob(embed_chance)))
affecting.embed(I)
if (I.can_embed)//If this weapon is allowed to embed in people
//blunt objects should really not be embedding in things unless a huge amount of force is involved
var/embed_chance = weapon_sharp? damage/I.w_class : damage/(I.w_class*3)
var/embed_threshold = weapon_sharp? 5*I.w_class : 15*I.w_class
//Sharp objects will always embed if they do enough damage.
if((weapon_sharp && damage > (10*I.w_class)) || (damage > embed_threshold && prob(embed_chance)))
affecting.embed(I)
return 1
//this proc handles being hit by a thrown atom