Lecode Tactical Battle System 0.77.2B

Pharonix

Shadow Walker
Veteran
Joined
Apr 22, 2012
Messages
764
Reaction score
357
First Language
English
Primarily Uses
RMMV
Got my triple summon working.

Using multiple use_skill does not work and it actually uses the aoe form the last use_skill called.

The way i did it was similar to my original "Dasher" technique

"fourswords": [
"wait: 60",
"call: pre-skill",
"request_selection: skill(724)",
"save_cells: first, cursor_cell",
"request_selection: skill(725)",
"save_cells: second, cursor_cell",
"request_selection: skill(726)",
"save_cells: third, cursor_cell",
"map_effects: saved(first), current_obj , 76, animation_delay, false",
"summon: red, saved(first)",
"wait: 15",
"map_effects: saved(second), current_obj , 76, animation_delay, false",
"summon: blue, saved(second)",
"wait: 15",
"map_effects: saved(third), current_obj , 76, animation_delay, false",
"summon: purple, saved(third)",
"wait: 15",
"call: post-skill"
],

I request 3 cells, each with the scope of the one particular cell that each person should be summoned in:
for example, blue is to the right, red is left and purple behind.

I get all 3 selections, then just call summon: entity, saved(cell).
Then play a lightning animation when they get summoned
(In case anyone was wondering, yes, it is THAT fourswords)
upload_2017-9-20_16-27-48.png

EDIT:

On a side-note.
How would one "Un-Summon" entities
I want to create an enemy, or skill that wipes the field of Summoned entities.
 

Weaky Feary

Warper
Member
Joined
Jul 22, 2017
Messages
2
Reaction score
2
First Language
French
Primarily Uses
RMMV
Got my triple summon working.

Using multiple use_skill does not work and it actually uses the aoe form the last use_skill called.

The way i did it was similar to my original "Dasher" technique

"fourswords": [
"wait: 60",
"call: pre-skill",
"request_selection: skill(724)",
"save_cells: first, cursor_cell",
"request_selection: skill(725)",
"save_cells: second, cursor_cell",
"request_selection: skill(726)",
"save_cells: third, cursor_cell",
"map_effects: saved(first), current_obj , 76, animation_delay, false",
"summon: red, saved(first)",
"wait: 15",
"map_effects: saved(second), current_obj , 76, animation_delay, false",
"summon: blue, saved(second)",
"wait: 15",
"map_effects: saved(third), current_obj , 76, animation_delay, false",
"summon: purple, saved(third)",
"wait: 15",
"call: post-skill"
],

I request 3 cells, each with the scope of the one particular cell that each person should be summoned in:
for example, blue is to the right, red is left and purple behind.

I get all 3 selections, then just call summon: entity, saved(cell).
Then play a lightning animation when they get summoned
(In case anyone was wondering, yes, it is THAT fourswords)
View attachment 72357

EDIT:

On a side-note.
How would one "Un-Summon" entities
I want to create an enemy, or skill that wipes the field of Summoned entities.
@Pharonix : To "Un-Summon" entities, you can create a spell that affect a large radius (a Field scope doesn't exist yet), using the scope_option : through_obstacles. And there is 3 Scope Restriction for summons, "scope_select: summons" for all summoned monsters, "scope_select: own_summons" for monster summoned by this actor, and "scope_select: enemy_summons" for monster summoned by the opponent team.

So by using a large radius, the scope option "through_obstacles" and the scope restrictions "summons", for a spell that inflict the Death State, you can wipe the entire field of summoned monster. ^^
 

Lecode

(─‿‿─)
Veteran
Joined
Dec 18, 2013
Messages
490
Reaction score
659
First Language
French
Primarily Uses
N/A
@Pharonix @Weaky Feary : That's the way to go.

@deathsia : Don't put the event in autorun.
Just set the trigger type to "battle_end" and that's enough. The event will run at the battle end then will fade
right away for the victory process.
Stay tuned for the last slice of the 0.76 version, the eventing system will be way more complete and flexible.
EDIT: By the way @deathsia , this plugin commands you're using won't work "LeTBSWinCds Add Prevent ActorDeath [ID]", because you left the brackets.
Instead of LeTBSWinCds Add Prevent ActorDeath [76] it should be LeTBSWinCds Add Prevent ActorDeath 76.
In the documentation brackets may be used to specify a variable field, not a static one like "Add" or "Prevent" or "ActorDeath" like in this case.

I was drowning in lines of code and thought about having fun with a satisfying bouncing effect :kaojoy:.

 
Last edited:

Pharonix

Shadow Walker
Veteran
Joined
Apr 22, 2012
Messages
764
Reaction score
357
First Language
English
Primarily Uses
RMMV
@Lecode
That bouncy effect is so cool.
And is that a diminishing damage effect I see?

i take it this is part of your side-effects system?
Because that's rad. Can't wait for that, and the damage by distance effects.
:)

Keep up the amazing work.
 

Rem Rem

Veteran
Veteran
Joined
Apr 3, 2017
Messages
40
Reaction score
7
First Language
English
Primarily Uses
RMMV
Geez that looks awesome!

Edit: Alright so I'm not sure what is wrong with my common events. Pharonix tried to help me to get it to work but we found out I might not have patched to the latest version. I downloaded both 0.76a and 0.76b and copied over the files. I made a copy the config file from 0.76b and then added all of the new things I added from my config file to the copy. After the copy was complete I switched it with my games config file so everything should be good and up to date. I'm not sure why but common events are still not working for me, I must be doing something wrong.

I tried to make it simple so I could test it with the reload skill tied to a common event that lowered Harold's Hp. When used in battle nothing happens. Also for some reason even though the skill has a 100% success rate it has missed the first time 2 out of the 3 times that I tested this :\
 

Attachments

Last edited:

Lecode

(─‿‿─)
Veteran
Joined
Dec 18, 2013
Messages
490
Reaction score
659
First Language
French
Primarily Uses
N/A
That bouncy effect is so cool.
And is that a diminishing damage effect I see?
Nope there is no diminishing effect as for now but this is a good idea.

i take it this is part of your side-effects system?
Because that's rad. Can't wait for that, and the damage by distance effects.
Nope, I've done it with sequence. I added a new command called "bounce", that calls a sub sequence for each "bouncing" phase, if I can call it that way. Basically the sub sequence is called for every couple of entities: the one where the bouncing start (entity1) and the one where the bouncing next happens (entity2). Take a look at this:

Code:
    "mana_ball": [
        "call: pre-skill",
        "bounce: mana_ball_effects, cursor_battler, 2, circle(3), enemy",
        "call: post-skill"
    ],

    "mana_ball_effects": [
        "projectile: mana_ball, saved(bounce_entity1), saved(bounce_entity2)",
        "effects: saved(bounce_entity2), current_obj, obj_anim",
    ],
From the example above the bouncing phases are the following:
- From Lucius (entity1) to Rabbit (entity2)
- From Rabbit (entity1) to Bat (entity2)
- From Bat (entity1) to Mago (entity2)

I tried to make it simple so I could test it with the reload skill tied to a common event that lowered Harold's Hp. When used in battle nothing happens. Also for some reason even though the skill has a 100% success rate it has missed the first time 2 out of the 3 times that I tested this :\
This is strange because LeTBS doesn't alter how the hit rate is evaluated. The same old default damage processing is used. And common events obviously work now on 0.76b. To me it looks like you have some compatibility issues.
But there is a chance there is just no feedback once the common event is called. No hp damage popup or the status window not refreshing. I suggest you to test the common event one more time with a message box.
 

Rem Rem

Veteran
Veteran
Joined
Apr 3, 2017
Messages
40
Reaction score
7
First Language
English
Primarily Uses
RMMV
Yeah I tested it and it looks like its just not working. What do I do? Start over and copy my progress?
 

Leaufai

Veteran
Veteran
Joined
May 4, 2017
Messages
39
Reaction score
21
First Language
English
Primarily Uses
RMMV
Just wanted to drop in and say that I think this plugin is awesome. There's nothing like seeing someone transform an engine like this. Keep up the good work Lecode!
 

Pharonix

Shadow Walker
Veteran
Joined
Apr 22, 2012
Messages
764
Reaction score
357
First Language
English
Primarily Uses
RMMV
Yeah I tested it and it looks like its just not working. What do I do? Start over and copy my progress?
You may have to.
Chaosicaa posted a compiled 76b demo on the previous page.
use that as a base and copy all your config settings (Scopes, aoes, marks, tiles, auras, etc ) as well as your database items into it. - Essentially "Upgrading" your project.
Do not copy any additional plugins yet. and see if it works.
Then slowly start copying over your plugins, and run the battle test to test the common events. Keep repeating until they stop working, mark down which plugin caused it, disable it and keep going with your plugins, as there may be more than one with a conflict.
 

Pharonix

Shadow Walker
Veteran
Joined
Apr 22, 2012
Messages
764
Reaction score
357
First Language
English
Primarily Uses
RMMV
@Lecode
Is there any possibility for Big enemies? Or will this be a permanent "No"

Also there's an issue with the 1 random cell in fire_storm

It seems to play the animation on all cells regardless
upload_2017-9-22_9-51-51.png upload_2017-9-22_10-3-41.png

"fire_storm": [
"call: pre-skill",
"call: fire_storm_effects, 6",
"call: post-skill"
],

"fire_storm_effects": [
"map_effects: 1_random_cells_in_{aoe}, current_obj, obj_anim",
"wait: 60"
],
I also tried 1_cells_in_{aoe}
It just repeats the animation on all cells in the aoe 6 times.
 
Last edited:

Rem Rem

Veteran
Veteran
Joined
Apr 3, 2017
Messages
40
Reaction score
7
First Language
English
Primarily Uses
RMMV
One thing I noticed that differed from Chaosicaa's and mine is that I have Letbs Encounters. Do I need this?
 

Lecode

(─‿‿─)
Veteran
Joined
Dec 18, 2013
Messages
490
Reaction score
659
First Language
French
Primarily Uses
N/A
@Pharonix : Yes, I noticed it on my side, it's a parsing error. It's fixed on my side. And yes, "1_cells_in_{aoe}" is the right parameter. The parsing error makes it broken thought.

For those wanting to fix it right now, look for the function TBSSequenceManager.prototype.readCellTargets in LeTBS.js and replace it with:
Code:
TBSSequenceManager.prototype.readCellTargets = function (data) {
    var targets = [];
    var cursorCell = this.baseCursorCell();
    var aoe = [];
    if (data.match(/\{(.+)\}/i)) {
        var aoeKey = RegExp.$1;
        if (aoeKey === "aoe") {
            aoe = this.baseAoE();
        } else if (aoeKey === "cursor") {
            aoe = [cursorCell];
        } else {
            var param = {
                user: this.getUser(),
                dir: this.getUser().getDirectionTo(cursorCell),
                need_check_los: false,
                exclude_center: false,
                line_of_sight: false
            };
            aoe = BattleManagerTBS.getScopeFromData(aoeKey, cursorCell, param);
        }
    }

    if (data.match(/(\d+)_cells_in_\{.+\}/i)) {
        targets = LeUtilities.getXRandomValuesInArray(aoe, Number(RegExp.$1));
    } else if (data.match(/cursor_cell/i)) {
        targets = [cursorCell];
    } else if (data.match(/user_cell/i)) {
        targets = [this.getUser().getCell()];
    } else if (data.match(/\{.+\}_ally_cells/i)) {
        targets = aoe.filter(function (cell) {
            var e = cell.getEntity();
            if (e) {
                return this.isAlly(e.battler());
            }
            return false;
        }.bind(this));
    } else if (data.match(/\{.+\}_enemy_cells/i)) {
        targets = aoe.filter(function (cell) {
            var e = cell.getEntity();
            if (e) {
                return this.isEnemy(e.battler());
            }
            return false;
        }.bind(this));
    } else if (data.match(/battlers_cells/i)) {
        BattleManagerTBS.allEntities().forEach(function (entity) {
            targets.push(entity.getCell());
        }.bind(this));
    } else if (data.match(/ally_cells/i)) {
        BattleManagerTBS.allEntities().forEach(function (entity) {
            if (this.isAlly(entity.battler()))
                targets.push(entity.getCell());
        }.bind(this));
    } else if (data.match(/enemy_cells/i)) {
        BattleManagerTBS.allEntities().forEach(function (entity) {
            if (this.isEnemy(entity.battler()))
                targets.push(entity.getCell());
        }.bind(this));
    } else if (data.match(/last_targets/i)) {
        targets = this._lastCellTargets;
    } else if (data.match(/saved\((.+)\)/i)) {
        targets = this._savedCells[RegExp.$1] || [];
    } else if (data.match(/\{(.+)\}/i)) {
        targets = aoe;
    }

    if (data.match(/\-(.+)/i)) {
        var newData = RegExp.$1;
        var toExclude = this.readCellTargets(newData);
        targets = targets.filter(function (cell) {
            return toExclude.indexOf(cell) === -1;
        });
    }

    this._lastCellTargets = targets;
    return targets;
};
@Rem Rem : It's an add-on, it's not needed.

@Pharonix : Supporting large battlers is absolutely planned. It'll come out before the 1.0 for sure.
 
Last edited:

Wren

Veteran
Veteran
Joined
Jun 25, 2013
Messages
94
Reaction score
16
First Language
English
I'm stoked to see this still being actively fleshed out and features being added and refined. Thanks Lecode.
 

cleriyou

Villager
Member
Joined
Sep 25, 2017
Messages
7
Reaction score
0
First Language
French
Primarily Uses
RMMV
Hi!
I'm looking for a way to change the turn order by:
1) being able to select a summon(of your side) and doing his "turn"
2) being able to cast some spell even thought isn't your turn

I don't know if someone has already did this, but i ask anyways
 

deathsia

Pegisister
Veteran
Joined
Feb 26, 2014
Messages
649
Reaction score
55
First Language
English
Primarily Uses
Hi!
I'm looking for a way to change the turn order by:
1) being able to select a summon(of your side) and doing his "turn"
2) being able to cast some spell even thought isn't your turn

I don't know if someone has already did this, but i ask anyways
Essentially, a cast timer similar to Final Fantasy Tactics, yes? If he builds his system around that its very much possible but he'd have to do it while the system is in its Alpha stages(like now) or it will become impossible to do down the road once his combat system is fully established.

Personally, I'm kind of hoping that's the kind of route he goes with this.
 

mark0h

Villager
Member
Joined
Nov 28, 2015
Messages
15
Reaction score
1
First Language
English
Primarily Uses
Question, which I did not see the answer to;
Is it possible to use this battle system, and the RPGMaker MV default side battle system ? Somewhat like Ogre Battle on SNES, where the tactical battle system was used to move around a map, and the side view battle system was where the actual fighting took place. Each "Unit" on the tactical map would actually represent a full team(say 3-5 units), and when close enough on the tactical map, could engage an opponent in the side view map.

I am guessing this battle system replaces the default system and this is not possible, but thought I'd ask just in case.
 

Ziddeth

Warper
Member
Joined
Nov 9, 2015
Messages
4
Reaction score
2
Primarily Uses
Question, which I did not see the answer to;
Is it possible to use this battle system, and the RPGMaker MV default side battle system ? Somewhat like Ogre Battle on SNES, where the tactical battle system was used to move around a map, and the side view battle system was where the actual fighting took place. Each "Unit" on the tactical map would actually represent a full team(say 3-5 units), and when close enough on the tactical map, could engage an opponent in the side view map.

I am guessing this battle system replaces the default system and this is not possible, but thought I'd ask just in case.
Using "LeTBS OFF" as a plugin command through an event reverts to the default battle system, so you can have both systems in the game.. Not too sure how you would do the Troop nesting, but maybe someone else here does?
 

hc phoenix

Villager
Member
Joined
Aug 15, 2017
Messages
20
Reaction score
1
First Language
English
Primarily Uses
RMMV
I might be missing something obvious, but is there a way to control which states are visible to the player? I have helper states for stuff like controlling animations or damage values that the player shouldn't be seeing and that i can't think of a readily accessible alternative to.
 

Pharonix

Shadow Walker
Veteran
Joined
Apr 22, 2012
Messages
764
Reaction score
357
First Language
English
Primarily Uses
RMMV
I might be missing something obvious, but is there a way to control which states are visible to the player? I have helper states for stuff like controlling animations or damage values that the player shouldn't be seeing and that i can't think of a readily accessible alternative to.
Don't give the helper ones an icon and give them a 0 priority, the higher the priority, the closer to the front they display. So lower priorities will be pushed to the back.

I use passives, and 3 different passives for a character level up and all have the same icon as the previous level, but 4 icons actually show.
So i gave the first level the icon and left icon blank for lv2 and 3 and only the icon for each passive's level 1 show
 
Last edited:

Lecode

(─‿‿─)
Veteran
Joined
Dec 18, 2013
Messages
490
Reaction score
659
First Language
French
Primarily Uses
N/A
1) being able to select a summon(of your side) and doing his "turn"
The turn order hud isn't interactive so that's not possible for now.

2) being able to cast some spell even thought isn't your turn
On which occasions especially ? You can force actions using eventing.

Essentially, a cast timer similar to Final Fantasy Tactics, yes?
I don't know what is it but if you're talking about charge skills, they are already achievable with the TurnOrderControl add-on.

If he builds his system around that its very much possible but he'd have to do it while the system is in its Alpha stages(like now) or it will become impossible to do down the road once his combat system is fully established.
Not really. And that's exactly what I want to avoid at all cost. I'm building LeTBS to be modular and highly customizable so after the gold version (1.0) we can achieve most, if not all needed changes through eventing, sequences, the tag system, and side effects.
If ever implementing a add-on will be required, countless of modular functions and callbacks built in LeTBS core will be easy to harness.
So, no, building new systems after the gold version will not be impossible, but quite the opposite, it'll be much more easy. :p
If everything goes as intended.
Since last week I'm improving and building the tag system for that sole purpose. I'll write a post about it once it's finalized.
The next update will be heavy in term of internal changes.

I am guessing this battle system replaces the default system and this is not possible, but thought I'd ask just in case.
Yes, this is not possible as for now. The sideview system is entirely ditched and can't coexist with LeTBS.
But I believe that is something we can achieve with the sequence commands. After all it's about changing the scene's background, hiding all sprites, drawing some specified sprites, at specified positions, animating them, then displaying the skill's effects.
To me it seems like the easiet path, instead of forcing the side-view to coexist and patching all side-view yanfly's plugins for that :headshake:.
 

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

Latest Threads

Latest Profile Posts

Our latest feature is an interview with... me?!

People4_2 (Capelet off and on) added!

Just beat the last of us 2 last night and starting jedi: fallen order right now, both use unreal engine & when I say i knew 80% of jedi's buttons right away because they were the same buttons as TLOU2 its ridiculous, even the same narrow hallway crawl and barely-made-it jump they do. Unreal Engine is just big budget RPG Maker the way they make games nearly identical at its core lol.
Can someone recommend some fun story-heavy RPGs to me? Coming up with good gameplay is a nightmare! I was thinking of making some gameplay platforming-based, but that doesn't work well in RPG form*. I also was thinking of removing battles, but that would be too much like OneShot. I don't even know how to make good puzzles!
one bad plugin combo later and one of my followers is moonwalking off the screen on his own... I didn't even more yet on the new map lol.

Forum statistics

Threads
106,033
Messages
1,018,441
Members
137,820
Latest member
georg09byron
Top