Any status updates on the "On Map Battle" feature? This system is incredibly powerful for being so simple and I love all the support so far. Using the system as is works perfectly for my game but changing scenes for every attack isn't quite the style I'm aiming for.
MV - SRPG Engine MV - Plugins for creating Tactical Battle System
● ARCHIVED · READ-ONLY
-
-
From what I can gather, the length of your gauge has an infinite length.
As a user of that plugin, I can attest that gauges doesn't stretches on screen resize. There must be a function somewhere that overrides the finite gauge length, causing the error. Try putting SRPG Core at the bottom?
Yeah, I thought it must something in that plugin which I could make a minor change to. Changing the order of the plugins doesn't seem to have an effect. The error occurs whenever I click on an enemy to show their status screen, so I'm not sure if it's something I need to change in SRPG Core or SRD's plugin. -
Any status updates on the "On Map Battle" feature? This system is incredibly powerful for being so simple and I love all the support so far. Using the system as is works perfectly for my game but changing scenes for every attack isn't quite the style I'm aiming for.
I am apparently on a roll for "Conveniently, I was just working on...", as I spent the day getting a mostly-working prototype for an on-map-battle system working, based on the code that lets you use skills from the menu.
There's a few more kinks to work out before I can let people try it, namely trying to make counter attacks, multi-hit, and turn order work correctly, and making the damage pop-ups and hit/miss notifications appear, so you can tell any of what's happening during the attack.
As a heads up: This is not going to be highly configurable or support having characters animate and move around a bunch; that might come later, or maybe whoever was working on the other one will pull it off. This is trying to make it function, and look acceptable. -
For anyone familiar with 'refreshing' units in Fire Emblem(ie. Singers and Dancers), that effect can be replicated with Yanfly's Skill Core.
With a skill that targets an ally, place the following in the notetag box(Or, well, add the single enabling line to the skill somewhere)
Code:<After Eval> target._srpgTurnEnd = false; </After Eval>
For Galeforce actions or conditional skills that grant the USER another turn, simple change 'target' to 'user' or whatever applicable target you wish. -
I noticed this isn't compatible with Ultra Mode 7, and while not a request per se, making it become so would allow people to make some pretty visually interesting stuff with the high reslution of MV and custom art.
Think this.

It seems almost compatible, with two issues (one easy to fix, one less so):
The map image is clearly inverted somehow, which should be a matter of merely flipping the visual output.
BUT then there's the move display range which would have to be mode-7ed which might be more trouble than it's worth..
So, IDK, if anyone feels like tackling this, I'm sure something nice would be born out of it! -
So, update, if making a state that allows your unit to make another action after already moving under a condition, and for some reason you don't wanna just increase the action time normally via the editor, you have to use ANOTHER method than the one I listed since the turn end only happens after combat. An example of a conditional Galeforce would be thus:
Code:<Custom Confirm Effect> //Check if damage is high and user has not proced this effect this turn if (value >= 100 && !user.isStateAffected(45)) { user._SRPGActionTimes = 2; //Or user._SRPGActionTimes += 1 if you intend to go higher user.addState(45); //Adds an empty 1 Turn state to show this effect has been used this turn }; </Custom Confirm Effect>
Now a question of my own: Has anyone gotten Yanfly's Skill Cooldowns to work? I see no working effect with the SRPG engine. -
Hi, I just started trying out this system, and I can't get the battle to start. I put in the correct plugin command and the plugin is on as well. Also, I had to put in a substitute png for ''srpg_set', because the game won't start unless there is one, but I'm not sure what that is. Is there anything I'm doing wrong?
-
I am apparently on a roll for "Conveniently, I was just working on...", as I spent the day getting a mostly-working prototype for an on-map-battle system working, based on the code that lets you use skills from the menu.
There's a few more kinks to work out before I can let people try it, namely trying to make counter attacks, multi-hit, and turn order work correctly, and making the damage pop-ups and hit/miss notifications appear, so you can tell any of what's happening during the attack.
As a heads up: This is not going to be highly configurable or support having characters animate and move around a bunch; that might come later, or maybe whoever was working on the other one will pull it off. This is trying to make it function, and look acceptable.
Keep up the good work home-slice, would love to see a working prototype, even without animations. -
Here we go: An in-progress but largely usable version of MapAttack, and also MoveEffects, a collection of script calls you can use to push, pull, charge closer, or swap positions as part of a skill. MoveEffects work even without MapAttack, but I find they work best together.
[EDIT] There's a crash in MapAttack if you aren't using Yanfly's Battle Engine Core, due to enemies not having a default attack animation. -
@Doktor_Q is it possible to teleport by this?
-
Not to arbitrary empty cells, since you can only use skills on other units. You can swap positions with your target, or warp to the open tile closest to them, though.@Doktor_Q is it possible to teleport by this?
-
Do you think it would be viable to code a way to select an empty tile, as in SPECIFICALLY only an empty tile that is passable for the user, as a 'target'? Obvious not grabbing data from an Actor or Enemy, but a tile to feed the x and Y and terrain tag and what not?Not to arbitrary empty cells, since you can only use skills on other units. You can swap positions with your target, or warp to the open tile closest to them, though.
-
Do you think it would be viable to code a way to select an empty tile, as in SPECIFICALLY only an empty tile that is passable for the user, as a 'target'? Obvious not grabbing data from an Actor or Enemy, but a tile to feed the x and Y and terrain tag and what not?
I̶t̶'̶s̶ ̶p̶o̶s̶s̶i̶b̶l̶e̶,̶ ̶b̶u̶t̶ ̶y̶o̶u̶'̶d̶ ̶h̶a̶v̶e̶ ̶t̶o̶ ̶w̶r̶i̶t̶e̶ ̶c̶o̶m̶p̶l̶e̶t̶e̶l̶y̶ ̶n̶e̶w̶ ̶s̶k̶i̶l̶l̶-̶s̶e̶l̶e̶c̶t̶i̶o̶n̶ ̶c̶o̶d̶e̶ ̶f̶o̶r̶ ̶i̶t̶.̶ ̶I̶'̶v̶e̶ ̶m̶a̶n̶a̶g̶e̶d̶ ̶t̶o̶ ̶m̶a̶k̶e̶ ̶s̶k̶i̶l̶l̶s̶ ̶t̶h̶a̶t̶ ̶t̶e̶l̶e̶p̶o̶r̶t̶ ̶t̶h̶e̶ ̶u̶s̶e̶r̶ ̶t̶o̶ ̶a̶n̶ ̶e̶m̶p̶t̶y̶ ̶s̶p̶a̶c̶e̶ ̶t̶h̶r̶o̶u̶g̶h̶ ̶v̶e̶r̶y̶ ̶j̶a̶n̶k̶y̶ ̶u̶s̶e̶ ̶o̶f̶ ̶A̶o̶E̶s̶ ̶a̶n̶d̶ ̶c̶o̶m̶m̶o̶n̶ ̶e̶v̶e̶n̶t̶s̶,̶ ̶(̶$̶g̶a̶m̶e̶T̶e̶m̶p̶.̶a̶c̶t̶i̶v̶e̶E̶v̶e̶n̶t̶(̶)̶.̶l̶o̶c̶a̶t̶e̶(̶$̶g̶a̶m̶e̶T̶e̶m̶p̶.̶a̶r̶e̶a̶X̶(̶)̶,̶ ̶$̶g̶a̶m̶e̶T̶e̶m̶p̶.̶a̶r̶e̶a̶Y̶(̶)̶)̶,̶ ̶b̶u̶t̶ ̶i̶t̶'̶d̶ ̶t̶a̶k̶e̶ ̶a̶n̶ ̶a̶m̶o̶u̶n̶t̶ ̶o̶f̶ ̶e̶l̶b̶o̶w̶ ̶g̶r̶e̶a̶s̶e̶ ̶t̶o̶ ̶s̶e̶t̶ ̶u̶p̶ ̶a̶l̶l̶ ̶t̶h̶e̶ ̶c̶h̶e̶c̶k̶s̶ ̶t̶o̶ ̶h̶a̶v̶e̶ ̶i̶t̶ ̶a̶c̶t̶i̶v̶a̶t̶e̶ ̶a̶s̶ ̶s̶o̶o̶n̶ ̶a̶s̶ ̶y̶o̶u̶ ̶p̶i̶c̶k̶e̶d̶ ̶t̶h̶e̶ ̶p̶o̶s̶i̶t̶i̶o̶n̶ ̶a̶n̶d̶ ̶v̶e̶r̶i̶f̶y̶ ̶t̶h̶a̶t̶ ̶t̶h̶e̶ ̶p̶o̶s̶i̶t̶i̶o̶n̶ ̶i̶s̶ ̶a̶v̶a̶i̶l̶a̶b̶l̶e̶.̶
[EDIT: Easier than expected.]
Made a NoTargetSkill plugin to do it. If you set the skill's scope to "None," it lets you select unoccupied tiles, though for technical reasons it counts as targeting the user. You can restrict the allowed terrain tags with the <srpgTargetTag:X> notetag on the skill, and if you specify <srpgTargetTag:-1> it'll default to the user's srpgThroughTag settings (especially good for teleport skills).
While the simplest skill is just making a teleport skill ( $gameTemp.activeEvent().locate($gamePlayer.posX(), $gamePlayer.posY()) ), you could couple it with some more eventing, and maybe one of the create/copy event plugins and make a summoning skill, or an FFT:A2 style Phoenix Down that re-summons a defeated ally- all sorts of things.
Also made a few changes to MoveEffects while I was at it.
Most of the features in MapAttack are working now, but I need to make some changes to SRPG_core, so I'll have to figure out how to handle those before I can release the full thing, unfortunately. -
Man, you really knocked it out of the park with these updates Doktor Q, thanks for the dedication!!!! These are awesome
-
@Doktor_Q
AHAHAHA. I had already edited SRPG core to make targetting empty spaces possible, but the fact that yours comes in plugin form is hella better, thank god, I've messed up with my SRPG Core so much custom counter ranges that I dread the next big update. Your code looks so much better, I actually have a question since it seems I'm missing something. Is it also possible to modify a units movement range based on other events?
For instance, there is a skill in Fire Emblem Heroes called 'Wings of Mercy' In addition to the user's default range, they can also warp adjacent to any ally on the map with HP lower than 70%. Do you think there is a way to make an eval that allows for such? I cannot wrap my head around it given how the move table is drawn.
ALSO, for anyone using Yanfly Damage Core: If you are using a custom damage flow that makes the prediction window at the start of battle wonky, you can replace the block of code that starts with "Game_Action.prototype.srpgPredictionDamage = function(target) {" with the following:
Code:Game_Action.prototype.srpgPredictionDamage = function(target) { var item = this.item(); if (this.item().damage.type > 0) { var baseValue = this.makeDamageValue(target); } else { var baseValue = 0; } var value = baseValue; // item.effects.forEach(function(effect) { // value -= this.srpgPredictionItemEffect(target, effect); // }, this); return Math.round(value); }; -
@Doktor_Q
For instance, there is a skill in Fire Emblem Heroes called 'Wings of Mercy' In addition to the user's default range, they can also warp adjacent to any ally on the map with HP lower than 70%. Do you think there is a way to make an eval that allows for such? I cannot wrap my head around it given how the move table is drawn.
That seems... more complicated, but might be doable in a similar way to implementing Line of Sight- specifically, the plugin I wrote checks if a cell is in range by seeing if that cell is in the rangeTable instead of trying to recalculate. This has the advantage of continuing to work even when the code to determine the range changes. What that means is, if you had a way to modify how the range table for your skill works, you could just make it generate more "in range" cells to tweak where you're allowed to teleport. -
The modifying of the table is what I have trouble doing. Specifically on eval'ing other events and their unit data. But I see what you mean, thanks for the consideration/input.That seems... more complicated, but might be doable in a similar way to implementing Line of Sight- specifically, the plugin I wrote checks if a cell is in range by seeing if that cell is in the rangeTable instead of trying to recalculate. This has the advantage of continuing to work even when the code to determine the range changes. What that means is, if you had a way to modify how the range table for your skill works, you could just make it generate more "in range" cells to tweak where you're allowed to teleport.
-
So, I've put in my proposed changes to SRPG_Core for review on the original GitHub. Once those have been integrated, I'll be able to push forward with releasing the MapAttack plugin, and another one I'm working that lets you define specific motions for events instead of just sideview battlers, and then have specific ones play automatically during SRPG battles- for example, taking damage or dodging, using certain skills, etc.
-
I...completely forgot about the github thing. I should upload my own variant, as I have created a system of unique counter attack ranges as compatibility with Yanfly's Absorption Barriers visual. Er, however, the fact that I've editted the core to work with OTHER plugins may be an issue.
-
I...completely forgot about the github thing. I should upload my own variant, as I have created a system of unique counter attack ranges as compatibility with Yanfly's Absorption Barriers visual. Er, however, the fact that I've editted the core to work with OTHER plugins may be an issue.
Yeah, that's probably not something you'd want to push into the master branch, unless it's universally applicable. My changes are, aside from a couple bug fixes, mostly about exposing all of the new window and sprite typings in the global scope, so that extensions can modify the windows without having to completely redefine them. The battle results window is the specific one that's been giving me pain, for both UX+ and MapAttack.