roll back name change from "Aim" to "SecondaryUse"

Expand SecondaryUse to have similar properties to normal Use so it can apply SecondaryUse-related status effects
Make Throwable great again
This commit is contained in:
Alex Noir
2017-12-10 15:00:52 +03:00
parent 1d6d1a066f
commit 231a38f71d
9 changed files with 41 additions and 22 deletions
@@ -255,7 +255,7 @@ namespace Barotrauma.Items.Components
dockingTarget.dockingDir = -dockingDir;
#if CLIENT
PlaySound(ActionType.OnAim, item.WorldPosition);
PlaySound(ActionType.OnSecondaryUse, item.WorldPosition);
#endif
ConnectWireBetweenPorts();
@@ -27,18 +27,13 @@ namespace Barotrauma.Items.Components
public override bool Use(float deltaTime, Character character = null)
{
if (character == null) return false;
if (!character.IsKeyDown(InputType.Aim) || throwing) return false;
throwing = true;
IsActive = true;
return true;
return true; //We do the actual throwing in Aim because Use might be used by chems
}
public override void Aim(float deltaTime, Character character = null)
public override bool SecondaryUse(float deltaTime, Character character = null)
{
if (throwing) return;
if (!throwing) return false; //This should only be triggered
return true;
}
public override void Drop(Character dropper)
@@ -103,7 +98,7 @@ namespace Barotrauma.Items.Components
Limb rightHand = ac.GetLimb(LimbType.RightHand);
item.body.AngularVelocity = rightHand.body.AngularVelocity;
ApplyStatusEffects(ActionType.OnSecondaryUse, deltaTime, picker); //Stun grenades, flares, etc. all have their throw-related things handled in "onSecondaryUse"
throwing = false;
}
}
@@ -291,7 +291,10 @@ namespace Barotrauma.Items.Components
}
//called when the item is equipped and right mouse button is pressed
public virtual void Aim(float deltaTime, Character character = null) { }
public virtual bool SecondaryUse(float deltaTime, Character character = null)
{
return false;
}
//called when the item is placed in a "limbslot"
public virtual void Equip(Character character) { }
@@ -160,7 +160,7 @@ namespace Barotrauma.Items.Components
return true;
}
public override void Aim(float deltaTime, Character character = null)
public override bool SecondaryUse(float deltaTime, Character character = null)
{
if (this.character == null || this.character != character || this.character.SelectedConstruction != item || !character.CanInteractWith(item))
{
@@ -118,9 +118,9 @@ namespace Barotrauma.Items.Components
}
public override void Aim(float deltaTime, Character character = null)
public override bool SecondaryUse(float deltaTime, Character character = null)
{
if (reload > 0.0f) return;
if (reload > 0.0f) return false;
bool first = true;
for (int i = 0; i < ropeBodies.Length - 1; i++)
@@ -157,7 +157,8 @@ namespace Barotrauma.Items.Components
//ropeBodies[i + 1].ApplyForce(dist / length * pullForce * 0.1f);
}
}
}
return true;
}
private void NextSection(int i)
@@ -242,7 +242,7 @@ namespace Barotrauma.Items.Components
return true;
}
public override void Aim(float deltaTime, Character character = null)
public override bool SecondaryUse(float deltaTime, Character character = null)
{
if (nodes.Count > 1)
{
@@ -251,6 +251,7 @@ namespace Barotrauma.Items.Components
}
Drawable = IsActive || sections.Count > 0;
return true;
}
public override bool Pick(Character picker)