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
49
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
705
Reaction score
415
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
49
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
705
Reaction score
415
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
49
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

Villager
Member
Joined
Apr 16, 2018
Messages
21
Reaction score
13
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
26
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
43
Reaction score
20
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
705
Reaction score
415
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

Villager
Member
Joined
Apr 16, 2018
Messages
21
Reaction score
13
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
705
Reaction score
415
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

Villager
Member
Joined
Apr 16, 2018
Messages
21
Reaction score
13
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

Warper
Member
Joined
Dec 21, 2019
Messages
2
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?
 

Users Who Are Viewing This Thread (Users: 1, Guests: 2)

Latest Threads

Latest Posts

Latest Profile Posts

It's weird I actually have MORE work to do when stuck at home than before.
The No Travel Game Jam is here! Jump in to make a game in the month of April that takes place all in one town!


Decided to take a stab at video editing.... Even made a clickbait screen. I'm so proud of my sellout ways. :LZSexcite:

Forum statistics

Threads
95,470
Messages
929,385
Members
125,710
Latest member
SamAmimundo
Top