Synchronized Battlers

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,564
Reaction score
3,846
First Language
English



This script allows you to “link” battlers together. Linked battlers can share some special properties called "synchronization effects" that regular battlers do not have.


Links follow a parent-child relationship. When the parent dies, the child also dies. But if the child dies, nothing happens to the parent. You can set up a two-way link between a parent and a child such that when the child dies, so does the parent.


Suppose you have a hydra that consists of three heads and a body. When you kill a head, the rest of the heads and the body is unaffected, but when you kill the body, the heads will also die. The hydra’s body is the parent, and each head is a child.


Get it at Hime Works!
 
Last edited by a moderator:

Nosleinad

Storyteller
Veteran
Joined
Dec 12, 2012
Messages
351
Reaction score
29
First Language
Portuguese
Primarily Uses
Oh my...this is simple marvelous! Never saw a script with this functionality b4, at least in RGSS3.
 

vindaca

CEO of Tales of the Valiant
Veteran
Joined
Dec 11, 2012
Messages
534
Reaction score
75
First Language
English
Primarily Uses
Nice work Tsuki :thumbsup-left: . As a request though, Is there a way you can add a tag to stop or allow exp and gold for those monsters that you dont actually kill.
 

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,564
Reaction score
3,846
First Language
English
Nice work Tsuki :thumbsup-left: . As a request though, Is there a way you can add a tag to stop or allow exp and gold for those monsters that you dont actually kill.
You can set the enemy's exp and gold to 0 in the database since you're just linking regular enemies together.
 
Last edited by a moderator:

vindaca

CEO of Tales of the Valiant
Veteran
Joined
Dec 11, 2012
Messages
534
Reaction score
75
First Language
English
Primarily Uses
I ment like if your fighting a boss and you kill say 2 of his 5 gurads before killing him. Is there a way to set it up to only recive xp and gold form the ones you killed. Maybe a flee option or something of that nature for the leftovers.
 
Last edited by a moderator:

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,564
Reaction score
3,846
First Language
English
I ment like if your fighting a boss and you kill say 2 of his 5 gurads before killing him. Is there a way to set it up to only recive xp and gold form the ones you killed. Maybe a flee option or something of that nature for the leftovers.
I am developing "Sync Options" which will allow you to specify special options that will be enabled when you are linked to another battler. This will include things like

  • Sync HP (damaging a battler will damage all other battlers in the link)
  • Sync MP (MP is shared between battlers in the link)
  • Sync TP (same as shared MP, except using TP)
  • Sync states (if a shield drone attaches itself to a robot with a shield state, the robot will obtain "shield" state
  • Sync features (a fire drone attaches itself to a robot and the robot inherits fire immunity)
  • no gold/exp if the battler was killed "indirectly" (ie: when the parent died).
I will have to think about how to let users specify the link options.
I am currently gathering ideas here


https://github.com/Hime-Works/Requests/issues/24
 
Last edited by a moderator:

vindaca

CEO of Tales of the Valiant
Veteran
Joined
Dec 11, 2012
Messages
534
Reaction score
75
First Language
English
Primarily Uses
I cant post there without signing up sorry. I noticed you had it all set of via script calls. What if you used enimy note tags instead. You can and a tag for body and head and any other tags that way. It would also allow for a lot more flexablity with enemy states and features too.
 

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,564
Reaction score
3,846
First Language
English
Sync options can be done with tags as well if you want to have it apply to that enemy regardless which troop you're in.


Script calls are for specific enemies in a troop.
 

Rayhaku808

Chubbizard
Veteran
Joined
May 8, 2012
Messages
245
Reaction score
103
First Language
English
Primarily Uses
RMMV
You always put out the most awesome scripts
 

desukarhu

Veteran
Veteran
Joined
Nov 1, 2013
Messages
49
Reaction score
6
Primarily Uses
Awesome, thank you. Now I can finally make proper FF style big bosses.
 

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,564
Reaction score
3,846
First Language
English
I ment like if your fighting a boss and you kill say 2 of his 5 gurads before killing him. Is there a way to set it up to only recive xp and gold form the ones you killed. Maybe a flee option or something of that nature for the leftovers.
http://forums.rpgmakerweb.com/index.php?/topic/19893-synchronization-effects/


You can accomplish this using sync effects: death_exr and death_gdr


Simply set them to 0 so that you get no exp or gold if you don't kill them directly.
 

vindaca

CEO of Tales of the Valiant
Veteran
Joined
Dec 11, 2012
Messages
534
Reaction score
75
First Language
English
Primarily Uses
Great Job Tsuki! This can help make some fights a lot more interesting, Thank you for sharing. :thumbsup-left: :D :thumbsup-right: :thumbsup-left: :troll:
 

Probotector 200X

Probotect and Serve
Veteran
Joined
Mar 14, 2012
Messages
913
Reaction score
168
Primarily Uses
I was going to ask, but looking at the script itself...can you really have Synchronized Actors already?? Because...that's...one of the coolest things, something I've wanted for a long time...

Even so, for enemies still, pretty cool. Reminds me of Wild ARMs 2 more than anything.
 

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,564
Reaction score
3,846
First Language
English
Previously it was not supported because I didn't write the sync'ing functionality for actors, but I have implemented actor sync'ing now.

It is the same as sync'ing enemies, except the indexing is a bit different:

link_actor(1, 2)Would link actor 1 with actor 2

Code:
link_actor(-1, -2)
Would link the first party member with the second party member

Code:
unlink_actor(1, 2)unlink_actor(-1, -2)
Unlinks the actors with the given indices.It may be apparent that my indexing is inconsistent (positive indices for enemies is the unit index, negative indices for actors is the unit index), but this is because the rest of the engine has it so that positive indices for actors is the actor ID.

Note that yanfly's ace battle engine does not properly synchronize the battle HUD for some reason (so if one actor dies, linked children also die, but the HUD doesn't properly reflect this until the next turn)

The actor sprites were tested on yami's symphony engine, and the actor sprites collapse simultaneously as I expect.
 
Last edited by a moderator:

Probotector 200X

Probotect and Serve
Veteran
Joined
Mar 14, 2012
Messages
913
Reaction score
168
Primarily Uses
I love how it's possible to sync actors by ID, OR by party position.

I'm not ready for this kinda script, heh. (like, it's one of those things I kinda wanted, but never saw it done, so put off ideas that could use something like this!)
 

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,564
Reaction score
3,846
First Language
English
I've added the last type of battler linking: battler-to-battler links. This is basically the generalized script call.

This includes

actor-to-enemy

enemy-to-actor

actor-to-actor

enemy-to-enemy

And ANY OTHER type of battler, if you have scripts that define custom battlers.

These are the script calls:

link_battler(battler1, battler2, two_way)unlink_battler(battler1, battler2)You need to pass in two battler objects. I have provided convenience methods for you to get the actor object or enemy object like this

Code:
actor = get_actor(index)enemy = get_enemy(index)
Where the index is the same as before for each type of battler.Now you can link anyone together and take advantage of sync effects. Here is a simple example: you have a "bomb" enemy that attaches itself to a battler, and then it self-destructs, killing itself AND any attached battlers along with it.
 
Last edited by a moderator:

Probotector 200X

Probotect and Serve
Veteran
Joined
Mar 14, 2012
Messages
913
Reaction score
168
Primarily Uses
Hmmm, I was contemplating asking if Syncing enemies and actors could be done, but thought it would be too complicated or something, so I'm very pleasantly surprised at this! I honestly can approach character, monster, and skill design a bit differently with this script in mind. So, thanks for this awesome script!
 

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

Latest Threads

Latest Profile Posts

Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.
Do you Find Tilesetting or Looking for Tilesets/Plugins more fun? Personally I like making my tileset for my Game (Cretaceous Park TM) xD
How many parameters is 'too many'??

Forum statistics

Threads
105,867
Messages
1,017,062
Members
137,575
Latest member
akekaphol101
Top