NoPiessadface

Veteran
Veteran
Joined
Feb 7, 2019
Messages
128
Reaction score
34
First Language
english
Primarily Uses
RMVXA
how o you create a warp skill? (trying to understand how it works)
 

NoPiessadface

Veteran
Veteran
Joined
Feb 7, 2019
Messages
128
Reaction score
34
First Language
english
Primarily Uses
RMVXA
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?
 

e463gx

Veteran
Veteran
Joined
Sep 26, 2013
Messages
48
Reaction score
14
Primarily Uses
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?
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.

You could have 722% change to hit, but the enemy has 75% chance to evade - which still results in a chance to evade. Yanfly's plugin changes that
 

Shoukang

Veteran
Veteran
Joined
Jan 28, 2021
Messages
68
Reaction score
82
First Language
Chinese
Primarily Uses
RMMV
@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.
demo AoEAnimation.gif

=======================================================================
@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.
 
Last edited:

MetalKing11417

Veteran
Veteran
Joined
Jul 7, 2018
Messages
129
Reaction score
85
First Language
english
Primarily Uses
RMMV
@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.
So can you set it up to limit the number of counterattacks?
 

Shoukang

Veteran
Veteran
Joined
Jan 28, 2021
Messages
68
Reaction score
82
First Language
Chinese
Primarily Uses
RMMV
So can you set it up to limit the number of counterattacks?
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;
the number here is the number of counterattacks you want.
before the for loop that embraces this code, add var 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?
 
Last edited:

MetalKing11417

Veteran
Veteran
Joined
Jul 7, 2018
Messages
129
Reaction score
85
First Language
english
Primarily Uses
RMMV
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;
the number here is the number of counterattacks you want.
before the for loop that embraces this code, add var 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'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.
 

Shoukang

Veteran
Veteran
Joined
Jan 28, 2021
Messages
68
Reaction score
82
First Language
Chinese
Primarily Uses
RMMV
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 AoE animation plugin, now the plugin command supports 4 AoE counterattack rules including yours.
how o you create a warp skill? (trying to understand how it works)
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.
demo adv interaction-wrap.gif
Edit: now the warp script call can also be used in unitEvents and objects.
 
Last edited:

akingofcrows

Villager
Member
Joined
Aug 14, 2021
Messages
8
Reaction score
0
First Language
English
Primarily Uses
RMMV
I fooled around with this plugin last night, Oh man is it fun. It froze on me one time while using a spear skill, but it's great otherwise!
 

e463gx

Veteran
Veteran
Joined
Sep 26, 2013
Messages
48
Reaction score
14
Primarily Uses
You are on a tear Shoukang! Any intention on doing a "Large Sprite" plugin that allows sprites to take up multiple spaces?
 

NoPiessadface

Veteran
Veteran
Joined
Feb 7, 2019
Messages
128
Reaction score
34
First Language
english
Primarily Uses
RMVXA
need help about AOE skills where i have an attack that's basically a nuke / signature move but i don't need to repeat it's animation on every single enemy like how weird it would be.
EDIT: also the aoe tiles lags like hell
 
Last edited:

Shoukang

Veteran
Veteran
Joined
Jan 28, 2021
Messages
68
Reaction score
82
First Language
Chinese
Primarily Uses
RMMV
Now the AoE Animation plugin will show map battle animation very similar to scene battle, without weird repeats (this needs to use my edited SRPG_DynamicAction). The AoE, combined with map battle animation makes the code very messy, I worked on this for a long time. Hopefully, there are no more bugs.
demo AoE animation-map battle.gif
I updated the show AoE range plugin algorithm so now it runs much faster.
You are on a tear Shoukang! Any intention on doing a "Large Sprite" plugin that allows sprites to take up multiple spaces?
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.

========================================================================
I'd like to summarize the current state of the SRPG engine and my work. I feel very emotional after looking at the progress we made. Overall, I'm very satisfied with the functionalities now.

I was long to make a game like Fire-Emblem, but also support spell skills (AoEs) similar to Might and Magic Heroes III. The first thing I thought about is RMMV. I tried several other SRPG projects before this one and found this is the best. It already has AoE and is good enough to build games. I worked on my game for months, during this time I realized that there are still many things that can be implemented, and there are also unfixed bugs that hinder my game development. The most urgent need for me at that time is to edit the move rule to make it Fire-Emblem-like and do pathfinding. I really like strategies so an enemy that keeps hitting the wall is a big NO to me. I'm really thankful to Dopan and boomy's help at that time. Affected by them, I chose to solve rather than ask. I learned to code and spent most of my spare time on plugin development.

Now, the move method plugin and modified move table plugin fully support the move types in different matrices. The terrain effect window plugin is the last piece to complete the terrain effects. During my plugin development, I finished a fundamental computing specialization on Coursera. Although it's a python course, it helps me greatly in almost all aspects of plugin development. Later, I contacted Ryan, and I was really glad he replied to me and resumed his activity here. We discussed together with boomy in the SRPG team, which is a great experience for me. And there comes the new battle preparation, AoE animation, and advanced interaction. I'm hopeful the coming new Demo will be very astonishing.

In all my plugins, I like MoveMethod the most, it has good algorithms for pathfinding and interesting move methods. But it seems it doesn't receive as much attention as the battle prepare plugin. I really hope everyone can try this plugin. Aura skill is also a great plugin but I think it's necessary to do some rework on it, the functions there have some couplings that are not so good, but it still does the job. The recent plugins are also great, especially AoE animation makes the game flow so much more comfortable, I like map battle a lot because it's compact and saves time. Have wrapping skills work correctly in Advanced interaction is also a very big achievement to me. I think the other plugins like show AoE range, Actor AI skill control, and move after action are small but very useful plugins. They are all essential to the game in my mind.

Building the plugins is not easy, I often spent a whole weekend staring at the screen. This is especially true for some really hard plugins. Trying to figure out what's going wrong is not fun, especially when some code in the core plugin is messy. I'd prefer to solve hard algorithm questions on Leetcode instead. It's the love of SRPG that supports me to push the plugins to perfection. So far, I can see that it's almost there.

Something I still like to work on is the AGI Attack plus. I also want to work on the status window. I want to make more pages to show more detailed enemy information. I'm also thinking about making battlers do at most 1 counterattack per round. After that, I think most of my needs are fulfilled. There's still something I feel powerless about. Multiple teams are almost impossible because of how the plugin is initially designed. It also seems pretty hard to create enemies that can level up like actors. This hinders me from making a game similar to the Ancient Empire on Android, which is also a game I really like. I'm not sure about exchange items, rescue, and other interactions, they are not my interest, but I hope one day they can be realized. Another sad thing is that it seems that the author Gakuto Mikagami announced the end of the activity on his game and plugin development. I really hope he can take a look at the new feature we made.
I'm not developing my game right now and maybe not in recent years, because I want to sharpen my coding skills. I think I will eventually complete a fire-emblem-like game with this plugin, which may take years or even 10 years since I plan to tell a long story. During the time, I may want to create some new mini-games with Python. The idea of building up a new system is really exciting to me.
Thank you for reading this long self-expression to the end. I just want to share my feeling and excitement about the progress. I will need to take a break for some time but I will stay active on this forum. I hope my story can inspire more people to dig and dig deeper into the code and eventually make great plugins and great games.
 
Last edited:

e463gx

Veteran
Veteran
Joined
Sep 26, 2013
Messages
48
Reaction score
14
Primarily Uses
Exp Control works perfectly, thank you for that!

As for Large Sprites, if anyone is interested in taking it on, Yanfly has an Event Hitbox Resize that Kind of works. It allows you to select them, interact with them via Shoukang's Advanced Interaction, and everything but doesn't allow you to attack them or move them. May be a good starting point if it's able to be converted to SRPG.
 
Last edited:

NoPiessadface

Veteran
Veteran
Joined
Feb 7, 2019
Messages
128
Reaction score
34
First Language
english
Primarily Uses
RMVXA
I got a loads of errors when I inserted the new updated plugins

Show AOE Range is on
Screenshot (137).png

Without Show AOE Range
Screenshot (138).png

or am i stupid or what?
 

Shoukang

Veteran
Veteran
Joined
Jan 28, 2021
Messages
68
Reaction score
82
First Language
Chinese
Primarily Uses
RMMV
Last edited:

NatePlays

Veteran
Veteran
Joined
Dec 12, 2018
Messages
87
Reaction score
51
First Language
English
Primarily Uses
RMMV
@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).
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)];
};
Simple stuff, so I don't have to set that enemy's weapon animation every time.

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.
        }
    }
};
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.
1629921039978.png
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:
1629920409935.png
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.

1629920659490.png
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.
 
Last edited:

e463gx

Veteran
Veteran
Joined
Sep 26, 2013
Messages
48
Reaction score
14
Primarily Uses
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.

The Enemy Weapons idea is a phenomenal idea, that would help clean up the enemy database a lot!

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.

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
 
Last edited:

MetalKing11417

Veteran
Veteran
Joined
Jul 7, 2018
Messages
129
Reaction score
85
First Language
english
Primarily Uses
RMMV
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.
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
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.
 

Shoukang

Veteran
Veteran
Joined
Jan 28, 2021
Messages
68
Reaction score
82
First Language
Chinese
Primarily Uses
RMMV
@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).
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)];
};
Simple stuff, so I don't have to set that enemy's weapon animation every time.

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.
        }
    }
};
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.
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.
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.
I also updated the SRPG_DynamicAction to fix some bugs for AoE Animation.
I tested the updated plugins with the entire demo battle 2 and it runs smoothly.
 

Latest Threads

Latest Profile Posts

My home state baseball team is going back to the World Series for the first time since 1999. I remember when they went in 1995 and won, that was like the best day of my life. (I'm a huge baseball fan and yes I'm talking about the Braves).
FL Studio is a huge step up from LMMS but I'm having such a tough time with it D:<
The new Dune movie reminds me of the game Dune 2 made by Westwood. A quality product on its own, but extremely disloyal to its source of inspiration.
Terrible Writing Advice, you've done it again.
1635026211997.png

Forum statistics

Threads
116,041
Messages
1,095,232
Members
151,386
Latest member
sheyzo
Top