MV - SRPG Engine MV - Plugins for creating Tactical Battle System

● ARCHIVED · READ-ONLY
Started by RyanBram 3313 posts Page 162 of 166 View original ↗
  1. JohnSmith09 said:
    Woah, just happen to find this plugins now, really great. Though, I wonder if it was possible convert our units to enemies just like converting an even to become our units or enemies?
    You can't really convert enemies to allies (like tactics ogre persuasion) very easily. The easiest way to do it is to remove the said unit and respawn a unit from the opposite team. You can use the built in methods described in srpg core to do that though you'll want an event spawner.

    If you mean using actor sprites for enemies, that is very easy (no different than regular battle system)
  2. How do I force an enemy to alternate between skills? For example, I have an enemy who entraps an actor by teleporting the actor right next to them. My only issue is they'll keep using this skill instead of attacking. How would I go about making it so when they use the skill they can't use it again and instead focus on regular attacks? I want them to always attempt to entrap first (and I have it setup to target the farthest enemy) then they can no longer use the skill and proceed to default attack.

    EDIT: Actually I figured it out! I simply have it so that my skill applies a state to the user and that state then unlocks the regular attack at a priority that's 3 higher than the skill so it won't select it again.
    If anyone knows of alternate ways though I'd love to hear it! Always better to have more knowledge haha.
  3. Has anyone ever limited turns to moving a single unit of the players choice? I understand there's action points somewhere and I can edit the core if needed, but was hoping to be pointed in the right direction (happy to post screenshots if I accomplish it).
  4. Percarus said:
    It's super cool that you wanna create a Fire Emblem style game! Go for it!
    I can't teach you the absolute basics, and there's no fool proof guide, but there are a couple things I can advice you to do;
    1. Use the Demos! The 1.32Q demo and the Shoukang Demos are excellent starting points, inspect them well! Tinker around with them! My own Fire Emblem style game that I'm working on right now is built on top of Shoukang's Demo :)
    2. If you're trying to make a Weapon Triangle system like in Fire Emblem, I'd direct you to this post. It's super helpful in my own implementation of the system.
    3. If you're still learning the ropes, I'd recommend not putting in any external plugins just yet, until you're entirely comfortable with the engine. The SRPG engine is extremely compatible with a lot of stuff, but adding more also increases the risk that stuff just breaks, and if you have a lot of plugins it gets a little difficult to track down errors and stuff.
    4. If you have any more questions, make sure to search around the forums! Feel free to ask in this thread as well, or you can message me directly, if ever!
    Good luck and godspeed :)
    It's an honor to be quoted in a post about the Weapon Triangle mechanic lol.

    Il will explain clearly here how to implement the mecanic (like I did).

    You will need thoses plugins :
    -> Yanfly Passive State
    -> Yanfly hit accuracy
    -> Boomy Hit formula (you can find it on the first page of the topic)

    Step 1 :
    -> Create three states (that represent your weapon triangle). I use sword / axe / spear states here.
    For the exemple let's say your sword state ID =1 / your spear state ID = 2 / your axe state ID = 3

    Step 2 :
    -> Put a notetag in every weapon you will use for your weapon triangle.
    - In every sword weapon the note tag <Passive State: 1> (replace 1 with the ID of your sword state)
    - In every speart weapon the notetage <Passive State: 2> (replace 2 with the ID of your spear state)
    - In every axe weapon notetag <Passive State: 3> (replace 3 with the Id of your axe state)

    With thoses notetags and the Passive State plugin any unit (player and enemy) whitch has thoses weapon equiped would be affected by one of thoses 3 states. This is important.

    Step 3 :
    -> create the hit / eva bonus / penalty depending of the triangle.
    Now we have our states, let's create the eva / hit bonus / penalty. In my exemple
    - Axes beats spears
    - Spears beats swords
    - Swords beats axes.

    You have to create 3 attacks skills : one for swords, one for spears and one for axes.

    In the attack (sword) skill notetag you have to put this notetag :

    JavaScript:
    <customHit: if(target.isStateAffected(2)) { (user.hit - 0.1) - (target.eva + 0.1) } else { if(target.isStateAffected(3)) { (user.hit + 0.1) - (target.eva - 0.1) } else { user.hit - target.eva } }>

    This code says :
    -> If the ennemy is affected by the spear state (state 2), give to player a 10% hit penalty and enemmy a 10% eva bonus
    -> If the ennemy is affected by the axe state (state 3), give to player a 10% hit bonus and a 10% eva penalty to ennemy
    -> In any other case use the normal hit fomula (here user.hit - target.eva)

    To make it work, you will need the Boomy Custom Hit plugin and the Yanfly Hit Accuracy plugin (Boomy's plugin need the Yanfky Hit Accuracy to work properly)

    You can obviously change the eva / hit bonus / penalty the way you want (here the "0.1" represents the 10% bonus or penalty)

    repeat this step in the 2 remainings attack skills (attack (spear) and attack (axe), don't forget to change the state ID in the notetag of the other skills)

    Step 4 :
    -> create the dammage bonus or penalty.

    Here we will use the dammage formula. We will take the exemple of the attack (sword) skill.
    In the dammage formula of your attack (sword) skill you will put this formula :

    JavaScript:
    b.isStateAffected(2) ? (a.atk - 2) - b.def : b.isStateAffected(3) ? (a.atk + 2) - (b.def) : a.atk - b.def

    This code says :
    -> If the target is affected by the spear state (2), dammage is player atk-2 - enemy def.
    -> If the target is affected by the axe state (3), dammage is : player atk+2 - enemy def
    -> In any other case, the dammage is player atk - enemy def.

    Here I used a bonus / penalty of 2. Just replace thoses numbers by the bonus / penalty you want to apply.

    Repeat this step in your attack (spear) and attack (axe) skill. Don't forget to change the states ID.

    Step 5 :
    -> make your weapon use the good attack skill.

    In your weapons notetags you will need thoses notetags :
    -> In every sword notetags put <srpgWeaponSkill:(ID of your attack (sword) skill)>
    -> In every spear notetags put <srpgWeaponSkill:(ID of your attack (spear) skill)>
    -> In every axe notetags put <srpgWeaponSkill:(ID of your attack (axe) skill)>

    Congratulations. You created the Weapon Triangle !

    Percarus said:
    I've created a plugin that should remove that window without removing the enemy information window.
    However, it requires a tiny bit of tinkering with SRPG_core.js;
    In this section of code:View attachment 330659
    Replace the (flag[0])
    into (flag[0] && flag[1][0] == 'enemy')
    That's all!

    I've attached the plugin; just put it in your project.
    If you have any questions or noticed any bugs, just lemme know.
    I used your plugin to remove the status windows in prediction and it works thanks !

    But I have a problem. When I want to use the command "status" for the player, the window is shut down too. And it can be a problem
  5. Position Effects seems to be giving me some kind of conflict with AOE and I'm not sure why.
    When I add a.push command to the start of the damage formula, it only targets and hits one of the enemies in the AOE.

    Edit:
    It's even weirder.
    It works with this skill
    1742447556289.png
    <srpgRange:6> <srpgAreaRange:3> <Learn Cost: 3 JP> <Learn Cost: 0 Gold> <Learn Require Level: 20> <doubleAction:false> <D-Motion:zoomA/> <D-Animation:spell&foot> id = 139 scaleX = 0.5 </D-Animation> <D-Motion:fly&wait/> <D-Motion:grapcl/> <D-Animation:shot&lookCourse> sx -= 1 * mirroring sy += 0 id = 134 repeat = 5 interval = 3 arrival = 7 </D-Animation> <D-Motion:grapcl/> <D-Animation:whole> delay = 6 id = 161 scaleX = 0.5 scaleY = 0.55 </D-Animation> <D-Motion:grapcl&wait/> <D-Animation:damageAll> </D-Animation> <D-Motion:return> delay = 7 </D-Motion> <D-Motion:zoomOff/>

    but not with this one
    1742447731728.png
    <srpgRange:4> <srpgMinRange:1> <srpgAreaRange:1> <srpgAreaType:circle> <D-Motion:grapcl/> <D-Animation:shot&lookCourse> sx -= 1 * mirroring sy += 0 id = 134 arrival = 7 </D-Animation> <D-Motion:grapcl/> <D-Animation:whole> delay = 6 id = 164 scaleX = 0.35 scaleY = 0.35 </D-Animation> <D-Motion:grapcl&wait/> <D-Animation:damageAll> </D-Animation> <D-Motion:return> delay = 7 </D-Motion>

    Even though I've made them basically exactly the same. I'm not sure what I did wrong here.
    Edit: It turned out that it was the Area range, so I bumped it up for those style of moves to 2.
  6. Hi everyone.

    I'm currently working on the exp and I have a question. Did someone created a plugin to control exp in SRPG Battle using formulae instead of just use the "exp" number of the enemy database ?

    I know Shoukang did an ExpControl plugin with exp formulae for skills (essentially for support skills. With this plugin each support skill can have its formula instead of a % to next level provided by the SRPG_Core plugin).

    In my game I would like to need only 100 exp for each level up (level 1 to level 2 needs 100 exp / level 2 to level 3 needs 100 exp...). All enemies would have the same exp base witch could be influenced by variables (level difference between player and enemy / a boss exp bonus / etc)

    Something like :

    Exp gain = ((base exp + (enemy level - actor level)) / 2) + (enemy level - actor level) + (boss bonus if enemy is a map boss) + (difficulty mode bonus)

    Boomy's plugin SRPG_ExpRate could provide such mechanic, but it's only limited by a multiplicator (basically : killing an enemy = enemy exp x formula of Boomy's plugin). We can't use addition / substraction / division in it.

    I tryed some plugins to manipulate exp, but it seems they are not compatibles with the SRPG Battle System (I tried MYTH_ExpMultiplier, Anima ExpControl and the combinaison of Yanfly EnemyLevel and Yanfly EnemyBaseParameters but nothing seems to work because SRPG_Core should use a different method to calculate the exp when killing an enemy and don't use the troop system)
  7. AngelYuko said:
    Hi everyone.

    I'm currently working on the exp and I have a question. Did someone created a plugin to control exp in SRPG Battle using formulae instead of just use the "exp" number of the enemy database ?

    I know Shoukang did an ExpControl plugin with exp formulae for skills (essentially for support skills. With this plugin each support skill can have its formula instead of a % to next level provided by the SRPG_Core plugin).

    In my game I would like to need only 100 exp for each level up (level 1 to level 2 needs 100 exp / level 2 to level 3 needs 100 exp...). All enemies would have the same exp base witch could be influenced by variables (level difference between player and enemy / a boss exp bonus / etc)

    Something like :

    Exp gain = ((base exp + (enemy level - actor level)) / 2) + (enemy level - actor level) + (boss bonus if enemy is a map boss) + (difficulty mode bonus)

    Boomy's plugin SRPG_ExpRate could provide such mechanic, but it's only limited by a multiplicator (basically : killing an enemy = enemy exp x formula of Boomy's plugin). We can't use addition / substraction / division in it.

    I tryed some plugins to manipulate exp, but it seems they are not compatibles with the SRPG Battle System (I tried MYTH_ExpMultiplier, Anima ExpControl and the combinaison of Yanfly EnemyLevel and Yanfly EnemyBaseParameters but nothing seems to work because SRPG_Core should use a different method to calculate the exp when killing an enemy and don't use the troop system)
    Haven't tested it extensively
    But when I used the baseExp plugin parameter of:
    defaultExp + enemy.enemy().meta.srpgLevel * 10

    I gain 100 more EXP if I set srpgLevel of WildDog from 7 to 17 which checks out
  8. boomy said:
    Haven't tested it extensively
    But when I used the baseExp plugin parameter of:
    defaultExp + enemy.enemy().meta.srpgLevel * 10

    I gain 100 more EXP if I set srpgLevel of WildDog from 7 to 17 which checks out
    Thank you for editing the plugin !
    The formulae seems to work ! I tested with level 1 enemies and different actor level and more the difference between enemy and actior level is (when actor level > ennemy level), less the XP gain for the actor is !

    But there is a little problem. The multplicator from SRPG core parameter "SRPGExpRate" (the % of ennemy base XP player gain when deals dammage to an ennemy without killing it" don't applie correctly.

    I tryed with a 0.1 value (10%). With a level 1 actor vs level 1 enemy, base xp = 31.
    So, the XP gain with dammaging a foe should be 31 * 10% = 3.1% (the plugins port it to 4 normaly)
    But when I did my playtest the value of XP the player gain dammaging foe = 12. Strange.

    It's a little disapointing :/

    Also I have a question. Do you think it's possible to also use a formula for the XP gain when dealing dammage instead of use a % of BaseExp ? Maybe it can solve the problem ?

    In fact, Fire Emblem uses multiple formulae to XP calculation, all of these are based on formulae. There are 3 distinct exp calculation :
    -> defeat a foe exp
    -> dammaging a foe xp
    -> using staff (healing / buffing / debuffing) xp calculation.

    For the battle xp (defeat foe or damaging foe), it's based on a "power" mechanic (basically enemy level - player unit level).
    -> damaging foe xp = (enemy base xp + power) /2
    -> defeat a foe xp directly depend of the dammaging formula : damaging xp + power + eventuals bonuses (boss bonus / difficulty constant / skills bonus etc)

    For the staff one, it's based on the staff base exp and decreasing with the player current level (depends of the games, but generally based on base staff xp + ((level - 5) / 3). For this part, Shoukang_ExpControl plugin works well

    ==========================

    EDIT : I think I understood the issue with the SRPG_ExpRate thing of the core plugin.
    The core parameter plugin will automaticaly take x% of the value within the experience parameter in the enemy base parameters and not take x% of the result from the exp formula.

    So with my formula, instead of taking 10% from the result of my [((defaultExp+ (enemy.enemy().meta.srpgLevel - actor.level)) / 2) + (enemy.enemy().meta.srpgLevel - actor.level) + ($gameVariables.value(10)) + ($gameVariables.value(20))] formula it's calculated :

    (([defaultExp*0.1]+ (enemy.enemy().meta.srpgLevel - actor.level)) / 2) + (enemy.enemy().meta.srpgLevel - actor.level) + ($gameVariables.value(10)) + ($gameVariables.value(20))

    I found it by replacing the defaultExp parameter in the formula by a constant (I put 21, the valor of the enemy exp parameter), and when my character deals damage to foe, it gain 31 xp (like when they kill the foe)
  9. Did anyone know how to fix it?

    I've tried to create transformation logic where the character would transform (Changing sprite) when its HP reach 0. At the first time when the character reach 0 HP, it transformed completely fine according to the logic. But the second time the character reach 0 HP, this happen.

    The character somehow become invincible and cannot be interacted. I've tried checking the status menu but the character wasn't in knock out status. The character still definitely existed (As marked with the letter below) and isn't knocked out, but i can't do anything about it...
    Screenshot 2025-03-29 153618.png
  10. JohnSmith09 said:
    Did anyone know how to fix it?

    I've tried to create transformation logic where the character would transform (Changing sprite) when its HP reach 0. At the first time when the character reach 0 HP, it transformed completely fine according to the logic. But the second time the character reach 0 HP, this happen.

    The character somehow become invincible and cannot be interacted. I've tried checking the status menu but the character wasn't in knock out status. The character still definitely existed (As marked with the letter below) and isn't knocked out, but i can't do anything about it...
    View attachment 335868
    I don't know why your game is doing such a weird thing... But If it could help you, there is a SRPG_Grave plugin (I don't remember where to find it. Maybe in Dopan's or Dr.Q's plugin on the first thread page). This plugin act only when actors HP = 0, put a "grave" on the map to use resurection skills. I don't use this plugin, but I think it can help you with what you want to do.

    But I have a question : did you succeed to create a temporary transformation state in your game ? (when TP reach a certain point, your unit can enter some "berserk" mode for few turns, changing their map and battle sprite and has access to new skills during this state) I try to implement a thing like that but I don't have any idea to do that :/

    AngelYuko said:
    EDIT : I think I understood the issue with the SRPG_ExpRate thing of the core plugin.
    The core parameter plugin will automaticaly take x% of the value within the experience parameter in the enemy base parameters and not take x% of the result from the exp formula.

    So with my formula, instead of taking 10% from the result of my [((defaultExp+ (enemy.enemy().meta.srpgLevel - actor.level)) / 2) + (enemy.enemy().meta.srpgLevel - actor.level) + ($gameVariables.value(10)) + ($gameVariables.value(20))] formula it's calculated :

    (([defaultExp*0.1]+ (enemy.enemy().meta.srpgLevel - actor.level)) / 2) + (enemy.enemy().meta.srpgLevel - actor.level) + ($gameVariables.value(10)) + ($gameVariables.value(20))

    I found it by replacing the defaultExp parameter in the formula by a constant (I put 21, the valor of the enemy exp parameter), and when my character deals damage to foe, it gain 31 xp (like when they kill the foe)
    Okay I find a way to fix that weird thing. I just put the value from the SRPG_Core to 0 and had this formula in the multiplicator parameter of the SRPG_ExpRate plugin :
    if (ennemy.HP == 0) { 1 } else { 0.2 }

    That fixed the "damage an ennemy XP gain" mechanic.

    I also find something about Shoukang SRPG_ExpControl plugin. The desciption don't tell it, but Shoukang plugin only works with "target ally" skills ans items (replacing the "using a skill or item" XP gain from the SRPG_Core by a formula instead or just a % of next level xp) or items. If you try to put a note tag in a "target enemy" skill, the game will apply the "dammage an enemy XP formula" if your don't kill it.

    It's a problem to me. I wanted to implement debuff skills that target ennemy and has their own XP calculation. Did someone succeed to apply Shoukang's plugin to target enemy skills ?
  11. AngelYuko said:
    I don't know why your game is doing such a weird thing... But If it could help you, there is a SRPG_Grave plugin (I don't remember where to find it. Maybe in Dopan's or Dr.Q's plugin on the first thread page). This plugin act only when actors HP = 0, put a "grave" on the map to use resurection skills. I don't use this plugin, but I think it can help you with what you want to do.

    But I have a question : did you succeed to create a temporary transformation state in your game ? (when TP reach a certain point, your unit can enter some "berserk" mode for few turns, changing their map and battle sprite and has access to new skills during this state) I try to implement a thing like that but I don't have any idea to do that :/

    Alright, maybe I'll try it right away... Thanks.

    It perfectly works for the first transformation logic that I created, thought it was permanent one (or at least until you use some kind of restore form logic). I've planned to create some transformation sequence that would ended up changing the class of the characters, contains several full transformation sprite, stats, and some parameters. But it seems I can only do it once before the issue kick in.
  12. JohnSmith09 said:
    Alright, maybe I'll try it right away... Thanks.

    It perfectly works for the first transformation logic that I created, thought it was permanent one (or at least until you use some kind of restore form logic). I've planned to create some transformation sequence that would ended up changing the class of the characters, contains several full transformation sprite, stats, and some parameters. But it seems I can only do it once before the issue kick in.
    For actif transformation state there is a way to do it based on Yanfly_BattleCore and Yanfly_BuffAndState : https://www.yanfly.moe/wiki/Actor_Transformations_(MV_Plugin_Tips_&_Tricks)

    I don't test it with SRPG battle, but it could work because SRPG_Core works with YEP plugins.
  13. AngelYuko said:
    For actif transformation state there is a way to do it based on Yanfly_BattleCore and Yanfly_BuffAndState : https://www.yanfly.moe/wiki/Actor_Transformations_(MV_Plugin_Tips_&_Tricks)

    I don't test it with SRPG battle, but it could work because SRPG_Core works with YEP plugins.
    Well, it maybe does works, but... I'm using Mapview Battle which doesn't really get along quite well with Yanfly_BattleCore.
    YEP_Battlecore would literally makes the mapview battle animation doesn't shows up. I've tried it accidentaly once before. I don't know if it was me or it was supposed to happen, but the animation in map view battle won't shows up when I activate the built in YEP_BattleCore.
  14. JohnSmith09 said:
    Well, it maybe does works, but... I'm using Mapview Battle which doesn't really get along quite well with Yanfly_BattleCore.
    YEP_Battlecore would literally makes the mapview battle animation doesn't shows up. I've tried it accidentaly once before. I don't know if it was me or it was supposed to happen, but the animation in map view battle won't shows up when I activate the built in YEP_BattleCore.
    Did you set "True" in the plugin parameters of SRPG_Core on the option "use with Yep_BattleCore"?

    If you don't, this causes issue when you enable Yep_BattleCore.

    Using map battle, you can use notetags in skills (list os in the SRPG_Core help) to make animations with the map battle.
    If you don't put thoses tags, it won't show anything.
  15. AngelYuko said:
    Did you set "True" in the plugin parameters of SRPG_Core on the option "use with Yep_BattleCore"?

    If you don't, this causes issue when you enable Yep_BattleCore.

    Using map battle, you can use notetags in skills (list os in the SRPG_Core help) to make animations with the map battle.
    If you don't put thoses tags, it won't show anything.
    Yeah. In fact, i only apply the built in YEP_BattleCore and not importing it individually.

    Btw, the issue I ask earlier have been resolved :D
    Somehow, the issue trigger when i use "Restore all" command to restore the character's HP when he got defeated. I'm still clueless thou as to why "restore all" command could literally broke the plugins, but at least I've manage to search for the substitute quite easily.
  16. boomy said:
    Haven't tested it extensively
    But when I used the baseExp plugin parameter of:
    defaultExp + enemy.enemy().meta.srpgLevel * 10

    I gain 100 more EXP if I set srpgLevel of WildDog from 7 to 17 which checks out
    Okay. So I manage to "fix" things by using plugin parameters.
    -> I set the SRPF_Core "damaging foe" Xp gain to 0 and I used the SRPG_ExpRate plugin parameters to use the multiplicator with conditionnal : if enemy HP = 0 -> multiplicator = 1 / else = 0.25. (so gain full Base Exp when killing and only 25% of base XP when dammaging)

    (I think it would definitly be more simple if the Core parameter works on all the formula instead of just take a % of the defaultExp value but I managed to simulate that with the plugin multiplicator)



    BUT there is something extremly weird. Maybe you can fix that.

    For a level 1 vs level 1 exemple. Full XP is set to 31 with the formula I use.

    -> When it's player phase (so player targets an enemy), it fully works. I gain all XP when killing enemy (31) and 25% of the xp when just dammaging (31*25%).
    -> When it's enemy phase (so enemy targets a player), I gain full XP when the player kills the enemy (31) BUT when it is only dammaging the enemy, I gain 152 exp instead of just 25% of full exp ? (very weird)

    EDIT : Okay I succeed to fix that weird XP thing. The problem was in this code section of SRPG_ExpRate :

    1743338693404.png
    If user was an enemy, default exp = 1 / multiplicator. But if the multiplicator is a number < 0, the result is > 1. So the player gain this absolutly non-sens amount of XP only by damagin foe.

    I simply delete the '1 /' before the multiplicator. Here's my patch of the SRPG_ExpRate plugin :
    JavaScript:
    //=============================================================================
    // SRPG_ExpMod.js
    //=============================================================================
    /*:
      * @plugindesc A plugin that modifies how exp is gained through battles. Compatible with new version of SRPG_AoEAnimation.js
     * @author Boomy
     *
     * @param Average AoE Target EXP
     * @type boolean
     * @desc Split EXP equal to number of targets. Note that SRPG_AoEAnimation.js already splits exp when multiple actors are targeted.
     * @default false
     *
     * @param Base EXP
     * @desc Lunatic code formula. Can use parameters such as actor, enemy and defaultExp
     * @default defaultExp
     *
     * @param EXP multiplier
     * @desc Lunatic code formula. Can use parameters such as actor, enemy and targetsAverageLevel, targetsMaxLevel, targetsMinLevel
     * @default 1
     * 
      * @help
      * Alters the BattleManager.makeRewards function to make some modifications to
      * how much EXP is gained in SRPG battle.
      *
      * Kill an enemy: Gain full enemy EXP x modifiers
      * Damage an enemy: Gain enemy EXP x modifiers x srpg_core.js plugin parameter
      * Take damage from enemy: Gain enemy EXP x modifiers x srpg_core.js plugin parameter
      * Use skill on non-enemy: Gain a percentage of actor exp
    *
    *  Note that if you are using SRPG_AoEAnimation.js, exp is distributed amongst all units active in battle. 
      *
     */
    //===============================================================
    // Parameter Variables
    //===============================================================
    (function () {
        var substrBegin = document.currentScript.src.lastIndexOf('/');
        var substrEnd = document.currentScript.src.indexOf('.js');
        var scriptName = document.currentScript.src.substring(substrBegin + 1, substrEnd);
        var parameters = PluginManager.parameters(scriptName);
        BattleManager.makeRewards = function () {
            this._rewards = {};
            this._rewards.gold = $gameTroop.goldTotal();
            var defaultExp = $gameTroop.expTotal();
            if ($gameSystem.isSRPGMode()) {
                //User is an actor
                if ($gameSystem.EventToUnit($gameTemp.activeEvent().eventId())[0] == "actor") {
                    //If target is enemy
                    if ($gameSystem.EventToUnit($gameTemp.targetEvent().eventId())[0] == "enemy") {
                        //Create variables for user and target
                        var actor = $gameSystem.EventToUnit($gameTemp.activeEvent().eventId())[1];
                        var enemy = $gameSystem.EventToUnit($gameTemp.targetEvent().eventId())[1];
                        //Set default EXP
                        if (parameters['Base EXP'] !== "defaultExp") {
                            defaultExp = eval(parameters['Base EXP']);
                        }
                        //Reduce exp gain if average parameter is Set
                        if (eval(parameters['Average AoE Target EXP'])) {
                            defaultExp = defaultExp / ($gameTemp._areaTargets.length + 1);
                        }
                        //Apply multiplier to EXP if EXP multiplier is set
                        if (parameters['EXP multiplier'] !== 1) {
                            //Work out targetsAverageLevel, targetsMaxLevel and targetsMinLevel
                            var levelArray = [Number($gameSystem.EventToUnit($gameTemp.targetEvent().eventId())[1].level !== undefined ? $gameSystem.EventToUnit($gameTemp.targetEvent().eventId())[1].level : $gameSystem.EventToUnit($gameTemp.targetEvent().eventId())[1].enemy().meta.srpgLevel)];
                            for (var i = 0; i < $gameTemp._areaTargets.length; i++) {
                                //console.log($gameSystem.EventToUnit($gameTemp._areaTargets[i].event.eventId())[1].enemy().meta.srpgLevel);
                                var level = Number($gameSystem.EventToUnit($gameTemp._areaTargets[i].event.eventId())[1].level !== undefined ? $gameSystem.EventToUnit($gameTemp._areaTargets[i].event.eventId())[1].level : $gameSystem.EventToUnit($gameTemp._areaTargets[i].event.eventId())[1].enemy().meta.srpgLevel);
                                levelArray.push(level);
                            }
                            var average = levelArray => levelArray.reduce((p, c) => p + c, 0) / levelArray.length;
                            var targetsAverageLevel = average(levelArray);
                            var targetsMaxLevel = Math.max(...levelArray);
                            var targetsMinLevel = Math.min(...levelArray);
                            defaultExp *= eval(parameters['EXP multiplier']);
                        }
                    }
                }
                //User is an enemy
                if ($gameSystem.EventToUnit($gameTemp.activeEvent().eventId())[0] == "enemy") {
                    //Using AoEAnimation.js, exp is averaged when multiple actors are targetted
                    //Apply multiplier to EXP if EXP multiplier is set
                        
                    //Create variables for user and target
                    var enemy = $gameSystem.EventToUnit($gameTemp.activeEvent().eventId())[1];
                    var actor = $gameSystem.EventToUnit($gameTemp.targetEvent().eventId())[1];
                    //Set default EXP
                    if (parameters['Base EXP'] !== "defaultExp") {
                        defaultExp = eval(parameters['Base EXP']);
                    }
                    
                    if (parameters['EXP multiplier'] !== 1) {
                        //Work out targetsAverageLevel, targetsMaxLevel and targetsMinLevel
                        var levelArray = [Number($gameSystem.EventToUnit($gameTemp.targetEvent().eventId())[1].level !== undefined ? $gameSystem.EventToUnit($gameTemp.targetEvent().eventId())[1].level : $gameSystem.EventToUnit($gameTemp.targetEvent().eventId())[1].enemy().meta.srpgLevel)];
                        for (var i = 0; i < $gameTemp._areaTargets.length; i++) {
                            var level = Number($gameSystem.EventToUnit($gameTemp._areaTargets[i].event.eventId())[1].level !== undefined ? $gameSystem.EventToUnit($gameTemp._areaTargets[i].event.eventId())[1].level : $gameSystem.EventToUnit($gameTemp._areaTargets[i].event.eventId())[1].enemy().meta.srpgLevel);
                            levelArray.push(level);
                        }
                        var average = levelArray => levelArray.reduce((p, c) => p + c, 0) / levelArray.length;
                        var targetsAverageLevel = average(levelArray);
                        var targetsMaxLevel = Math.max(...levelArray);
                        var targetsMinLevel = Math.min(...levelArray);
                        defaultExp *= eval(parameters['EXP multiplier']);
                    }
                }
                this._rewards.exp = defaultExp;
            } else {
                this._rewards.exp = $gameTroop.expTotal();
            }
            this._rewards.items = $gameTroop.makeDropItems();
        };
    })();

    You can upload it in your GitHub without credit me @boomy if you want.
  17. Does its possible to create no turn cost item just like the no turn cost skill one? Also, is event spawner plugins doesn't work with this plugins?

    Edit: at some point, whenever the turn is end, the cursor start checking some random enemies even if their mode is just to stand as well as out of actors' range. Does someone know how to fix it?
  18. Small question in working with Shoukang's demo. More specifically I need to check if there's a unit on the city I'm trying to have a unit spawn on. If there is then it just sort of... doesn't summon the unit. I am open to any workarounds as I know this JS was specific to checking if there was any unit one spot to the right of the event activating it. I also don't mind hardcoding the values. My map is pretty finalized.
    JS
    var getAppearPoint = function(x, y){

    var dirs = [[0, 0], [1, 0],[0, 1], [0, -1], [-1, 0]];

    for (var i = 0; i < dirs.length; i++){

    var d = dirs;

    var events = $gameMap.eventsXy(x + d[0], y + d[1]).filter(function(event){return !event.isErased()});

    if (events.length == 0){

    return $gameVariables.setValue(15, [x + d[0], y + d[1]]);

    }

    }

    $gameVariables.setValue(15, false);

    }

    getAppearPoint($gameMap.event(this._eventId).posX(), $gameMap.event(this._eventId).posY())
    Event
    Event1.pngEvent2.png
    Map
    map1.png
    O is the event itself. I need to test if a unit, which would be interacting from x, can summon a unit on O. If there's another unit standing on O this shouldn't be possible

    Editing to ask if there's anything other than the AGI plugin that would make units with higher agility attack first? I always assumed it should be that if both units have the same agility (1) then the attacker should hit first, is this not usually the case? Thank you!
  19. Has anyone had any success with making different factions, like neutral factions/factions that fight each other while also being hostile to the player, or trap events? Traps I assume would have to be accompanied by disallowing the player to redo moves, and it would have to be capable of instantly ending the turn of anything that walked over it. The demo has a trap that activates if you end your turn there, but that seems fairly limiting.
  20. Is there a way to disable animations so that everything happens directly on the map and the game never shows battle sequences?