Pet Summon Plugin

Inspired by RPGs such as "Pokemon", "Nights of Azure," and other MMORPGs, this plugin was made to enable the summoning of Pets in battle.
Fox Sprite by HiddenOne

Inspired by RPGs such as „Pokemon“, „Nights of Azure,“ and other MMORPGs, this plugin was made to enable the summoning of Pets in battle.

LicenseFree, not paywalled
Supported EnginesRPG Maker MV & MZ
StatusReleased
RPG Maker WebLink

Features

  • Any Actor from the Database can be converted into a Pet by using Note Tags. A Pet can be added to and removed from the Party just like any other Actor. Pets are not ready when the battle starts – they must be summoned first.
  • Therefore, all your Pets are visible and manageable in the menus (if you wish)
  • The Plugin will automatically add Dummy Skills to summon Pets (if you wish)
  • You have multiple options to define who can summon which Pets
    • By default, any Actor with access to a dedicated Summon Skill Type can summon every Pet the Party owns.
    • Alternatively, you may use Notetags to manage who can summon whom at which time. As you can put these note tags on Actors, Classes, Equipment, States, Skills, & Items, it makes it fairly easy and flexible to create, e.g., Summoner Classes that can summon only subsets of Pets.
  • The Pet’s level is synchronized with the Summoner’s or the Party’s level (optional)

More Features

  • Pets can retreat on command when it is their turn.
  • When a Pet is knocked out, it automatically disappears from the battle.
  • You can set how many turns a Pet stays active until it expires (optional).
  • Once summoned, every Pet is affected with a „summoned“ State. Using 3rd Party Plugins that display the remaining State turns, you can display how long a Pet stays active until it expires.
  • You can re-position Pets on the battlefield.
  • Animations when
    • a Pet is summoned
    • a Pet disappears
    • a Pet is knocked out
  • You can call Common Events when
    • a Pet is summoned
    • a Pet disappears
    • a Pet is knocked out
  • With the <Auto Summon> Notetag, you can prepare a Pet for the battle, i.e., the Pet will be ready on battle start. You can use this Notetag on Actors, Classes, Equips, & States. E.g., you can make a special Accessory or Skill that applies such State on a Pet to prepare this Pet before the battle starts.
  • Pets may not use Items (optional).
  • Pets may not be equipped (optional).
  • When all Actors are knocked out, and Pets are the only active battlers, the battle is treated as a defeat (optional).
  • Pets cannot be swapped in the „Formation“ menu.
  • You can limit how many Pets can be active simultaneously (optional).

Quickstart

1. Summon Skill Type

You need a Skill Type that is exclusively used for the Summon Commands. It can have any name, e.g., „Summon.“

2. Defining Pets

In this Plugin, Pets are „Actors“ with the Notetag <Pet> assigned. Put this Notetag inside the Actor’s or their Class‘ Notetag box.

That’s all you have to do about the Pets.

3. Promoting Actors to become a Summoner

Give your Summoner access to the dedicated Skill Type via Traits on, e.g., their class or equipment.

4. Rules

By default, any hero with access to the dedicated Skill type can summon any Pet the Party owns right now. The Plugin automatically injects Skills for you, so you don’t need to create them.

However, if you wish the Plugin not to auto-add Summon Skills, you can switch off this setting and continue reading with the next step.

Optional: Using Database Skills, Items, & Equipment

You can also bind the <Summon> Notetag to many Database objects, e.g., Skills or Equipment. This is useful when you don’t like the auto addition of Summon Skills by the Plugin, and you want to have different rules instead.

RPG Maker comes with many ways how to add Skills; here are some examples:

  • Learn automatically on level-up
  • Bind to equipment
  • Learn by magic items
  • Learn by a skill shop (plugin may be required)

Just add this Notetag to any Skill, Item, Actor, Class, Weapon, Equipment, or State.

Skills & Items
<Summon: 1>

… instantly summons the Pet with Actor ID 1 when chanting this Skill or using this Item.

Actor, Class, & Equipment
<Summon: 1, 2, 3>

… grants the actor access to summon the Pet(s) with given Actor IDs. Multiple values are allowed.

Plugin Parameters

Commands

By default, this Plugin automatically adds Dummy Skills to summon Pets – one for each Pet the Party owns right now. Here, you can change basic Skill attributes.

Summon State

All Pets are affected by a State while being active. This State can be empty. Using 3rd Party Plugins such as Visustella: Skills and States Core, you can display how many turns the Pet stays active until it expires.

Gameplay

Limit Number of Active Pets

You can limit the number of active Pets on the battlefield. As soon as this number is reached, you cannot summon Pets anymore. The number is independent of the number of Summoners – having multiple Summoners will not raise this limit.

Exceed Party Limit?

By default, when the active Party is maxed out (default is 4 battlers), you cannot summon Pets. When this Parameter is set to true, you can summon more Pets even if your Party is full.

The RPG Maker’s Code is not well made to dynamically change the Party size limit. I tested this feature in MV and MZ with no more 3rd Party Plugins. This feature may break or not work properly, especially when using 3rd Party Plugins. You can use this feature as it is, but I will no longer officially support and maintain it.

Unsummon after X Turns?

If enabled, all Pets will expire after X turns. You can override this value using Notetags for every Pet.

Pets may use Items?

No description is necessary.

Pet’s Equipment Slots

Right now, 3 modes are allowed:

  • No Equipment: Pets cannot be equipped
  • Same as Actors: Pets can be equipped
  • Custom

Defeat if only Pets are alive?

If enabled, a battle is lost if the alive battle members consist of Pets only.

Animations

All Animations can be set to „None„. All Animations can be overridden using Notetags for each Pet.

Sprites

  • Same as Actors:
  • Relocate (Actor’s Line): You can see that the Pets are below the Actors, that is because they are still bound to their Party Indices 3 and 4.
  • Relocate (individual Line): The Pets are now in front of the Actors.

When Relocate: JS

You can override the code that defines the Pet’s positions.

Events

You can invoke some actions, such as HP recovery or calling a Common Event, when a Pet appears, retreats, or is knocked out.

Notetags

On Summoners

<Summon: 1, 2, 3>
  • Can be applied to Actors, Classes, Equipment, & States
  • Grants access to this Actor to summon Pets with given Actor IDs
  • Multiple values are allowed

On Skills & Items

<Summon: x>
  • Can be applied to Skills & Items
  • Instantly summons the Pet when the skill is chanted or the item is used
  • Bypasses restriction rules, i.e., it’s not required for the Pet to be included in the Party
  • However, the Skill or Item is not usable when e.g., the Pet is already summoned or the Party is full

On Pets

<Pet>
  • Can be applied to Actors & Classes
  • Turns this Actor into a Pet
<Summon Icon: x>
  • Can be applied to Actors (Pets) & Classes
  • Overrides the default Icon of the Pet’s Summon Command
<Summon MP Cost: x>
  • Can be applied to Actors (Pets) & Classes
  • Overrides the default cost value to summon this Pet
<Summon TP Cost: x>
  • Can be applied to Actors (Pets) & Classes
  • Overrides the default cost value to summon this Pet
<Summon TP Gain: x>
  • Can be applied to Actors (Pets) & Classes
  • Overrides the default TP gain value when summoning this Pet
<Summon Speed: x>
  • Can be applied to Actors (Pets) & Classes
  • Overrides the default speed value of the Pet’s Summon Skill
<Summon Turns: x>
  • Can be applied to Actors (Pets) & Classes
  • Overrides the default value how many turns this Pet will be active

Auto Summon

<Auto Summon>
  • Can be applied to Actors, Classes, Equip, & States
  • Pets having this Notetag will be ready on battle start

Animations

<On Summon Animation Id: x>
  • Can be applied to Actors (Pets) & Classes
  • Changes the default animation when this Pet appears
<On Unsummon Animation Id: x>
  • Can be applied to Actors (Pets) & Classes
  • Changes the default animation when this Pet disappears
<On Knockout Animation Id: x>
  • Can be applied to Actors (Pets) & Classes
  • Changes the default animation when this Pet is knocked out

JavaScript

This plugin enables the following JS functions:

Game_Actor.prototype.isPet()
- returns true if the Actor is a Pet, false otherwise
Game_Actor.prototype.isSummoned()
- returns true if the Pet is summoned
Game_Actor.prototype.summoner()
- returns the Summoner of an Pet as Game Object
- may return null, e. g. when the Pet has been auto-summoned on battle start
Game_Actor.prototype.isSummoner()
- returns true if the Actor has summon abilities (i.e. Skill Type)
Game_Actor.prototype.pets()
- returns a list of all the pets that this summoner can summon
- does not check whether this summoner is blocked from summoning ("silence") or any other reason that a Pet cannot be summoned right now
Game_Actor.prototype.includesPet(petId)
- returns true if the summoner can summon this Pet
- does not check whether this summoner is blocked from summoning ("silence") or any other reason that a Pet cannot be summoned right now
Game_Actor.prototype.canSummon(petId)
- returns true if the summoner can summon this Pet right now
- returns false if the Pet cannot be summoned due to e. g. Party being full
$gameParty.pets()
- returns a list of pets that the Party owns right now
$gameParty.activePets()
- returns a list of currently summoned pets
$gameParty.includesPet(petId)
- returns true if the Party owns this pet
$gameParty.summonPet(petId, summonerId?)
- summons this Pet
- summonerId (optional): Actor Id of the summoner
$gameParty.canSummon(petId)
- returns true if the Party can summon this pet right now
- returns false if the pet cannot be summoned due to e. g. Party being full
$gameParty.unsummonPet(petId, byKnockout?)
- Orders pet to retreat
- byKnockout?: set to true if you want to simulate this pet being knocked out
$gameParty.unsummonAll()
$gameParty.onlyPetsAlive()
- returns true if all other actors than pets are knocked out
$gameParty.autoSummonedPets()
- returns a list of all pets that are ready on battle start
Game_Actor.prototype.isAutoSummoned()
- returns true if this pet is ready on battle start

Tips

Relocate Pet Sprite in front of their Summoner

You can easily order your Pets to position in front of their summoner, however, we decided not to add a plug-and-play parameter in the Plugin Manager as there are some things to consider first. A pet may not have a „parent“ summoner, e.g., they have been automatically summoned on battle start. Also, things become difficult when having multiple summoners or pets.

Solution.

  1. Open this plugin in the Plugin Manager.
  2. In the tab „Sprites“ set „Mode“ to „relocate (individual line)“.
  3. In „when relocate: JS“ insert this code example:
// constants
const index = arguments[0];
const sprite = this;
const pet = sprite._actor;

// custom Code below:
const summoner = pet.summoner();

if (summoner) {
  const spriteset = SceneManager._scene._spriteset;
  const actorSprites = spriteset._actorSprites;
  const summonerSprite = actorSprites
    .find(sprite => sprite._actor == summoner);
  
  const xSummoner = summonerSprite._homeX;
  const ySummoner = summonerSprite._homeY;
  this.setHome(
    xSummoner + index * 32 - 80,
    ySummoner + index * 48 + 16
  );
} else {
  this.setHome(
    520 + index * 32,
    280 + index * 48 + 24
  );
}

FAQ

How to define an Actor to be a Pet?

How to add a Pet to the Party?

I cannot see Skills to summon Pets

My Pet is not appearing

The Summon Skill for Pet X is disabled

What options do I have to choose how summoning works?

Rules

  1. This Plugin is free of charge and may be used in any kind of game.
  2. You may not redistribute this Plugin or claim it as your own.
  3. You may modify this plugin’s source code for your needs but cannot redistribute your modifications.

Donate

The plugin is completely free, but I would be very happy about a small donation!

Download

Right-click, save as…

Or get from…

Itch.io