Skip to content

Fireworks#

Fireworks are not defined as any special format, bus as an animation with a firework meta tag.

This guide documents how to make your own firework. You won't need any graphics here, because the particle frames are stolen from a game draft.

[
  {
    "id":"$firework30","type":"animation","frames":[{"steal":"$anim_firework00","frame":2}],
    "meta":{"tags":{"firework":{
      "alpha":0.5, 
      "speed":15,
      "speed variation":0,
      "n":1,
      "time":2500,
      "time variation":0,
      "next":[
          {"id":"$firework31",  "always":true}, 
          {"id":"$firework32"}
       ]
    }}}
  },
  {
    "id":"$firework31","type":"animation","frames":[{"steal":"$anim_firework00","frame":2}],
    "meta":{"tags":{"firework":{
      "alpha":100, 
      "speed":5,
      "speed variation":1,
      "n":1000,
      "time":750,
      "time variation":1
    }}}
  },
  {
    "id":"$firework32","type":"animation","frames":[{"steal":"$anim_firework00","frame":3}],
    "meta":{"tags":{"firework":{
      "alpha":100, 
      "speed":5,
      "speed variation":1,
      "n":1000,
      "time":750,
      "time variation":1
    }}}
  },
  {
    "id":"$syl_spawner03",
    "type":"decoration",
    "category":"$category_firework00",
    "title":"Willow",
    "text":"A big willow.",
    "width":1,
    "height":1,
    "frames":[{"x":960,"y":524,"w":32,"h":20,"offset x":1024,"offset y":1024}],
    "on click fun":[
      {
        "actions":[{"type":"firework","id":"$firework30","z":1}]
      }
    ],
    "fun":[
      {
        "condition":{"type":"or","inner":[
          {"type":"building","id":"$on","x":1},
          {"type":"building","id":"$on","y":1},
          {"type":"building","id":"$on","x":-1},
          {"type":"building","id":"$on","y":-1}
        ]},
        "actions":[{"type":"firework","id":"$firework30","z":1}]
      }
    ],
    "requirements":[{"type":"FEATURE","id":"$feature_firework00"}]
  }
]

The frames are from a draft called $anim_firework00, from left to right (0-14):

The whole code for the huge willow. Let's go through it!

  • "alpha" - The direction of the particle(s).
  • "speed" - The speed of a particle(s).
  • "speed variation" - If there should be variation in speed of the particle(s).
  • "n" - The number of particles to spawn.
  • "time" - The duration of the particle(s).
  • "time variation" - If there should be variation in the duration of the particle(s).
  • "next" - The id of the particle(s) that should spawn after the lifetime of the current particle(s) expired.

This page has been adapted from a topic on the official TheoTown forum.