Lecode Tactical Battle System 0.77.2B

Psychronic

Veteran
Veteran
Joined
Aug 5, 2018
Messages
126
Reaction score
103
First Language
English
Primarily Uses
RMMV
Another example of this plugin in action. I think I can get more fancy with it, but just trying to get it to work properly at first.

 

kanaza

Villager
Member
Joined
Mar 12, 2019
Messages
7
Reaction score
0
First Language
French
Primarily Uses
RMMV
Hi
is it possible to inflict damage to an actor by TBS event?

Also, i created a grenade in object that inflict damage on AOE,
 

Chaosicaa

Veteran
Veteran
Joined
Dec 22, 2016
Messages
95
Reaction score
122
First Language
French
Primarily Uses
Hello and sorry everyone, my last post on the forum was 5 months ago!
Unfortunately LeTBS advancement is slower than anticipated :/

But there is a reason about that, Lecode was not really satisfied with the code in this actual form and decided to rewrite entirely the code to make is more resistant and clean and easier to modify. Also, Lecode is young and in programing school and have a limited free time!

On 29 January I received this message (sorry if my translation is not perfectly accurate) :

I'm integrating TypeScript, with this, you will be able to describe LeTBS "foundations" (like Tile effects, auras, marks, etc.) and they will be based on notetags. I also have put the possibility to insert code inside those notetags.
IMG-20190129-WA0002.jpg

Message on 4 Februrary 2019 :
I had a lot of struggle with the new "resource manager" (with TypeScript) but I have solved the problem (it was a "parser" problem)!
From now, I will have to migrate all LeTBS into TypeScript, it will advance slowly, it is like I am writing the code from scratch again.

Message on 24 February 2019 :

I have fully implemented the "Resources manager", this will be able to customize in game elements.
I've added, some, removed some, merged some etc.
I also would like to add some new [characteristics] of terrain effects.
There is 22 of them for the moment, and I'm thinking about adding one for visual effects.
For example, Adding some visual effects when some requirements are met in the battle depending of an entity or other many things.
For example, it will be able to create a class able to collects "orbs" and see them on screen with a "generic resource"
With the same system, you also will be able to generate a "Rage" gauge for each entity and so on. (like a second TP bar for example)

IMG-20190223-WA0000.jpg

IMG-20190223-WA0004.jpg
IMG-20190223-WA0001.jpg

IMG-20190223-WA0002.jpg

IMG-20190223-WA0003.jpg

This the the file about the "terrain effect" configuration a new LeTBS resource.
I've a new way to do some programming, before I was doing everything in the same file but it is different now.
I've many files in the project and at the end I lunch a "builder" witch merge all files together.

All LeTBS resources will be saved in "Data".

I don't know if you realized but I use "Config.define.Model" to define a resource type, this is a function I will highlight to all other devs who know about JS and they will be able to add their own code to it if they want to.
I'll work hard to make LeTBS as customable as possible. (After all, when LeTBS hits the 1.0 version, I would like to do something else)

There is still a characteristic about "particle effects" I want to add, before the release.

You will also be able to create a spell that if you lunch on an empty cell you will be able to create an area around the selected cell able to inflict damage or effects to enemies or ally inside it and it will last as many turns you want. (Like Feca glyphs in Dofus) You'll be able to show these area with bodySprite or bodyAnimation or both below entities.

29 Mars 2019 :

I want to make a demo for the new 0.8 Version, humm, more like a full game but very short (30 min to 2 hours running time witch feature a lot of the new LeTBS power) with a very simple scenario very "cliché".

I think about small tornadoes around the map or effects like the geo-panels from Disgaea games.

Probably at first, we will start only with Duran and one healer an after there will be characters joining the party.

----------------------------------------------------------------

After the 0.8 Version, I would like to do frequent news like before.
The problem actually is that a huge chunk of my work is not visible.

IMG-20190404-WA0000.jpg

I just realized I could upgrade the "Parser" on "LeUtils".
This way I will be able to add "observers" to "Notetags" and trigger functions when they change.
For example if filename change, LeTBS will be able to adapt and refresh entities.

It specifically apply to entities who gains or lost a "state" in battle.
For example, you will be able to transform a fighter into something else, a wolf for example or why not a character might have many transformation levels like in dragon ball.

-----------------------------------------------------------------

From Lecode :
Actually I am very satisfied with the changes I made to the code, I've changed many things but I think it was necessary, the next update will be very big!
In about 2 months I will start to rewrite the documentation again since about everything changed!
The documentation will be online and change as the time goes by.
When the doc will be completed, I'll work on the "demo/small-project (30min to 2 hours)"

When the 0.8 will be out, I'll do a completely new campaign to have more patrons on *******, I've lost a lot of them and I understand since a lot of my work is not visible for the time being!

I'll do like yanfly and add videos on how to handle LeTBS and add game mechanics to it!

See you soon!
 
Last edited:

Psychronic

Veteran
Veteran
Joined
Aug 5, 2018
Messages
126
Reaction score
103
First Language
English
Primarily Uses
RMMV
Hello and sorry everyone, my last post on the forum was 5 months ago!
Unfortunately LeTBS advancement is slower than anticipated :/

But there is a reason about that, Lecode was not really satisfied with the code in this actual form and decided to rewrite entirely the code to make is more resistant and clean and easier to modify. Also, Lecode is young and in programing school and have a limited free time!

On 29 January I received this message (sorry if my translation is not perfectly accurate) :

I'm integrating TypeScript, with this, you will be able to describe LeTBS "foundations" (like Tile effects, auras, marks, etc.) and they will be based on notetags. I also have put the possibility to insert code inside those notetags.

Message on 4 Februrary 2019 :
I had a lot of struggle with the new "resource manager" (with TypeScript) but I have solved the problem (it was a "parser" problem)!
From now, I will have to migrate all LeTBS into TypeScript, it will advance slowly, it is like I am writing the code from scratch again.

Message on 24 February 2019 :

I have fully implemented the "Resources manager", this will be able to customize in game elements.
I've added, some, removed some, merged some etc.
I also would like to add some new [characteristics] of terrain effects.
There is 22 of them for the moment, and I'm thinking about adding one for visual effects.
For example, Adding some visual effects when some requirements are met in the battle depending of an entity or other many things.
For example, it will be able to create a class able to collects "orbs" and see them on screen with a "generic resource"
With the same system, you also will be able to generate a "Rage" gauge for each entity and so on. (like a second TP bar for example)


This the the file about the "terrain effect" configuration a new LeTBS resource.
I've a new way to do some programming, before I was doing everything in the same file but it is different now.
I've many files in the project and at the end I lunch a "builder" witch merge all files together.

All LeTBS resources will be saved in "Data".

I don't know if you realized but I use "Config.define.Model" to define a resource type, this is a function I will highlight to all other devs who know about JS and they will be able to add their own code to it if they want to.
I'll work hard to make LeTBS as customable as possible. (After all, when LeTBS hits the 1.0 version, I would like to do something else)

There is still a characteristic about "particle effects" I want to add, before the release.

You will also be able to create a spell that if you lunch on an empty cell you will be able to create an area around the selected cell able to inflict damage or effects to enemies or ally inside it and it will last as many turns you want. (Like Feca glyphs in Dofus) You'll be able to show these area with bodySprite or bodyAnimation or both below entities.

29 Mars 2019 :

I want to make a demo for the new 0.8 Version, humm, more like a full game but very short (30 min to 2 hours running time witch feature a lot of the new LeTBS power) with a very simple scenario very "cliché".

I think about small tornadoes around the map or effects like the geo-panels from Disgaea games.

Probably at first, we will start only with Duran and one healer an after there will be characters joining the party.

----------------------------------------------------------------

After the 0.8 Version, I would like to do frequent news like before.
The problem actually is that a huge chunk of my work is not visible.


I just realized I could upgrade the "Parser" on "LeUtils".
This way I will be able to add "observers" to "Notetags" and trigger functions when they change.
For example if filename change, LeTBS will be able to adapt and refresh entities.

It specifically apply to entities who gains or lost a "state" in battle.
For example, you will be able to transform a fighter into something else, a wolf for example or why not a character might have many transformation levels like in dragon ball.

-----------------------------------------------------------------

From Lecode :
Actually I am very satisfied with the changes I made to the code, I've changed many things but I think it was necessary, the next update will be very big!
In about 2 months I will start to rewrite the documentation again since about everything changed!
The documentation will be online and change as the time goes by.
When the doc will be completed, I'll work on the "demo/small-project (30min to 2 hours)"

When the 0.8 will be out, I'll do a completely new campaign to have more patrons on *******, I've lost a lot of them and I understand since a lot of my work is not visible for the time being!

I'll do like yanfly and add videos on how to handle LeTBS and add game mechanics to it!

See you soon!

So does this mean that the syntax/sprite configuration in the notes section of characters will have different logic? Or is it just the stuff "under the hood" that's changed?

It's all good either way for me, I just don't want to do too many battles and then have it break later. Just wondering.

Thanks! Excited about the new changes.
 

Lecode

(─‿‿─)
Veteran
Joined
Dec 18, 2013
Messages
490
Reaction score
654
First Language
French
Primarily Uses
N/A
Hello. It's been a while.
The current state of the project is pretty much what Chaosicaa said. Some of you may have many questions but all the details will be given in due time. I'll make an announcement both here and on my ******* page when the new doc website will be live. You'll be able to see how the doc and guides evolve until I finish working on it and the demo in parallel. Only after that, the new version will be released.

I don't know how many of you are still using LeTBS and I understand if many lost their interest midway but that's how things are (for better or for worse). It's taking months and I'm pretty much allocating all of my free time working on it already. I don't know what else can I do to speed up things without 1) degrading the quality of the final product and 2) losing my mind. But I needed to rework LeTBS from the ground up.
I know many of you understand though! I had positive feedback on *******. That made me truly happy.

So does this mean that the syntax/sprite configuration in the notes section of characters will have different logic? Or is it just the stuff "under the hood" that's changed?
Yes, some of them will change.

It's all good either way for me, I just don't want to do too many battles and then have it break later. Just wondering.
Yeah I know people were afraid about re-configuring their DB for 0.8 but I thought (and I still think) I could write a quick tool to help migrate to 0.8. Nothing fancy, just a tool looking for patterns inside your notetags and converting them to valid 0.8 data. But we will see.

Thanks! Excited about the new changes.
Appreciate you're having fun with the project. Saw your videos, looks interesting! Good luck with that.
 

Doktor_Q

I'm not a real doktor, but I am a real Q
Veteran
Joined
Aug 1, 2016
Messages
825
Reaction score
512
First Language
English
Primarily Uses
RMMV
@Lecode Good to see you're still around! Are there plans to update the public GitHub repository? I've been making tweaks and customizations as I go, and occasionally I find places where handling can be simplified or improved.

For example, one thing I found last week while working was that the 0.77 line-of-sight check runs bizarrely slower than a naive approach (draw a line, stop if it hits a wall), and switching over almost completely removed the lag I was getting. Not sure if you've already changed how that's handled, but it's a pretty quick performance gain.
 

Lecode

(─‿‿─)
Veteran
Joined
Dec 18, 2013
Messages
490
Reaction score
654
First Language
French
Primarily Uses
N/A
@Doktor_Q Hey. I don't know when exactly, but I'll keep in mind to let you know when I do update it. Or maybe I'll actually move it to my personal github. Any PR will be welcomed :)

For example, one thing I found last week while working was that the 0.77 line-of-sight check runs bizarrely slower than a naive approach (draw a line, stop if it hits a wall), and switching over almost completely removed the lag I was getting. Not sure if you've already changed how that's handled, but it's a pretty quick performance gain.
Yes, that's actually bizarre. I don't remember what I was using prior 0.8, but for 0.8+ I'm relying on this los checking algo: https://github.com/LecodeMV/gridLoS. (Demo here: https://lecodemv.github.io/gridLoS/demo/). If I remember, the last time I tested, I didn't get any lag, even on a 40x40 scope.
It's the same as the naive approach but beforehand I isolate the cells that actually need checking.
But that's interesting, I'll make sure to double check that before release. Thanks :)
 

Doktor_Q

I'm not a real doktor, but I am a real Q
Veteran
Joined
Aug 1, 2016
Messages
825
Reaction score
512
First Language
English
Primarily Uses
RMMV
@Lecode It seemed, though I didn't test thoroughly after I found a solution, that the lag was caused by the code to isolate the cells to check taking longer than just checking everything anyway, especially since you had to rebuild that list each time.
 

Lecode

(─‿‿─)
Veteran
Joined
Dec 18, 2013
Messages
490
Reaction score
654
First Language
French
Primarily Uses
N/A
@Doktor_Q Alright. It's possible the checking is poorly optimized in the current version. However, I remember that when I was making GridLoS, I tested various methods including the naive one you're talking about, but nothing came better than what I have now.
However, it's true that on maps with many obstacles, this may not be optimal. But I doubt it's more expensive than checking every cell. But I'll definitely make some tests.
 

Multodi

Warper
Member
Joined
Apr 6, 2019
Messages
3
Reaction score
3
First Language
English
Primarily Uses
RMMV
Hey! Love the plugins! Your work is amazing. Was interested in mentioning a possible "simultaneous combat mechanic" that plays all of the turns at once or a tick system that allows multiple abilities/movements to be played in a row depending on how many "ticks" each choice costs- would redetermine turn order each round based on tick order choices. Just a thought ♡♡
 

cmcorbin

Villager
Member
Joined
Mar 14, 2019
Messages
14
Reaction score
6
First Language
english
Primarily Uses
RMMV
Hello everyone! Forgive me if this has been answered, but I have been looking around for the last two hours. I was wondering if there was any way to set up some kind of a cover system. I was thinking something with events, but any solution would do. I just need a tile to reduce damage coming in from one direction while the actor stands on a specific tile.

Also on a separate note. This battle system is allowing me to finally make the game I always wanted to design. Words cannot express how grateful I am for all of this. Thanks for all of the hard work from both Lecode and the community on these forms!
 

Doktor_Q

I'm not a real doktor, but I am a real Q
Veteran
Joined
Aug 1, 2016
Messages
825
Reaction score
512
First Language
English
Primarily Uses
RMMV
@cmcorbin That's going to be a bit complicated, but definitely not impossible. You're going to want to get some experience with the engine and a tiny bit of javascript knowledge to set it up.
  1. Learn about LeTBS's tile effect options. You'll need to set up regions, marks, or auras to apply a state that gives them "cover from [direction]"
  2. I'd strongly advise using Yanfly's Buffs & States Core, and learning how to use the <custom react effect> tag- this gives you a chance to modify the damage the status-holder is going to take from any attack that hits them. It involves writing a few lines of javascript to do what you want, though.
  3. I attached a plugin I wrote to help with directional damage. Aside from cleaning things up, it also means your damage formulas (as well as things like <custom react effect>) have access to the direction you got hit from, both as a relative value (front, back, side), and also as an absolute value (n, s, e, w, ne, nw, se, sw). They're both in text form, so you can check them
The final vision is something like this:
When a battler stands on this tile, they gain the "protected from east" state. When a battler who has "protected from east" receives damage, you'd check the absolute direction- if it contains an "e", then it came from somewhere to the east of them, and you cut the incoming damage in half.
 

cmcorbin

Villager
Member
Joined
Mar 14, 2019
Messages
14
Reaction score
6
First Language
english
Primarily Uses
RMMV
Accidentally double posted and do not know how to take this down. sorry bout that
 
Last edited:

cmcorbin

Villager
Member
Joined
Mar 14, 2019
Messages
14
Reaction score
6
First Language
english
Primarily Uses
RMMV
Thanks so much. I am already using that yanfly plugin as it is. Cant tell you how much I appreciate being pointed in the right direction. I wouldn't have figured that out on my own.
 

Psychronic

Veteran
Veteran
Joined
Aug 5, 2018
Messages
126
Reaction score
103
First Language
English
Primarily Uses
RMMV
@cmcorbin That's going to be a bit complicated, but definitely not impossible. You're going to want to get some experience with the engine and a tiny bit of javascript knowledge to set it up.
  1. Learn about LeTBS's tile effect options. You'll need to set up regions, marks, or auras to apply a state that gives them "cover from [direction]"
  2. I'd strongly advise using Yanfly's Buffs & States Core, and learning how to use the <custom react effect> tag- this gives you a chance to modify the damage the status-holder is going to take from any attack that hits them. It involves writing a few lines of javascript to do what you want, though.
  3. I attached a plugin I wrote to help with directional damage. Aside from cleaning things up, it also means your damage formulas (as well as things like <custom react effect>) have access to the direction you got hit from, both as a relative value (front, back, side), and also as an absolute value (n, s, e, w, ne, nw, se, sw). They're both in text form, so you can check them
The final vision is something like this:
When a battler stands on this tile, they gain the "protected from east" state. When a battler who has "protected from east" receives damage, you'd check the absolute direction- if it contains an "e", then it came from somewhere to the east of them, and you cut the incoming damage in half.
Hey I tried your plugin and it did make things a lot smoother/less jittery. Thanks a ton!
 

pulsusego

Villager
Member
Joined
Apr 8, 2019
Messages
16
Reaction score
13
First Language
English
Primarily Uses
RMMV
Hi! First of all, I've been playing with and learning how to use your system and I really want to express my appreciation for your work. I've been trying to find something like this for so long, and I'm in love with LeTBS. It feels like a really good mix of ease of use and customization, and there's a lot to play around with. Basically I just really like what you've done overall, and I'm really looking forward to your next update!
Oh, and for what it's worth, while I don't really have enough spare money atm to contribute a meaningful amount of money to the *******, I did at least slot myself into the $1 category lol.. But as a friendly note to everybody else out there, always try to show your support to content creators that you like and whose work you appreciate. Even if it's marginal! I've never had a ******* or the like, but I've modded a few games in the past, and every message, video, general show of appreciation provides that much more motivation to keep working. Plus, it's just a nice thing to do. <3​
So yeah, TL;DR- I'm really grateful for your work. :)

Okay! So setting that aside, I admittedly also come here to ask for some advice, lol. I was wondering if anyone here could help point me in the right direction to fix an issue I'm having with LeTBS_ScanCommand. I think it might be a conflict from adding YEP_MessageCore but...
  1. I'm not sure, as I've had a couple crashes from it in the past before I added YEP_MC, the error log doesn't seem to suggest YEP_MC is involved, and the error occurs no matter where in the load order YEP_MC is.
  2. I can't read the code in the two plugin files well enough to find the potential source of the conflict.
  3. I can't make out any definitively useful info from the error log (console via F12). I'll paste the log below though, in case it's helpful.
In-Game: TypeError
this.windowHeight is not a function​
Console: TypeError: this.windowHeight is not a function
at Window_TBSScan.update (LeTBS_ScanCommand.js:694)
at Scene_Battle.showScanWindow (LeTBS_ScanCommand.js:448)
at Function.BattleManagerTBS.scanCommandOk (LeTBS_ScanCommand.js:183)
at Function.BattleManagerTBS.battlePhaseOnInputOk (LeTBS_ScanCommand.js:251)
at Function.InputHandlerTBS.processCallback (LeTBS.js:1733)
at Function.InputHandlerTBS.update (LeTBS.js:1718)
at Function.InputHandlerTBS.update (LeTBS_AutoBattle.js:210)
at Scene_Battle.update (LeTBS.js:1231)
at Function.SceneManager.updateScene (rpg_managers.js:2024)
at Function.SceneManager.updateMain (rpg_managers.js:1983)
SceneManager.catchException @ rpg_managers.js:1949​
I'm not asking for someone to write a compatibility patch for me lol, I could just really use some advice on how to go about attempting to fix the issue (if it even is the other plugin in the first place). *Nevermind, even with YEP_MC disabled it still crashes.
Okay, so if it's not YEP_MC I just don't really know where to begin. I had it working before, and haven't changed the enemies or player character/party members since (although I did create four allied AI actors, but their notebox is basically just copy/pasted from the already-working player/party member classes, so I don't believe there'd be an issue there.
Any thoughts/suggestions? If anybody has an idea I'd be more than happy to give it a shot on my side to see if it works.

On a side note, I sporadically get pretty bad lag during pathing/LOS checks, but can't work out how to actually implement your LOS plugin that's posted just above. If it's a pain to explain don't worry about it at all, but if someone could I'd definitely appreciate that as well.
*Edit: I could also post up my fledgling project if it'd be useful, though I'd probably have to cut out unnecessary assets to trim the file size down, so it might take me a little while lol.
 

Kes

Veteran
Veteran
Joined
Aug 3, 2012
Messages
22,120
Reaction score
11,481
First Language
English
Primarily Uses
RMVXA
@pulsusego Please post your query about the LOS plugin in that plugin's thread. It gets very complicated trying to answer queries about 2 separate plugins at the same time, and is off topic for this particular thread.
 

Doktor_Q

I'm not a real doktor, but I am a real Q
Veteran
Joined
Aug 1, 2016
Messages
825
Reaction score
512
First Language
English
Primarily Uses
RMMV
@Kes He's referring to a small patch-fix for LeTBS 's LoS calculation I posted in the form of a plugin, so it works without editing code files.

@pulsusego the fast LoS plugin is plug-and-play. Just drop it at the bottom of the list and it ought to work.
 

Psychronic

Veteran
Veteran
Joined
Aug 5, 2018
Messages
126
Reaction score
103
First Language
English
Primarily Uses
RMMV
@Kes He's referring to a small patch-fix for LeTBS 's LoS calculation I posted in the form of a plugin, so it works without editing code files.

@pulsusego the fast LoS plugin is plug-and-play. Just drop it at the bottom of the list and it ought to work.
I have tried the add-on plugin in my game and it definitely helped with the jitter/microstuttering I was encountering. Thanks again.

I also threw down $5/mo on LeCode's ******* since this plugin is a big part of my game.
 

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

Latest Threads

Latest Profile Posts

I see some threads pinned in the Useful Development Tools section. I wonder, what are the criteria to get a thread pinned?
Playing some Kingdom come: Deliverance. It's an interesting game... But for the first time ever I'm disappointed with Czech in a Czech game.
Anyone else find themselves skipping through spoken dialogue in games if they've finished reading said dialogue in the textbox? I do. Happens more often in JRPGs with me. I frequently finish reading the dialogue long before the VA is done speaking.
I've been pretty busy working on my Might and Magic inspired project. I've got the code for instructors in place, and I just finished up with the trap and resistance tests. The project is going very smoothly. I'm also learning more about Javascript which is helping out a lot. Arrays, they are your best friend!

Forum statistics

Threads
100,750
Messages
979,129
Members
132,388
Latest member
christianfletcher
Top