Lecode Tactical Battle System 0.77.2B

Krystek_My

Veteran
Veteran
Joined
Dec 29, 2017
Messages
217
Reaction score
45
First Language
Polish
Primarily Uses
RMMV
Just need to ask. Is it possible use static images in battle? For example a fairy enemy that will use static battler not sheet?
Why I can't click anything in documentation? Ex. Summoning.
It may be a dummy wuestion but I just need to know.
 

Doktor_Q

I'm not a real doktor, but I am a real Q
Veteran
Joined
Aug 1, 2016
Messages
786
Reaction score
481
First Language
English
Primarily Uses
RMMV
Just need to ask. Is it possible use static images in battle? For example a fairy enemy that will use static battler not sheet?
Why I can't click anything in documentation? Ex. Summoning.
It may be a dummy wuestion but I just need to know.
The section headers in the documentation for 0.8 mostly don't do anything because most of the sections aren't written yet- sprites and starting cells have been covered so far.

And from that, your first question- yes! According to the docs, 0.8 allows you to use a combination of character sheets, custom sprites, static sprites, and looping animations to make your character look like whatever, including, if you so desired, building the character out of generator parts during the game so your equipment shows up on your body.
 

Krystek_My

Veteran
Veteran
Joined
Dec 29, 2017
Messages
217
Reaction score
45
First Language
Polish
Primarily Uses
RMMV
@Doktor_Q is ot possible then to make a sword that is overlay at the back of battler, but when it attacks overlay is replaced with overlay but with attacking overlay? Also changing attack sprites based on equipment? I know that I can branch "if actor1 has equipped sword - change actor1 image" but how to do it on fightin, death etc; poses?
 

Doktor_Q

I'm not a real doktor, but I am a real Q
Veteran
Joined
Aug 1, 2016
Messages
786
Reaction score
481
First Language
English
Primarily Uses
RMMV
@Doktor_Q is ot possible then to make a sword that is overlay at the back of battler, but when it attacks overlay is replaced with overlay but with attacking overlay? Also changing attack sprites based on equipment? I know that I can branch "if actor1 has equipped sword - change actor1 image" but how to do it on fightin, death etc; poses?
https://lecodemv.github.io/leTBS/user-guide/entities.html#sprite-overlays Start here, in the 0.8 docs. The battler can have a different animation set for each pose (attacking, idle, dead, etc), and each pose can be built from multiple layers of sprites and modifiers, as defined by states, equipment, etc.
 
Joined
Jun 29, 2019
Messages
3
Reaction score
0
First Language
English
Primarily Uses
RMMV
So I am new to using this plug in, thought I would experiment with it. So I thought I would try and create my own simple fight. Nothing special, just the default Bat and the default Guard Sprites. The issue is that when ever the enemy DIES I get the below error message and have to close the game.

TypeError
this._spriteset.isEffecting is not a function

TypeError: this._spriteset.isEffecting is not a function
at Window_BattleLog.updateWaitMode (YEP_BattleEngineCore.js:5089)
at Window_BattleLog.updateWait (rpg_windows.js:4803)
at Window_BattleLog.update (rpg_windows.js:4797)
at rpg_core.js:7029
at Array.forEach (<anonymous>)
at WindowLayer.update (rpg_core.js:7027)
at rpg_scenes.js:262
at Array.forEach (<anonymous>)
at Scene_Battle.Scene_Base.updateChildren (rpg_scenes.js:260)
at Scene_Battle.Scene_Base.update (rpg_scenes.js:113)

Up date, after trying to fix the problem I have somehow made things worse and now when the battle starts I get

TypeError
Cannot read propery 'select' of undefined

TypeError: Cannot read property 'select' of undefined
at Function.BattleManagerTBS.positioningSelect (LeTBS.js:2464)
at Function.BattleManagerTBS.selectNextStartCell (LeTBS.js:2567)
at Function.BattleManagerTBS.waitForPositioningInput (LeTBS.js:2438)
at Function.BattleManagerTBS.updatePositioningPhase (LeTBS.js:2371)
at Function.BattleManagerTBS.updatePhase (LeTBS.js:2198)
at Function.BattleManagerTBS.update (LeTBS.js:2079)
at Scene_Battle.update (LeTBS.js:1229)
at Function.SceneManager.updateScene (rpg_managers.js:2024)
at Function.SceneManager.updateMain (rpg_managers.js:1983)
at Function.SceneManager.update (rpg_managers.js:1907)

I honestly have no idea what I am doing wrong. I have updated the Actors AND the enemies to reference their sprites. I have used the 1, 5, and 250 Field events to select where enemies, allies, and obstacles are. I am honestly completely lost at this point.
 
Last edited:

chengsta

Veteran
Veteran
Joined
Jan 14, 2019
Messages
52
Reaction score
7
First Language
english
Primarily Uses
RMMV
did you make sure your enemy sprites have a dead pose?
 

UniqueName

Veteran
Veteran
Joined
Nov 12, 2018
Messages
58
Reaction score
9
First Language
Russian
Primarily Uses
Other
Btw about dead poses: I typed this in an enemies notebox, so they could use character graphic from img\characters and it works perfectly fine
<letbs_sprite>
pose(idle): use_chara, Monster, 0
pose(dead): use_chara, Damage3, 1, 0
turn_order: auto
status_sprite: auto
</letbs_sprite>
But when I did the same with actors notebox, actors ignores pose(dead) line
<letbs_sprite>
pose(idle): use_chara, Char, 5
pose(dead): use_chara, CharDmg, 1, 1
turn_order: auto
status_sprite: auto
</letbs_sprite>
so they still have their sprites when theyre active, but the sprite doesnt change to Damage sprite when theyre KO'd
Why???
 
Joined
Jun 29, 2019
Messages
3
Reaction score
0
First Language
English
Primarily Uses
RMMV
did you make sure your enemy sprites have a dead pose?
Yes, the sprites had a dead pose.

So I do not know WHY this happened, but I figured out how to stop the game from crashing. I downloaded the 2 files available from the front page, LeTBS 0.77.2 (the Update) & LeTBS_0772B(the Demo). Wanting to make sure that I had all of the necessary files I took these and merged them together. For some reason, having the Update files over write the Demo files was causing the errors. I do not know WHY this is happening, I have next to no knowledge of programming or Java. But my guess would be that the Update files have an error(s) in them that does not exist in the Demo version of the game.
 
Last edited:

pulsusego

Villager
Member
Joined
Apr 8, 2019
Messages
16
Reaction score
13
First Language
English
Primarily Uses
RMMV
Conclusion of the Investigation.
Yeah, that's definitely an odd one. For what it's worth though, if you haven't picked up on it from reading more recent thread posts, the next version is going to be released sometime this summer that revamps a load of the features and, especially, the code. So that kind of odd instability and peculiar update conflict stuff should be a thing of the past once 0.8 comes out. Super looking forward to it, myself, but just figured I'd point it out in case you weren't aware. Cheers! Have fun tinkering with the system. :)
 
Joined
Jun 29, 2019
Messages
3
Reaction score
0
First Language
English
Primarily Uses
RMMV
Yeah, that's definitely an odd one. For what it's worth though, if you haven't picked up on it from reading more recent thread posts, the next version is going to be released sometime this summer that revamps a load of the features and, especially, the code. So that kind of odd instability and peculiar update conflict stuff should be a thing of the past once 0.8 comes out. Super looking forward to it, myself, but just figured I'd point it out in case you weren't aware. Cheers! Have fun tinkering with the system. :)
I have noticed that and I AM looking forward to 0.8. This system looks amazing honestly. I just wish that there was a complete help Document. So far I have found two separate yet incomplete ones.....
 

pulsusego

Villager
Member
Joined
Apr 8, 2019
Messages
16
Reaction score
13
First Language
English
Primarily Uses
RMMV
Yeah Heckle, that's gonna be coming with the 0.8 release. (or at least shortly afterwards I believe? One or the other.)

Until then the help FAQ is kindof a rough ideas guide at times lol. I've supplemented it with checking the .js files themselves paired with poking around in the old demo (though after a while that loses most of its usefulness).
 

Pharonix

Shadow Walker
Veteran
Joined
Apr 22, 2012
Messages
730
Reaction score
324
First Language
English
Primarily Uses
RMMV
Not sure if anyone missed me or not, but it sure has been a while. For some reason I stopped receiving notifications on this thread.
I also see many new faces.

Its good to see that 0.8 is coming along, I was afraid it may have been abandoned. Thankfully that's not the case.

I sort of burned out mapping for my project, which completely demotivated me from even booting up rpgmaker, That, and 2000+ hours over a period of a year was just.... painful.

But anyway, my height/move restriction modifications work pretty nicely now that I got them fully integrated with Lecode's LeTBS, and supports things like
Lava cells, pits, water, etc, (each additional would require a new parameter, but I add those when needed) and allows the creation of "Passive" skills, that enable the character to cross over, or even stand there.
Like "Lava Walker", "Jump", "Float" etc. I think I still need to program in basic costs for moving to higher ground, but its been so darn long that I
barely remember what fun functions I actually added.

But what it is is a combo of 2 plugins i made,
RegionCosts, and Terrain,
Basically RegionCosts defines each region's "Cost" and defaults it to 1, unless specified in my editor.
Terrain does similar but defines each region's "Height" and defaults it to 1 as well, unless specified.
I had to override the path verification, which I'll admit did take some time, to take into consideration that the player was able to actually move there. It also works for enemy units.
The more remarkable part is that all this extra code barely impacts the actual battle system itself.
Unfortunately, what this means is that I have so much custom content (built upon 0.77,) that It looks like it will be completely impossible to port over to 0.8 for a looooong time.
I think 0.77.2b will still be difficult. So its likely my project will release under 0.77, and that'll be the end of it.


If anyone is interested, I built in crazy stuff for LeTBS, like
Charm (fixed completely)
Cell Height
Cell Cost (to move there)
Counters (Like custom counter types)

There's more, but it is a ton of code to go through,

So if anyone had ideas that could be added to this system, that Lecode hasn't already thought up for 0.8, let me know. I'm always hungry for more ideas. Just don't ask for a "Undo Move" I have no idea how to do that properly and reset any hp changes.
Doktor Q wrote something a while back, but I could never get it to work.
 

Doktor_Q

I'm not a real doktor, but I am a real Q
Veteran
Joined
Aug 1, 2016
Messages
786
Reaction score
481
First Language
English
Primarily Uses
RMMV
@Pharonix It doesn't deal with HP or status changes for that reason- all it's supposed to do is save off your position, move points, etc. when you start moving, and reload them if you hit the "back" button. Naturally, things like attacking our setting off damage tiles prevents it.

I'll be trying to port my changes over to 0.8 once it comes out- it looks like it's addressing a lot of the issues I had when using 0.7b
 

chengsta

Veteran
Veteran
Joined
Jan 14, 2019
Messages
52
Reaction score
7
First Language
english
Primarily Uses
RMMV
hey pharonix, the undo move works perfectly fine for me. However, I am dying for a working counter attack (and ranged counter attack) plugin, and charm. Glad you were able to get those to work. I have no choice but to wait for .8 and see if those work there. and I hope you don't have too much trouble porting over, as the new features will be awesome, like multi-square units. I'm not java/script/programming etc saavy unfortunately.
 

Pharonix

Shadow Walker
Veteran
Joined
Apr 22, 2012
Messages
730
Reaction score
324
First Language
English
Primarily Uses
RMMV
hey pharonix, the undo move works perfectly fine for me. However, I am dying for a working counter attack (and ranged counter attack) plugin, and charm. Glad you were able to get those to work. I have no choice but to wait for .8 and see if those work there. and I hope you don't have too much trouble porting over, as the new features will be awesome, like multi-square units. I'm not java/script/programming etc saavy unfortunately.
Do yo use 0.77.2b?
I should have the code for that somewhere

From what i remember it was just a line or two that was wrong.
But if you use 0.77.2B i can see if i can get it working, unless you want to wait for 0.8
 

chengsta

Veteran
Veteran
Joined
Jan 14, 2019
Messages
52
Reaction score
7
First Language
english
Primarily Uses
RMMV
ill just wait for .8, thanks :)
 

moldy

Veteran
Veteran
Joined
Nov 15, 2015
Messages
193
Reaction score
29
First Language
English
Primarily Uses
Not sure if anyone missed me or not, but it sure has been a while. For some reason I stopped receiving notifications on this thread.
I also see many new faces.

Its good to see that 0.8 is coming along, I was afraid it may have been abandoned. Thankfully that's not the case.

I sort of burned out mapping for my project, which completely demotivated me from even booting up rpgmaker, That, and 2000+ hours over a period of a year was just.... painful.

But anyway, my height/move restriction modifications work pretty nicely now that I got them fully integrated with Lecode's LeTBS, and supports things like
Lava cells, pits, water, etc, (each additional would require a new parameter, but I add those when needed) and allows the creation of "Passive" skills, that enable the character to cross over, or even stand there.
Like "Lava Walker", "Jump", "Float" etc. I think I still need to program in basic costs for moving to higher ground, but its been so darn long that I
barely remember what fun functions I actually added.

But what it is is a combo of 2 plugins i made,
RegionCosts, and Terrain,
Basically RegionCosts defines each region's "Cost" and defaults it to 1, unless specified in my editor.
Terrain does similar but defines each region's "Height" and defaults it to 1 as well, unless specified.
I had to override the path verification, which I'll admit did take some time, to take into consideration that the player was able to actually move there. It also works for enemy units.
The more remarkable part is that all this extra code barely impacts the actual battle system itself.
Unfortunately, what this means is that I have so much custom content (built upon 0.77,) that It looks like it will be completely impossible to port over to 0.8 for a looooong time.
I think 0.77.2b will still be difficult. So its likely my project will release under 0.77, and that'll be the end of it.


If anyone is interested, I built in crazy stuff for LeTBS, like
Charm (fixed completely)
Cell Height
Cell Cost (to move there)
Counters (Like custom counter types)

There's more, but it is a ton of code to go through,

So if anyone had ideas that could be added to this system, that Lecode hasn't already thought up for 0.8, let me know. I'm always hungry for more ideas. Just don't ask for a "Undo Move" I have no idea how to do that properly and reset any hp changes.
Doktor Q wrote something a while back, but I could never get it to work.
Good to see you're still alive and kicking! We did miss you :). How does the charm status effect work in your project? I was waiting forever for a plugin like this! Also, did you ever get around to seeing if it was possible to control enemy units completely? Like, once the enemy's turn happens, the player can move them around and make them use any skill on whoever they want?
 

Adventurer_inc.

Technically a Programmer
Veteran
Joined
Sep 12, 2015
Messages
99
Reaction score
40
First Language
English
Primarily Uses
RMMV
I'm actually still out and about also. :rock-left:

@Pharonix
I'm sticking to 0.77.2B also. I'm actually curious if you ever got forceAction inside counter working? For example, if you want to inject an Action during a counter or do double counter.
 

Pharonix

Shadow Walker
Veteran
Joined
Apr 22, 2012
Messages
730
Reaction score
324
First Language
English
Primarily Uses
RMMV
Good to see you're still alive and kicking! We did miss you :). How does the charm status effect work in your project? I was waiting forever for a plugin like this! Also, did you ever get around to seeing if it was possible to control enemy units completely? Like, once the enemy's turn happens, the player can move them around and make them use any skill on whoever they want?
Basically, I created 2 skills/states
Charm - Repaired charm function. On Player-Controlled Allies, it forces them into "AI" controlled, and swaps the enemy/ally arrays.
So what this means is according to the game system, The Enemy Units are the player's allies, and vice-versa. IIRC, this required alot of coding to make sure it worked.
I had to modify everything that said something along the lines of
var party = user.battler().isEnemy() ? this.enemyEntities() : this.allyEntities();
and replace it with
var party = TBSAiManager.prototype.getAlliesOf(user.battler(), true);

Npt to mention I had to replace the getAlliesOf and getEnemiesOf functions to determine the proper arrays.

As for "Brainwashing"
This was more complicated,

As it is, there was no way to "undo" the AIControlled on enemy entities, nor do they have a command array of sorts.
So the way it works is it clones the enemy entity, using a tag I created called [CloneID] which tells the system which ActorID the enemy should be cloned as. Then it completely erases the enemy entity, and drops in an Actor with the same exact Stats.
Obviously this causes issues unless you make sure to never use duplicates of the same enemy in battle.
On Allies, this functions exactly like "Charm" so there's no issue there.

I'm actually still out and about also. :rock-left:

@Pharonix
I'm sticking to 0.77.2B also. I'm actually curious if you ever got forceAction inside counter working? For example, if you want to inject an Action during a counter or do double counter.
I'm actually using 0.77 Base, not the 0.77.2 version, however, I did take some fixes from it, such as the fixed counter system, but thats when I discovered the issue.

In 0.77's base code for processCounterAttack()
It doesn't take into consideration the "Cursor"

Basically when an enemy hits you with an attack, the cursor is now placed on player character, and by default, the player is not in the array of enemies. What this means is the Character performing 'forceAction' is not allowed to perform a counter on their own cell.
But when I took the code from 0.77.2B, it seemed to have worked fine.

One thing to note, is that Counter's DO NOT apply to battle parties with more than the default 4
Since my game had 5 characters always, the 5th character would not counter,
So I wrote a plugin that raised the max battle party members to a user-defined number through the plugin manager.

At this point I have

Offensive Counters - Counters with an Offensive Skill
Defensive Counters - Counters with a Defensive Skill (Such as a barrier, retreat, etc)
Support Counters - Counters with a Support Skill (Such as Heal, Atk/Def up, etc)
Elemental Counters - Counters a specific Element - When done, this will allow countering certain attacks. (like counter a fire spell with Ice/water)
Physical Counters - Counters that 'counter" with a Physical attack
Magical Counters - Counters that 'counter" with a Magical attack

Also, Every character has a maximum number of counters that I modified the Yanfly Counter Control for, to have each character have a maximum counter number, which is reset each turn. I had to implement this CounterLimit when I realized units that can counter, will counter counter-attacks.

You should see the massive web of javascript, that happens to be much too complex to fully explain.
 

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

Latest Threads

Latest Profile Posts

Newest RPG Maker drops: hey fellas, get on the MZ train to somewhere

Me: Building my VX Ace lego tower, blissfully unaware of time moving forward
When you are trying to make progress in your game. But something is stopping your motivation. Like come on mind! Let me do what I want! :<
Tfw everyone is trying their hardest to brainstorm about unique ideas and game mechanics, here I am just going: "How am I gonna event conversations with busts" everyday. :kaoswt2:
Comedy is third person, tragedy is first person.
Man. A historic 130 year old church nearby had all of its windows broken out with bricks last night. Such a shame, it wasn't generic stained glass patterns either but had beautifully crafted murals depicting various parts of the gospels.

Forum statistics

Threads
99,317
Messages
964,120
Members
130,927
Latest member
Gigabitz
Top