The Most Non-Edgey PR Ever

This commit is contained in:
Fox-McCloud
2017-07-01 19:48:43 -04:00
parent 52af2d8c0e
commit 05a24da2e8
56 changed files with 66 additions and 145 deletions
-1
View File
@@ -69,7 +69,6 @@
attack_verb = list("sliced")
hitsound = 'sound/weapons/bladeslice.ogg'
sharp = 1
edge = 1
/obj/item/clothing/glasses/meson/cyber
name = "Eye Replacement Implant"
-1
View File
@@ -131,7 +131,6 @@
desc = "A replica claymore with strange markings scratched into the blade."
force = 5
sharp = 0
edge = 0
/obj/item/weapon/claymore/fluff/hit_reaction()
return 0
@@ -136,7 +136,6 @@
attack_verb = list("stabbed", "slashed", "attacked")
var/icon/broken_outline = icon('icons/obj/drinks.dmi', "broken")
sharp = 1
edge = 1
/obj/item/weapon/reagent_containers/food/drinks/bottle/gin
name = "Griffeater Gin"
+1 -5
View File
@@ -89,7 +89,6 @@
attack_verb = list("chopped", "torn", "cut")
hitsound = 'sound/weapons/bladeslice.ogg'
sharp = 1
edge = 1
/obj/item/weapon/hatchet/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] is chopping at \himself with the [src.name]! It looks like \he's trying to commit suicide.</span>")
@@ -119,7 +118,6 @@
attack_verb = list("chopped", "sliced", "cut", "reaped")
hitsound = 'sound/weapons/bladeslice.ogg'
sharp = 1
edge = 1
var/extend = 1
/obj/item/weapon/scythe/suicide_act(mob/user)
@@ -128,7 +126,7 @@
var/mob/living/carbon/human/H = user
var/obj/item/organ/external/affecting = H.get_organ("head")
if(affecting)
affecting.droplimb(1, DROPLIMB_EDGE)
affecting.droplimb(1, DROPLIMB_SHARP)
playsound(loc, pick('sound/misc/desceration-01.ogg','sound/misc/desceration-02.ogg','sound/misc/desceration-01.ogg'), 50, 1, -1)
return (BRUTELOSS)
@@ -139,7 +137,6 @@
desc = "A sharp and curved blade on a collapsable fibre metal handle, this tool is the pinnacle of covert reaping technology."
force = 3
sharp = 0
edge = 0
w_class = WEIGHT_CLASS_SMALL
extend = 0
slot_flags = SLOT_BELT
@@ -172,7 +169,6 @@
//Collapse sound (blade sheath)
playsound(src.loc, 'sound/weapons/blade_sheath.ogg', 50, 1) //Sound credit to Q.K. of Freesound.org
sharp = extend
edge = extend
if(ishuman(user))
var/mob/living/carbon/human/H = user
H.update_inv_l_hand()
-1
View File
@@ -978,7 +978,6 @@
hitsound = 'sound/weapons/bladeslice.ogg'
attack_verb = list("smashes", "crushes", "cleaves", "chops", "pulps")
sharp = 1
edge = 1
var/charged = 1
var/charge_time = 16
var/atom/mark = null
@@ -24,7 +24,6 @@
item_state = "spectral"
flags = CONDUCT
sharp = 1
edge = 1
w_class = WEIGHT_CLASS_BULKY
force = 1
throwforce = 1
-1
View File
@@ -87,7 +87,6 @@
var/list/digsound = list('sound/effects/picaxe1.ogg','sound/effects/picaxe2.ogg','sound/effects/picaxe3.ogg')
var/drill_verb = "picking"
sharp = 1
edge = 1
var/excavation_amount = 100
usesound = 'sound/effects/picaxe1.ogg'
toolspeed = 1
@@ -28,7 +28,7 @@
// Only make the limb drop if it's not too damaged
if(prob(100 - E.get_damage()))
// Override the current limb status and don't cause an explosion
E.droplimb(DROPLIMB_EDGE)
E.droplimb(DROPLIMB_SHARP)
for(var/mob/M in src)
if(M in stomach_contents)
@@ -226,7 +226,7 @@
while(limbs_affected != 0 && valid_limbs.len > 0)
processing_dismember = pick(valid_limbs)
if(processing_dismember.limb_name != "chest" && processing_dismember.limb_name != "head" && processing_dismember.limb_name != "groin")
processing_dismember.droplimb(1,DROPLIMB_EDGE,0,1)
processing_dismember.droplimb(1,DROPLIMB_SHARP,0,1)
valid_limbs -= processing_dismember
limbs_affected -= 1
else valid_limbs -= processing_dismember
@@ -252,7 +252,7 @@
while(limbs_affected != 0 && valid_limbs.len > 0)
processing_dismember = pick(valid_limbs)
if(processing_dismember.limb_name != "chest" && processing_dismember.limb_name != "head" && processing_dismember.limb_name != "groin")
processing_dismember.droplimb(1,DROPLIMB_EDGE,0,1)
processing_dismember.droplimb(1,DROPLIMB_SHARP,0,1)
valid_limbs -= processing_dismember
limbs_affected -= 1
else valid_limbs -= processing_dismember
@@ -277,7 +277,7 @@
while(limbs_affected != 0 && valid_limbs.len > 0)
processing_dismember = pick(valid_limbs)
if(processing_dismember.limb_name != "chest" && processing_dismember.limb_name != "head" && processing_dismember.limb_name != "groin")
processing_dismember.droplimb(1,DROPLIMB_EDGE,0,1)
processing_dismember.droplimb(1,DROPLIMB_SHARP,0,1)
valid_limbs -= processing_dismember
limbs_affected -= 1
else valid_limbs -= processing_dismember
@@ -158,7 +158,7 @@
visible_message("<span class='danger'>[M] [pick(attack.attack_verb)]ed [src]!</span>")
apply_damage(damage, BRUTE, affecting, armor_block, sharp=attack.sharp, edge=attack.edge) //moving this back here means Armalis are going to knock you down 70% of the time, but they're pure adminbus anyway.
apply_damage(damage, BRUTE, affecting, armor_block, sharp = attack.sharp) //moving this back here means Armalis are going to knock you down 70% of the time, but they're pure adminbus anyway.
if((stat != DEAD) && damage >= M.species.punchstunthreshold)
visible_message("<span class='danger'>[M] has weakened [src]!</span>", \
"<span class='userdanger'>[M] has weakened [src]!</span>")
@@ -112,7 +112,7 @@
var/obj/item/organ/external/O = get_organ(organ_name)
if(amount > 0)
O.take_damage(amount, 0, sharp=is_sharp(damage_source), edge=has_edge(damage_source), used_weapon=damage_source)
O.take_damage(amount, 0, sharp=is_sharp(damage_source), used_weapon=damage_source)
else
//if you don't want to heal robot organs, they you will have to check that yourself before using this proc.
O.heal_damage(-amount, 0, internal=0, robo_repair=(O.status & ORGAN_ROBOT))
@@ -126,7 +126,7 @@
var/obj/item/organ/external/O = get_organ(organ_name)
if(amount > 0)
O.take_damage(0, amount, sharp=is_sharp(damage_source), edge=has_edge(damage_source), used_weapon=damage_source)
O.take_damage(0, amount, sharp=is_sharp(damage_source), used_weapon=damage_source)
else
//if you don't want to heal robot organs, they you will have to check that yourself before using this proc.
O.heal_damage(0, -amount, internal=0, robo_repair=(O.status & ORGAN_ROBOT))
@@ -240,7 +240,7 @@
if(!parts.len)
return
var/obj/item/organ/external/picked = pick(parts)
if(picked.take_damage(brute,burn,sharp,edge))
if(picked.take_damage(brute, burn, sharp))
UpdateDamageIcon()
updatehealth()
speech_problem_flag = 1
@@ -285,7 +285,7 @@
var/burn_was = picked.burn_dam
update |= picked.take_damage(brute_per_part,burn_per_part,sharp,edge,used_weapon)
update |= picked.take_damage(brute_per_part, burn_per_part, sharp, used_weapon)
brute -= (picked.brute_dam - brute_was)
burn -= (picked.burn_dam - burn_was)
@@ -333,7 +333,7 @@ This function restores all organs.
return bodyparts_by_name[zone]
/mob/living/carbon/human/apply_damage(damage = 0, damagetype = BRUTE, def_zone = null, blocked = 0, sharp = 0, edge = 0, obj/used_weapon = null)
/mob/living/carbon/human/apply_damage(damage = 0, damagetype = BRUTE, def_zone = null, blocked = 0, sharp = 0, obj/used_weapon = null)
//Handle other types of damage
if((damagetype != BRUTE) && (damagetype != BURN))
..(damage, damagetype, def_zone, blocked)
@@ -364,7 +364,7 @@ This function restores all organs.
if(species)
damage = damage * species.brute_mod
if(organ.take_damage(damage, 0, sharp, edge, used_weapon))
if(organ.take_damage(damage, 0, sharp, used_weapon))
UpdateDamageIcon()
if(LAssailant && ishuman(LAssailant)) //superheros still get the comical hit markers
@@ -389,7 +389,7 @@ This function restores all organs.
if(species)
damage = damage * species.burn_mod
if(organ.take_damage(0, damage, sharp, edge, used_weapon))
if(organ.take_damage(0, damage, sharp, used_weapon))
UpdateDamageIcon()
// Will set our damageoverlay icon to the next level, which will then be set back to the normal level the next mob.Life().
@@ -61,7 +61,7 @@ emp_act
/mob/living/carbon/human/check_projectile_dismemberment(obj/item/projectile/P, def_zone)
var/obj/item/organ/external/affecting = get_organ(check_zone(def_zone))
if(affecting && !affecting.cannot_amputate && affecting.get_damage() >= (affecting.max_damage - P.dismemberment))
var/damtype = DROPLIMB_EDGE
var/damtype = DROPLIMB_SHARP
switch(P.damage_type)
if(BRUTE)
damtype = DROPLIMB_BLUNT
@@ -234,16 +234,14 @@ emp_act
var/armor = run_armor_check(affecting, "melee", "Your armor has protected your [hit_area].", "Your armor has softened hit to your [hit_area].", armour_penetration = I.armour_penetration)
var/weapon_sharp = is_sharp(I)
var/weapon_edge = has_edge(I)
if((weapon_sharp || weapon_edge) && prob(getarmor(user.zone_sel.selecting, "melee")))
if(weapon_sharp && prob(getarmor(user.zone_sel.selecting, "melee")))
weapon_sharp = 0
weapon_edge = 0
if(armor >= 100) return 0
if(!I.force) return 0
var/Iforce = I.force //to avoid runtimes on the forcesay checks at the bottom. Some items might delete themselves if you drop them. (stunning yourself, ninja swords)
apply_damage(I.force, I.damtype, affecting, armor, sharp=weapon_sharp, edge=weapon_edge, used_weapon=I)
apply_damage(I.force, I.damtype, affecting, armor, sharp = weapon_sharp, used_weapon = I)
var/bloody = 0
if(I.damtype == BRUTE && I.force && prob(25 + I.force * 2))
@@ -327,7 +325,7 @@ emp_act
blocked = 1
/*else if(I)
if(I.throw_speed >= EMBED_THROWSPEED_THRESHOLD)
if(!I.is_robot_module())
if(!I.is_robot_module())
var/armor = run_armor_check(affecting, "melee", "Your armor has protected your [hit_area].", "Your armor has softened hit to your [hit_area].", I.armour_penetration) //I guess "melee" is the best fit here
var/sharp = is_sharp(I)
var/damage = throwpower * (I.throw_speed / 5)
@@ -519,7 +519,6 @@
var/attack_sound = "punch"
var/miss_sound = 'sound/weapons/punchmiss.ogg'
var/sharp = 0
var/edge = 0
/datum/unarmed_attack/punch
attack_verb = list("punch")
@@ -535,7 +534,6 @@
attack_sound = 'sound/weapons/slice.ogg'
miss_sound = 'sound/weapons/slashmiss.ogg'
sharp = 1
edge = 1
/datum/unarmed_attack/claws/armalis
attack_verb = list("slash", "claw")
+1 -1
View File
@@ -8,7 +8,7 @@
Returns
standard 0 if fail
*/
/mob/living/proc/apply_damage(var/damage = 0, var/damagetype = BRUTE, var/def_zone = null, var/blocked = 0, var/sharp = 0, var/edge = 0, var/used_weapon = null)
/mob/living/proc/apply_damage(var/damage = 0, var/damagetype = BRUTE, var/def_zone = null, var/blocked = 0, var/sharp = 0, var/used_weapon = null)
blocked = (100-blocked)/100
if(!damage || (blocked <= 0)) return 0
switch(damagetype)
+2 -8
View File
@@ -41,12 +41,6 @@
/mob/living/bullet_act(var/obj/item/projectile/P, var/def_zone)
//Armor
var/armor = run_armor_check(def_zone, P.flag, armour_penetration = P.armour_penetration)
var/proj_sharp = is_sharp(P)
var/proj_edge = has_edge(P)
if((proj_sharp || proj_edge) && prob(getarmor(def_zone, P.flag)))
proj_sharp = 0
proj_edge = 0
if(!P.nodamage)
apply_damage(P.damage, P.damage_type, def_zone, armor)
if(P.dismemberment)
@@ -78,7 +72,7 @@
if(istype(AM, /obj/item))
var/obj/item/I = AM
var/zone = ran_zone("chest", 65)//Hits a random part of the body, geared towards the chest
var/dtype = BRUTE
var/dtype = BRUTE
var/volume = I.get_volume_by_throwforce_and_or_w_class()
if(istype(I, /obj/item/weapon))
var/obj/item/weapon/W = I
@@ -97,7 +91,7 @@
visible_message("<span class='danger'>[src] has been hit by [I].</span>",
"<span class='userdanger'>[src] has been hit by [I].</span>")
var/armor = run_armor_check(zone, "melee", "Your armor has protected your [parse_zone(zone)].", "Your armor has softened hit to your [parse_zone(zone)].", I.armour_penetration)
apply_damage(I.throwforce, dtype, zone, armor, is_sharp(I), has_edge(I), I)
apply_damage(I.throwforce, dtype, zone, armor, is_sharp(I), I)
if(I.thrownby)
add_logs(I.thrownby, src, "hit", I)
else
@@ -34,13 +34,15 @@
installed = -1
uninstall()
/datum/robot_component/proc/take_damage(brute, electronics, sharp, edge)
if(installed != 1) return
/datum/robot_component/proc/take_damage(brute, electronics, sharp)
if(installed != 1)
return
brute_damage += brute
electronics_damage += electronics
if(brute_damage + electronics_damage >= max_damage) destroy()
if(brute_damage + electronics_damage >= max_damage)
destroy()
/datum/robot_component/proc/heal_damage(brute, electronics)
if(installed != 1)
@@ -98,11 +98,11 @@
var/datum/robot_component/armour/A = get_armour()
if(A)
A.take_damage(brute,burn,sharp,edge)
A.take_damage(brute, burn, sharp)
return
var/datum/robot_component/C = pick(components)
C.take_damage(brute,burn,sharp,edge)
C.take_damage(brute, burn, sharp)
/mob/living/silicon/robot/heal_overall_damage(var/brute, var/burn)
var/list/datum/robot_component/parts = get_damaged_components(brute,burn)
@@ -149,7 +149,7 @@
var/datum/robot_component/armour/A = get_armour()
if(A)
A.take_damage(brute,burn,sharp)
A.take_damage(brute, burn, sharp)
return
while(parts.len && (brute>0 || burn>0) )
@@ -158,7 +158,7 @@
var/brute_was = picked.brute_damage
var/burn_was = picked.electronics_damage
picked.take_damage(brute,burn)
picked.take_damage(brute, burn)
brute -= (picked.brute_damage - brute_was)
burn -= (picked.electronics_damage - burn_was)
@@ -477,7 +477,7 @@
var/mob/living/carbon/human/H = parrot_interest
var/obj/item/organ/external/affecting = H.get_organ(ran_zone(pick(parrot_dam_zone)))
H.apply_damage(damage, BRUTE, affecting, H.run_armor_check(affecting, "melee"), sharp=1)
H.apply_damage(damage, BRUTE, affecting, H.run_armor_check(affecting, "melee"), sharp = 1)
custom_emote(1, pick("pecks [H]'s [affecting].", "cuts [H]'s [affecting] with its talons."))
else
-2
View File
@@ -155,7 +155,6 @@
on = 0
force = initial(force)
sharp = 0
edge = 0
w_class = initial(w_class)
name = initial(name)
hitsound = initial(hitsound)
@@ -166,7 +165,6 @@
on = 1
force = 18
sharp = 1
edge = 1
w_class = WEIGHT_CLASS_NORMAL
name = "energy dagger"
hitsound = 'sound/weapons/blade1.ogg'
-2
View File
@@ -49,8 +49,6 @@
name = "alloy spike"
desc = "A broadhead spike made out of a weird silvery metal."
projectile_type = /obj/item/projectile/bullet/spike
sharp = 1
edge = 0
throwforce = 5
w_class = WEIGHT_CLASS_NORMAL
caliber = "spike"
@@ -144,7 +144,6 @@
attack_verb = list("attacked", "slashed", "cut", "sliced")
force = 12
sharp = 1
edge = 1
can_charge = 0
/obj/item/weapon/gun/energy/plasmacutter/examine(mob/user)
+1 -2
View File
@@ -68,7 +68,7 @@
icon_state = "focus"
item_state = "focus"
ammo_type = list(/obj/item/ammo_casing/forcebolt)
/obj/item/weapon/gun/magic/staff/spellblade
name = "spellblade"
desc = "A deadly combination of laziness and boodlust, this blade allows the user to dismember their enemies without all the hard work of actually swinging the sword."
@@ -81,7 +81,6 @@
armour_penetration = 75
block_chance = 50
sharp = 1
edge = 1
max_charges = 4
/obj/item/weapon/gun/magic/staff/spellblade/hit_reaction(mob/living/carbon/human/owner, attack_text, final_block_chance, damage, attack_type)
@@ -77,7 +77,6 @@
desc = "Stab, stab, stab."
icon_state = "arrow"
force = 10
sharp = 1
projectile_type = /obj/item/projectile/bullet/reusable/arrow
caliber = "arrow"
@@ -155,7 +155,6 @@
throwforce = 20
w_class = WEIGHT_CLASS_NORMAL
sharp = 1
edge = 0
/obj/item/weapon/arrow/proc/removed() //Helper for metal rods falling apart.
return
@@ -5,7 +5,6 @@
damage_type = BRUTE
flag = "bullet"
embed = 1
sharp = 1
hitsound_wall = "ricochet"
/obj/item/projectile/bullet/weakbullet //beanbag, heavy stamina damage
@@ -15,7 +14,6 @@
/obj/item/projectile/bullet/weakbullet/rubber //beanbag that shells that don't embed
embed = 0
sharp = 0
/obj/item/projectile/bullet/weakbullet/booze
embed = 0
@@ -46,7 +44,6 @@
/obj/item/projectile/bullet/weakbullet2/rubber //detective's bullets that don't embed
embed = 0
sharp = 0
/obj/item/projectile/bullet/weakbullet3
damage = 20
@@ -57,7 +54,6 @@
stamina = 30
icon_state = "bullet-r"
embed = 0
sharp = 0
/obj/item/projectile/bullet/toxinbullet
damage = 15
@@ -146,7 +142,6 @@
damage = 3
stamina = 25
embed = 0
sharp = 0
icon_state = "bullet-r"
/obj/item/projectile/bullet/stunshot//taser slugs for shotguns, nothing special
@@ -158,7 +153,6 @@
jitter = 20
range = 7
embed = 0
sharp = 0
icon_state = "spark"
color = "#FFFF00"
@@ -210,7 +204,6 @@
forcedodge = 1
nodamage = 1
embed = 0
sharp = 0
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE
hitsound = 'sound/items/bikehorn.ogg'
icon = 'icons/obj/hydroponics/harvest.dmi'
@@ -245,7 +238,6 @@
icon_state = "cbbolt"
damage = 6
embed = 0
sharp = 0
var/piercing = 0
/obj/item/projectile/bullet/dart/New()
@@ -308,7 +300,6 @@
damage = 0
nodamage = 1
embed = 0
sharp = 0
/obj/item/projectile/bullet/cap/fire()
loc = null
@@ -35,7 +35,6 @@
ammo_type = /obj/item/ammo_casing/caseless/foam_dart
range = 10
var/obj/item/weapon/pen/pen = null
edge = 0
embed = 0
log_override = TRUE//it won't log even when there's a pen inside, but since the damage will be so low, I don't think there's any point in making it any more complex
@@ -23,8 +23,6 @@
icon_state= "bolter"
damage = 50
flag = "bullet"
sharp = 1
edge = 1
/obj/item/projectile/bullet/gyro/on_hit(var/atom/target, var/blocked = 0)
..()
@@ -6,7 +6,6 @@
throwforce = 15.0
icon_state = "plasmalarge"
sharp = 1
edge = 1
/obj/item/weapon/shard/plasma/New()
+1 -1
View File
@@ -106,7 +106,7 @@
var/obj/item/organ/external/affected = target.get_organ(target_zone)
user.visible_message("<span class='warning'> [user]'s hand slips, tearing skin on [target]'s face with \the [tool]!</span>", \
"<span class='warning'> Your hand slips, tearing skin on [target]'s face with \the [tool]!</span>")
target.apply_damage(10, BRUTE, affected, sharp=1, edge=1)
target.apply_damage(10, BRUTE, affected, sharp = 1)
return 0
/datum/surgery_step/face/cauterize
+2 -2
View File
@@ -143,7 +143,7 @@
msg = "<span class='warning'> [user]'s hand slips, damaging several organs [target]'s lower abdomen with \the [tool]</span>"
self_msg = "<span class='warning'> Your hand slips, damaging several organs [target]'s lower abdomen with \the [tool]!</span>"
user.visible_message(msg, self_msg)
target.apply_damage(12, BRUTE, affected, sharp=1)
target.apply_damage(12, BRUTE, affected, sharp = 1)
return 0
/datum/surgery_step/generic/cauterize
@@ -236,7 +236,7 @@
add_logs(user, target, "surgically removed [affected.name] from", addition="INTENT: [uppertext(user.a_intent)]")//log it
var/atom/movable/thing = affected.droplimb(1,DROPLIMB_EDGE)
var/atom/movable/thing = affected.droplimb(1,DROPLIMB_SHARP)
if(istype(thing,/obj/item))
user.put_in_hands(thing)
return 1
+3 -3
View File
@@ -126,7 +126,7 @@
var/obj/item/organ/external/E = tool
user.visible_message("<span class='alert'>[user]'s hand slips, damaging [target]'s [E.amputation_point]!</span>", \
"<span class='alert'>Your hand slips, damaging [target]'s [E.amputation_point]!</span>")
target.apply_damage(10, BRUTE, null, sharp=1)
target.apply_damage(10, BRUTE, null, sharp = 1)
return 0
@@ -213,7 +213,7 @@
var/obj/item/organ/external/E = target.get_organ(target_zone)
user.visible_message("<span class='alert'>[user]'s hand slips, damaging [target]'s [E.amputation_point]!</span>", \
"<span class='alert'>Your hand slips, damaging [target]'s [E.amputation_point]!</span>")
target.apply_damage(10, BRUTE, null, sharp=1)
target.apply_damage(10, BRUTE, null, sharp = 1)
return 0
/datum/surgery_step/limb/mechanize
@@ -271,5 +271,5 @@
/datum/surgery_step/limb/mechanize/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("<span class='alert'>[user]'s hand slips, damaging [target]'s flesh!</span>", \
"<span class='alert'>Your hand slips, damaging [target]'s flesh!</span>")
target.apply_damage(10, BRUTE, null, sharp=1)
target.apply_damage(10, BRUTE, null, sharp = 1)
return 0
@@ -315,10 +315,10 @@
if(prob(50))
if(lasthand == "r_hand")
var/obj/item/organ/external/limb = owner.get_organ("r_arm")
limb.droplimb(0, DROPLIMB_EDGE)
limb.droplimb(0, DROPLIMB_SHARP)
else if(lasthand == "l_hand")
var/obj/item/organ/external/limb = owner.get_organ("l_arm")
limb.droplimb(0, DROPLIMB_EDGE)
limb.droplimb(0, DROPLIMB_SHARP)
owner.say("I HAVE BEEN DISARMED!!!")
owner.adjustFireLoss(25)//severely injure him!
overloaded = TRUE
+1 -1
View File
@@ -233,7 +233,7 @@ var/list/organ_cache = list()
W.time_inflicted = world.time
//Note: external organs have their own version of this proc
/obj/item/organ/proc/take_damage(amount, var/silent=0)
/obj/item/organ/proc/take_damage(amount, silent = 0)
if(tough)
return
if(status & ORGAN_ROBOT)
@@ -194,7 +194,7 @@
DAMAGE PROCS
****************************************************/
/obj/item/organ/external/take_damage(brute, burn, sharp, edge, used_weapon = null, list/forbidden_limbs = list())
/obj/item/organ/external/take_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list())
if(tough)
brute = max(0, brute - 5)
burn = max(0, burn - 4)
@@ -276,7 +276,7 @@
if(possible_points.len)
//And pass the pain around
var/obj/item/organ/external/target = pick(possible_points)
target.take_damage(brute, burn, sharp, edge, used_weapon, forbidden_limbs + src)
target.take_damage(brute, burn, sharp, used_weapon, forbidden_limbs + src)
if(fail_at_full_damage == 2 && body_part != UPPER_TORSO && body_part != LOWER_TORSO)
var/losstype
if(burn > brute)
@@ -292,8 +292,8 @@
if(owner && loc == owner)
if(!cannot_amputate && config.limbs_can_break && (brute_dam) >= (max_damage * config.organ_health_multiplier))
if(prob(brute / 2))
if(edge)
droplimb(0,DROPLIMB_EDGE)
if(sharp)
droplimb(0, DROPLIMB_SHARP)
if(owner_old) owner_old.updatehealth()
return update_icon()
@@ -696,10 +696,10 @@ Note that amputating the affected organ does in fact remove the infection from t
return
if(!disintegrate)
disintegrate = DROPLIMB_EDGE
disintegrate = DROPLIMB_SHARP
switch(disintegrate)
if(DROPLIMB_EDGE)
if(DROPLIMB_SHARP)
if(!clean)
var/gore_sound = "[(status & ORGAN_ROBOT) ? "tortured metal" : "ripping tendons and flesh"]"
owner.visible_message(
@@ -748,7 +748,7 @@ Note that amputating the affected organ does in fact remove the infection from t
victim.regenerate_icons()
dir = 2
switch(disintegrate)
if(DROPLIMB_EDGE)
if(DROPLIMB_SHARP)
compile_icon()
add_blood(victim)
var/matrix/M = matrix()
@@ -219,8 +219,8 @@
..()
/obj/item/organ/external/head/take_damage(brute, burn, sharp, edge, used_weapon = null, list/forbidden_limbs = list())
..(brute, burn, sharp, edge, used_weapon, forbidden_limbs)
/obj/item/organ/external/head/take_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list())
..(brute, burn, sharp, used_weapon, forbidden_limbs)
if(!disfigured)
if(brute_dam > 40)
if(prob(50))
+5 -5
View File
@@ -318,15 +318,15 @@ datum/wound/cut/massive
/datum/wound/lost_limb/New(var/obj/item/organ/external/lost_limb, var/losstype, var/clean)
var/damage_amt = lost_limb.max_damage
if(clean) damage_amt /= 2
switch(losstype)
if(DROPLIMB_EDGE, DROPLIMB_BLUNT)
if(DROPLIMB_SHARP, DROPLIMB_BLUNT)
damage_type = CUT
max_bleeding_stage = 3 //clotted stump and above can bleed.
stages = list(
"ripped stump" = damage_amt*1.3,
"bloody stump" = damage_amt,
"clotted stump" = damage_amt*0.5,
"bloody stump" = damage_amt,
"clotted stump" = damage_amt*0.5,
"scarred stump" = 0
)
if(DROPLIMB_BURN)
@@ -337,7 +337,7 @@ datum/wound/cut/massive
"scarred stump" = damage_amt*0.5,
"scarred stump" = 0
)
..(damage_amt)
/datum/wound/lost_limb/can_merge(var/datum/wound/other)
+1 -1
View File
@@ -538,7 +538,7 @@
add_logs(user, target, "surgically removed [affected.name] from", addition="INTENT: [uppertext(user.a_intent)]")//log it
var/atom/movable/thing = affected.droplimb(1,DROPLIMB_EDGE)
var/atom/movable/thing = affected.droplimb(1,DROPLIMB_SHARP)
if(istype(thing,/obj/item))
user.put_in_hands(thing)
-3
View File
@@ -43,7 +43,6 @@
flags = CONDUCT
force = 15.0
sharp = 1
edge = 1
w_class = WEIGHT_CLASS_NORMAL
origin_tech = "materials=1;biotech=1"
attack_verb = list("drilled")
@@ -63,7 +62,6 @@
flags = CONDUCT
force = 10.0
sharp = 1
edge = 1
w_class = WEIGHT_CLASS_TINY
throwforce = 5.0
throw_speed = 3
@@ -123,7 +121,6 @@
flags = CONDUCT
force = 15.0
sharp = 1
edge = 1
w_class = WEIGHT_CLASS_NORMAL
throwforce = 9.0
throw_speed = 3