A downloadable tool

Buy Now$25.00 USD or more

FEATURES

  • Pixel based projectiles
  • Animated bullets
  • Explosion projectile effect
  • Skill linking
  • Enemy Item Map Drops
  • Map Enemies (Separate from events) complete with random behavior (if set)
  • Hit Tags
  • Hit Priorities
  • Follower AI (Basic)
  • Follower Projectiles
  • Map Enemy AI (Basic)
  • Event Projectiles
  • Projectile Deflection
  • Custom projectile path creation
  • Mouse targeting
  • Supports attacks mainly. Healing is possible but not for allies via projectiles.
  • Crosshair configuration
  • Map UI configuration
  • Keyboard/Native gamepad support

If using a gamepad, please see this plugin for second axis setup

Youtube Tutorial Playlist

As of v1.3, you can setup a crosshair graphic to show on screen:


  • Cold File is the graphic used when the crosshair is not over any event/map enemy
  • Hot File is the graphic used when the crosshair is over any event/map enemy
  • Move Speed is used for the keyboard/gamepad control setup.
  • Max Distance is the maximum distance of the crosshair from the player. It is a circular range
  • Keyboard and Gamepad controls use keycodes. The values here will override RPG Maker default values.

Default RPG Maker Keycodes used: 9, 13, 16, 17, 18, 27, 32, 33, 34, 37, 38, 39, 40, 45, 81, 87, 88, 90, 96, 98, 100, 102, 104, 120

Default RPG Maker Gamepad code used: 0, 1, 2, 3, 4, 5, 12, 13, 14, 15

To get started, first observe these plugin parameters:

  • Projectile Configuration is used to setup the projectile groups. It is important that each projectile configuration has a UNIQUE name.
  • Enemy Configuration is linked to the database for enemy stats and traits whereas in the plugin parameters, you configure the enemy map graphics and behavior.
  • Map Enemy Configuration is used to setup the maps in which the enemies will spawn on. If not configured, map enemies will not spawn.
  • Max Knockback Range refers to the range of knockback if 100% HP damage is done. If 10% HP damage is done, the range will be 1 if the max range is 10.

Special note should be made that you must tag the map with the note tag:

  • <Projectile Map>

To enable the player to use projectiles.

A basic setup can get you something like the above.

Map enemies will move into range of the nearest (player or follower) and release projectile.

If player or follower moves within range of the map enemy, that can also act as a trigger.

You can set the projectiles the enemy will use in the parameters. The name used is the projectile configuration group name as shown below.

  • Please ensure the UNIQUE name remains unique.
  • Projectiles refer to the actual projectiles released.
  • Cooldown is a global projectile use time in frames before projectile can be used again.
  • MP Cost is the number of MP for projectile use.
  • Deflection Duration is projectile invincibility for the time in frames.

Be wary in that the knockback can cause enemy to fly into an attackable area. When the map enemy is defeated, they disappear:

It would be rather boring to have single line bullet projectiles and as such, it is possible to make explosions, homing projectiles, wavy movement, etc

On impact, projectile explodes with reference to the projectile groups listed in each projectile in the group:

Move configuration is a complex array setup that allows for custom move paths

  • Linear is a forced global direction without regard for angle settings.
  • Angular will apply a rotation to the projectile.
  • Scalar will resize the projectile.
  • Direction will apply movement in current angle direction.
  • Centric will apply movement centered on the user.
  • Target will apply movement that goes towards the projectile target.
  • Default is self-explanatory.

Please keep in mind that on-contact targeting will not work unless you have set the custom projectile move path to end at the clicked destination. Set the projectile collider type to "In-Transit" (value = 1) for a better experience.


Also, Set the "Ignore Target" parameter to true as well to allow for the full projectile motion regardless of click location.


Example Custom Setups Include:

Setup Data:

  1. Type: Angular, Wait: true, Wait Duration: 1, Angular: 1.571
  2. Type: Direction, Wait: true, Wait Duration: 45
  3. Type: Angular, Wait: true, Wait Duration: 1, Angular: -3.143
  4. Type: Direction, Wait: true, Wait Duration: 45

Setup Data:

  1. Type: Angular, Wait: true, Wait Duration: 1, Angular: 0.785
  2. Type: Direction, Wait: true, Wait Duration: 24, Speed: 6
  3. Type: Angular, Wait: true, Wait Duration: 1, Angular: -1.571
  4. Type: Direction, Wait: true, Wait Duration: 24, Speed: 6
  5. Type: Angular, Wait: true, Wait Duration: 1, Angular: 0.785



Setup Data:

  1. Type: Centric, Wait: true, Wait Duration: 60, Speed: 6, Centric: 0.1

Some projectile parameter setup explanations:

  • Graphic is the project appearance on spawn. If you are using a projectile that requires a pointing direction, please ensure that the graphic is made with the direction facing towards the right. Graphic Impact works the same way in that it is used when the projectile contact life is consumed.
  • Graphic Frames refers to the number of animation images on the graphic itself.
  • Graphic Frame Rate will determine how fast those graphics frames will update. Higher value = Slower speed

 Example single frame graphic. Used in the demo project for initial projectile graphic.

Example three (3) frame graphic. Used in the demo project for impact graphic.

The graphic used is important for calculating hit area of the projectile/impact area. Please minimize empty space when creating projectile graphics.

  • Skill linked is the database skill used for projectile damage formula.
  • Apply States will force apply states on the battler.
  • Knockback Range allows for forcing a max range of knockback as well as forcing a minimum knockback range.

  • Angle will apply (additionally) an angle to the initial direction angle. The value is read in Radians.
  • Speed is the rate at which distance is covered on screen for default movement.
  • Radius is the base hit area of the projectile and is used in certain custom movements.
  • Duration is how long the projectile will last before expiring into impact
  • Impact Duration is how long the impact area will last.
  • Contact Life refers to the number of times the projectile can "hit" before it expires
  • Ignore target will ignore the screen coordinates used to the destination to force expire the projectile
  • Spawn Animation plays an animation on the projectile when it is spawned.
  • Contact Type may be on impact (0) or during transit and on impact (1)
  • Homing Projectile will have the projectile continuously follow the target until it expires into impact
  • Collider refers to the calculation bounds of contact.

  • Hit Priorities if empty will hit all events/map enemies regardless of set priority type. Otherwise, it will hit only those that are included in the list.
  • Deflect Collide will allow the projectile to "Bounce" off of the contact target
  • Explode Collide is a list of projectile groups to "Unleash" on contact.
  • Hit Tags if empty will be ignored. Otherwise, it will only make contact with map enemies and events which have matching hit tags.
  • Move Configuration allows for setup of custom move path.

Deflecting projectiles is fun.

StatusReleased
CategoryTool
Rating
Rated 5.0 out of 5 stars
(1 total ratings)
AuthorSynrec
GenreRole Playing
TagsJRPG, RPG Maker

Purchase

Buy Now$25.00 USD or more

In order to download this tool you must purchase it at or above the minimum price of $25 USD. You will get access to the following files:

Synrec_ProjectileSys.js 213 kB
Projectile System.zip 468 MB

Development log

View all posts

Comments

Log in with itch.io to leave a comment.

Hello! With this plugin is possibile have different projectile with different effect? Example, if equip Fire weapon you shoot a fireball, if you equip bazooka you shoot bombs or, have different projectile in different key binding ('q' for Fire, 'e' for bazooka)

The plugin is not setup as an abs at this time

(+1)

Works with 3d plugin? Also, could you make  templates for temporary summons?  Like  spirits, ice/fire elementals, a wolf, and crows

(+1)

With 3D is unlikely, the plugin was developed for 2D

How do I make this controller friendly?

Not compatible at the moment but thank you for bringing it to my attention, did not consider controller users initially.

Are there any plans to add it or are there any tricks or script calls I could do to make it so that the projectile is fired from the direction the player is facing?

(+1)

Check out the update!

You'll need to figure out the keycode for the crosshair movement on your gamepad.

Love the update and the keycodes for gamepad are found in the rmmz_core js, for anyone else looking

    0: "ok", // A

    1: "cancel", // B

    2: "shift", // X

    3: "menu", // Y

    4: "pageup", // LB

    5: "pagedown", // RB

    12: "up", // D-pad up

    13: "down", // D-pad down

    14: "left", // D-pad left

    15: "right" // D-pad right


However the crosshair is working great but I can't walk at all,so I'm wondering (for a work around?) is there a way to use like pagedown// RB to activate/deactivate the crosshair so I can walk when it's off?

I'm not sure if your controller has the option but you can try keycode 6 or 7 for projectile trigger and other axis buttons not mentioned in the default for crosshair control

By chance would you include a  example project to kind of see how this would be set up in certain cases?

(+1)

There is a demo project attached and on the page there are three examples given for custom path setup.

Otherwise, the custom path setup is very open, you can set nearly any path you want with experimentation.

cool cool!