1package com.fs.starfarer.api.impl.combat;
3import java.util.Iterator;
6import org.lwjgl.util.vector.Vector2f;
8import com.fs.starfarer.api.Global;
9import com.fs.starfarer.api.combat.BaseEveryFrameCombatPlugin;
10import com.fs.starfarer.api.combat.CombatEntityAPI;
11import com.fs.starfarer.api.combat.ShipAPI;
12import com.fs.starfarer.api.input.InputEventAPI;
13import com.fs.starfarer.api.util.Misc;
33 public void advance(
float amount, List<InputEventAPI> events) {
41 while (iter.hasNext()) {
42 Object o = iter.next();
45 if (!(o instanceof
ShipAPI))
continue;
51 if (other.
getMass() <= 0)
continue;
64 if (dist >
range)
return;
67 float fDist = 0.25f + 0.75f * Math.min(1f, (1f - dist /
range));
68 float fConstant = 20f;
70 float acceleration =
maxForce / other.
getMass() * fTime * fDist * fConstant;
73 dir.scale(acceleration);
static CombatEngineAPI getCombatEngine()
void applyForce(CombatEntityAPI other, float amount)
void advance(float amount, List< InputEventAPI > events)
GravityPullEffect(CombatEntityAPI source, float range, float maxForce)
static Vector2f getUnitVectorAtDegreeAngle(float degrees)
static float getDistance(SectorEntityToken from, SectorEntityToken to)
static float getAngleInDegrees(Vector2f v)
Iterator< Object > getCheckIterator(Vector2f loc, float checkWidth, float checkHeight)
void removePlugin(EveryFrameCombatPlugin plugin)
CollisionGridAPI getAllObjectGrid()
float getCollisionRadius()