Fractal Softworks Forum

Please login or register.

Login with username, password and session length

Author Topic: SpawnDamagingExplosion: NullPointerException  (Read 760 times)

Armithaig

  • Lieutenant
  • **
  • Posts: 54
    • View Profile
    • Amaranth
SpawnDamagingExplosion: NullPointerException
« on: November 16, 2019, 05:05:06 AM »

Keep getting a NullPointerException in applyDamageInner() when a spawned explosion's dealing damage, whether's to/has a source or not.
Fairly recent addition with no discussion so maybe'm not being a knucklehead.

Code
val spec = DamagingExplosionSpec(
    0.1f, // duration
    30f, // radius
    15f, // coreRadius
    500f, // maxDamage
    250f, // minDamage
    CollisionClass.HITS_SHIPS_AND_ASTEROIDS, // collisionClass
    CollisionClass.HITS_SHIPS_AND_ASTEROIDS, // collisionClassByFighter
    5f, // particleSizeMin
    3f, // particleSizeRange
    1f, // particleDuration
    50, // particleCount
    Color(255, 75, 75, 55), // particleColor
    Color(255, 75, 75, 55) // explosionColor
)
combat.spawnDamagingExplosion(spec, ship, ship.location, true)

Callstack (full log)
Spoiler
java.lang.NullPointerException
   at com.fs.starfarer.combat.entities.Ship.applyDamageInner(Unknown Source)
   at com.fs.starfarer.combat.entities.Ship.applyDamageInner(Unknown Source)
   at com.fs.starfarer.combat.entities.Ship.applyDamage(Unknown Source)
   at com.fs.starfarer.combat.class.A.D.o00000(Unknown Source)
   at com.fs.starfarer.combat.class.A.o00000(Unknown Source)
   at com.fs.starfarer.combat.class.A.o00000(Unknown Source)
   at com.fs.starfarer.combat.CombatEngine.advanceInner(Unknown Source)
   at com.fs.starfarer.combat.CombatEngine.advance(Unknown Source)
   at com.fs.starfarer.combat.CombatState.traverse(Unknown Source)
   at com.fs.state.AppDriver.begin(Unknown Source)
   at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
   at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
[close]
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 24111
    • View Profile
Re: SpawnDamagingExplosion: NullPointerException
« Reply #1 on: November 16, 2019, 10:50:01 AM »

Ah - you need to call spec.setDamageType(). The constructor doesn't take that as an argument for... reasons. Let me add a non-null default for it, though.
Logged

Armithaig

  • Lieutenant
  • **
  • Posts: 54
    • View Profile
    • Amaranth
Re: SpawnDamagingExplosion: NullPointerException
« Reply #2 on: November 16, 2019, 12:14:38 PM »

Heck should've thought of that in hindsight, thanks for helping a crude knucklehead along!
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 24111
    • View Profile
Re: SpawnDamagingExplosion: NullPointerException
« Reply #3 on: November 16, 2019, 03:22:18 PM »

No worries, I can definitely see how one would expect the constructor to have every parameter required.
Logged