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

● ARCHIVED · READ-ONLY
Started by RyanBram 3313 posts Page 156 of 166 View original ↗
  1. Hii can someone help me please
    I am trying to make a tactical game like ffta (final fantasy tactics) but when I put the view I wanted the tactical slots it doesn't match
    This are the plugins I am using
    PicsArt_04-08-02.44.34.jpgPicsArt_04-08-02.33.31.jpg
  2. Here's a couple of modified DirectionMod plugins (one for compatibility with YEP SkillMastery, check spoiler for info as it needs some setting up)
    as well as a patch for YEP Job points Plugin.
    DirectionModSkillMastery
    ((if you are using yanflys SkillMastery with DirectionMod_SkillMastery plugin you will need to alter the Yanfly.SkillMastery.Game_Action_makeDamageValue function located on line 1069-1086 of Yanflys SkillMastery plugin so the damage output is handled accurately I just comment the function out with /*at the start and */ at the end of the function))
    the default damage modifications do not work with evaluating the damage instead use the note tags
    <mastery_Dmg:X> X being the bonus damage added.
    <mastery_Percentage_Dmg: X> X being the bonus damage percentage added.
    this will adjust the damage evaluation accurately and also modifies the damage in regards to the direction modifications as well, all other feature regarding skillMastery work as they should except for the damage modifications, level up notifications and skill uses as it needs to be added by code.
    user.gainSkillMasteryUses(skillId, uses);//specify skillId, and uses as a number

    i use a common event to increase uses for skill mastery as well as handle notifying when skill has leveled up, when using a switch remember to set it true at <type:battleStart> event and set true at <type:afterAction> event.

    JavaScript:
    if ($gameSwitches.value(15)){//replace 15 with what ever switch you want
        var skillId = $gameSystem.EventToUnit($gameTemp.activeEvent().eventId())[1]._actions[0]._item._itemId;
        // $gameSystem.EventToUnit($gameTemp.activeEvent().eventId())[1]._actions[0]._item._itemId; is skill being used
        var user = $gameParty.members()[0];
        var previousLevel = user.skillMasteryLevel(skillId);
        user.gainSkillMasteryUses(skillId, 5);//increase skill use replace 5 with the amount of uses you want to increase skill
        var currentLevel = user.skillMasteryLevel(skillId);
        if (currentLevel > previousLevel) {
            $gameTemp.activeEvent().requestAnimation(130);//use what ever animationyou want or balloon
            $gameSwitches.setValue(15, false);//set switch to false so it dosnt repeat for AoE attacks
        }
    };
    here is a basic skill lvl up animation feel free to use it
    Skill_Level_Up.png

    I have only tested these with Srpg Core 1.34+Q (they worked fine)
    i'm not very experienced at coding so please backup your projects before using.
  3. So, I've used Victor's Hit Formula to change the hit formula, and it seems to have broken the prediction display- what would I have to do to fix it? As far as I can tell, as the code for displaying the prediction assumes that you're using the default hit formula, and I don't know what I'd have to change.
  4. I'll try and then I will tell you the results

    DaichyYami said:
    I'll try and then I will tell you the results
    NoobieMcNoobs said:
    Here's a couple of modified DirectionMod plugins (one for compatibility with YEP SkillMastery, check spoiler for info as it needs some setting up)
    as well as a patch for YEP Job points Plugin.
    DirectionModSkillMastery
    ((if you are using yanflys SkillMastery with DirectionMod_SkillMastery plugin you will need to alter the Yanfly.SkillMastery.Game_Action_makeDamageValue function located on line 1069-1086 of Yanflys SkillMastery plugin so the damage output is handled accurately I just comment the function out with /*at the start and */ at the end of the function))
    the default damage modifications do not work with evaluating the damage instead use the note tags
    <mastery_Dmg:X> X being the bonus damage added.
    <mastery_Percentage_Dmg: X> X being the bonus damage percentage added.
    this will adjust the damage evaluation accurately and also modifies the damage in regards to the direction modifications as well, all other feature regarding skillMastery work as they should except for the damage modifications, level up notifications and skill uses as it needs to be added by code.
    user.gainSkillMasteryUses(skillId, uses);//specify skillId, and uses as a number

    i use a common event to increase uses for skill mastery as well as handle notifying when skill has leveled up, when using a switch remember to set it true at <type:battleStart> event and set true at <type:afterAction> event.

    JavaScript:
    if ($gameSwitches.value(15)){//replace 15 with what ever switch you want
        var skillId = $gameSystem.EventToUnit($gameTemp.activeEvent().eventId())[1]._actions[0]._item._itemId;
        // $gameSystem.EventToUnit($gameTemp.activeEvent().eventId())[1]._actions[0]._item._itemId; is skill being used
        var user = $gameParty.members()[0];
        var previousLevel = user.skillMasteryLevel(skillId);
        user.gainSkillMasteryUses(skillId, 5);//increase skill use replace 5 with the amount of uses you want to increase skill
        var currentLevel = user.skillMasteryLevel(skillId);
        if (currentLevel > previousLevel) {
            $gameTemp.activeEvent().requestAnimation(130);//use what ever animationyou want or balloon
            $gameSwitches.setValue(15, false);//set switch to false so it dosnt repeat for AoE attacks
        }
    };
    here is a basic skill lvl up animation feel free to use it
    View attachment 301920

    I have only tested these with Srpg Core 1.34+Q (they worked fine)
    i'm not very experienced at coding so please backup your projects before using.
  5. RyanBram said:
    Introducing
    SRPG-Engine-MV.png
    credits : Gakuto Mikagami, Doctor_Q
    https://github.com/Echizen-ham/SRPGcore
    https://github.com/RyanBram/SRPGcore

    SRPG-MV.jpg

    Hi, everyone.
    Do you like Turn Based Strategy RPG games?
    If so, then I'm also like it so much just like you.

    Therefore, on this occasion, let me introduce a collection of plugins called SRPG_Converter. As the name implies, these plugins will change the RPG Maker MV engine that you have as an editor for Turn Based Strategy genre games like Fire Emblems or Shining Force.

    DOWNLOAD

    The following are the features of these plugins:
    • Provides feature complete of basic SRPG engine. Only one plugin then you can watch your RPG Maker MV turn into a Turn Based Strategy engine;
    • High compatibility with any plugins. There are almost no RPG Maker MV Core function that was altered, so you can still use RPG Maker MV and your favorite plugins as usual;
    • Easy to customize. Every character, weapon, skill, or class can be customized using note tag;
    • Turn based events trigger. Enjoy rich story customization, by choosing any event to trigger at the moments: Start of Battle, Start of Actor Phase, Start of Enemy Phase, End of Turn, Start of Action, and End of Action,
    • Can be extended with extension. If you know can write Javascript plugin, you can easily add features that are not yet available. Let us know if you made public extension;
    • Royalty free for commercial purposes. With the MIT license, anyone can use this plugin without worrying about legal issues. As long as you comply with the provisions of the MIT license, this plugin can be used for any purpose.
    Making the SRPG Engine is a complex thing, even comparable to making a new engine that is equivalent to the RPG Maker MV Core scripts itself. Before I introduce this system to this forum, I am using this plugin internally for my own projects. I don't want to become the only one who get the benefits of this plugin, which become the reason I translated it and share it to this forum.

    New feature:
    • On map battle as part of core plugin.
    • SRPG_AgiAttackPlus, SRPG_UncounterableAttack, and SRPGconverter_with_YEP_BattleEngineCore now become part of core plugin.
    • DynamicAction for performing action sequence in both Sideview battle and Mapview battle.
    • Mouse System as alternative to control your game without using keyboard at all.

    Planned feature:
    • (Please suggest it)
    Since the era of RPG Maker XP, I have never seen a SRPG system that is truly complete. There are at least two possibilities for that: 1) Kadokawa had already made a new version of RPG Maker before the SRPG System was completed, or 2) The creator of the SRPG System was busy or had other interests that caused the project to be abandoned. Then I decided to offer myself to the author by helping him pushing the system forward, because I am afraid I never see this system finish before being abandoned again.
    If you are a Javascript programmer, you can always help by creating extension for this system.

    Best regards
    Ryan

    • Author: Gakuto Mikagami, Doktor_Q, RyanBram
    • Translation: Me (RyanBram)
    • License: MIT
    • Non-commercial use: free
    • Commercial use: free
    • Redistribution: OK
    • Editing: OK
    • Redistribution after editing: OK
    • Series: RPG Maker MV

    Special Thanks:
    • Dopan and Boomy for endless support for the community
    Wow!!
  6. hello i'm using SRPG_eventUnitGraves by Dopan to spawn grave events does anyone know how to set a turn count on the graves so that they will erase after a certain amount of turns have passed.

    example kill enemy or actor they spawn there grave then if it hasn't been revived with in 3 turns the grave will be erased
  7. Ivalice said:
    Hello guys, I don't know if it has been answered yet, if so I apologize. Does anyone know how to solve the error that appears when after selecting an actor and moving the cursor to the edge of the window it gives an error, It happens when the game is in full screen and cursor follow mose is true, there must be some error there, thanks for the help.$gameTemp.moveTable.
    I think the $gameTemp.moveTable function crashes when you reference a coordinate that lies outside the map, like when you're moving the mouse from one screen to the other with a dual-screen setup. YOu could change the movetable function in SRPG_Core to only return something when the x and y are within the map:

    Game_Temp.prototype.MoveTable = function(x, y) {
    if (x < $dataMap.width && y < $dataMap.height){
    return this._MoveTable[x][y]
    };
    };
  8. Apologies if this has been answered before, but I'm trying to get these plugins (downloaded from the Steam free DLC) working, and I'm pulling my hair out. First battle I try to run, I get this:
    Error
    TypeError: Cannot read property 'match' of undefined
    at Function.ImageManager.isObjectCharacter (file:///D:/*filepath*/project/js/rpg_managers.js:906:24)
    at Game_Event.Game_CharacterBase.setImage (file:///D:/*filepath*/project/js/rpg_objects.js:6664:44)
    at Game_Event.refreshImage (file:///D:/*filepath*/project/js/plugins/SRPG_core.js:5253:22)
    at file:///D:/*filepath*/project/js/plugins/SRPG_core.js:5327:19
    at Array.forEach (native)
    at Game_Map.setEventImages (file:///D:/*filepath*/project/js/plugins/SRPG_core.js:5326:23)
    at Game_System.startSRPG (file:///D:/*filepath*/project/js/plugins/SRPG_BattlePrepare.js:745:18)
    at Game_Interpreter.pluginCommand (file:///D:/*filepath*/project/js/plugins/SRPG_core.js:2199:29)
    at Game_Interpreter.pluginCommand (file:///D:/*filepath*/project/js/plugins/SRPG_BattlePrepare.js:239:41)
    at Game_Interpreter.command356 (file:///D:/*filepath*/project/js/rpg_objects.js:10508:10)
    For the life of me though, I'm not sure what I'm looking at or how to even start going about fixing it. Anyone here have any ideas? I wasn't having luck finding a solution, though I did find someone else making a post outside this thread about what appeared to be the same issue. They didn't get an answer though.

    EDIT: Fixed it - I was dumb and forgot the <characterName:X> and <characterIndex:X> tags to the enemies, so when the game tried to load them it got confused and hurt itself. Once those were added, it worked out fine.
  9. is kinda tricky.. because needed a lot variable (for timer) and switch (to check what id event using it)
    this is my idea..
    NoobieMcNoobs said:
    hello i'm using SRPG_eventUnitGraves by Dopan to spawn grave events does anyone know how to set a turn count on the graves so that they will erase after a certain amount of turns have passed.

    example kill enemy or actor they spawn there grave then if it hasn't been revived with in 3 turns the grave will be erased
    lets say you have max event on 1 map is 20!! if more event on map (you have other event on map). Make sure 1-20 is player & enemy!!
    this is the step I'm suggesting ( try tweak it )

    note: notetag is the object on left top corner
    START
    <type:battleStart>
    Make sure every switch and variable you want to use turn false (switch) and 0 (variable). Or making 1 common event to reset all switch and variable to default number is a must.
    for my idea is using switch 101-120 and variable 101-120
    Player Turn
    <type:actorTurn>
    1. check every switch 101-120.. which one is is ON
    2. ex: 101 mean event 1
    3. if ON.. check the variable.
    4. If the value is not 0 => decrease the variable
    5. if the value is 0
      • erase the event
      • turn switch into OFF
    after action
    <type:afterAction>
    check every event (player & enemy). Which player and enemy have 0!! if 0 turn on the switch.
    example: event 5 (hp:0) turn on switch 105. to check using this!!​
    this.isUnitParams(variableId, eventId, key);​
    Be warned.. if checking empty event can make your game crash..

    to avoid problem, follow this step
    1. check every switch from 101-120
    2. if the switch ON,
      • check the unit HP
        this.isUnitParams(variableId, eventId, key);​
      • If HP > 0. Turn Off the switch
      • If HP > 0. Make the variable turn into 0
    3. if the switch OFF
      • check the unit HP
        this.isUnitParams(variableId, eventId, key);​
      • If HP == 0. Turn On the switch
      • If HP == 0. Make the variable turn into 3
      this step kinda tricky.. because if the event is remove, it can showing crash (hope not)
    this step kinda tricky, because you need to make sure the start and end number. I'm suggested on next part
    suggestion
    1. make 20 blank event on map without adding any tag.
    2. place 20 blank on right map.
    3. make 5 event for every turn (I count 5)
      • start battle
      • start actor
      • start enemy
      • after action
      • object
      place this on left corner
    4. DONT remove the event if you not use it
    5. use the 20 blank event for player or enemy
    ---

    related plugins
    DaichyYami said:
    Hii can someone help me please
    I am trying to make a tactical game like ffta (final fantasy tactics) but when I put the view I wanted the tactical slots it doesn't match
    This are the plugins I am using
    View attachment 301382View attachment 301379
    sory.. this request kinda advance, because needed to edit the display (the blue block).
  10. Hi all, I started playing around with RPG Maker recently and in particular with the SRPG Engine plug-in, so apologies in advance if I ask a stupid question, but a search of this thread did not provide any results...

    In short, in my map I have two doors and a couple other objects. Everything seems to work more or less as expected, except that both player and enemies can go through the doors with no problem, irrespective of whether the door is open or closed (the doors as such works fine if I don't call the plugin). The situation does not change by tagging the door with <type : playerEvent> (it only allows me to trigger the open/close the animation in SRPG battle mode but does not change the passability). I can make the door not passable with the tag <type : object> but this makes the door not passable even when it is open.

    Do you have any explanation for this behaviour? Am I missing something obvius? Thanks in advance for any reply.
  11. tennoukishi said:
    Hi all, I started playing around with RPG Maker recently and in particular with the SRPG Engine plug-in, so apologies in advance if I ask a stupid question, but a search of this thread did not provide any results...

    In short, in my map I have two doors and a couple other objects. Everything seems to work more or less as expected, except that both player and enemies can go through the doors with no problem, irrespective of whether the door is open or closed (the doors as such works fine if I don't call the plugin). The situation does not change by tagging the door with <type : playerEvent> (it only allows me to trigger the open/close the animation in SRPG battle mode but does not change the passability). I can make the door not passable with the tag <type : object> but this makes the door not passable even when it is open.

    Do you have any explanation for this behaviour? Am I missing something obvius? Thanks in advance for any reply.
    While closed, the door event should have the <type: object> notetag, a non-tile graphic and the priority 'Same as characters' and the 'through' option NOT selected. To open the door and make it passable, a switch or other condition should activate a second event page, where the door event has the priority 'Below characters', the through option checked and no graphics image, 'type: object' events passability also depends on whether they have an image.

    You could also change the 'type: object' to anything that isn't 'object' to make it passable via scriptcommand, for example: $gameMap.event(XX)._srpgEventType = '';
  12. TheLastYuriSamurai said:
    So I did this by going into SRPG_Core and commenting out some lines. You might need to do so as well.
    Thanks! I finally made the change and just wanted to note for anyone in the future that the function for placing commands in the command window is:
    Window_ActorCommand.prototype.makeCommandList

    To remove the item command, comment out this line from it:
    this.addItemCommand();
  13. Borglor said:
    While closed, the door event should have the <type: object> notetag, a non-tile graphic and the priority 'Same as characters' and the 'through' option NOT selected. To open the door and make it passable, a switch or other condition should activate a second event page, where the door event has the priority 'Below characters', the through option checked and no graphics image, 'type: object' events passability also depends on whether they have an image.

    You could also change the 'type: object' to anything that isn't 'object' to make it passable via scriptcommand, for example: $gameMap.event(XX)._srpgEventType = '';
    Thanks for the tip about the door event, I tried it and indeed it works. There are a couple of drawbacks though:
    1. From a purely aesthetic standpoint, not using a "door open" sprite when the door is actually open makes the scene look kind of ugly
    2. Functionally, if I use <type : object>, then the door cannot be interacted with while in Battle Mode, unless I set up some kind of external event processing

    Besides this, I noticed another anomaly that was probably there from the beginning and I just didn't notice due to the movement range of the battlers, but when the door is passable (either because it has no type or has the type <type : playerEvent> or does not have a sprite associated) together with the door a whole section of wall adjacent to it becomes passable too. The whole wall is solid when the door is <type : object>. Any ideas as to why?

    Moving on to the script command suggestion, I was not able to make it work. I thought I could place the script command in the "closed" page of the door event in order to clear the object tag when the door was open (to be clear, this would be before the SRPG plugin gets called), but to no avail. I replaced XX with both this.eventId() and the actual database index and I also tried to change it with the method setType (i.e. $gameMap.event(this.eventId()).setType('')), to no avail.

    Am I misunderstanding something basic here or is implementing a standard door in SRPG battle mode way less straightforward than it seems?
  14. tennoukishi said:
    Thanks for the tip about the door event, I tried it and indeed it works. There are a couple of drawbacks though:
    1. From a purely aesthetic standpoint, not using a "door open" sprite when the door is actually open makes the scene look kind of ugly
    2. Functionally, if I use <type : object>, then the door cannot be interacted with while in Battle Mode, unless I set up some kind of external event processing

    Besides this, I noticed another anomaly that was probably there from the beginning and I just didn't notice due to the movement range of the battlers, but when the door is passable (either because it has no type or has the type <type : playerEvent> or does not have a sprite associated) together with the door a whole section of wall adjacent to it becomes passable too. The whole wall is solid when the door is <type : object>. Any ideas as to why?

    Moving on to the script command suggestion, I was not able to make it work. I thought I could place the script command in the "closed" page of the door event in order to clear the object tag when the door was open (to be clear, this would be before the SRPG plugin gets called), but to no avail. I replaced XX with both this.eventId() and the actual database index and I also tried to change it with the method setType (i.e. $gameMap.event(this.eventId()).setType('')), to no avail.

    Am I misunderstanding something basic here or is implementing a standard door in SRPG battle mode way less straightforward than it seems?
    I use Shoukang's "Advanced Interaction" plugin to trigger events in battle, which you can get here:
    Shoukang_SRPG_plugin/SRPG_AdvancedInteraction.js at main · ShoukangHong/Shoukang_SRPG_plugin
    It's very easy to use, add a <act: Open Door> notetag to the door event notetags, for example '<type: object><act: Open Door>'. If you place an actor next to the door, you should see the command in green text color in the command list, next to attack, wait etc.

    When you then pick that command, the active page of the event you're standing next to is run immediately after (has to be set to be triggered by action button, like most SRPG events).

    The simplest door event I could make looks like this, only needs one page. You walk a unit next to it and after triggering it, it remains half open and can be moved through.
    DoorEvent.png

    The event making the wall passable might have something to do with your plugin setup, it depends on which plugins you have and in which order and what the passability settings are for the tiles, terrain ids, x or o tiles and so on. But it sounds like the passability of the event is given priority over the passability of the wall.
  15. AngelYuko said:
    Thanks !

    I Will try to write something later.
    I Will probably post the result and my edit if I succeed to do something good enought

    EDIT : I finaly succeed to put the prediction window with @xabileug code !
    I just needed to change certain values (because my game is in 1110 width, not 864) and it looks pretty great (I will one day change background windows).

    But just a question. How did you remove the status windows in battle + how did you move the command window (I would like to put it up)?
    Hit / dmg / crit are not displayed (and I think it's because of the command window position. It is where hit / dmg / crit would be written)
    prediction window
    View attachment 287218

    Hey it's been a while lol.

    I recently re-worked on my game project.
    Can someone help me with my prediction window problem ? (quote message)
    I didn't succeed to remove the stats windows and I want to move the validation window (the window whre it's written "combattre / annuler") at the top of the screen instead of the bottom of the screen.

    Someone can help me ? (I used the code shared by xabileug in post post #3,035)
  16. Borglor said:
    I use Shoukang's "Advanced Interaction" plugin to trigger events in battle, which you can get here:
    Shoukang_SRPG_plugin/SRPG_AdvancedInteraction.js at main · ShoukangHong/Shoukang_SRPG_plugin
    It's very easy to use, add a <act: Open Door> notetag to the door event notetags, for example '<type: object><act: Open Door>'. If you place an actor next to the door, you should see the command in green text color in the command list, next to attack, wait etc.

    When you then pick that command, the active page of the event you're standing next to is run immediately after (has to be set to be triggered by action button, like most SRPG events).

    The simplest door event I could make looks like this, only needs one page. You walk a unit next to it and after triggering it, it remains half open and can be moved through.
    View attachment 307587

    The event making the wall passable might have something to do with your plugin setup, it depends on which plugins you have and in which order and what the passability settings are for the tiles, terrain ids, x or o tiles and so on. But it sounds like the passability of the event is given priority over the passability of the wall.
    Thanks a lot for the additional help. I think I understood the causes of some of the issues I was facing.

    First off, you were right, the wall issue had nothing to do with SRPG plugin, I found a workaround, not 100% happy about it but this is a topic for another thread :smile:

    Then I noticed that the script command you gave me apparently does not work unless SRPG Battle has started, so the issues I was experiemcing were due to me opening the door before starting the plugin.

    With that in mind, I downloaded the SRPG Advanced Interaction Plugin that you recommended and I was able to create, following the example you gave, a door that I could open in SRPG battle mode and that once open is passable despite having a sprite. However, unless I misunderstood something, once I have opened the door there is no way to close it again while in SRPG battle mode, because once the event is no longer of <type : object> it can no longer be interacted with.

    Am I wrong about that? If I am not wrong, is there any way to close a door in SRPG battle mode that has an open sprite associated to it? Eventually I could live with the "no sprite" solution but if you have any insight to help me clear this last hurdle it would be very welcome!
  17. Is there a function I can call to refresh/redraw the actor command window? I'm experimenting with a command system where if you press Right or Left while in the command window, it adds a state that changes what Skill Type you're selecting from (e.g. switching from the list of Thunder Spells to Fire Spells).

    Adding the state works, but the new Skill Type doesn't show in the command window until I close out and open it again. If I could close and open it with a command or refresh it while open that would help.
  18. Hi everyone,

    I have a question regarding the feasibility of two skills. I am using the SRPG_AuraSkill plugin to make aura abilities and I'd like to make two that function like this:
    1. The actor will gain a bonus to a stat (Attack, Defense, etc) for every other actor around them.
    2. Same as the above skill but with one difference: the stat bonus is also granted to all adjacent actors, not just to the one with the aura.

    For example, if the actor is surrounded from all 4 sides by other actors, then with skill 1 the actor with the aura gains +4 Defense, but with skill 2, the actor with the aura and the actors surrounding them gain +4 Defense.

    Is it possible to make these skills?
  19. VengefulStrudel said:
    Hi everyone,

    I have a question regarding the feasibility of two skills. I am using the SRPG_AuraSkill plugin to make aura abilities and I'd like to make two that function like this:
    1. The actor will gain a bonus to a stat (Attack, Defense, etc) for every other actor around them.
    2. Same as the above skill but with one difference: the stat bonus is also granted to all adjacent actors, not just to the one with the aura.

    For example, if the actor is surrounded from all 4 sides by other actors, then with skill 1 the actor with the aura gains +4 Defense, but with skill 2, the actor with the aura and the actors surrounding them gain +4 Defense.

    Is it possible to make these skills?
    For option 1, you technically don't need auraskill since you are applying the state to the user. You would need a plugin or some js to modify how atk/def are calculated.

    If you add this to a plugin:

    Code:
        var _paramPlusActor = Game_Actor.prototype.paramPlus;
        Game_Actor.prototype.paramPlus = function(paramId) {
            let value = _paramPlusActor.call(this, paramId);
            var user = this;
            this.states().forEach(function(state) {
                if (state.meta.maxHp && paramId == 0) {
                    value += Number(eval(state.meta.maxHp));
                }
                if (state.meta.maxMp && paramId == 1) {
                    value += Number(eval(state.meta.maxMp));
                }
                if (state.meta.atk && paramId == 2) {
                    value += Number(eval(state.meta.atk));
                }
                if (state.meta.def && paramId == 3) {
                    value += Number(eval(state.meta.def));
                }
                if (state.meta.mat && paramId == 4) {
                    value += Number(eval(state.meta.mat));
                }
                if (state.meta.mdf && paramId == 5) {
                    value += Number(eval(state.meta.mdf));
                }
                if (state.meta.agi && paramId == 6) {
                    value += Number(eval(state.meta.agi));
                }
                if (state.meta.luk && paramId == 7) {
                    value += Number(eval(state.meta.luk));
                }
            })
            return value;
        };

    You can then specify as a note tag for the passive state that <atk:this.surroundedUnits()>

    You would also need to calculate how many units are surrounding the user
    this.event().posX() , this.event().posY()
    Note you would need to make the surroundedUnits() function

    For option 2, that is a bit harder because now we are applying states to other units and this (the javascript 'this' object) will refer to the unit with the state and not necessarily the 'aura-giver'. I don't think the aura-giver is saved in the AuraSkill.js so it'll require some js tinkering to achieve this
  20. boomy said:
    For option 1, you technically don't need auraskill since you are applying the state to the user. You would need a plugin or some js to modify how atk/def are calculated.

    If you add this to a plugin:

    Code:
        var _paramPlusActor = Game_Actor.prototype.paramPlus;
        Game_Actor.prototype.paramPlus = function(paramId) {
            let value = _paramPlusActor.call(this, paramId);
            var user = this;
            this.states().forEach(function(state) {
                if (state.meta.maxHp && paramId == 0) {
                    value += Number(eval(state.meta.maxHp));
                }
                if (state.meta.maxMp && paramId == 1) {
                    value += Number(eval(state.meta.maxMp));
                }
                if (state.meta.atk && paramId == 2) {
                    value += Number(eval(state.meta.atk));
                }
                if (state.meta.def && paramId == 3) {
                    value += Number(eval(state.meta.def));
                }
                if (state.meta.mat && paramId == 4) {
                    value += Number(eval(state.meta.mat));
                }
                if (state.meta.mdf && paramId == 5) {
                    value += Number(eval(state.meta.mdf));
                }
                if (state.meta.agi && paramId == 6) {
                    value += Number(eval(state.meta.agi));
                }
                if (state.meta.luk && paramId == 7) {
                    value += Number(eval(state.meta.luk));
                }
            })
            return value;
        };

    You can then specify as a note tag for the passive state that <atk:this.surroundedUnits()>

    You would also need to calculate how many units are surrounding the user
    this.event().posX() , this.event().posY()
    Note you would need to make the surroundedUnits() function

    For option 2, that is a bit harder because now we are applying states to other units and this (the javascript 'this' object) will refer to the unit with the state and not necessarily the 'aura-giver'. I don't think the aura-giver is saved in the AuraSkill.js so it'll require some js tinkering to achieve this
    Many thanks! This helps a lot. Regarding option 2, I had a feeling it would be trickier to make, I'll likely simplify it to do something else or stick with option 1. Thanks again for the help!