27 lines
676 B
C#
27 lines
676 B
C#
using Godot;
|
|
using System;
|
|
|
|
public partial class Caffeinate : Action
|
|
{
|
|
public Caffeinate(Node2D OWNER) : base(OWNER)
|
|
{
|
|
_triggers.Add(Trigger.On.Collision);
|
|
}
|
|
|
|
public override void Fire()
|
|
{
|
|
if (_target != null)
|
|
{
|
|
if (_target is Worker)
|
|
{
|
|
Worker target = (Worker)_target;
|
|
target._rotationalForce += 10;
|
|
Vector2 targetDistanceNormal = (target.Position - _owner.Position).Normalized();
|
|
target.ApplyCentralForce(targetDistanceNormal * 10);
|
|
target.ChangeHealth(-1, _owner);
|
|
}
|
|
_target = null;
|
|
}
|
|
}
|
|
}
|