mirror of
https://github.com/fulpstation/fulpstation.git
synced 2025-12-10 18:11:47 +00:00
Added config options for toggling limbs breaking and bones breaking.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4721 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -74,6 +74,9 @@
|
|||||||
var/organ_health_multiplier = 1
|
var/organ_health_multiplier = 1
|
||||||
var/organ_regeneration_multiplier = 1
|
var/organ_regeneration_multiplier = 1
|
||||||
|
|
||||||
|
var/bones_can_break = 1
|
||||||
|
var/limbs_can_break = 1
|
||||||
|
|
||||||
var/revival_pod_plants = 1
|
var/revival_pod_plants = 1
|
||||||
var/revival_cloning = 1
|
var/revival_cloning = 1
|
||||||
var/revival_brain_life = -1
|
var/revival_brain_life = -1
|
||||||
@@ -372,6 +375,10 @@
|
|||||||
config.organ_health_multiplier = value / 100
|
config.organ_health_multiplier = value / 100
|
||||||
if("organ_regeneration_multiplier")
|
if("organ_regeneration_multiplier")
|
||||||
config.organ_regeneration_multiplier = value / 100
|
config.organ_regeneration_multiplier = value / 100
|
||||||
|
if("bones_can_break")
|
||||||
|
config.bones_can_break = value
|
||||||
|
if("limbs_can_break")
|
||||||
|
config.limbs_can_break = value
|
||||||
else
|
else
|
||||||
diary << "Unknown setting in configuration: '[name]'"
|
diary << "Unknown setting in configuration: '[name]'"
|
||||||
|
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
|
|
||||||
if(sharp)
|
if(sharp)
|
||||||
var/nux = brute * rand(10,15)
|
var/nux = brute * rand(10,15)
|
||||||
if(brute_dam >= max_damage * config.organ_health_multiplier)
|
if(config.limbs_can_break && brute_dam >= max_damage * config.organ_health_multiplier)
|
||||||
if(prob(5 * brute))
|
if(prob(5 * brute))
|
||||||
status |= ORGAN_DESTROYED
|
status |= ORGAN_DESTROYED
|
||||||
droplimb()
|
droplimb()
|
||||||
@@ -59,7 +59,8 @@
|
|||||||
if(!(status & ORGAN_ROBOT))
|
if(!(status & ORGAN_ROBOT))
|
||||||
owner << "You feel something wet on your [display_name]"
|
owner << "You feel something wet on your [display_name]"
|
||||||
|
|
||||||
if((brute_dam + burn_dam + brute + burn) < max_damage)
|
// If the limbs can break, make sure we don't exceed the maximum damage a limb can take before breaking
|
||||||
|
if((brute_dam + burn_dam + brute + burn) < max_damage || !config.limbs_can_break)
|
||||||
if(brute)
|
if(brute)
|
||||||
brute_dam += brute
|
brute_dam += brute
|
||||||
if( (prob(brute*2) && !sharp) || sharp )
|
if( (prob(brute*2) && !sharp) || sharp )
|
||||||
@@ -70,7 +71,7 @@
|
|||||||
burn_dam += burn
|
burn_dam += burn
|
||||||
createwound( BURN, burn )
|
createwound( BURN, burn )
|
||||||
else
|
else
|
||||||
var/can_inflict = max_damage - (brute_dam + burn_dam) //How much damage can we actually cause?
|
var/can_inflict = max_damage * config.organ_health_multiplier - (brute_dam + burn_dam) //How much damage can we actually cause?
|
||||||
if(can_inflict)
|
if(can_inflict)
|
||||||
if (brute > 0 && burn > 0)
|
if (brute > 0 && burn > 0)
|
||||||
brute = can_inflict/2
|
brute = can_inflict/2
|
||||||
@@ -199,7 +200,7 @@
|
|||||||
if(owner.life_tick % 4 == 0)
|
if(owner.life_tick % 4 == 0)
|
||||||
update_wounds()
|
update_wounds()
|
||||||
if(status & ORGAN_DESTROYED)
|
if(status & ORGAN_DESTROYED)
|
||||||
if(!destspawn)
|
if(!destspawn && config.limbs_can_break)
|
||||||
droplimb()
|
droplimb()
|
||||||
return
|
return
|
||||||
if(!(status & ORGAN_BROKEN))
|
if(!(status & ORGAN_BROKEN))
|
||||||
@@ -209,7 +210,7 @@
|
|||||||
status |= ORGAN_DESTROYED
|
status |= ORGAN_DESTROYED
|
||||||
owner:update_body()
|
owner:update_body()
|
||||||
return
|
return
|
||||||
if(brute_dam > min_broken_damage * config.organ_health_multiplier && !(status & ORGAN_ROBOT))
|
if(config.bones_can_break && brute_dam > min_broken_damage * config.organ_health_multiplier && !(status & ORGAN_ROBOT))
|
||||||
if(!(status & ORGAN_BROKEN))
|
if(!(status & ORGAN_BROKEN))
|
||||||
owner.visible_message("\red You hear a loud cracking sound coming from \the [owner].","\red <b>Something feels like it shattered in your [display_name]!</b>","You hear a sickening crack.")
|
owner.visible_message("\red You hear a loud cracking sound coming from \the [owner].","\red <b>Something feels like it shattered in your [display_name]!</b>","You hear a sickening crack.")
|
||||||
owner.emote("scream")
|
owner.emote("scream")
|
||||||
|
|||||||
@@ -6,6 +6,13 @@ HEALTH_THRESHOLD_CRIT 0
|
|||||||
## level of health at which a mob becomes dead
|
## level of health at which a mob becomes dead
|
||||||
HEALTH_THRESHOLD_DEAD -100
|
HEALTH_THRESHOLD_DEAD -100
|
||||||
|
|
||||||
|
## Determines whether bones can be broken through excessive damage to the organ
|
||||||
|
## 0 means bones can't break, 1 means they can
|
||||||
|
BONES_CAN_BREAK 0
|
||||||
|
## Determines whether limbs can be amputated through excessive damage to the organ
|
||||||
|
## 0 means limbs can't be amputated, 1 means they can
|
||||||
|
LIMBS_CAN_BREAK 0
|
||||||
|
|
||||||
## multiplier which enables organs to take more damage before bones breaking or limbs being destroyed
|
## multiplier which enables organs to take more damage before bones breaking or limbs being destroyed
|
||||||
## 100 means normal, 50 means half
|
## 100 means normal, 50 means half
|
||||||
ORGAN_HEALTH_MULTIPLIER 100
|
ORGAN_HEALTH_MULTIPLIER 100
|
||||||
|
|||||||
Reference in New Issue
Block a user