1package com.fs.starfarer.api.combat.listeners;
3import java.util.ArrayList;
6import org.lwjgl.util.vector.Vector2f;
8import com.fs.starfarer.api.Global;
9import com.fs.starfarer.api.combat.CombatEntityAPI;
10import com.fs.starfarer.api.combat.DamageAPI;
11import com.fs.starfarer.api.combat.DeployedFleetMemberAPI;
12import com.fs.starfarer.api.combat.MutableShipStatsAPI;
13import com.fs.starfarer.api.combat.ShipAPI;
14import com.fs.starfarer.api.combat.WeaponAPI;
15import com.fs.starfarer.api.loading.FighterWingSpecAPI;
16import com.fs.starfarer.api.loading.WeaponSpecAPI;
22 DamageAPI damage, Vector2f point,
boolean shieldHit) {
24 param, target, damage, point, shieldHit);
28 DamageAPI damage, Vector2f point,
boolean shieldHit) {
34 DamageAPI damage, Vector2f point,
boolean shieldHit) {
35 List<String> ids =
null;
36 mods =
new ArrayList<DamageDealtModifier>(mods);
38 String
id = x.modifyDamageDealt(param, target, damage, point, shieldHit);
40 if (ids ==
null) ids =
new ArrayList<String>();
51 DamageAPI damage, Vector2f point,
boolean shieldHit) {
53 param, target, damage, point, shieldHit);
57 DamageAPI damage, Vector2f point,
boolean shieldHit) {
64 DamageAPI damage, Vector2f point,
boolean shieldHit) {
65 List<String> ids =
null;
66 mods =
new ArrayList<DamageTakenModifier>(mods);
68 String
id = x.modifyDamageTaken(param, target, damage, point, shieldHit);
70 if (ids ==
null) ids =
new ArrayList<String>();
79 x.reportDamageApplied(source, target, result);
83 x.reportDamageApplied(source, target, result);
89 boolean result =
false;
91 result |= x.notifyAboutToTakeHullDamage(source, ship, point, damageAmount);
94 result |= x.notifyAboutToTakeHullDamage(source, ship, point, damageAmount);
103 mod += x.getWeaponRangePercentMod(ship, weapon);
113 mod *= x.getWeaponRangeMultMod(ship, weapon);
123 mod += x.getWeaponRangeFlatMod(ship, weapon);
134 mod += x.getWeaponBaseRangePercentMod(ship, weapon);
144 mod *= x.getWeaponBaseRangeMultMod(ship, weapon);
154 mod += x.getWeaponBaseRangeFlatMod(ship, weapon);
164 cost = x.getWeaponOPCost(stats, weapon, cost);
174 cost = x.getFighterOPCost(stats, fighter, cost);
184 x.reportFleetMemberDeployed(member);
static CombatEngineAPI getCombatEngine()
static List< String > modifyDamageDealt(List< DamageDealtModifier > mods, Object param, CombatEntityAPI target, DamageAPI damage, Vector2f point, boolean shieldHit)
static List< String > modifyDamageDealt(Object param, CombatEntityAPI target, DamageAPI damage, Vector2f point, boolean shieldHit)
static List< String > modifyDamageDealt(ShipAPI attacker, Object param, CombatEntityAPI target, DamageAPI damage, Vector2f point, boolean shieldHit)
static int getFighterOPCost(MutableShipStatsAPI stats, FighterWingSpecAPI fighter, int currCost)
static void reportFleetMemberDeployed(DeployedFleetMemberAPI member)
static List< String > modifyDamageTaken(Object param, CombatEntityAPI target, DamageAPI damage, Vector2f point, boolean shieldHit)
static List< String > modifyDamageTaken(ShipAPI ship, Object param, CombatEntityAPI target, DamageAPI damage, Vector2f point, boolean shieldHit)
static List< String > modifyDamageTaken(List< DamageTakenModifier > mods, Object param, CombatEntityAPI target, DamageAPI damage, Vector2f point, boolean shieldHit)
static float getWeaponBaseRangeMultMod(ShipAPI ship, WeaponAPI weapon)
static float getWeaponBaseRangeFlatMod(ShipAPI ship, WeaponAPI weapon)
static float getWeaponRangeFlatMod(ShipAPI ship, WeaponAPI weapon)
static float getWeaponRangeMultMod(ShipAPI ship, WeaponAPI weapon)
static int getWeaponOPCost(MutableShipStatsAPI stats, WeaponSpecAPI weapon, int currCost)
static float getWeaponRangePercentMod(ShipAPI ship, WeaponAPI weapon)
static float getWeaponBaseRangePercentMod(ShipAPI ship, WeaponAPI weapon)
static boolean notifyAboutToTakeHullDamage(ShipAPI ship, Object source, Vector2f point, float damageAmount)
static void reportDamageApplied(ShipAPI ship, Object source, CombatEntityAPI target, ApplyDamageResultAPI result)
< T > List< T > getListeners(Class< T > c)
CombatListenerManagerAPI getListenerManager()
CombatListenerManagerAPI getListenerManager()
< T > List< T > getListeners(Class< T > c)