EverambleGAME API / 1

CONTENT CONTRACT · VERSION 1

projectile

A flying spell body: its flight, what a hit does and how it looks.

Signature

{ burst: (ProjectileBurst)?, damage_type: DamageTypeId, hit_status: (StatusId)?, homing: boolean, id: ContentId, impact: (FxId)?, kind: "projectile", look: FxId, radius_mm: PositiveDistance, range_mm: PositiveDistance, speed_mm_per_tick: MovementSpeed }

Fields

NameTypeMeaning
burstProjectileBurstArea it bursts into where it ends, struck body or ground.
damage_typeDamageTypeIdDamage type of its hit and its burst.
Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$; Reference: damage_type
hit_statusStatusIdStatus its hit applies to the struck body for the status's duration.
Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$; Reference: status
homingbooleanWhether it follows the body the caster's aim chose.
idContentIdPackage-qualified identity; unique within its declaring namespace.
Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$
impactFxIdLook of its end (the burst or the hit).
Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$; Reference: fx
kind"projectile"Discriminant
lookFxIdLook of the body in flight.
Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$; Reference: fx
radius_mmPositiveDistanceRadius a body must come within to be struck.
Range: 1…2147483647; Unit: mm
range_mmPositiveDistanceDistance it flies before it ends.
Range: 1…2147483647; Unit: mm
speed_mm_per_tickMovementSpeedFlight speed.
Range: 1…2147483647; Unit: mm/tick

Validated example

{
  "burst": {
    "damage_permille": 700,
    "radius_mm": 3000,
    "status": "core:burning"
  },
  "damage_type": "core:fire_damage",
  "hit_status": "core:burning",
  "homing": false,
  "id": "core:fireball_shot",
  "impact": "core:fireball_blast",
  "kind": "projectile",
  "look": "core:fireball_look",
  "radius_mm": 450,
  "range_mm": 24000,
  "speed_mm_per_tick": 720
}