ground slam damage depends on height
This commit is contained in:
@@ -77,7 +77,7 @@ metadata/_custom_type_script = "uid://jitubgv6judn"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_abfq8"]
|
||||
script = ExtResource("3_cb2lu")
|
||||
Modifier = 20.0
|
||||
Modifier = 5.0
|
||||
metadata/_custom_type_script = "uid://b44cse62qru7j"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_ue7xq"]
|
||||
|
||||
@@ -1933,6 +1933,8 @@ public partial class PlayerController : CharacterBody3D,
|
||||
///////////////////////////
|
||||
// Slam Management ///////
|
||||
///////////////////////////
|
||||
|
||||
private Vector3 _slamStartPosition = Vector3.Zero;
|
||||
public void OnInputSlamPressed()
|
||||
{
|
||||
_playerState.SendEvent("slam");
|
||||
@@ -1940,6 +1942,7 @@ public partial class PlayerController : CharacterBody3D,
|
||||
|
||||
public void SlamStarted()
|
||||
{
|
||||
_slamStartPosition = GlobalPosition;
|
||||
SetHorizontalVelocity(Vector2.Zero);
|
||||
SetVerticalVelocity(-SlamSpeed);
|
||||
_audioStream.SwitchToClipByName("dash");
|
||||
@@ -1950,11 +1953,16 @@ public partial class PlayerController : CharacterBody3D,
|
||||
}
|
||||
public void SlamEnded()
|
||||
{
|
||||
var distanceTraveled = GlobalPosition.DistanceTo(_slamStartPosition);
|
||||
HeadSystem.OnGetHit();
|
||||
_audioStream.SwitchToClipByName("slam");
|
||||
|
||||
if (Explosion.Instantiate() is not Explosion explosion) return;
|
||||
explosion.Radius = 10f;
|
||||
|
||||
// Basic distance traveled explosion manipulation
|
||||
explosion.Radius = distanceTraveled;
|
||||
explosion.RDamage.DamageDealt = distanceTraveled;
|
||||
|
||||
GetTree().GetRoot().AddChild(explosion);
|
||||
explosion.GlobalPosition = GlobalPosition;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user