Summon Actors Plugin

Sekunri

Creator of Worlds
Veteran
Joined
Jan 12, 2014
Messages
132
Reaction score
73
First Language
English
Primarily Uses
RMMV

Seki_Summon V1.02a
by Sekunri



 


Official Development Topic w/ Update Video







Introduction
This plugin allows you to create skills that summon new actors not in the party into combat.



A new version of this plugin will be making the plugin obsolete.


If you have any feature requests please post them below and I'll see what I can do.



Features

  • Requires a bit of setup, check How to Use below for the basics.
  • Plug & Play
  • Allows you to summon persistent actors into combat up to 8 maximum in battle including your party and the summons.

    Unlike with previous battle party manipulation plugins you can have as many party members as you want and the
    summoned actor will not interfere with your party's order or appear invisible!

[*]Allows you to customize your parties positions



How to Use


Installation is easy. Just plug it in and it should work.


It is recommended you use Yanfly's Base Troop Events or Shaz's Battle Result Switches as well.
The help file provided has the commands and special notes on them.


You can also view them in the spoiler.

Plugin Commands


Summon ActorId

  • Will summon the actor with the provided Actor Id. Actor Id MUST be a number.

Dismiss ActorId ActorId....

  • Will dismiss the actors with the provided ActorId from the party. ActorId MUST be a number.

ResetBattler

  • Resets the battle party's size

PlusBattler Amount (not recommended you use when summoning)

  • Adds battlers to the battle party.

MinusBattler Amount (not recommended you use when summoning)

  • Removes battlers to the battle party.

BattlerPos1 x y

  • Moves the position of a battler to the designated X and Y values. The 1 can be replaced by numbers 2-8.
    Do be mindful that actors with a higher party index will appear over those with a lower party index.


ResetBattlerPosAll

  • Resets the positions of all battlers to the defaults provided to the plugin.



You will need to setup a few things to properly use this plugin.

  • You will need an event in your troops page that turns on a switch at the start of every battle.
    For this it is recommended you use Shaz's Battle Result Switches Plugin as you can just set a switch to turn on at the end of battle to trigger the dismiss common event.

  • The switch will act as a trigger for a Common Event running on Parallel Process.

    IMPORTANT :: If you want your summons to heal between each combat you can use the Change HP and MP commands here to heal each summon by a designated amount between battles. Otherwise summons will not heal between combat. I will be adding a function to take care of this, stay tuned.
  • When the Common Event runs it will need to use the plugin commands ResetBattler and Dismiss to remove all of your designated summon-able characters from the party and return the battle party to its regular plugin declared size.

With those steps completed you can now use the Summon plugin command without any trouble.


Screenshots

You will need a Parallel Event that clears the summons and resets your battle party. For that you will need the following.


1. Set the variable parameter in the plugin for the switch you are going to use. The example uses [Switch #0001 Have Battled?]


2. The Common Event the Switch triggers.



Spoiler



Summon-Clear.gif

- After you've been in battle and the Switch [Have Battled?] is turned ON the event will run 1 time. It will dismiss the summon actors, in my example's case only actors 11 and 13 but you can have as many as you want.


- Then you will have to reset the battle party with the plugin command ResetBattler.


- Lastly you will turn the switch off so that it won't run again until after your next battle.



Do you want our summoned actors to have the same level as their summoner? Your summon common event should look like this.


(well minus the comments in green)

Summon-Bat.gif

- In my example above the variable 2 [Level Check] is equal to the summoner Therese's level.


- The variable 3[Summons Level] is equal to the actor being summoned's level. Both of these variables can be used for all common events.


- Next is a conditional If statement with an Else branch.


- If both variables are equal to one another nothing happens and then the plugin command occurs.


Else if they aren't equal to one another we will add the variable with the summoner's level to the actor being summoned then subtract the summons initial level (in this case 1) from his level so that he's always equal to the summoner's level.








Reported Bugs

  • When using YEP_PartySystem will summon 2 actors if you are using the Troops Test feature in the database.



Compatibility Issues

  • (none so far)


Download V1.02a


Change Log

  • V1.02a : Added Battle End Switch to remove the need for Base Troop Commands to set a switch at battle start.


    Edit by Michael Caiola.
  • Permission to use Battle Result Switch's code granted by Shaz.

[*]V1.01a : Added the Dismiss command to make clearing summons easier.

  •  Added translations to functions.



FAQ


Q: The shadow is too small, how do I fix that?


A: Unfortunately it wasn't until I ran tests with larger sprites that I noticed that. I will be fixing that.


Q: I want to create a Dismiss skill but when I dismiss the summon an actor in my party appears!


A: Assuming you used the Dismiss command you should follow it up with the MinusBattler 1 command as well.


Q: The summoned Actor is dead and won't go away during the battle.


A: You'll have to use the Troops Command pages to do that. It'll require a bunch of conditional branches that dismiss actors when they have the Knocked Out state, refer to question above. Again this plugin is very basic in its current version and works best with Yanfly's Base Troop Events for this purpose.


Q: The summoned Actors are still in my party what gives?


A: Read How to Use above. Make the switch and the common event. I'll be trying to fix this in the near future, sorry for the inconvenience.



Q: Why would you use PlusBattler?
A: As the plugin functions in its current version (1.01) the summons move on screen from the right. This will be patched in the future but PlusBattler will still allow you to "call for reinforcements" from your inactive party as well.



Q: Why would you use MinusBattler?


A: Let's say you have 4 actors in your battle party but want to create a fight where only 2 of your actors take part in the fight. Normally you would have to remove your actors until you had only 2 left and then the rest of the party can't get reserve EXP. With this command you can just lower the amount of active fighters so they can still earn EXP.  Or do some evil things I won't openly discuss.


Q: Why did you make this plugin to work with someone else's plugin?


A: I didn't specifically make it to work with Shaz's or Yanfly's plugin, it just so happened that the synergy was there. Both of these developers have done a lot for us so why shouldn't we use what they've given us?



Credit and Thanks
- Credit to Sekunri



- Thank you to Shaz for their Shaz's Battle Result Switches Plugin which has been integrated & for answering questions I had on the forums.


- Thank you to Yanfly for their programming format.


- Thank you Michael Caiola for your edit and plugin advice.
- Thank you to all supporters of this plugin.


Usage


Free to use for commercial and noncommercial RPG Maker games as long as you credit Sekunri and it'd be awesome if you would link me to your finished product.



Author's Notes


- If you have any questions or suggestions feel free to let me know.


- This was my first real script so i apologize if its a bit unpolished.


- Please do not post the plugin itself elsewhere and instead redirect to this thread. Thank you.


 
 
Last edited by a moderator:

SoSick.

Veteran
Veteran
Joined
Jun 29, 2016
Messages
224
Reaction score
190
First Language
english
Primarily Uses
RMMV
I really like the idea of this pal, gonna see how I get on with it today..or  is it worth waiting for the new version? thanks :)
 

Sekunri

Creator of Worlds
Veteran
Joined
Jan 12, 2014
Messages
132
Reaction score
73
First Language
English
Primarily Uses
RMMV
The first new version will remove the need for common events when you use skills.


I'll be using the note tags instead but as I had never coded with those before its taking a little time.


I also intend to add the ability to customize the summon animation but that may not come right away.


Honestly I'd say go ahead and use this version if you want, let me know anything you think would make it better feature wise and I'll see what I can do.


Also if you find any bugs or compatability issues please let me know and ill try to fix those before the next version comes out.
 

Syltti

Devout Follower of Yuri
Veteran
Joined
Sep 2, 2013
Messages
178
Reaction score
55
First Language
English
Primarily Uses
RMMV
This is excellent! I've been looking for a working summon plugin to use with MV, since the one I scripts I used in VXA were gone forever.


Q: The summoned Actor is dead and won't go away during the battle.


A:  ... this plugin is very basic in its current version ...


Does this mean we can expect being able to have summoned allies removed from the party upon death to be made easier with the newer version of the plugin? This is honestly the biggest thing for me when it comes to summons.


Also, another question; How would adding allies to a battle like this affect the party HUD? (I see that you can keep them from affecting the order, but felt the need to ask) Say, for example, I have 4 people in a party and the HUD reflects there being a max of 4 people. There needs to be a way to monitor the summons' HP, MP, (and TP if it's being used) to keep them going in a fight. (I haven't installed the plugin so I'm not sure how this works just yet, throwing out an idea) Would it be possible to put something like a mini actor window (or really just the summoned ally's' face(s)) near the party HUD with their own mini/slim HP, MP, and TP (if used) bars?
 
Last edited by a moderator:

Sekunri

Creator of Worlds
Veteran
Joined
Jan 12, 2014
Messages
132
Reaction score
73
First Language
English
Primarily Uses
RMMV
No you're right Syltti there needs to be a lot that needs to be added. Consider this my proof of concept version of the plugin since the next one is a complete overhaul of the current system. The overhaul will also allow me to add a few things I want to add to it easier.

Does this mean we can expect being able to have summoned allies removed from the party upon death to be made easier with the newer version of the plugin? This is honestly the biggest thing for me when it comes to summons.


That's the goal. The new version of the plugin will check for Actors deemed summons for their health and if its 0 will remove them from party.


Furthermore I am attempting to add a check for the skill to see if its possible to summon a live summon. If this works the way I envision it to the skill will become inactive if the summon is dead.


At the end of battle all actors with the summon ability will heal based on parameters set by the developer.

There needs to be a way to monitor the summons' HP, MP, (and TP if it's being used) to keep them going in a fight.


I'll look into the window idea. I like the idea and have considered it in the past but the base version of the plugin doesn't have such a feature due to the simplicity of it. I do agree I will have to either ship it with a new window setup OR create an additional plugin as an add-on for this because as you said right now the party command window will only show the 4 first actors UNTIL you scroll down during the summoned actors turn OR use a skill that can target an ally and try to target the summon.
 

Syltti

Devout Follower of Yuri
Veteran
Joined
Sep 2, 2013
Messages
178
Reaction score
55
First Language
English
Primarily Uses
RMMV
That's great to hear, definitely looking forward to the new version! Here's an example of what I was talking about:





Using a custom battle HUD like this could make suddenly adding new party members a bit messy. That's why I suggested making a separate mini-Actor window to show the summoned ally's info. For example, imagine a small, rectangular window with the summoned ally's face, name, and HP/MP bars to the left of my party HUD. I can try to do a visual representation of what I mean later on if you'd like. I think something like that (which can be adjusted depending on whatever battle HUD people use) would make it easier on the players than having to select the ally with a skill or messing with the HUD more than necessary.
 

Sekunri

Creator of Worlds
Veteran
Joined
Jan 12, 2014
Messages
132
Reaction score
73
First Language
English
Primarily Uses
RMMV
If I'm not mistaken that should be fairly easy to do.


I wouldn't mind a visual representation if you have the time to ensure we have the same idea but I think I do.


Also I'll have to account for the window's size since you're using at least a 1280x720 sized game as opposed to the original.


I'll probably add a function to change the window to that size by default and allow people to turn it off in the case of using something like YEP_EngineCore and so on.


Wouldn't have noticed that right away without your bringing up the HUD the way you did so thank you.
 

Syltti

Devout Follower of Yuri
Veteran
Joined
Sep 2, 2013
Messages
178
Reaction score
55
First Language
English
Primarily Uses
RMMV
Here's a pitiful example (My PS somehow vanished...)





Could stand to be a little bigger than my example, but something like this.
 

Sekunri

Creator of Worlds
Veteran
Joined
Jan 12, 2014
Messages
132
Reaction score
73
First Language
English
Primarily Uses
RMMV
Simple is all that's needed thank you.


Definitely not the way I had considered it but if I'm not mistaken such a thing shouldn' t be hard.


What would be hard is making certain only summons have such a treatment. I'll have to run some tests on it once the main plugin is completed.
 

Syltti

Devout Follower of Yuri
Veteran
Joined
Sep 2, 2013
Messages
178
Reaction score
55
First Language
English
Primarily Uses
RMMV
There was something I had considered for suggesting earlier, but while trying to fix stuff with my own game I completely forgot what it was. If I manage to remember, I'll probably PM you.
 

Sekunri

Creator of Worlds
Veteran
Joined
Jan 12, 2014
Messages
132
Reaction score
73
First Language
English
Primarily Uses
RMMV
When you remember let me know
 

Michael Caiola

The Stone Bull
Veteran
Joined
Sep 14, 2016
Messages
392
Reaction score
74
First Language
English
Primarily Uses
This is intriguing, but if it conflicts with Yanfly's Party System, I can't use it. I had to create my own summon using a heck of a lot of variables, but it lets me work with Party System.


That said, SOMEONE FINALLY MADE A SUMMON PLUGIN!!! That's amazing. You got a like from me and I'll be happy to test run the new version when it's released.
 

Syltti

Devout Follower of Yuri
Veteran
Joined
Sep 2, 2013
Messages
178
Reaction score
55
First Language
English
Primarily Uses
RMMV
It's not quite what I was thinking of before, but one thing I wanted to mention was the ability to have summoned allies removed from the party after a battle. Though, I suppose that would probably be a given.


Seeing as you say there won't be a need for common events with the newer version of the plugin a new question popped up. How will the level of the summon be determined? Right now, I have a common event that syncs my current summon with the summoner's level upon being summoned. Will something like this (or the ability to customize such a thing) also be included?
 

Sekunri

Creator of Worlds
Veteran
Joined
Jan 12, 2014
Messages
132
Reaction score
73
First Language
English
Primarily Uses
RMMV
This is intriguing, but if it conflicts with Yanfly's Party System, I can't use it. I had to create my own summon using a heck of a lot of variables, but it lets me work with Party System.
That was just reported to me yesterday. Once im done with he new version that is actually one of issues i will attempt to address.

Seeing as you say there won't be a need for common events with the newer version of the plugin a new question popped up. How will the level of the summon be determined? Right now, I have a common event that syncs my current summon with the summoner's level upon being summoned. Will something like this (or the ability to customize such a thing) also be included?
By default the new version will remove summoned actors with a specific tag in their noteboxes from the party at battle end.


That said I am working on how to do the level thing as well. That was something everyone even myself was doing with common events so if im able to streamline that youd better believe i will.


It may end up just as simple as adding thther summoners actor id  for the summoned actor to reference their level since i deem that the most logical course personally. Of course who the summoner is will be up to tthehr developer.


Like i said the current version is very basic. Im happy i succeeded, im upset with the quality and thats what i hope to have addressed soon. Alpha testing starts in the next few days.
 

Sekunri

Creator of Worlds
Veteran
Joined
Jan 12, 2014
Messages
132
Reaction score
73
First Language
English
Primarily Uses
RMMV
That said, SOMEONE FINALLY MADE A SUMMON PLUGIN!!! That's amazing. You got a like from me and I'll be happy to test run the new version when it's released.
Thank you, its not near perfected yet but I was beyond happy to do it.


Also, Id appreciate everyone that can report any issues they find. Thank you.


((Accidental double post. My phone showed as if I was editing the post above))
 
Last edited by a moderator:

Michael Caiola

The Stone Bull
Veteran
Joined
Sep 14, 2016
Messages
392
Reaction score
74
First Language
English
Primarily Uses
Awesome. In that case, I'll test it out now.
 

Sekunri

Creator of Worlds
Veteran
Joined
Jan 12, 2014
Messages
132
Reaction score
73
First Language
English
Primarily Uses
RMMV
I thank you for your enthusiasm.


The current version is a bit too basic to really find much out. But suggestions towards future updates or add-ons are nice.


Furthermore if you find any compatibility issues outside of the YanFly Party System I would love to know. Once I have the new version completed I have full intentions of trying to fix the incompatibility there, even if I have to reach out to Yanfly, themself since I'm such a noob at this stuff.
 

Michael Caiola

The Stone Bull
Veteran
Joined
Sep 14, 2016
Messages
392
Reaction score
74
First Language
English
Primarily Uses
Consider me an alpha tester.


I'm thinking about using summons for my game but I haven't decided yet. I do know I definitely need at least one summon for an actor's clone ability. I did it quite nicely with eventing and variables, but a plugin would be so much easier. I'm setting up a project to test it out right now.


UPDATE: So, right off the bat I have an improvement. Use @Shaz's Battle Result Switches instead of Base Troop Events. It eliminates the messiness of the troop eventing and turns on the switch at the end of the battle instead of the beginning. You could probably even incorporate some of the plugin into yours to automate the process. I don't know the rules on that, though.


UPDATE 2: Check your messages.


UPDATE 3: So far the plugin works great. And the modified script I sent you works, as well. No need for Base Troop Events anymore! I think you should move away from using common events and switch to using simple notetags. Something like this:


<summonActor:x>


<summonLevel:y>


<summonMaxHP:z>


<summonMaxMP:q>


Have the plugin check the current skill for the "summonActor" notetag, have it summon actor "x", set x's level to y, its max hp to z, and its max mp to q. Continue on with the other parameters. Also find a way to have y, z, and q use other actor's paremeters so you can match the summon's stats to another actor.


I don't know how to script the variables instead of common eventing them, but I think if that could be achieved it would be much easier for the user and it wouldn't clutter up their common events. I'm gonna look into how to do this and see if I can figure it out.


UPDATE 4: When the BattleParty parameter is set to 0, the party is empty and the game freezes during battle.


I replaced this:


Sekunri.Param.BPSize = Number(Sekunri.Parameters['BattleParty']);
Sekunri.Param.BaseBP = Sekunri.Param.BPSize;




with this:


Sekunri.Param.BPSize = Number(Sekunri.Parameters['BattleParty']);
Sekunri.Param.BPSizeCheck = Sekunri.Param.BPSize;
if (Sekunri.Param.BPSizeCheck == 0) {
Sekunri.Param.BPSize = 1
};
Sekunri.Param.BaseBP = Sekunri.Param.BPSize;




and now a 0 parameter will behave like it's set to 1.


UPDATE 5: I changed it again to this:


Sekunri.Param.BPSize = Number(Sekunri.Parameters['BattleParty']);
Sekunri.Param.BPSizeCheck = Sekunri.Param.BPSize;
Yanfly.Parameters = PluginManager.parameters('YEP_PartySystem');
Yanfly.Param.MaxBattleMembers = Number(Yanfly.Parameters['Max Battle Members']);
if (Sekunri.Param.BPSizeCheck == 0) {
if (Yanfly.Param.MaxBattleMembers) {
Sekunri.Param.BPSize = Yanfly.Param.MaxBattleMembers;
} else {
Sekunri.Param.BPSize = 1;
}
};
Sekunri.Param.BaseBP = Sekunri.Param.BPSize;


and made this edit:


* @param BattleParty
* @desc This determines the default battle party size. Use 0 for YEP_PartySystem compatibility. Default 4.
* @default 4




It calls the Yanfly Party System' Max Battle Members paramter, then checks to see if Summon's BattleParty is set to 0. If it is set to 0, then it checks to see if the Yanfly parameter exists. If it does, it sets Summon's base party size to Yanfly's Max Battle Members. If it isn't set to 0, then it sets it to 1 to avoid crashes.


This gives a basic compatibility. I don't know how this will work with YEP Party System's plugin commands.
 
Last edited by a moderator:

Sekunri

Creator of Worlds
Veteran
Joined
Jan 12, 2014
Messages
132
Reaction score
73
First Language
English
Primarily Uses
RMMV
While I appreciate your enthusiasm the next version will be addressing the above issues.


Though I will say I'm curious if your edit with Yanfly's fixes the reported issue I will have to check that compatibility on my own.


I'm uncertain if that will actually remove the ability to summon or not. At which point why use my plugin.


The new version is much larger than the current and will completely replace the current code. It's entirely being rewritten.


Also concerning our PM after seeing your use of  @Shaz's Plugin the way you sent it... it's unusable. I'll refrain from posting specifics here but I will respond to you directly.


In fact I'll ship Shaz's plugin alongside my own now as Shaz deserves separate credit for it.
 
Last edited by a moderator:

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
38,837
Reaction score
12,253
First Language
English
Primarily Uses
RMMV
@Sekunri You are welcome to take any parts of my plugin that you deem useful and include in your own, modifying as necessary.  It's only a very small, simple one :)
 
Last edited by a moderator:

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

Ugh! I have a headache coming on--not sure if it's from the sudden change in weather or caffeine withdraw...only one way to fi d out--Coffee time!
Found this old picture in the plastic case with my medical documents. I don't remember who this character is (I draw a lot of original characters and forgot about them very soon), but I like the design, may be I'll add guy in my game.

reading what makes plugins tick, so you can use other plugins to trigger said plugin... setup up Luna MV to have my own custom ATB Gauges from Yanfly's ATB. cool
It's Easter on Monday. Anybody got any Easter quarantine eggs? It'll also be my birthday, I'll be 31.
Sometimes I feel like I'm using plugins feature the wrong way. But as long as it works tho.

Forum statistics

Threads
95,799
Messages
932,022
Members
126,221
Latest member
Tsume
Top