mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-12 15:45:25 +01:00
Merge pull request #514 from SamCroswell/master
Dismemberment Update, Fireaxe Fixes, Gunshot Sound Changes
This commit is contained in:
@@ -244,6 +244,17 @@
|
||||
else
|
||||
var/atom/target = get_edge_target_turf(src, get_dir(src, get_step_away(src, src)))
|
||||
throw_at(target, 200, 4)
|
||||
|
||||
var/limbs_affected = pick(2,3,4)
|
||||
var/datum/organ/external/processing_dismember
|
||||
|
||||
while(limbs_affected != 0)
|
||||
processing_dismember = pick(organs)
|
||||
if(processing_dismember.name != "chest" && processing_dismember.name != "groin")
|
||||
processing_dismember.dismember_limb()
|
||||
limbs_affected -= 1
|
||||
|
||||
|
||||
//return
|
||||
// var/atom/target = get_edge_target_turf(user, get_dir(src, get_step_away(user, src)))
|
||||
//user.throw_at(target, 200, 4)
|
||||
@@ -258,6 +269,25 @@
|
||||
b_loss = b_loss/1.5
|
||||
f_loss = f_loss/1.5
|
||||
|
||||
var/limbs_affected = pick(0, 1, 2)
|
||||
var/datum/organ/external/processing_dismember
|
||||
|
||||
while(limbs_affected != 0)
|
||||
processing_dismember = pick(organs)
|
||||
if(processing_dismember.name != "chest" && processing_dismember.name != "groin" && processing_dismember.name != "head")
|
||||
processing_dismember.dismember_limb()
|
||||
limbs_affected -= 1
|
||||
|
||||
else
|
||||
var/limbs_affected = pick(1, 2, 3)
|
||||
var/datum/organ/external/processing_dismember
|
||||
|
||||
while(limbs_affected != 0)
|
||||
processing_dismember = pick(organs)
|
||||
if(processing_dismember.name != "chest" && processing_dismember.name != "groin")
|
||||
processing_dismember.dismember_limb()
|
||||
limbs_affected -= 1
|
||||
|
||||
if (!istype(l_ear, /obj/item/clothing/ears/earmuffs) && !istype(r_ear, /obj/item/clothing/ears/earmuffs))
|
||||
ear_damage += 30
|
||||
ear_deaf += 120
|
||||
@@ -268,6 +298,18 @@
|
||||
b_loss += 30
|
||||
if (prob(getarmor(null, "bomb")))
|
||||
b_loss = b_loss/2
|
||||
|
||||
else
|
||||
|
||||
var/limbs_affected = pick(0, 1)
|
||||
var/datum/organ/external/processing_dismember
|
||||
|
||||
while(limbs_affected != 0)
|
||||
processing_dismember = pick(organs)
|
||||
if(processing_dismember.name != "chest" && processing_dismember.name != "groin" && processing_dismember.name != "head")
|
||||
processing_dismember.dismember_limb()
|
||||
limbs_affected -= 1
|
||||
|
||||
if (!istype(l_ear, /obj/item/clothing/ears/earmuffs) && !istype(r_ear, /obj/item/clothing/ears/earmuffs))
|
||||
ear_damage += 15
|
||||
ear_deaf += 60
|
||||
|
||||
@@ -265,7 +265,7 @@ emp_act
|
||||
if(armor >= 2) 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)
|
||||
|
||||
var/bloody = 0
|
||||
@@ -313,8 +313,13 @@ emp_act
|
||||
|
||||
|
||||
if(Iforce > 10 || Iforce >= 5 && prob(33))
|
||||
forcesay(hit_appends) //forcesay checks stat already
|
||||
|
||||
forcesay(hit_appends) //forcesay checks stat already
|
||||
|
||||
if (I.damtype == BRUTE)
|
||||
if((I.edge && prob(2 * I.force)) || (I.force > 20 && prob(I.force)))
|
||||
if(affecting.brute_dam >= affecting.max_damage * config.organ_health_multiplier)
|
||||
affecting.dismember_limb()
|
||||
|
||||
//Melee weapon embedded object code.
|
||||
if (I.damtype == BRUTE && !I.is_robot_module())
|
||||
var/damage = I.force
|
||||
@@ -465,7 +470,7 @@ emp_act
|
||||
var/penetrated_dam = max(0,(damage - max(0,(SS.breach_threshold - SS.damage))))
|
||||
|
||||
if(penetrated_dam) SS.create_breaches(damtype, penetrated_dam)
|
||||
|
||||
|
||||
/mob/living/carbon/human/mech_melee_attack(obj/mecha/M)
|
||||
if(M.occupant.a_intent == "harm")
|
||||
if(M.damtype == "brute")
|
||||
|
||||
@@ -158,12 +158,13 @@
|
||||
src.update_damages()
|
||||
|
||||
//If limb took enough damage, try to cut or tear it off
|
||||
/*
|
||||
if(body_part != UPPER_TORSO && body_part != LOWER_TORSO) //as hilarious as it is, getting hit on the chest too much shouldn't effectively gib you.
|
||||
if(config.limbs_can_break && brute_dam >= max_damage * config.organ_health_multiplier)
|
||||
if( (edge && prob(5 * brute)) || (brute > 20 && prob(2 * brute)) )
|
||||
droplimb(1)
|
||||
return
|
||||
|
||||
*/
|
||||
owner.updatehealth()
|
||||
|
||||
var/result = update_icon()
|
||||
@@ -290,6 +291,12 @@ This function completely restores a damaged organ to perfect condition.
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/datum/organ/external/proc/dismember_limb()
|
||||
if(body_part != UPPER_TORSO && body_part != LOWER_TORSO) //as hilarious as it is, getting hit on the chest too much shouldn't effectively gib you.
|
||||
if(config.limbs_can_break)
|
||||
droplimb(1)
|
||||
return
|
||||
|
||||
/datum/organ/external/process()
|
||||
//Dismemberment
|
||||
if(status & ORGAN_DESTROYED)
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
slot_flags = 0
|
||||
origin_tech = "combat=5;materials=1;syndicate=2"
|
||||
mag_type = "/obj/item/ammo_box/magazine/m762"
|
||||
fire_sound = 'sound/weapons/Gunshot_smg.ogg'
|
||||
fire_sound = 'sound/weapons/Gunshot3.ogg'
|
||||
|
||||
var/cover_open = 0
|
||||
|
||||
@@ -123,7 +123,7 @@
|
||||
w_class = 3.0
|
||||
origin_tech = "combat=5;materials=4;syndicate=6"
|
||||
mag_type = "/obj/item/ammo_box/magazine/m12g"
|
||||
fire_sound = 'sound/weapons/Gunshot.ogg'
|
||||
fire_sound = 'sound/weapons/Gunshot4.ogg'
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/bulldog/New()
|
||||
..()
|
||||
|
||||
@@ -81,6 +81,7 @@
|
||||
silenced = 0
|
||||
origin_tech = "combat=2;materials=2;syndicate=2"
|
||||
mag_type = "/obj/item/ammo_box/magazine/m10mm"
|
||||
fire_sound = 'sound/weapons/Gunshot2.ogg'
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/pistol/attack_hand(mob/user as mob)
|
||||
if(loc == user)
|
||||
|
||||
Reference in New Issue
Block a user