- Joined
- Feb 7, 2019
- Messages
- 190
- Reaction score
- 55
- First Language
- english
- Primarily Uses
- RMVXA
how o you create a warp skill? (trying to understand how it works)
I like to use Yanfly's Hit Accuracy plugin - it changes the way the hit% is calculated. Default has two formulas - % chance to hit followed by % chance to evade.I had set a weapon with max hit rate (722% on prediction window) however it actually missed the attack. Is it a bug or something?
So can you set it up to limit the number of counterattacks?@All
I'm happy to release this new version of SRPG_AoEAnimation. It's initiated by boomy and refined by me. This new version places actors and enemies based on their relative position on the map. It also supports counterattacks from multiple units to keep consistent with the map battle. The counterattack distance is also correctly calculated. As we discussed with Ryan, this refined version will be included in the future SRPG demo, so you can consider this as a semi-official version.
The plugin parameters are very different from boomy's version, so you can reset the parameters if you were using boomy's version.
View attachment 198953
=======================================================================
@NatePlays, I refactored some functions in AoEAnimation to prepare for the Agi Attack plugin. If you still have the passion to make an agi attack plugin, I believe now it's much easier. Just override my Scene_Map.prototype.srpgAgiAttackPlus in the AoEAnimation and override the BattleManager.makeActionOrders in the core plugin should work. If you instruct users to turn off the useAgiAttackPlus parameter in Core, then everything about the follow-up attack is under your control.
Find the following code:So can you set it up to limit the number of counterattacks?
if (userType !== targetType && target.canMove() && !user.currentAction().item().meta.srpgUncounterable) {
if (counter < number && userType !== targetType && target.canMove() && !user.currentAction().item().meta.srpgUncounterable) {
counter += 1;
number
here is the number of counterattacks you want.var counter = 0;
I'd prefer the first viable unit. If that is the target, ok. If it is the last unit or some unit in the middle, in the counted sequence, then do that one.Find the following code:
if (userType !== targetType && target.canMove() && !user.currentAction().item().meta.srpgUncounterable) {
replace it with
if (counter < number && userType !== targetType && target.canMove() && !user.currentAction().item().meta.srpgUncounterable) { counter += 1;
thenumber
here is the number of counterattacks you want.
before the for loop that embraces this code, addvar counter = 0;
This is just a temporary solution, the map view battle will not be affected. I may update the plugin in the future to make a formal solution.
P.S. Do you prefer to have only the target in the AoE center to counterattack or do you prefer to have limited numbers of counterattacks?
I updated the AoE animation plugin, now the plugin command supports 4 AoE counterattack rules including yours.I'd prefer the first viable unit. If that is the target, ok. If it is the last unit or some unit in the middle, in the counted sequence, then do that one.
I updated the advanced interaction plugin to create warp skills. It's quite different from other types of interactions. See the plugin help to set up your skill.how o you create a warp skill? (trying to understand how it works)
The algorithm can be very hard. And I'm not very into large units. But I made an exp control plugin to help customize the exp of a skill. For item exp, you can simply set the exp rate in core to 0.You are on a tear Shoukang! Any intention on doing a "Large Sprite" plugin that allows sprites to take up multiple spaces?
The version of JS on your computer is too old, that's the reason. You need to figure a way to update it. Maybe by updating the libs folder in the js folder.I got a loads of errors when I inserted the new updated plugins
Show AOE Range is on
View attachment 199424
Without Show AOE Range
View attachment 199425
or am i stupid or what?
//-------------------------------------------------
// Hook Animated Enemies' weapons with SRPG Weapons
//
Game_Enemy.prototype.weapons = function() {
if(this._animated) return [$dataWeapons[Number(this.enemy().meta.srpgWeapon)]];
else return [1];
};
Game_Enemy.prototype.hasNoWeapons = function() {
return !$dataWeapons[Number(this.enemy().meta.srpgWeapon)];
};
// Add timer to close the window
//====================================================================
// ●Window_SrpgBattleResult
//====================================================================
var _alias_WindowBattleResult_Initialize = Window_SrpgBattleResult.prototype.initialize
Window_SrpgBattleResult.prototype.initialize = function(pos) {
_alias_WindowBattleResult_Initialize.call(this, pos);
this._waitCount = _delayBattleEnd;
this._finishing = false;
};
Window_SrpgBattleResult.prototype.updateWait = function() {
//console.log(this._waitCount);
if (this._waitCount > 0) {
this._waitCount--;
return true;
} else return false;
};
var _alias_WindowBattleResult_UpdateData = Window_SrpgBattleResult.prototype.updateData;
Window_SrpgBattleResult.prototype.updateData = function() {
_alias_WindowBattleResult_UpdateData.call(this);
//console.log('open: ' + String(this._openness));
if (this._changeExp == 1) this._finishing = true;
if ((this._openness > 0) && (this._finishing)) {
if (!this.updateWait()) {
BattleManager.endBattle(3); //this one is what quits the Battle Scene
// Map Battle would close the battle another way.
}
}
};
My suggestions for core edits? Rewrite the extra attack thing to be more cohesive, because as of now, it is all over the place, functions scattered around the code parts. Support for YEP_BattleCore is still iffy, as battle animations break, but most importantly, you can't make custom status effects, which is a bit sad. Also, have the enemy srpg weapon be an array in Game_Enemy like it is in Game_Actor, so you can randomize or change weapons in enemies on the fly without needing to create entirely new entries.
My next plans? Some kind of exp system taking both actor and enemy levels. You all did so much stuff that I only need to tweak menus and visual stuff for what my game needs, honestly. I could take a look at the other plugins but honestly, I'm the weakest coder here.
My next plans? Some kind of exp system taking both actor and enemy levels. You all did so much stuff that I only need to tweak menus and visual stuff for what my game needs, honestly. I could take a look at the other plugins but honestly, I'm the weakest coder here.
A dedicated enemy level plug-in for SRPG would be nice- I mean, even if you don't want to create it wholesale, being able to have some of the more popular enemy level plug-ins such as yanfly's both display their levels in the enemy level area and be able to interact with the Exp system would be good on its own.This would be a game changer! Fully supported! Thanks for all those great contributions Nate!
Question: Is there a plugin already made that allows you to select two different character files for idle and walking? My game got corrupted a few weeks ago and I'm rebuilding it - but can't remember if I had that working or not
Nice Suggestions! I made the BattleResultAutoClose plugin so your code now supports both map battle and scene battle. I made AgiAttackControl, to deal with Agi attacks. To make the map battle Agi attack work it needs the newly updated AoE Animation. AgiAttack control supports AoE Agi attack and supports Agi attack that does no cost.@Shoukang Wow. I'm amazed with all the work you've been putting on this. All this progress and discovery has been motivating me a lot (and following your tip, MV plugin stuffs got me a headstart to my programming classes at uni), yet I haven't touched neither my personal project nor plugins for weeks, for personal reasons. Last thing I did was a seamless map/battle music change which is still very early because MV really doesn't like loading .OGGs on time.
As a thank you note for you and boomy and everyone at the SRPG team, I want to share how I've personally edited the core to my liking (including the fabled FollowUp Attack I couldn't make as a separate plugin).
Simple stuff, so I don't have to set that enemy's weapon animation every time.JavaScript://------------------------------------------------- // Hook Animated Enemies' weapons with SRPG Weapons // Game_Enemy.prototype.weapons = function() { if(this._animated) return [$dataWeapons[Number(this.enemy().meta.srpgWeapon)]]; else return [1]; }; Game_Enemy.prototype.hasNoWeapons = function() { return !$dataWeapons[Number(this.enemy().meta.srpgWeapon)]; };
This adresses my greatest annoyance with the engine: the battle didn't end until you pressed OK. It was annoying in a game designed like FE, with lots of enemy action per turn. This fix makes it so you can sit and watch Enemy Phase unbothered, until there's dialogue or it's Player Phase again.JavaScript:// Add timer to close the window //==================================================================== // ●Window_SrpgBattleResult //==================================================================== var _alias_WindowBattleResult_Initialize = Window_SrpgBattleResult.prototype.initialize Window_SrpgBattleResult.prototype.initialize = function(pos) { _alias_WindowBattleResult_Initialize.call(this, pos); this._waitCount = _delayBattleEnd; this._finishing = false; }; Window_SrpgBattleResult.prototype.updateWait = function() { //console.log(this._waitCount); if (this._waitCount > 0) { this._waitCount--; return true; } else return false; }; var _alias_WindowBattleResult_UpdateData = Window_SrpgBattleResult.prototype.updateData; Window_SrpgBattleResult.prototype.updateData = function() { _alias_WindowBattleResult_UpdateData.call(this); //console.log('open: ' + String(this._openness)); if (this._changeExp == 1) this._finishing = true; if ((this._openness > 0) && (this._finishing)) { if (!this.updateWait()) { BattleManager.endBattle(3); //this one is what quits the Battle Scene // Map Battle would close the battle another way. } } };
View attachment 199552
to change that for Map Battle as well it should be around here, but I don't know really.
Now for the juicy core changes:
View attachment 199549
Inside Battle Manager, I made it so the speed difference is now a fixed number, and it will either give you 0% or 100% chance to double. You could probably hook some functions here to make skills make triple attacks like Thracia or similar. Using the already set variable as the minimum difference.
I didn't change it on Map Battle yet (as I don't plan on using map battle), but should be simple enough.
View attachment 199551
This is the edit present on my FollowUpBasicAttack plugin posted a while back, which as the name suggests, makes your follow up attack be your character/weapon's attack, not the skill you used. This removes problems like using a skill twice, paying the cost twice, and then having no MP for the next turn. It is compatible with the basic WeaponSkill and the built-in SRPG weapon skill notetag.
For example, using a weapon with Fire Slash as the skill makes all your follow attacks be Fire Slash. They still follow target, cost and range rules, as per engine.
I also edited the windows, because the original setup wasn't very user friendly, but it was basic stuff (removing range and skill name, adding critical hit chance, (wip) adding a followup attack indicator, and most important, clamping the hit numbers from 0 to 100. Please, make this change on the core, it's so simple it hurts)
That should be all the stuff I did (aside prokect-exclusive plugins like level ups and battle music that are still in their infancy). If any of you request it I can send my whole edited core, in case I missed some stuff.
My suggestions for core edits? Rewrite the extra attack thing to be more cohesive, because as of now, it is all over the place, functions scattered around the code parts. Support for YEP_BattleCore is still iffy, as battle animations break, but most importantly, you can't make custom status effects, which is a bit sad. Also, have the enemy srpg weapon be an array in Game_Enemy like it is in Game_Actor, so you can randomize or change weapons in enemies on the fly without needing to create entirely new entries.
My next plans? Some kind of exp system taking both actor and enemy levels. You all did so much stuff that I only need to tweak menus and visual stuff for what my game needs, honestly. I could take a look at the other plugins but honestly, I'm the weakest coder here.
I'm not abandoning my project nor this plugin (if I disappear it's because rpgmakerweb stops sending me notifications after a while), I'll just... take a good while to realize it, with university, other gamedev projects, and some other stuff I also want to take care of. I will be off for a month or three, but feel free to ping me nontheless.