novaparse
Version:
An EV Nova file parser for NovaJS
116 lines (115 loc) • 3.14 kB
TypeScript
import { Resource } from "resourceforkjs";
import { NovaResources } from "../ResourceHolderBase";
import { BaseResource } from "./NovaResourceBase";
import { Particles, ExitType, FireGroup, GuidanceType } from "novadatainterface/WeaponData";
declare type BlindSpots = {
front: boolean;
side: boolean;
back: boolean;
};
declare type Submunition = {
count: number;
id: number;
theta: number;
limit: number;
fireAtNearest: boolean;
subIfExpire: boolean;
};
declare type Jam = {
infrared: number;
radar: number;
ethericWake: number;
gravametric: number;
};
declare class WeapResource extends BaseResource {
reload: number;
duration: number;
armorDamage: number;
shieldDamage: number;
guidanceN: number;
guidance: GuidanceType;
speed: number;
ammoType: number;
graphic: number | null;
accuracy: number;
firesAtFixedAngle: boolean;
sound: number | null;
impact: number;
explosion: number | null;
explosion128sparks: boolean;
proxRadius: number;
blastRadius: number;
flags: number;
spinShots: boolean;
fireGroup: FireGroup;
startSpinningOnFirstFrame: boolean;
dontFireAtFastShips: boolean;
loopSound: boolean;
passThroughShields: boolean;
fireSimultaneously: boolean;
vulnerableToPD: boolean;
hitsFiringShip: boolean;
smallCicnSmoke: boolean;
bigCicnSmoke: boolean;
persistentCicnSmoke: boolean;
turretBlindSpots: BlindSpots;
flak: boolean;
guidedFlags: number;
passOverAsteroids: boolean;
decoyedByAsteroids: boolean;
confusedByInterference: boolean;
turnsAwayIfJammed: boolean;
cantFireWhileIonized: boolean;
loseLockIfNotAhead: boolean;
attackParentIfJammed: boolean;
cicnSmoke: number[] | null;
decay: number;
trailParticles: Particles;
beamLength: number;
beamWidth: number;
spinRate: number;
coronaFalloff: number;
beamColor: number;
coronaColor: number;
lightningDensity: number;
lightningAmplitude: number;
proxSafety: number;
flags2: number;
spinBeforeProxSafety: boolean;
spinStopOnLastFrame: boolean;
proxIgnoreAsteroids: boolean;
proxHitAll: boolean;
submunition: Submunition | null;
showAmmo: boolean;
fireOnlyIfKeyCarried: boolean;
npcCantUse: boolean;
useFiringAnimation: boolean;
planetType: boolean;
hideIfNoAmmo: boolean;
disableOnly: boolean;
beamUnderShip: boolean;
fireWhileCloaked: boolean;
asteroidMiner: boolean;
ionization: number;
hitParticles: Particles;
recoil: number;
exitTypeN: number;
exitType: ExitType;
burstCount: number;
burstReload: number;
jam: Jam;
jamVuln: Array<number>;
flags3: number;
oneAmmoPerBurst: boolean;
translucent: boolean;
cantFireUntilShotExpires: boolean;
firesFromClosestToTarget: boolean;
exclusive: boolean;
durability: number;
turnRate: number;
maxAmmo: number;
ionizeColor: number;
count: number;
constructor(resource: Resource, idSpace: NovaResources);
}
export { WeapResource };