Skip to content

Latest commit

 

History

60 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Banner

NZ projectiles

Plugin for Godot that adds a projectile system in 2D&3D. There are four projectile classes (2 each for 2D & 3D), base one and extended, to which you can add more stuff, like changing speed every second or making it disappear only after interacting with 3 objects.
Also includes two more plugins: NZ_projectiles_emitter (adds nodes with which you can emit projectiles) and NZ_projectiles_custom (adds a new projectile class that is much more customizable, but harder to work with). Both plugins require the main one - NZ_projectiles.
Every update adds a new scene in NZ_projectiles/Scenes/Updates where you can see recently added things (even if the update doesn't say that it added a new scene).

Changelog

2.11 (Hard Projectiles)

Move_extended_projectile resource is deprecated in favour of Move_extended_projectile_node

All Move_extended_projectile classes now have node alternatives while the base classes are deprecated.
Move_extended_projectile_node should be used instead of Move_extended_projectile.
ME_direction should be used instead of Move_direction_projectile.
ME_node2D should be used instead of Move_to_node2D_projectile.
ME_line2D should be used instead of Move_projectile_on_line2D.
Add ME_node2D_dynamic - allows projectile to dynamically switch the current target.
Move_extended_projectile3D will be moved from resources to nodes in one of the next updates.
This doesn't mean that all other resources will be replaced with nodes, I just find nodes to be more useful to be used as a base for extending projectiles movement instead of resources.

Other

Add queue_free_if_cant_move_on_line to Move_projectile_on_line2D.
Add queue_free_if_cant_move_on_path3d to Move_projectile_on_path3D.
Add point_type to Move_projectile_on_line2D, now you can select, will the required point be a square or a circle.
Add PointType enum in ProjectileEnum.
Add use_min_value_the_same_as_atk to AC_random_range.
Add max_value_is_min_value_plus_max_value to AC_random_range.
Fix bug when the projectile move used a longer way to get to look at the point on the Line2D and Path3D.
Move_projectile_on_path3D will now show an error if it can't find a node with path3d_path.
!IMPORTANT! Some modules will be moved to another plugin to make the main one less bloated. I will do it in 2.12 or 2.13.

2.10.1 (Small fix)

Move_projectile_on_line2D will now show error if it can't find a node with line_path.
If debug is set to true in Move_projectile_on_line2D then will be printed when _cur_line is set to null through _set_cur_line_to_null().
Fix calling _ready() in the wrong resource in PR_extra_changer.
Update NZ_projectiles_emitter to 1.6.1.

2.10 (Neo Projectiles)

Update Move_to_node3D_projectile, now includes reach_distance, extra_resource, and when extra_resource will be activated.
extra_timer_path can only be set to Timer in Move_to_node2D_projectile.
Change use_extra() in Projectile_resource_extra, now it requires a projectile node as an argument and the projectile variable in Projectile_resource_extra is now deprecated.
Add add_to_position in RP_spawn_projectile to change spawned projectile position.
Add instant_look and look_speed in Move_projectile_on_line2D, Move_projectile_on_path3D, Move_to_node2D_projectile and Move_to_node3D_projectile
Add find_shortest_way_to_angle() in Move_extended_projectile and Move_extended_projectile3D
Improve PR_extra_change_var, now you can select what to do with a new value, replace the old value, add to it or subtract from it.
In Move_projectile_on_path3D and Move_projectile_on_line2D clamp() was changed to clampi() and wrap() to wrapi().
In Move_direction_projectile3D,Move_direction_projectile and RP_spawn_projectile clamp() was changed to clampf().
type is now export_storage
Add more comments.
Some fixes in comments.
Update documentation
Update NZ_projectiles_emitter to 1.6.

2.9 (Mega Projectiles)

Add PR_extra_change_var - change any variable in a projectile.
Update Move_to_node2D_projectile, now includes reach_distance, extra_resource, and when extra_resource will be activated.
Hit_extended_projectile is now not an abstact class. This is made to use Projectile_resource_extra without giving more arguments.
Change Hit_extended_projectile and HE_other icons.
Now if Move_projectile_on_line2D is used then the projectile will use a duplicate of it.
Update NZ_projectiles_emitter to 1.5.

Projectile

Gif_1

Extended projectile

You can set a resource to change projectiles speed, atk, movement, hit arguments and removal logic.

Speed

Gif_2

Movement

Gif_3

Removal

Gif_4

Combined

Gif_5

3D movement

Gif_6

3D extended

Gif_7

Movement on Line2D and Path3D

Gif_9

Emitters example

Gif_8

About

Plugin for Godot, that adds a projectile system

Topics

Resources

Stars

10 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages