Skip to content

Structs and Enums

Blockerman_101 edited this page Sep 15, 2026 · 4 revisions

Notes

This is an incomplete list, only containing what should be relevant for you, the user. For the full list, check out structs.del in the code.

Structs

ProjHitData

single struct ProjHitData
{
    public Player Player;
    public Vector Position;
    public Number Time;
    public static ProjHitData Construct(): {
        Player: null,
        Position: Vector.Zero,
        Time: null
    };
}

InternalProjData

single struct InternalProjData
{
    //first because its used in ProjData.Time(), which is called a ton
    public Number TimeOfCreation;
    public Vector InitPos;
    public Number Radius;
    public Player[] Targets;
    public Vector InitVelocity;
    //the vfx associated with the projectile, usually only the projfx but ive used it for stuff like beam effects for trajectories in testing
    public Number[] VFX;
    public Vector Gravity;
    public static InternalProjData Construct(): {
        TimeOfCreation: null,
        InitPos: Vector.Zero,
        Radius: 0,
        Targets: [],
        InitVelocity: Vector.Zero,
        VFX: EmptyArray(),
        Gravity: Vector.Zero
        };
}

Enums

Enums compile to the workshop as a number corresponding the index of the current element, unless denoted otherwise with an =.

ProjFX

enum ProjFX
{
//Projectile effects
[0]     BaptisteBioticLauncher,
[1]     BastionA36TacticalGrenade,
[2]     EchoStickyBomb,
[3]     GenjiShuriken,
[4]     LucioSonicAmplifier,
[5]     MeiIcicle,
[6]     MercyCaduceusBlaster,
[7]     MoiraDamageOrb,
[8]     MoiraHealOrb,
[9]     OrbProjectile,
[10]    OrisaFusionDriver,
[11]    PharahRocket,
[12]    RamattraRavenousVortexSphere,
[13]    ReinhardtFireStrike,
[14]    RoadhogScrap,
[15]    RoadhogScrapBall,
[16]    SigmaHypersphere,
[17]    SymmetraPhotonProjector,
[18]    ZaryaGraviton,
[19]    ZaryaParticleCannon,

//Other effects
[20]    Sphere,
[21]    LightShaft,
[22]    Orb,
[23]    Ring,
[24]    Cloud,
[25]    Sparkles,
[26]    GoodAura,
[27]    BadAura,

//TX string
[28]    String,

//No effect
[29]    None
}

ProjState

enum ProjState
{
    NULL, //[0], Debugging
    Active, //[1], Projectile is processing
    Inactive, //[2], Projectile was spawned, then was destroyed
    Unsafe //[3], The projectile ID is able to be overridden and thus have its current data destroyed
}

Clone this wiki locally