<aside> đ Items marked with a âď¸are exclusive to the BLAST! version. Items marked with a đ will disappear in future versions.
</aside>
There are different kinds of Spawn Pattern resources.
But each of them have these general properties :
Nbr : Number of bullets to spawn
Bullet : The ID of the Bullet Props
Iterations : Number of times this pattern will spawn bullets.
Set to -1 for an infinite loop. Call âď¸process_kill(process:int)
: stop a spawning process, given its ID. to stop the infinite loop.
Symmetrical : if the spawn / shot delay > 0, bullets will not be spawned / shot one by one but 2 by 2, starting from the center bullet. Thus doing a symmetrical effect.
Advanced :
âď¸Bullet List : Array of IDs. It can allow you to spawn multiple bullets with different Bullet Props with a single spawner. The bullet spawned by the pattern will alternate between the IDs in the list. Exemple: if there are 2 IDs, one bullet out of 2 will get the first ID.
âď¸Skip in list: In case some bullets are skipped (see Pattern Circle or Pattern Line ), they wonât count in the bullet list.
âď¸Skip steps : One out of x bullets will be skipped, which means they wonât spawn.
âď¸Skip amount : The amount of bullets that will be skipped at each step.
âď¸ Skip chance : Chance between 0 and 1 that the bullet will be skipped. Works independently of the other skipping properties.
âď¸ Skip list: The index of the bullets that will be skipped. Canât be used along skip_steps.
âď¸Behavior : pattern behavior between the time the bullets spawn and theyâre shot in the case where the spawner is moving. The bullet can follow the parentâs position
like it was a child node, the parentâs rotation
can additionally be used to calculate the bullet position and/or its rotation (with the full
option)
âď¸Keep Behavior : whether the above behavior is kept once the bullet has been shot. It allows the bulletâs position and rotation to be relative to its parent at all times. This is not guaranteed to work with every movement property.
Tween momentum : When the bullet is ready to be shot, it will go in the opposite direction first, as if theyâre building momentum before being shot (this is purely visual and doesnât change anything about the shot). Set to none to disable. Other values are the tween transition types.
Tween length : distance from the spawn position to which the bullet is gonna go while âbuilding momentumâ.
Tween time : time itâs gonna take for the bullet to reach the total length.
âď¸Temp Count : this resource will be erased from memory after being used by this many spawners. A resource is considered used after a spawner has shot all its iterations. Set to -1 to disable. Set to 1 to create a one-time resource that will get disposed of as soon as it has been used, taking no place in memory.
Spawning :
Shooting :
y
to target. Each bullet of index xi
will spawn at the position dictated by the current pattern x
as normal, but when shot, they will target the position yi
they would have spawned at if they had spawned with pattern y
. If the nbr
property of y
< x
, bullet xi
will starts targeting back at index y0
(= a modulo is used).<aside> â ď¸
All the above properties cannot be used together.
</aside>
yi
from the targeted pattern are relative to the spawn point. You can offset the position with this property.xi
, as normal, but will reach the position yi
after the specified delay. Bullets closer to their target yi
will be slower to ensure that, at the exact time of the delay, all bullets i
are at their position yi
.Cooldowns :
cooldown_shoot
= 0 will make it so it doesnât wait for all the bullets to spawn in order to start shooting. They will shoot as soon as theyâre spawned, unless a cooldown_next_shoot
is present.đLayers (to be removed, do not use) :
âď¸Random : ⣠used to randomise other properties.
<aside>
âď¸ If you update from an obsolete version that was using the layer properties, know that the feature that intends to replace layers is the function âď¸spawn_list(spawner:Array, id:PackedStringArray, loops:int=0, shared_area:Array[String]=["0"], process_id:int=-1, cust_bullet)
: spawn a list of patterns one by one. Itâs used exactly like spawn()
except that all the arguments are arrays. Loop
determines if it loops back to the start of the list once it reaches the end. id
is the list of pattern spawned. For each pattern of index i, the spawner i and shared area i will be used. If those lists have less items than i, the last item of the list will be used. So if you donât want to change the shared_area, just input a list with a single item for example..
</aside>