mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-28 23:58:07 +01:00
[MIRROR] Damage resistance is now applied properly when synchronous mesh blobs deals damage to itself on hit [MDB IGNORE] (#23368)
* Damage resistance is now applied properly when synchronous mesh blobs deals damage to itself on hit (#77831) ## About The Pull Request The synchronous mesh blobstrain bypasses damage resistance when dealing collateral damage to nearby blob... things? Structures? Meshes? Anyways, this is now fixed with this PR well as getting rid of an unnecessary double `orange()` call. ## Why It's Good For The Game This is actually a weird consistency error, and I don't know why it exists. Why we have a bypass for damage resistance is really byond me, and I hope this puts a bit more balance into place of--- guys don't listen to her she's doing this to remove clone damage from the game do not listen to her lies about game balance ## Changelog 🆑 distributivgesetz balance: Damaging synchronous mesh blobs now incorporates damage resistance of other blob structures when dealing shared damage to those nearby. /🆑 * Damage resistance is now applied properly when synchronous mesh blobs deals damage to itself on hit --------- Co-authored-by: distributivgesetz <distributivgesetz93@gmail.com>
This commit is contained in:
co-authored by
distributivgesetz
parent
a6772df434
commit
0f01c46102
@@ -14,12 +14,13 @@
|
||||
/datum/blobstrain/reagent/synchronous_mesh/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
|
||||
if(damage_flag == MELEE || damage_flag == BULLET || damage_flag == LASER) //the cause isn't fire or bombs, so split the damage
|
||||
var/damagesplit = 1 //maximum split is 9, reducing the damage each blob takes to 11% but doing that damage to 9 blobs
|
||||
for(var/obj/structure/blob/C in orange(1, B))
|
||||
var/list/blob_structures = orange(1, B)
|
||||
for(var/obj/structure/blob/C in blob_structures)
|
||||
if(!C.ignore_syncmesh_share && C.overmind && C.overmind.blobstrain.type == B.overmind.blobstrain.type) //if it doesn't have the same chemical or is a core or node, don't split damage to it
|
||||
damagesplit += 1
|
||||
for(var/obj/structure/blob/C in orange(1, B))
|
||||
for(var/obj/structure/blob/C in blob_structures)
|
||||
if(!C.ignore_syncmesh_share && C.overmind && C.overmind.blobstrain.type == B.overmind.blobstrain.type) //only hurt blobs that have the same overmind chemical and aren't cores or nodes
|
||||
C.take_damage(damage/damagesplit, CLONE, 0, 0)
|
||||
C.take_damage(damage/damagesplit, damage_type, 0, 0)
|
||||
return damage / damagesplit
|
||||
else
|
||||
return damage * 1.25
|
||||
|
||||
@@ -293,7 +293,6 @@
|
||||
damage_amount *= brute_resist
|
||||
if(BURN)
|
||||
damage_amount *= fire_resist
|
||||
if(CLONE)
|
||||
else
|
||||
return 0
|
||||
var/armor_protection = 0
|
||||
|
||||
Reference in New Issue
Block a user