SRPG Engine - Plugins for creating Turn Based Strategy game

BlissAuthority

Dang, it feels good to be a Princess
Veteran
Joined
Dec 26, 2013
Messages
137
Reaction score
50
First Language
English
Primarily Uses
RMVXA
Hello! This looks extremely useful.

I was wondering how you would implement a system like D&D's or Valor's, where each character has three actions each turn: one Attack, one Move, and one Support.
 

Doktor_Q

I'm not a real doktor, but I am a real Q
Veteran
Joined
Aug 1, 2016
Messages
758
Reaction score
459
First Language
English
Primarily Uses
RMMV
Hello! This looks extremely useful.

I was wondering how you would implement a system like D&D's or Valor's, where each character has three actions each turn: one Attack, one Move, and one Support.
By default, everyone gets one movement and one action, in that order. By combining other plugins, you could make a skill that doesn't end your turn when used, but can't be used again until the next turn (I.E. 1-turn cooldown). You could extend this to a whole category of skills that can be used "for free", but only one of them can be used each turn.
 

BlissAuthority

Dang, it feels good to be a Princess
Veteran
Joined
Dec 26, 2013
Messages
137
Reaction score
50
First Language
English
Primarily Uses
RMVXA
By combining other plugins, you could make a skill that doesn't end your turn when used, but can't be used again until the next turn (I.E. 1-turn cooldown). You could extend this to a whole category of skills that can be used "for free", but only one of them can be used each turn.
That seems like a great way to do this.

By default, everyone gets one movement and one action, in that order.
...aaand this is something that I'd want to alter, so that you can (use some) attack(/s) and most Support actions before moving. Any suggestions for that?
 

Doktor_Q

I'm not a real doktor, but I am a real Q
Veteran
Joined
Aug 1, 2016
Messages
758
Reaction score
459
First Language
English
Primarily Uses
RMMV
...aaand this is something that I'd want to alter, so that you can (use some) attack(/s) and most Support actions before moving. Any suggestions for that?
It's a bit of a hack-around, but you could try and set something up to give the character another action any time they act without moving, but also prevent using two of the same class of actions in the same round- ergo, if you've already attacked and supported without moving, than the only action left is to pass your turn after movement?

It would be... very awkward to let the user break up their movement between actions, currently, and also that doesn't account for item usage, but I guess it's a start. It's a fairly complicated change to the guts of the system.
 

BlissAuthority

Dang, it feels good to be a Princess
Veteran
Joined
Dec 26, 2013
Messages
137
Reaction score
50
First Language
English
Primarily Uses
RMVXA
It's a bit of a hack-around, but you could try and set something up to give the character another action any time they act without moving, but also prevent using two of the same class of actions in the same round- ergo, if you've already attacked and supported without moving, than the only action left is to pass your turn after movement?

It would be... very awkward to let the user break up their movement between actions, currently, and also that doesn't account for item usage, but I guess it's a start. It's a fairly complicated change to the guts of the system.
In the system I'm adapting from tabletop Split Movement is a skill, and an early midgame skill at that. Moving after attacking is free, split movement is not.
 

Misappi

Veteran
Veteran
Joined
Apr 16, 2018
Messages
34
Reaction score
19
First Language
Japanese
Primarily Uses
RMMV
I made something that could be useful to some of you.

My project relies heavily on the use ofskills, and I really disliked the way the skill selection window covered the whole screen.

After messing around for a bit, I managed to get it looking like this:

View attachment 129769

If you'd like to use this setup, simply change the line 4539 of the SRPG_core.js to this:

this._skillWindow = new Window_BattleSkill((12 + wy), ((-40) + wh), 784, 144);

Theres probably a better way, but I'm not a programmer and it's a miracle this even worked, lol.

You could probably do the same thing with the Items menu by changing the line 4550.

Anyways, byebye

I know this is an old message but if you want to change the status window below the spells width for example you can add this line (this way it fits more your project) if you want it smaller, put less than 576, wider put more than 576:

this._mapSrpgActorCommandStatusWindow.width = 576 //this is the new line

between :
this._mapSrpgActorCommandStatusWindow.openness = 0;
and
this.addWindow(this._mapSrpgActorCommandStatusWindow);

(make a backup beforehand)


You can also change this line :
this._mapSrpgActorCommandStatusWindow.x = 120;

Change the number 120 by 0 if you want the status window stick to the left, or increase the number to have it move to the right or put a formula!


Edit :
And by editing the values like that for the skill windows on a 1280x720 project:

this._skillWindow = new Window_BattleSkill(576, 720-144, Graphics.boxWidth-576, wh-324);

You got something like this : (without the black area of course, that's some editing)Unknown.png

Of course you can do the same for the items!
 
Last edited:

epiccorey

Villager
Member
Joined
Jun 2, 2014
Messages
29
Reaction score
7
First Language
english
Primarily Uses
Question I was wondering if there was a way to do this.
Example: I made an enemy Rat, now I would like my rats to get boosts +1 atk if they are within 5ft of another Rat. Think D&D 5e pack tactics, where as long as a creature is within range to an ally they get a automatic buff called advantage. Is it currently possible in this battle engine to do this?
 

MetalKing11417

Veteran
Veteran
Joined
Jul 7, 2018
Messages
56
Reaction score
28
First Language
english
Primarily Uses
RMMV
Question I was wondering if there was a way to do this.
Example: I made an enemy Rat, now I would like my rats to get boosts +1 atk if they are within 5ft of another Rat. Think D&D 5e pack tactics, where as long as a creature is within range to an ally they get a automatic buff called advantage. Is it currently possible in this battle engine to do this?
I think we would need some sort of specialized aoe aura plugin for that, but since we currently don't have one of those, I don't think that is possible.

So once again I send out the Bat signal for an aura plug-in.
 

DarkGGhost

Warper
Member
Joined
Aug 11, 2019
Messages
4
Reaction score
0
First Language
greek
Primarily Uses
RMXP
Does this system have any problem with yanfly plugins ?
 

Doktor_Q

I'm not a real doktor, but I am a real Q
Veteran
Joined
Aug 1, 2016
Messages
758
Reaction score
459
First Language
English
Primarily Uses
RMMV
Does this system have any problem with yanfly plugins ?
A small number have problems because they weren't made to work with a tactical combat system done from the map, but the majority of them work fine. I make compatibility plugins for some of them when the issue is minor, such as cooldowns or limited skill uses.
 

Misappi

Veteran
Veteran
Joined
Apr 16, 2018
Messages
34
Reaction score
19
First Language
Japanese
Primarily Uses
RMMV
Hello @Doktor_Q , I have a problem with one of your plugins notetags!
It does not work in the demo too!

The plugin is :
SRPG_PositionEffects

The notetag is :
<anyTarget>

With this notetag I can select an enemy OR an ally (this part works well)
When I select an enemy with a fire spell, it enters in battle, then deal damages to the enemy (this part works well too)
But When I select an ally to deal damages with the fire spell to my ally (Yes I know it's cruel), it enters in the battle with the ally (this part works) but the animation is not displaying and there is no damages to the ally.

It might not seems a problem but it means I need one skill to swap places with ally and one skill to swap with one enemy for example (instead of being able to do with both.

There is also a way to check with a formula like this :

if (b.isEnemy()) {200} else {100}
If this spells is done on an enemy, it deals 200 raw damages, only 100 otherwise.
For example to an ally that have fire damage absorbtion, it would heal him instead of dealing damages.

I really hope it is not a hard thing to fix!
 

Doktor_Q

I'm not a real doktor, but I am a real Q
Veteran
Joined
Aug 1, 2016
Messages
758
Reaction score
459
First Language
English
Primarily Uses
RMMV
@Misappi Can you make sure you're using the latest versions of all the plugins, and then post your plugin order, and the actual notetags on the skill? I just tested on my own, and I can turn around and smack my ally just fine.

As for formulas, what you're looking for is called a ternary operator, and the format looks something like this:
condition ? code if true : code if false

So in your case, I would write a formula something like this:
a.isActor() != b.isActor() ? 200 : 100

So, if either A is an actor and B is not, OR if B is an actor but A is not (i.e. they're on different teams, so it can be used by enemies or allies successfully), the value is 200. Otherwise, the value is 100.
 

Misappi

Veteran
Veteran
Joined
Apr 16, 2018
Messages
34
Reaction score
19
First Language
Japanese
Primarily Uses
RMMV
@Misappi Can you make sure you're using the latest versions of all the plugins, and then post your plugin order, and the actual notetags on the skill? I just tested on my own, and I can turn around and smack my ally just fine.

As for formulas, what you're looking for is called a ternary operator, and the format looks something like this:
condition ? code if true : code if false

So in your case, I would write a formula something like this:
a.isActor() != b.isActor() ? 200 : 100

So, if either A is an actor and B is not, OR if B is an actor but A is not (i.e. they're on different teams, so it can be used by enemies or allies successfully), the value is 200. Otherwise, the value is 100.
Wow, very clever use of the formula!!

It was version 1.22 and changed it with ver 1.26 but it still does not work.
Here are the screens! (changed therese class to mage for testing the spell).

Edit: it's hard to tell if SRPG_PositionEffects.js is the latest one because there is no version on it! (there is 459 lines)
I can upload this demo if it helps you!
Edit2: Even with your 1.24+ srpg core, it doesn't work

1.png

2.png

3.png
 
Last edited:

DarkGGhost

Warper
Member
Joined
Aug 11, 2019
Messages
4
Reaction score
0
First Language
greek
Primarily Uses
RMXP
Hello i will like to know if it's possible to make the movement for actor and enemy more like chess, for example, an actor can only move or attack diagonally?
 
Last edited:

dlwjdvud123

Villager
Member
Joined
Dec 21, 2019
Messages
11
Reaction score
0
First Language
hghjbyyu
Primarily Uses
Other
Enemy or NPC always using their recovery magic to 100% hp's target. What should I do?
 

chrisxiao

Sin
Member
Joined
Oct 27, 2014
Messages
11
Reaction score
5
First Language
English
Primarily Uses
RMMV
Is there a way to increase the movement speed?
It moves so slow...


EDIT: Nevermind, I needed to set it on the event.
 
Last edited:

NeoAmon

Villager
Member
Joined
Nov 3, 2015
Messages
6
Reaction score
0
First Language
English
@Doktor_Q First of all, your plugins are fantastic! They add a lot of much-needed functionality to this SRPG engine.

My question is, is there any way to use your Map Battle plugin for specific skills, but not for others? Or is that a feature you plan?

Basically, I'd like for AoE attacks to take place only on the battlefield, but for all single-target abilities, I would prefer to stick with Side View battles.
 

Doktor_Q

I'm not a real doktor, but I am a real Q
Veteran
Joined
Aug 1, 2016
Messages
758
Reaction score
459
First Language
English
Primarily Uses
RMMV
@Doktor_Q First of all, your plugins are fantastic! They add a lot of much-needed functionality to this SRPG engine.

My question is, is there any way to use your Map Battle plugin for specific skills, but not for others? Or is that a feature you plan?

Basically, I'd like for AoE attacks to take place only on the battlefield, but for all single-target abilities, I would prefer to stick with Side View battles.
Currently there is no support for this, mostly because mapBattle doesn't work identically to sideview battles. I might try to set up a toggle or tag for it, but I can't give any kind of timeline, or whether I'll actually get to it- I'm currently working on a better AI system that actually knows how to use AoE and anyTarget skills, and doesn't try to use skills that can't hit anything when there's a perfectly valid target for another skill somewhere else.

[EDIT]
Finished up a few updates!
  • SRPG_PositionEffects had a few tweaks to its internals that you probably won't notice, and now properly ignores Objects with no sprite assigned.
  • SRPG_RangeControl gives you control over the passability of playerEvents and Objects, and adds support for handy features in other plugins
  • SRPG_UX_Cursor now has a "quick attack" option if you use RangeControl- selecting an enemy while moving an actor automatically brings up a normal attack aimed at them. Feature is still slightly WIP.
  • SRPG_UX_Window's plugin parameters now work correctly, and have been reworded to clarify what they actually do, instead of what I was thinking when I started making it.
  • SRPG_ShowPath and SRPG_UX_Range have more options for default layers- directly beneath "same as player" events, and directly above them.
If you encounter a problem, make sure you grabbed the latest version from the GitHub- if it's still there, let me know and I'll look into it.
 
Last edited:

Misappi

Veteran
Veteran
Joined
Apr 16, 2018
Messages
34
Reaction score
19
First Language
Japanese
Primarily Uses
RMMV
Currently there is no support for this, mostly because mapBattle doesn't work identically to sideview battles. I might try to set up a toggle or tag for it, but I can't give any kind of timeline, or whether I'll actually get to it- I'm currently working on a better AI system that actually knows how to use AoE and anyTarget skills, and doesn't try to use skills that can't hit anything when there's a perfectly valid target for another skill somewhere else.

[EDIT]
Finished up a few updates!
  • SRPG_PositionEffects had a few tweaks to its internals that you bly won't notice, and now properly ignores Objects with no sprite assigned.
  • SRPG_RangeControl gives you control over the passability of playerEvents and Objects, and adds support for handy features in other plugins
  • SRPG_UX_Cursor now has a "quick attack" option if you use RangeControl- selecting an enemy while moving an actor automatically brings up a normal attack aimed at them. Feature is still slightly WIP.
  • SRPG_UX_Window's plugin parameters now work correctly, and have been reworded to clarify what they actually do, instead of what I was thinking when I started making it.
  • SRPG_ShowPath and SRPG_UX_Range have more options for default layers- directly beneath "same as player" events, and directly above them.
If you encounter a problem, make sure you grabbed the latest version from the GitHub- if it's still there, let me know and I'll look into it.
That would be a nice addition, NeoAmon is not the only one wanting to have onmap battle only for some spells (me too actually!) Especially for spells you do on yourself or AoE spells!

Anyway, please tell me, why can't I hit my ally with the notetag <anyTarget> and the plugin SRPG_PositionEffetcs, I'm I using it badly? If that so, I know it's a lot to ask but can you please upload a demo where you can smack your ally with an offensive spell, I'll study it carefully!
 

chrisxiao

Sin
Member
Joined
Oct 27, 2014
Messages
11
Reaction score
5
First Language
English
Primarily Uses
RMMV
Stat based counter is not working, I placed it below DirectionMod.
Counter works as default when I disable StatBasedCounter, and DirectionMod works as well.

Is there something that I'm missing here?

plugins.PNG

Also, the Win/Lose Condition script gives me an error, TypeError, cannot read property 'push' of undefined.
$gameSystem.setSrpgWinCondition('Defeat all enemies');
 
Last edited:

Users Who Are Viewing This Thread (Users: 0, Guests: 3)

Latest Threads

Latest Posts

Latest Profile Posts

I based this on the armor of Actor 1_7 of the RTP. Hair is from Derex and Sythian Bard.
Stream will be live shortly! Going to do another art stream tonight so that I can finish my Fauna Focus piece~ Feel free to drop by!
Humans are fallible creatures, we all know that. It's when we're forced to look at ourselves that we start to disagree. :p
Expectation: Working on boss battle.
Reality: "Look at how awful are these code and database organization. Let me clean this mess", *yet, casually adding more modules that I have no idea if I would use it later*
Trying to learn to read Japanese so I read my manga. I like to buy them without all the edits made during translation.

Forum statistics

Threads
97,865
Messages
947,457
Members
129,089
Latest member
candutekno
Top