Disable kill streak contributions for furniture
This commit is contained in:
parent
d2ceb75736
commit
a5be7dbcec
@ -144,6 +144,7 @@ MonoBehaviour:
|
||||
BodypartMinCount: 2
|
||||
BodypartMaxCount: 4
|
||||
DebrisType: 0
|
||||
IsFurniture: 0
|
||||
--- !u!114 &3362493323285318061
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -164,6 +164,7 @@ MonoBehaviour:
|
||||
BodypartMinCount: 2
|
||||
BodypartMaxCount: 4
|
||||
DebrisType: 0
|
||||
IsFurniture: 0
|
||||
--- !u!114 &3362493323285318061
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -358,6 +358,7 @@ MonoBehaviour:
|
||||
BodypartMinCount: 2
|
||||
BodypartMaxCount: 4
|
||||
DebrisType: 0
|
||||
IsFurniture: 0
|
||||
--- !u!114 &4655711410523782340
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -108,7 +108,7 @@ namespace Saltosion.OneWeapon.AI.Behaviours {
|
||||
Health.Damage(Damage, Direction, false);
|
||||
}
|
||||
}
|
||||
Explodable.Explode(true);
|
||||
Explodable.Explode(true, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -10,6 +10,7 @@ namespace Saltosion.OneWeapon.Effects {
|
||||
public float BodypartMinCount = 1;
|
||||
public float BodypartMaxCount = 1;
|
||||
public DebrisType DebrisType;
|
||||
public bool IsFurniture = true;
|
||||
|
||||
private CameraFX CameraFX;
|
||||
private PlayerFun PlayerFun;
|
||||
@ -35,11 +36,11 @@ namespace Saltosion.OneWeapon.Effects {
|
||||
private void Update() {
|
||||
if (DebugExplode) {
|
||||
DebugExplode = false;
|
||||
Explode(false);
|
||||
Explode(false, false);
|
||||
}
|
||||
}
|
||||
|
||||
public void Explode(bool destroyGameObject) {
|
||||
public void Explode(bool destroyGameObject, bool causedByPlayerAttack) {
|
||||
// Destroying the object during explosion implies that it can explode only once,
|
||||
// but Destroy() doesn't happen instantly, so here's a guard for that.
|
||||
if (destroyGameObject && DestroyedAlready) {
|
||||
@ -66,8 +67,12 @@ namespace Saltosion.OneWeapon.Effects {
|
||||
DebrisLauncher.Splatter(DebrisType, transform.position + (Vector3)Direction * 0.5f, Vector2.zero, ParticlesPerBodypart, 50f, 360f);
|
||||
}
|
||||
|
||||
PlayerFun.GainKill();
|
||||
PlayerFun.Explosion(false);
|
||||
if (causedByPlayerAttack) {
|
||||
if (!IsFurniture) {
|
||||
PlayerFun.GainKill();
|
||||
}
|
||||
PlayerFun.Explosion(IsFurniture);
|
||||
}
|
||||
CameraFX.ScreenShake(10);
|
||||
|
||||
if (destroyGameObject) {
|
||||
|
@ -18,11 +18,11 @@ namespace Saltosion.OneWeapon.Enemies {
|
||||
Explodable = GetComponent<Explodable>();
|
||||
}
|
||||
|
||||
public void Damage(float amount, Vector2 fromDirection, bool applyPlayerDamageBoost) {
|
||||
public void Damage(float amount, Vector2 fromDirection, bool causedByPlayerAttack) {
|
||||
DebrisLauncher.Splatter(DebrisType.Blood, transform.position, -fromDirection, (int)(amount), 100f, 100);
|
||||
CurrentHealth -= amount * (1 + (applyPlayerDamageBoost ? PlayerFun.CurrentDamageBoost : 0.0f));
|
||||
CurrentHealth -= amount * (1 + (causedByPlayerAttack ? PlayerFun.CurrentDamageBoost : 0.0f));
|
||||
if (CurrentHealth <= 0) {
|
||||
Explodable.Explode(true);
|
||||
Explodable.Explode(true, causedByPlayerAttack);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -60,7 +60,7 @@ namespace Saltosion.OneWeapon.Environment {
|
||||
}
|
||||
if (GunsLeft == 0) {
|
||||
if (ExplodeOnEmpty) {
|
||||
Explodable.Explode(true);
|
||||
Explodable.Explode(true, true);
|
||||
}
|
||||
Destroy(this);
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ namespace Saltosion.OneWeapon.Guns {
|
||||
} else if (VendingMachine != null) {
|
||||
VendingMachine.ExpelGun();
|
||||
} else if (Explodable != null) {
|
||||
Explodable.Explode(true);
|
||||
Explodable.Explode(true, true);
|
||||
} else if (Collider.tag == "Environment") {
|
||||
DebrisLauncher.Splatter(DebrisType.Structural, transform.position, Direction, (int)(5 * Intensity), 30 * Intensity, 360);
|
||||
}
|
||||
|
@ -27,7 +27,7 @@ namespace Saltosion.OneWeapon.Player {
|
||||
} else if (VendingMachine != null) {
|
||||
VendingMachine.ExpelGun();
|
||||
} else if (Explodable != null) {
|
||||
Explodable.Explode(true);
|
||||
Explodable.Explode(true, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user