SRPG Engine - [Add Votes for RTP] Plugins for creating Turn Based Strategy game

If I provided RTP for this project, what style would you choose? (not guaranteed to be applied)

  • RPG Maker MV style

  • RPG Maker MV in Tonbi tall sprite style

  • SRPG Studio style

  • Pioneer Valley Games style

  • Other style (please suggest it in comment section of this Thread)


Results are only viewable after voting.

Dopan

Veteran
Veteran
Joined
Mar 27, 2020
Messages
788
Reaction score
401
First Language
German
Primarily Uses
RMMV
@CarpenterScr

about SRPG_AIControl & SRPG_RangeControl :

Its always better to ask the Plugin Autor^^
(Plugin Autor knows Best)
My only advantage is that i can invest more time to answer Questions or work on the tutorial demos^^

about Terrain and MoveCost:
since there was a request in the Past to affect States on Terrain for changing the MoveCost with those States..
( in order to have FlyingUnits or CavalleryUnits that react diffrent on the terrain and the movement than "normal" units would do ect..)
I made the Plugin SRPG_TerrainStates.js . It basicly checks the terrain and the state which affects an Unit and changes the State depending on the Terrain. It was one of my earlier plugins and is not Plug & Play but it works^^ ( the setup is handled in a Common Event in the tutorial demos)
(And the States can use StateNotes from the SRPG_Core to change the MoveCost )
->thats how it works in the Tutorial Demos;- that Nymphe and Slimes are "fast on ice"(stateName)
Screenshot_2.png
..

For example if you have a flying unit and dont want it to be affected by the Terrain MoveCost Changes, you can add a TerrainState that works only on that "Event ID" ..
So if the Unit would lose movementRange because of the terrain ,you can give the same amount of movementRange back to that Unit with the extra TerrainState..

-> I hope that solves your problem..
 
Last edited:

CarpenterScr

Veteran
Veteran
Joined
Nov 2, 2020
Messages
59
Reaction score
5
First Language
english
Primarily Uses
RMMV
Q1: Is there anything that determines skill selection at all? Does SRPG take into account skill priorities set in the database (ie if a skill has a priority of 9 and another one a priority of 1, the former should be picked all the time whenever given the chance?)

Q2: I haven't been able to find a workaround so far. I'd be thrilled if the plugin could receive an edit to allow for exceptions, a tag like <nomovecost> would be wonderful for flying characters.

EDIT: for some reason Dopan's reply just magically appeared after I posted this. I'll try SRPG_TerrainStates.js thank you.
 

Dopan

Veteran
Veteran
Joined
Mar 27, 2020
Messages
788
Reaction score
401
First Language
German
Primarily Uses
RMMV
Q1: Is there anything that determines skill selection at all? Does SRPG take into account skill priorities set in the database (ie if a skill has a priority of 9 and another one a priority of 1, the former should be picked all the time whenever given the chance?)

Q2: I haven't been able to find a workaround so far. I'd be thrilled if the plugin could receive an edit to allow for exceptions, a tag like <nomovecost> would be wonderful for flying characters.

EDIT: for some reason Dopan's reply just magically appeared after I posted this. I'll try SRPG_TerrainStates.js thank you.

its not magic its because its on the next side i guess^^
(but nevermind stuff like this happens to me all the time)


however , about Q1:
i think that higher Score will affect the Skill selection as well as the default rpg engine Settings
Screenshot_1.png
--
Screenshot_2.png

like Doktor_Q explained it.. #1,100
--
about Q2:
perhaps that might be possible in the future, but for now you can just use SRPG_TerrainStates.js to handle that Issue..
---
Pls let me know if everything works fine and your problems are solved when your done^^
 
Last edited:

CarpenterScr

Veteran
Veteran
Joined
Nov 2, 2020
Messages
59
Reaction score
5
First Language
english
Primarily Uses
RMMV
I have a question regarding SRPG_AOE:
If I use the following tags:

<srpgRange:0>
<srpgAreaRange:1>
<srpgAreaType:side>
<srpgUncounterable>


for a skill centered on the skillcaster, instead of getting the side shape, I get a square around the skillcaster. What am I doing wrong?

As for SRPG_TerrainStates, I've looked into it and I'm not sure I understand very well how to use it.
Imagine I want my flying character (or enemy) NOT to lose an extra 1 move range on a terrain where, according to SRPG_RangeControl, the move cost is 2 instead of 1.
How am I supposed to do it?
 

Dopan

Veteran
Veteran
Joined
Mar 27, 2020
Messages
788
Reaction score
401
First Language
German
Primarily Uses
RMMV
I have a question regarding SRPG_AOE:
If I use the following tags:

<srpgRange:0>
<srpgAreaRange:1>
<srpgAreaType:side>
<srpgUncounterable>


for a skill centered on the skillcaster, instead of getting the side shape, I get a square around the skillcaster. What am I doing wrong?

As for SRPG_TerrainStates, I've looked into it and I'm not sure I understand very well how to use it.
Imagine I want my flying character (or enemy) NOT to lose an extra 1 move range on a terrain where, according to SRPG_RangeControl, the move cost is 2 instead of 1.
How am I supposed to do it?
About SRPG_Terrain States js
Screenshot_8.png
this Img from the Tutorial demos shows the setup for actor 9 (nymphe)
- the first part removes State 23 from the actor
(on terrain tag 0)
- the second part adds State 23 to the actor
(on terrain tag 1)
-> state 23 does this: (add 3 move points)
Screenshot_9.png
..
Terrain tag 1 has MoveCost 3 in the Tutorial demos
(makes all units use more movepoints)
Screenshot_10.png
---
That way the State that Nymphe gets on the terrain tag 1(ice) will balance out the higher MoveCost from terrain tag 1(ice)
-> its not a perfect solution but its the only one i can give you at the moment

About SRPG AOE
i think that has something to do with using dierectinal Aoe these need atleast range 1 to know what dierection they are using.. perhaps Doktor_Q can explain that better, aswell giving you a walkaround for what you want to make..
(sidenote: also an Img to show what you are doing or to show the Issue, is always helpfull)
 

CarpenterScr

Veteran
Veteran
Joined
Nov 2, 2020
Messages
59
Reaction score
5
First Language
english
Primarily Uses
RMMV
The way I understand, you have to do it with every single flying (exception) unit and every single tag (if you use more than 2)? A bit like that?

terrains.png

Wouldn't it be easier to just manage it via actors and enemies, with an exception tag such as:
<terrain1mc_exception>
That would automatically use 1 as move cost for the actor/enemy going through the considered terrain?
 

Dopan

Veteran
Veteran
Joined
Mar 27, 2020
Messages
788
Reaction score
401
First Language
German
Primarily Uses
RMMV
The way I understand, you have to do it with every single flying (exception) unit and every single tag (if you use more than 2)? A bit like that?

View attachment 166414

Wouldn't it be easier to just manage it via actors and enemies, with an exception tag such as:
<terrain1mc_exception>
That would automatically use 1 as move cost for the actor/enemy going through the considered terrain?
In your example Img you use the plugin Command SRPG_TerrainStates only one time for all Units and all Terraintags.. thats wrong

the Common Event in the Tutorial Demos uses the plugin Command SRPG_TerrainStates for each Unit & TerrainTag Setup..
Screenshot_1.png
Wouldn't it be easier to just manage it via actors and enemies, with an exception tag such as:
Im not sure .. srpgMovePlus is used in several Functions not only on terrain thats why i could use it with states for this plugin.When i made this plugin it was the easiest way to make the Plugin (perhaps not the easiest way to use it).
And when i made the Plugin i didnt know how to add NoteTags and check meta data..

edit
to better understand the SRPG_TerrainStates Plugin
-basicly it just uses JS code to make a command that says :
add or remove State ID_"xa" on terrain tag ID_"xb" for Unit ID_"xc"
and the Plugin variables allows you to decide the ids of:
-add/remove State ID_"xa"
-on terrain tag ID_"xb"
-for Unit ID_"xc"
=> the Plugin Command executes that
Screenshot_2.png
JavaScript:
(function() {

  var parameters = PluginManager.parameters("SRPG_TerrainStates") || $plugins.filter(function (plugin) { return plugin.description.contains('<SRPG_TerrainStates>'); });


  var _varSOFFT0ID = Number(parameters['Tag0_removeStateID'] || 0);
  var _varSOFFT1ID = Number(parameters['Tag1_removeStateID'] || 0);
  var _varSOFFT2ID = Number(parameters['Tag2_removeStateID'] || 0);
  var _varSOFFT3ID = Number(parameters['Tag3_removeStateID'] || 0);
  var _varSOFFT4ID = Number(parameters['Tag4_removeStateID'] || 0);
  var _varSOFFT5ID = Number(parameters['Tag5_removeStateID'] || 0);
  var _varSOFFT6ID = Number(parameters['Tag6_removeStateID'] || 0);
  var _varSOFFT7ID = Number(parameters['Tag7_removeStateID'] || 0);

  var _varSONT0ID = Number(parameters['Tag0_addStateID'] || 0);
  var _varSONT1ID = Number(parameters['Tag1_addStateID'] || 0);
  var _varSONT2ID = Number(parameters['Tag2_addStateID'] || 0);
  var _varSONT3ID = Number(parameters['Tag3_addStateID'] || 0);
  var _varSONT4ID = Number(parameters['Tag4_addStateID'] || 0);
  var _varSONT5ID = Number(parameters['Tag5_addStateID'] || 0);
  var _varSONT6ID = Number(parameters['Tag6_addStateID'] || 0);
  var _varSONT7ID = Number(parameters['Tag7_addStateID'] || 0);

  var _varEVT0ID = Number(parameters['Tag0_UnitEventID'] || 0);
  var _varEVT1ID = Number(parameters['Tag1_UnitEventID'] || 0);
  var _varEVT2ID = Number(parameters['Tag2_UnitEventID'] || 0);
  var _varEVT3ID = Number(parameters['Tag3_UnitEventID'] || 0);
  var _varEVT4ID = Number(parameters['Tag4_UnitEventID'] || 0);
  var _varEVT5ID = Number(parameters['Tag5_UnitEventID'] || 0);
  var _varEVT6ID = Number(parameters['Tag6_UnitEventID'] || 0);
  var _varEVT7ID = Number(parameters['Tag7_UnitEventID'] || 0);








var _Game_Interpreter_pluginCommand =
            Game_Interpreter.prototype.pluginCommand;
    Game_Interpreter.prototype.pluginCommand = function(command, args) {
        _Game_Interpreter_pluginCommand.call(this, command, args);
        if (command === 'SRPG_TerrainStates') {


        if (_varEVT0ID >= 1 && ($gameVariables.value(_varEVT0ID)) >= 1 && _varSOFFT0ID >= 1 && ($gameVariables.value(_varSOFFT0ID)) >= 1) {
            if ($gameSystem.EventToUnit($gameVariables.value(_varEVT0ID))[1].isStateAffected($gameVariables.value(_varSOFFT0ID)) && ($gameMap.terrainTag(($gameMap.event($gameVariables.value(_varEVT0ID)).x),($gameMap.event($gameVariables.value(_varEVT0ID)).y))==0)) {
                $gameSystem.EventToUnit($gameVariables.value(_varEVT0ID))[1].removeState($gameVariables.value(_varSOFFT0ID))
            }
        }                                                                                                             

        if (_varEVT0ID >= 1 && ($gameVariables.value(_varEVT0ID)) >= 1 && _varSONT0ID >= 1 && ($gameVariables.value(_varSONT0ID)) >= 1) {
            if ((!$gameSystem.EventToUnit($gameVariables.value(_varEVT0ID))[1].isStateAffected($gameVariables.value(_varSONT0ID))) && ($gameMap.terrainTag(($gameMap.event($gameVariables.value(_varEVT0ID)).x),($gameMap.event($gameVariables.value(_varEVT0ID)).y))==0)) {
                  $gameSystem.EventToUnit($gameVariables.value(_varEVT0ID))[1].addState($gameVariables.value(_varSONT0ID))
            }
        }

        if (_varEVT1ID >= 1 && ($gameVariables.value(_varEVT1ID)) >= 1 && _varSOFFT1ID >= 1 && ($gameVariables.value(_varSOFFT1ID)) >= 1) {
            if ($gameSystem.EventToUnit($gameVariables.value(_varEVT1ID))[1].isStateAffected($gameVariables.value(_varSOFFT1ID)) && ($gameMap.terrainTag(($gameMap.event($gameVariables.value(_varEVT1ID)).x),($gameMap.event($gameVariables.value(_varEVT1ID)).y))==1)) {
                $gameSystem.EventToUnit($gameVariables.value(_varEVT1ID))[1].removeState($gameVariables.value(_varSOFFT1ID))
            }
        }                                                                                                             

        if (_varEVT1ID >= 1 && ($gameVariables.value(_varEVT1ID)) >= 1 && _varSONT1ID >= 1 && ($gameVariables.value(_varSONT1ID)) >= 1) {
            if ((!$gameSystem.EventToUnit($gameVariables.value(_varEVT1ID))[1].isStateAffected($gameVariables.value(_varSONT1ID))) && ($gameMap.terrainTag(($gameMap.event($gameVariables.value(_varEVT1ID)).x),($gameMap.event($gameVariables.value(_varEVT1ID)).y))==1)) {
                  $gameSystem.EventToUnit($gameVariables.value(_varEVT1ID))[1].addState($gameVariables.value(_varSONT1ID))
            }
        }

        if (_varEVT2ID >= 1 && ($gameVariables.value(_varEVT2ID)) >= 1 && _varSOFFT2ID >= 1 && ($gameVariables.value(_varSOFFT2ID)) >= 1) {
            if ($gameSystem.EventToUnit($gameVariables.value(_varEVT2ID))[1].isStateAffected($gameVariables.value(_varSOFFT2ID)) && ($gameMap.terrainTag(($gameMap.event($gameVariables.value(_varEVT2ID)).x),($gameMap.event($gameVariables.value(_varEVT2ID)).y))==2)) {
                $gameSystem.EventToUnit($gameVariables.value(_varEVT2ID))[1].removeState($gameVariables.value(_varSOFFT2ID))
            }
        }                                                                                                             

        if (_varEVT2ID >= 1 && ($gameVariables.value(_varEVT2ID)) >= 1 && _varSONT2ID >= 1 && ($gameVariables.value(_varSONT2ID)) >= 1) {
            if ((!$gameSystem.EventToUnit($gameVariables.value(_varEVT2ID))[1].isStateAffected($gameVariables.value(_varSONT2ID))) && ($gameMap.terrainTag(($gameMap.event($gameVariables.value(_varEVT2ID)).x),($gameMap.event($gameVariables.value(_varEVT2ID)).y))==2)) {
                  $gameSystem.EventToUnit($gameVariables.value(_varEVT2ID))[1].addState($gameVariables.value(_varSONT2ID))
            }
        }

        if (_varEVT3ID >= 1 && ($gameVariables.value(_varEVT3ID)) >= 1 && _varSOFFT3ID >= 1 && ($gameVariables.value(_varSOFFT3ID)) >= 1) {
            if ($gameSystem.EventToUnit($gameVariables.value(_varEVT3ID))[1].isStateAffected($gameVariables.value(_varSOFFT3ID)) && ($gameMap.terrainTag(($gameMap.event($gameVariables.value(_varEVT3ID)).x),($gameMap.event($gameVariables.value(_varEVT3ID)).y))==3)) {
                $gameSystem.EventToUnit($gameVariables.value(_varEVT3ID))[1].removeState($gameVariables.value(_varSOFFT3ID))
            }
        }                                                                                                             

        if (_varEVT3ID >= 1 && ($gameVariables.value(_varEVT3ID)) >= 1 && _varSONT3ID >= 1 && ($gameVariables.value(_varSONT3ID)) >= 1) {
            if ((!$gameSystem.EventToUnit($gameVariables.value(_varEVT3ID))[1].isStateAffected($gameVariables.value(_varSONT3ID))) && ($gameMap.terrainTag(($gameMap.event($gameVariables.value(_varEVT3ID)).x),($gameMap.event($gameVariables.value(_varEVT3ID)).y))==3)) {
                  $gameSystem.EventToUnit($gameVariables.value(_varEVT3ID))[1].addState($gameVariables.value(_varSONT3ID))
            }
        }

        if (_varEVT4ID >= 1 && ($gameVariables.value(_varEVT4ID)) >= 1 && _varSOFFT4ID >= 1 && ($gameVariables.value(_varSOFFT4ID)) >= 1) {
            if ($gameSystem.EventToUnit($gameVariables.value(_varEVT4ID))[1].isStateAffected($gameVariables.value(_varSOFFT4ID)) && ($gameMap.terrainTag(($gameMap.event($gameVariables.value(_varEVT4ID)).x),($gameMap.event($gameVariables.value(_varEVT4ID)).y))==4)) {
                $gameSystem.EventToUnit($gameVariables.value(_varEVT4ID))[1].removeState($gameVariables.value(_varSOFFT4ID))
            }
        }                                                                                                             

        if (_varEVT4ID >= 1 && ($gameVariables.value(_varEVT4ID)) >= 1 && _varSONT4ID >= 1 && ($gameVariables.value(_varSONT4ID)) >= 1) {
            if ((!$gameSystem.EventToUnit($gameVariables.value(_varEVT4ID))[1].isStateAffected($gameVariables.value(_varSONT4ID))) && ($gameMap.terrainTag(($gameMap.event($gameVariables.value(_varEVT4ID)).x),($gameMap.event($gameVariables.value(_varEVT4ID)).y))==4)) {
                  $gameSystem.EventToUnit($gameVariables.value(_varEVT4ID))[1].addState($gameVariables.value(_varSONT4ID))
            }
        }

        if (_varEVT5ID >= 1 && ($gameVariables.value(_varEVT5ID)) >= 1 && _varSOFFT5ID >= 1 && ($gameVariables.value(_varSOFFT5ID)) >= 1) {
            if ($gameSystem.EventToUnit($gameVariables.value(_varEVT5ID))[1].isStateAffected($gameVariables.value(_varSOFFT5ID)) && ($gameMap.terrainTag(($gameMap.event($gameVariables.value(_varEVT5ID)).x),($gameMap.event($gameVariables.value(_varEVT5ID)).y))==5)) {
                $gameSystem.EventToUnit($gameVariables.value(_varEVT5ID))[1].removeState($gameVariables.value(_varSOFFT5ID))
            }
        }                                                                                                             

        if (_varEVT5ID >= 1 && ($gameVariables.value(_varEVT5ID)) >= 1 && _varSONT5ID >= 1 && ($gameVariables.value(_varSONT5ID)) >= 1) {
            if ((!$gameSystem.EventToUnit($gameVariables.value(_varEVT5ID))[1].isStateAffected($gameVariables.value(_varSONT5ID))) && ($gameMap.terrainTag(($gameMap.event($gameVariables.value(_varEVT5ID)).x),($gameMap.event($gameVariables.value(_varEVT5ID)).y))==5)) {
                  $gameSystem.EventToUnit($gameVariables.value(_varEVT5ID))[1].addState($gameVariables.value(_varSONT5ID))
            }
        }

        if (_varEVT6ID >= 1 && ($gameVariables.value(_varEVT6ID)) >= 1 && _varSOFFT6ID >= 1 && ($gameVariables.value(_varSOFFT6ID)) >= 1) {
            if ($gameSystem.EventToUnit($gameVariables.value(_varEVT6ID))[1].isStateAffected($gameVariables.value(_varSOFFT6ID)) && ($gameMap.terrainTag(($gameMap.event($gameVariables.value(_varEVT6ID)).x),($gameMap.event($gameVariables.value(_varEVT6ID)).y))==6)) {
                $gameSystem.EventToUnit($gameVariables.value(_varEVT6ID))[1].removeState($gameVariables.value(_varSOFFT6ID))
            }
        }                                                                                                             

        if (_varEVT6ID >= 1 && ($gameVariables.value(_varEVT6ID)) >= 1 && _varSONT6ID >= 1 && ($gameVariables.value(_varSONT6ID)) >= 1) {
            if ((!$gameSystem.EventToUnit($gameVariables.value(_varEVT6ID))[1].isStateAffected($gameVariables.value(_varSONT6ID))) && ($gameMap.terrainTag(($gameMap.event($gameVariables.value(_varEVT6ID)).x),($gameMap.event($gameVariables.value(_varEVT6ID)).y))==6)) {
                  $gameSystem.EventToUnit($gameVariables.value(_varEVT6ID))[1].addState($gameVariables.value(_varSONT6ID))
            }
        }

        if (_varEVT7ID >= 1 && ($gameVariables.value(_varEVT7ID)) >= 1 && _varSOFFT7ID >= 1 && ($gameVariables.value(_varSOFFT7ID)) >= 1) {
            if ($gameSystem.EventToUnit($gameVariables.value(_varEVT7ID))[1].isStateAffected($gameVariables.value(_varSOFFT7ID)) && ($gameMap.terrainTag(($gameMap.event($gameVariables.value(_varEVT7ID)).x),($gameMap.event($gameVariables.value(_varEVT7ID)).y))==7)) {
                $gameSystem.EventToUnit($gameVariables.value(_varEVT7ID))[1].removeState($gameVariables.value(_varSOFFT7ID))
            }
        }                                                                                                             

        if (_varEVT7ID >= 1 && ($gameVariables.value(_varEVT7ID)) >= 1 && _varSONT7ID >= 1 && ($gameVariables.value(_varSONT7ID)) >= 1) {
            if ((!$gameSystem.EventToUnit($gameVariables.value(_varEVT7ID))[1].isStateAffected($gameVariables.value(_varSONT7ID))) && ($gameMap.terrainTag(($gameMap.event($gameVariables.value(_varEVT7ID)).x),($gameMap.event($gameVariables.value(_varEVT7ID)).y))==7)) {
                  $gameSystem.EventToUnit($gameVariables.value(_varEVT7ID))[1].addState($gameVariables.value(_varSONT7ID))
            }
        }



        }
    };


})();
the JS code works a bit different than i explained it above thats why they are so much Plugin variables in the Plugin Param-settings , but that was required, or atleast it was the only way which i could make it work..

edit 2
In easy words. you always need 3 things on each TerrainState Change:
- the add OR remove State Variable
(that is connected to the wanted TerrainTag)
- the Unit event ID Variable
(that is connected to the wanted TerrainTag)
- the Plugin Command SRPG_TerrainStates that executes the Order

=> if you understand the PluginCode you could also use more than 3 things, but i recommend to do it the easy way to avoid any conflicting data inputs..
=> the Common Event that Store this Setup is Set on parrallel when SRPG Battle is True
 
Last edited:

CarpenterScr

Veteran
Veteran
Joined
Nov 2, 2020
Messages
59
Reaction score
5
First Language
english
Primarily Uses
RMMV
I find that very difficult to use when several terrains and several exceptions (notably flying creatures but not just) are involved. I might have to drop entirely the idea of having move costs different from 1, at least until an alternate solution is implemented.
 

Dopan

Veteran
Veteran
Joined
Mar 27, 2020
Messages
788
Reaction score
401
First Language
German
Primarily Uses
RMMV
I find that very difficult to use when several terrains and several exceptions (notably flying creatures but not just) are involved. I might have to drop entirely the idea of having move costs different from 1, at least until an alternate solution is implemented.
i will probably add a ScriptCall soon to the Plugin, that does the same thing without using Plugin Variables..
(the data will be inserted in the ScriptCall instead)
=> just incase people dont want to use so much $GameVariables
=> i should have done that in the first Place but it was one of my first Plugins

The Plugin SRPG_TerrainStates itself doesnt affect the MoveCost it only allows you to use states that can change the MoveCost..
-those states could also be used to add poisoning or other effects..

However making "MoveCost exception"-Notetags for TerrainTags, could perhaps also affect all other srpgMoveCost Functions, I am not sure if that is a good idea..
Also the TerrainTag MoveCost Function is Part of SRPG_RangeControl.js which isnt my Plugin and doesnt have such "MoveCost exception"-Notetags for TerrainTags.
(even if i would try to edit the SRPG_RangeControl.js plugin , i am not sure how to make that work ,..)
sry if thats not helpfull in your Case..
 
Last edited:

CarpenterScr

Veteran
Veteran
Joined
Nov 2, 2020
Messages
59
Reaction score
5
First Language
english
Primarily Uses
RMMV
My train of thought was indeed to work directly within SRPG_RangeControl.js and add to it the possibility for an event (or possibly better an actor/enemy) to be immune to move costs defined IN SRPG_RangeControl.js
It seems to me, but maybe I'm wrong, a very practical way to handle flying creatures but also forest guards who could be immune to move cost as well.
I see 2 ways it could be done, one giving immunity to all move costs, and one (more powerful) giving immunity to a specific terrain's move cost, something like <terrain3mcimmunity>.
As I said, this would be effective only with the move costs as defined in SRPG_RangeControl.js and therefore counter the IMO big issue it currently has that move costs automatically apply to absolutely all units (which is not a very good thing in a SRPG, gameplay-wise).
 

Doktor_Q

I'm not a real doktor, but I am a real Q
Veteran
Joined
Aug 1, 2016
Messages
881
Reaction score
572
First Language
English
Primarily Uses
RMMV
I have a question regarding SRPG_AOE:
If I use the following tags:

<srpgRange:0>
<srpgAreaRange:1>
<srpgAreaType:side>
<srpgUncounterable>


for a skill centered on the skillcaster, instead of getting the side shape, I get a square around the skillcaster. What am I doing wrong?

As for SRPG_TerrainStates, I've looked into it and I'm not sure I understand very well how to use it.
Imagine I want my flying character (or enemy) NOT to lose an extra 1 move range on a terrain where, according to SRPG_RangeControl, the move cost is 2 instead of 1.
How am I supposed to do it?

Directional shapes can't be used with a range of 0, because there is no way to calculate a direction between the position and itself. They need to be targeted at least 1 tile away from the caster.

As for the ability to ignore move costs- that is the plan, yes, it's just under development.

As for the earlier question about skill selection: That is controlled by the system Dopan highlighted within RPGMaker itself. It's basic engine functionality, not modified by the SRPG plugins at all, currently.
 

CarpenterScr

Veteran
Veteran
Joined
Nov 2, 2020
Messages
59
Reaction score
5
First Language
english
Primarily Uses
RMMV
@Doktor_Q
I wanted to PM you but for some reason it doesn't seem to work.
Is there an ETA for the update on SRPG_RangeControl?
 

RyanBram

Veteran
Veteran
Joined
May 13, 2012
Messages
238
Reaction score
280
First Language
Indonesian
Primarily Uses
RMMV
Some user set their privacies like that.

Anything related with SRPG can always be asked here.

He said in some of previous messages that he is busy now.
But, I am sure he always looking this forum in his spare time.
 

Dopan

Veteran
Veteran
Joined
Mar 27, 2020
Messages
788
Reaction score
401
First Language
German
Primarily Uses
RMMV
View attachment 166479

Small update to Dopan's/Boomy's customised srpgCore that allows placement of enemies (my previous change allowed custom placement of allied heroes)
i will add this "small update" to the next tutorial demo updates and also to the edited Cores on my Github as soon im done with preparing the next tutorial demo updates..
I will also add this to the planed "pull request" which i mentioned earlier..
thx for the info
(because i dont want to miss anything, it can take a few more days till im done with everything)
 
Last edited:

Dopan

Veteran
Veteran
Joined
Mar 27, 2020
Messages
788
Reaction score
401
First Language
German
Primarily Uses
RMMV
Update Info:
i updated all Links in the Signature Spoiler also some of the Plugins on my GitHub
(the SRPG Cores,SRPG_TerrainStates,SRPG RangeDMG)
@RyanBram
I created a forked Link and tried to make a pull request on GitHub for the Core Edits but i am not sure if i did that correctly:
Link to the forked Github
Link to the Edited Core on that page
Link that shows all changes betwen that edited SRPG_Core and the Default SRPG_Core (Version 1.32) from the first Posting of this Thread can be found Here.
(this edited Core is the Same like the Newest SRPG Core on my GitHub Version 1.32)
=> this edited SRPG Core is used in the SRPG_Extension Demo Version 1.1

-----
Changelog:
Edited plugins:
- the SRPG Cores:
added boomys edit about Enemy SV position Var on both Cores .
Only on the Newest Core=>
edited my SkillNote <AgiExtra:false> it works for both battlemodes now and disables the AgiExtra Function the Same way ,like its done within the Plugin Param (completly). During skill Usage only.

-SRPG_TerrainStates;
added 2 Scriptcalls that can do the same Thing without using plugin variables.. They Add or Remove States based on: Terrain tag data & event ID data & State data.
(data will be inserted in the Scriptcalls Instead)
Actor\Enemy\ClassNotes are planed for the Future.
(to control what state gets added or removed at what terrain tag based on these Notes)

-SRPG RangeDMG:

added More States in the Plugin param ,now each DMG % can use its own Hitrate State
--
These Demo updates also include the edited Plugin from
boomy which allows to use "MoveSpeedStates" to change Units MoveSpeed & OR WalkAnime & OR StepAnime while the State is active, in addittion to its previous Function.More info in the Plugin help Info.
(SRPG_EventResetAfterAction.js)
=> therefore i added a "Slow" MagicSkill and State to both demos


If anybody recognizes any Issue pls let me Know^^
 
Last edited:

CarpenterScr

Veteran
Veteran
Joined
Nov 2, 2020
Messages
59
Reaction score
5
First Language
english
Primarily Uses
RMMV
Has anybody tried to edit SRPG_Core so that AGI determines the order of playing (for both enemies and characters)?
 

Dopan

Veteran
Veteran
Joined
Mar 27, 2020
Messages
788
Reaction score
401
First Language
German
Primarily Uses
RMMV
Has anybody tried to edit SRPG_Core so that AGI determines the order of playing (for both enemies and characters)?
that was requested by Frostorm ,He mentioned it here #1,094 and allready earlier..also Pootscooter enforced that request..
Or in other words the request was not a Core edit but as Plugin Request.
RyanBram mentioned that he perhaps might find Someone who can build such a Plugin..here #1,095.
I am sure that RyanBram will let us know in this thread, as soon they are any news on that..
(as far i know nobody else mentioned anything about that except myself, that i cant build such a plugin)
 

Latest Threads

Latest Profile Posts

My current peak of boss design.
energy drinks have made this week SUPER productive so far lol. I finished one of my overworld maps, along with 2 other maps and a way to traverse to said overworld map.
i am absolutely DRAGGING MYSELF RIGHT NOW, i bought a commission ($35) back in october, got the art back, it was great, only to NOW realize i never DOWNLOADED it to my computer, and the site i used auto-deletes uploads after 3 months. Now i'm panicking cuz she closed all her commissions on that site & deleted her IG and Facebook, luckily I found her g-mail but who knows if she'll respond :kaocry: pray for me ya'll
Sigh...I can do everything I need for this game but make actual sprites and tile maps for it. Guess I'll look into hiring someone for that
Goes looking for assets, ends up creating memes. I have priorities?

Forum statistics

Threads
109,028
Messages
1,041,365
Members
141,499
Latest member
kanyatanishande
Top