Lecode Tactical Battle System 0.77.2B

ZankokuNoYami

Veteran
Veteran
Joined
May 11, 2018
Messages
87
Reaction score
20
First Language
English
Primarily Uses
N/A
1) Yanfly's equip command. I am not sure if it is just not compatible, but no equip command is showing up in my list of commands.

Do I need to do something to make it show up?

2) Is there any way to STACK states? Like I have augments that when attached, add passives. One passive lets you move further. But you can attach up to two of these. So I'd like for it to combine the total amount of both.

3) Is there a way to make a state that increases scope? Or even CHANGES scope? I think having augments that change or increase range of your scope would be bad ass.
 

Utopiablue

Veteran
Veteran
Joined
Apr 11, 2015
Messages
44
Reaction score
19
First Language
english
Primarily Uses
This is closer. Now the weapon fires off in the proper direction, but the ship still doesn't face in the proper direction.
So this was all a big misunderstanding. I thought you wanted a ship (entity) that never turns when attacking. By default LeCode had programed the entities to always turn and face the target when attacking.
Let's go ahead and give this control over to the skills then.
Do this:
First, go ahead and delete the note tag "stationary_atk" from your actor. The code for this note tag we will keep just in case you might have use for it later in your game.

Next, go to your Railgun sequence and return the command "look_at: user, cursor_cell",
It should now look like this:

"railgun": [
"wait: 10",
"set_frame: user, atk, 0",
"wait: 30",
"play_pose: user, atk",
"directional_anim: user, user, 126, 127, 128, 129",
"look_at: user, cursor_cell",
"set_frame: user, atk, last",
"wait: 12",
"effects: {aoe}_battlers, current_obj, obj_anim",
"wait: 20",
"play_pose: user, idle",
"wait: 10"
],

Now the ship should turn and face the target and the railgun should fire in the correct direction.

Next, go to line 3485 and find the function, "BattleManagerTBS.executeAction".
Replace that function with this:

BattleManagerTBS.executeAction = function () {
this._subPhase = "obj_invokation";
var action = this.activeAction();
var item = action.item();
var entity = this.activeEntity();
var id = action.isAttack() ? entity.getWeaponSequenceData() : entity.getObjectSequenceData(item);
var fastSequence = action.isAttack() ? entity.getWeaponFastSequence() : entity.getObjectFastSequence(item);

this._direction = entity.getDirectionTo(this._activeCell);
if(!$dataSkills[item.id].meta.no_look){
entity.lookAt(this._activeCell);
}

entity._actionPerformed = true;
entity.battler()._itemOnUse = item;
this.activeBattler().useItem(item);
action.applyGlobal();
entity.onActionStart(id, fastSequence, action);
if (fastSequence.length > 0)
entity.startSequence(fastSequence, action);
else
entity.startSequence(id, action);
};

Next, go to line 6477 and find function, "TBSAiManager.prototype.commandUseP2 ".
Replace that function with this one:

TBSAiManager.prototype.commandUseP2 = function (obj) {
var cellTarget = this._actionData.cellTarget;
var center = this._entity.getCell().toCoords();
var cell = this.getClosestActionCellToTarget(cellTarget, obj, center);

this.BM().setCursorCell(cell);
//this.BM().updateActionSelection();

var id = this._entity.getObjectScopeData(obj);
if(!$dataSkills[obj.id].meta.no_look){
this._entity.lookAt(cell);
}

if (Lecode.S_TBS.showScopes) {
var wait = Lecode.S_TBS.aiWaitTime;
this.BM().wait(wait);
}

this._commandPhase = "obj_selection_wait";
this._commandNextPhaseCallBack = this.commandUseP3.bind(this, obj);
};

Now we have a skill note tag called <no_look>. Place this <no_look> in the note box of any skill that you do not want the entity to turn and face the target.
 
Last edited:

Sacrifyx

Veteran
Veteran
Joined
Oct 16, 2012
Messages
73
Reaction score
7
First Language
English
Primarily Uses
RMMV
So this was all a big misunderstanding. I thought you wanted a ship (entity) that never turns when attacking. By default LeCode had programed the entities to always turn and face the target when attacking.
Let's go ahead and give this control over to the skills then.
Do this:
First, go ahead and delete the note tag "stationary_atk" from your actor. The code for this note tag we will keep just in case you might have use for it later in your game.

Next, go to your Railgun sequence and return the command "look_at: user, cursor_cell",
It should now look like this:

"railgun": [
"wait: 10",
"set_frame: user, atk, 0",
"wait: 30",
"play_pose: user, atk",
"directional_anim: user, user, 126, 127, 128, 129",
"look_at: user, cursor_cell",
"set_frame: user, atk, last",
"wait: 12",
"effects: {aoe}_battlers, current_obj, obj_anim",
"wait: 20",
"play_pose: user, idle",
"wait: 10"
],

Now the ship should turn and face the target and the railgun should fire in the correct direction.

Next, go to line 3485 and find the function, "BattleManagerTBS.executeAction".
Replace that function with this:

BattleManagerTBS.executeAction = function () {
this._subPhase = "obj_invokation";
var action = this.activeAction();
var item = action.item();
var entity = this.activeEntity();
var id = action.isAttack() ? entity.getWeaponSequenceData() : entity.getObjectSequenceData(item);
var fastSequence = action.isAttack() ? entity.getWeaponFastSequence() : entity.getObjectFastSequence(item);

this._direction = entity.getDirectionTo(this._activeCell);
if(!$dataSkills[item.id].meta.no_look){
entity.lookAt(this._activeCell);
}

entity._actionPerformed = true;
entity.battler()._itemOnUse = item;
this.activeBattler().useItem(item);
action.applyGlobal();
entity.onActionStart(id, fastSequence, action);
if (fastSequence.length > 0)
entity.startSequence(fastSequence, action);
else
entity.startSequence(id, action);
};

Next, go to line 6477 and find function, "TBSAiManager.prototype.commandUseP2 ".
Replace that function with this one:

TBSAiManager.prototype.commandUseP2 = function (obj) {
var cellTarget = this._actionData.cellTarget;
var center = this._entity.getCell().toCoords();
var cell = this.getClosestActionCellToTarget(cellTarget, obj, center);

this.BM().setCursorCell(cell);
//this.BM().updateActionSelection();

var id = this._entity.getObjectScopeData(obj);
if(!$dataSkills[obj.id].meta.no_look){
this._entity.lookAt(cell);
}

if (Lecode.S_TBS.showScopes) {
var wait = Lecode.S_TBS.aiWaitTime;
this.BM().wait(wait);
}

this._commandPhase = "obj_selection_wait";
this._commandNextPhaseCallBack = this.commandUseP3.bind(this, obj);
};

Now we have a skill note tag called <no_look>. Place this <no_look> in the note box of any skill that you do not want the entity to turn and face the target.
99% of the way there and I can't thank you enough for your help on this. The railgun and the proton turret work the way they should, but the fighter wings don't seem to respect the no_look tags, the main ship still turns to face the enemy to launch those. They use the same sequence as the railgun (copy/paste/rename) and use the same notetags as the proton turret with the exception of the cooldown. Also worth noting that this one not only should not turn to fire, but also SHOULD fire in the direction the ship is facing. If you're sick of this yet, I'm inclined to run with it as it isn't a huge deal and you've done so much already.
 

Utopiablue

Veteran
Veteran
Joined
Apr 11, 2015
Messages
44
Reaction score
19
First Language
english
Primarily Uses
99% of the way there and I can't thank you enough for your help on this. The railgun and the proton turret work the way they should, but the fighter wings don't seem to respect the no_look tags, the main ship still turns to face the enemy to launch those. They use the same sequence as the railgun (copy/paste/rename) and use the same notetags as the proton turret with the exception of the cooldown. Also worth noting that this one not only should not turn to fire, but also SHOULD fire in the direction the ship is facing. If you're sick of this yet, I'm inclined to run with it as it isn't a huge deal and you've done so much already.
It's no problem. I hate leaving something unfinished so let's try this...
Alright, first we need to add a new sequence command. It will be called, "directional_anim2:". Also, we're removing the command, "look_at: user, cursor_cell", because that was what caused the ship to face the enemy.
I don't know what sequence name you gave to fighter wings so make sure you change the "railgun" part.
here is the new sequence for fighter wings:

"railgun": [
"wait: 10",
"set_frame: user, atk, 0",
"wait: 30",
"play_pose: user, atk",
"directional_anim2: user, user, 126, 127, 128, 129",
"set_frame: user, atk, last",
"wait: 12",
"effects: {aoe}_battlers, current_obj, obj_anim",
"wait: 20",
"play_pose: user, idle",
"wait: 10"
],

Next, go below the function "TBSSequenceManager.prototype.commandDirectionalAnim".
Add a space and copy and paste this new function:

TBSSequenceManager.prototype.commandDirectionalAnim2 = function (param) {
var targetData1 = param[0];
var targetData2 = param[1];
var anim_2 = param[2];
var anim_4 = param[3];
var anim_6 = param[4];
var anim_8 = param[5];
var animDelay = Number(param[6] || 0);
var wait = String(param[7] || "false");
var targets1 = this.readTargets(targetData1);

if (targets1.length > 0) {
var anim;
switch (targets1[0].getDir()) {
case 2:
anim = anim_2;
break;
case 4:
anim = anim_4;
break;
case 6:
anim = anim_6;
break;
case 8:
anim = anim_8;
break;
}
param[0] = targetData2;
param[1] = anim;
param[2] = animDelay;
param[3] = wait;
return this.commandAnim(param);
}
return {};
};

Now, your ship will remain stationary and fighter wings will fire off in the direction the ship is facing.
 
Last edited:

Sacrifyx

Veteran
Veteran
Joined
Oct 16, 2012
Messages
73
Reaction score
7
First Language
English
Primarily Uses
RMMV
It's no problem. I hate leaving something unfinished so let's try this...
Alright, first we need to add a new sequence command. It will be called, "directional_anim2:". Also, we're removing the command, "look_at: user, cursor_cell", because that was what caused the ship to face the enemy.
I don't know what sequence name you gave to fighter wings so make sure you change the "railgun" part.
here is the new sequence for fighter wings:

"railgun": [
"wait: 10",
"set_frame: user, atk, 0",
"wait: 30",
"play_pose: user, atk",
"directional_anim2: user, user, 126, 127, 128, 129",
"set_frame: user, atk, last",
"wait: 12",
"effects: {aoe}_battlers, current_obj, obj_anim",
"wait: 20",
"play_pose: user, idle",
"wait: 10"
],

Next, go below the function "TBSSequenceManager.prototype.commandDirectionalAnim".
Add a space and copy and paste this new function:

TBSSequenceManager.prototype.commandDirectionalAnim2 = function (param) {
var targetData1 = param[0];
var targetData2 = param[1];
var anim_2 = param[2];
var anim_4 = param[3];
var anim_6 = param[4];
var anim_8 = param[5];
var animDelay = Number(param[6] || 0);
var wait = String(param[7] || "false");
var targets1 = this.readTargets(targetData1);

if (targets1.length > 0) {
var anim;
switch (targets1[0].getDir()) {
case 2:
anim = anim_2;
break;
case 4:
anim = anim_4;
break;
case 6:
anim = anim_6;
break;
case 8:
anim = anim_8;
break;
}
param[0] = targetData2;
param[1] = anim;
param[2] = animDelay;
param[3] = wait;
return this.commandAnim(param);
}
return {};
};

Now, your ship will remain stationary and fighter wings will fire off in the direction the ship is facing.
That did it! I can cross this one off the list! Thanks SOOO much! I'll raise a glass to you next time I have a glass to raise!

Now I need to figure out the save/load issue. I currently have 2 battles in this project. There is a small area in between the 2 fights that gives you the opportunity to save the game. If I save the game and then load that game, the 2nd battle errors out with "Cannot read property 'height' of undefined." This occurs while not having made any changes to anything inbetween the save/reload. There are no issues if I simply play straight through, but makes tweaking/troubleshooting the 2nd fight a real pain. There's no place to save prior to the 1st battle, so I'm not sure if this issue affects ALL battles, or if there's maybe something specific about the 2nd one or what. The error is consistent, happens every time I reload the game. I've attached the console output from the crash.
 

Attachments

Last edited:

Utopiablue

Veteran
Veteran
Joined
Apr 11, 2015
Messages
44
Reaction score
19
First Language
english
Primarily Uses
That did it! I can cross this one off the list! Thanks SOOO much! I'll raise a glass to you next time I have a glass to raise!

Now I need to figure out the save/load issue. I currently have 2 battles in this project. There is a small area in between the 2 fights that gives you the opportunity to save the game. If I save the game and then load that game, the 2nd battle errors out with "Cannot read property 'height' of undefined." This occurs while not having made any changes to anything inbetween the save/reload. There are no issues if I simply play straight through, but makes tweaking/troubleshooting the 2nd fight a real pain. There's no place to save prior to the 1st battle, so I'm not sure if this issue affects ALL battles, or if there's maybe something specific about the 2nd one or what. The error is consistent, happens every time I reload the game. I've attached the console output from the crash.
Cool! I'm glad to get that straightened out.
With that save/load issue you are having... I tried out your project game (looks very promising by the way. I like the whole style you gave it.)
I noticed that you don't turn on LeTBS battle system before starting a battle.
Having it start with an Autorun Event is not enough. You need to use plugin command "LeTBS ON" before every battle because it won't be saved in the system. Also, the reason it shows that error is because when it tries to go to RPG Maker's front view battle system it can't find the enemy pictures because you didn't place any for your enemies.

Now, if you know LeTBS will be your dominant battle system you can avoid the hassle of placing that plugin command before every battle just by doing this...

Open up main.js and place this line of code, Lecode.S_TBS.commandOn = true; inside the "window.onload" function.
It should look like this:

window.onload = function() {
SceneManager.run(Scene_Boot);
Lecode.S_TBS.commandOn = true;
};

Now it will automatically turn on LeTBS every time!
 
Last edited:

Sacrifyx

Veteran
Veteran
Joined
Oct 16, 2012
Messages
73
Reaction score
7
First Language
English
Primarily Uses
RMMV
Cool! I'm glad to get that straightened out.
With that save/load issue you are having... I tried out your project game (looks very promising by the way. I like the whole style you gave it.)
I noticed that you don't turn on LeTBS battle system before starting a battle.
Having it start with an Autorun Event is not enough. You need to use plugin command "LeTBS ON" before every battle because it won't be saved in the system. Also, the reason it shows that error is because when it tries to go to RPG Maker's front view battle system it can't find the enemy pictures because you didn't place any for your enemies.

Now, if you know LeTBS will be your dominant battle system you can avoid the hassle of placing that plugin command before every battle just by doing this...

Open up main.js and place this line of code, Lecode.S_TBS.commandOn = true; inside the "window.onload" function.
It should look like this:

window.onload = function() {
SceneManager.run(Scene_Boot);
Lecode.S_TBS.commandOn = true;
};

Now it will automatically turn on LeTBS every time!
Dude, you're a lifesaver! Works like a charm! Now I can get back to business.
 

Utopiablue

Veteran
Veteran
Joined
Apr 11, 2015
Messages
44
Reaction score
19
First Language
english
Primarily Uses
Afternoon! Has anyone found a way to attach poses to different states? We found a way to change sprites using states but not the actual poses. I even attempted to code the enemy poses in sequences but to no avail. It seems like it should be easy and more than possible but maybe its not. Anyone know ?
You can try this:
First, add this note tag, <downed_pose> to the state's note box.
Next, make sure all your allies and enemies have this pose in their note box:

pose(knockdown): _filename you gave it, #of frames

If you don't have knockdown poses for all characters just give them the idle pose filename.


Next, go to LeTBSConfig.js and put this sequence under Events Sequences section:

"downed": [
"play_pose: user, knockdown"
],

Next, go to LeTBS.js and go to line 8941 and find function "TBSEntity.prototype.onNewState".
Replace it with this one:

TBSEntity.prototype.onNewState = function (state) {

if(state.meta.downed_pose){
this._downed = true;
this.appendSequence("downed");
}

this.checkFilenameChange(state);
this.applyMovePointsAlteration(state);
};

Now look below that function and find, "TBSEntity.prototype.onStateErased".
Replace it with this one:

TBSEntity.prototype.onStateErased = function (state) {

if(state.meta.downed_pose){
this._downed = false;
}
this.applyStateErasedAnimation(state);
this.checkFilenameChange(state);
this.restoreMovePointsAlteration(state);
};

And finally, go to line 8773 and find function "TBSEntity.prototype.defaultPose".
Replace it with this one:

TBSEntity.prototype.defaultPose = function () {

if(this._downed){
return "knockdown";
}

return "idle";
};

That should do it.
 
Last edited:

ZankokuNoYami

Veteran
Veteran
Joined
May 11, 2018
Messages
87
Reaction score
20
First Language
English
Primarily Uses
N/A
How can I add the Equip command from Yanfly's Change Battle Equip? I want to be able to switch weapons during battle. http://www.yanfly.moe/wiki/Change_Battle_Equip_(YEP)

Also... my main character is a psychic. I am trying to find ways to bring that into both the field and battle. I was wondering how I might make a move that can move objects from a distance and place them elsewhere on the map. So that you can block enemies in hallways and what not? Since I want some battles to not only be won by beating the enemy, but rather, you can choose to keep away and accomplish the task like collecting a keycard, ect.
 

CharlieMetal

Villager
Member
Joined
Mar 5, 2020
Messages
6
Reaction score
0
First Language
Spanish
Primarily Uses
RMMV
Hello, everyone. I've studied this battle system for a couple of weeks now and it is truly amazing.
However, there are some features that I'd like to implement in my project but, since my Javascript knowlegde is (more or less) non-existent, I come here to ask for your assistance.

1) I was wondering if, instead of the default boring message window displayed when the victory process occurs, would it be possible to create a "Victory window/event" displaying the EXP and Items obtained everytime a battle is over?​
I tried to achieve this using "Yanfly Victory Aftermath Plugin" but it doesn't work. When I turn it on, neither the default window nor the Aftermath plugin window are displayed at the end of the battle. It seems like the plugin overrides the default victory message window and immediately transfers the player to the map.​
I realize there's a LeTBS Compatibility Patch plugin that fixes some issues with YEP, but unfortunately, it does not support the Victory Aftermath Plugin.​
2) I'm also using "Yanfly Equip Battle Skills Plugin" that allows you to equip a limited number of skills to bring into battle. The plugin works perfectly in the skill menu, the problem is in-battle. The Skill Command display every skill learned by the actor, regardlees if it was equiped or not.​
Again, this plugin is not supported by LeTBS Compatiblity Patch.​
So, I guess my main question is if there's a way to emulate what these plugins do in LeTBS? Or is it possible to fix these issues using the compatibility patch?

Sorry for the long post. Thank you all in advance.

EDIT: I'm working with LETBS 0.77.2B. My RMMV Version is 1.6.1
 
Last edited:

CapFlareGun

Warper
Member
Joined
Apr 25, 2017
Messages
1
Reaction score
0
First Language
English
Primarily Uses
Other
Hey! so, today I was testing and I got this error, 'cannot read property 'missed' of undefined'. Anyone know the origin of this issue?Screenshot_143.png
 
Last edited:

MushroomCake28

KAMO Studio
Global Mod
Joined
Nov 18, 2015
Messages
2,921
Reaction score
3,951
First Language
English
Primarily Uses
RMMV

@CapFlareGun , please avoid double posting, as it is against the forum rules. You can review our forum rules here. Thank you.


Please be patient, when a member posts their first post it requires approval from a moderator. I've fused your two posts for now.
 

Pharonix

Shadow Walker
Veteran
Joined
Apr 22, 2012
Messages
698
Reaction score
283
First Language
English
Primarily Uses
RMMV
Hello, everyone. I've studied this battle system for a couple of weeks now and it is truly amazing.
However, there are some features that I'd like to implement in my project but, since my Javascript knowlegde is (more or less) non-existent, I come here to ask for your assistance.

1) I was wondering if, instead of the default boring message window displayed when the victory process occurs, would it be possible to create a "Victory window/event" displaying the EXP and Items obtained everytime a battle is over?​
I tried to achieve this using "Yanfly Victory Aftermath Plugin" but it doesn't work. When I turn it on, neither the default window nor the Aftermath plugin window are displayed at the end of the battle. It seems like the plugin overrides the default victory message window and immediately transfers the player to the map.​
I realize there's a LeTBS Compatibility Patch plugin that fixes some issues with YEP, but unfortunately, it does not support the Victory Aftermath Plugin.​
2) I'm also using "Yanfly Equip Battle Skills Plugin" that allows you to equip a limited number of skills to bring into battle. The plugin works perfectly in the skill menu, the problem is in-battle. The Skill Command display every skill learned by the actor, regardlees if it was equiped or not.​
Again, this plugin is not supported by LeTBS Compatiblity Patch.​
So, I guess my main question is if there's a way to emulate what these plugins do in LeTBS? Or is it possible to fix these issues using the compatibility patch?

Sorry for the long post. Thank you all in advance.

EDIT: I'm working with LETBS 0.77.2B. My RMMV Version is 1.6.1
Yanfly Skill Equip does work my friend,

Then again I use 0.77.Phx, using 1.5.2 RMMV
Just uh, make sure you mute it.
Something went wrong with the sound recording.
 

CharlieMetal

Villager
Member
Joined
Mar 5, 2020
Messages
6
Reaction score
0
First Language
Spanish
Primarily Uses
RMMV
Yanfly Skill Equip does work my friend,

Then again I use 0.77.Phx, using 1.5.2 RMMV
Just uh, make sure you mute it.
Something went wrong with the sound recording.
Thank you for your quick response, Pharonix.

Hmm... it doesn't work for me. I've already tried changing its position in the Plugin Manager, but maybe I'm doing something wrong... Any idea of where should I place it?

 

Attachments

Pharonix

Shadow Walker
Veteran
Joined
Apr 22, 2012
Messages
698
Reaction score
283
First Language
English
Primarily Uses
RMMV
Thank you for your quick response, Pharonix.

Hmm... it doesn't work for me. I've already tried changing its position in the Plugin Manager, but maybe I'm doing something wrong... Any idea of where should I place it?
I found that some of yanfly's scripts don't work properly when put under letbs, which includes the Equip Battle Skills. this is because I believe LeTBS builds the skill lists, then yanfly runs, whereas putting yanfly's equip first, fixed that issue for me.

Here's my full order:
1583375327611.png
1583375358029.png
1583375380891.png
1583375398310.png
1583375415475.png
1583375430906.png
 

Utopiablue

Veteran
Veteran
Joined
Apr 11, 2015
Messages
44
Reaction score
19
First Language
english
Primarily Uses
How can I add the Equip command from Yanfly's Change Battle Equip? I want to be able to switch weapons during battle. http://www.yanfly.moe/wiki/Change_Battle_Equip_(YEP)
I know of an alternative if your interested.
In LeCode's "LeTBS_Commands.js" he forgot to add in the event call and the item call for the function, "BattleManagerTBS.onCommandInput".
Go to line 461(version 0.7.72) and replace that function with this one:

BattleManagerTBS.onCommandInput = function (command) {
if (command.match(/skill\[(\d+)\]/i)) {
this.processCommandCallSkill(Number(RegExp.$1));
return;
}
if (command.match(/event\[(\d+)\]/i)) {
this.processCommandCallEvent(Number(RegExp.$1));
return;
}
if (command.match(/item\[(\d+)\]/i)) {
this.processCommandCallItem(Number(RegExp.$1));
return;
}
Lecode.S_TBS.Commands.oldBattleManagerTBS_onCommandInput.call(this, command);
};

He also mistakenly put in the wrong code for functions, "Window_TBSCommand.prototype.addCommand_item"
and "Window_TBSCommand.prototype.addCommand_event".
Go to line 326 and replace both of these functions with this:

Window_TBSCommand.prototype.addCommand_item = function (id) {
var item = $dataItems[id];
var canUse = this._entity.battler().canUse(item);
this.addCommand(item.name, "item[" + id + "]", canUse);
};

Window_TBSCommand.prototype.addCommand_event = function (id) {
var common_event = $dataCommonEvents[id];
this.addCommand(common_event.name, "event[" + id + "]", true);
};

Now you can create an equip command for your characters!
I will give an example:

First, I go to Common Events and add an event.
item166.png

Next, I went to the actor, Lucius and put this in his note box.
item165.png
The one I added is event[7] 135 it will call common event 7 and 135 is the icon number.

Now, Lucius will change his weapon to Whip if it is in your party's inventory.
item161.png
Here is his bow. It has a large atk range.

item162.png
Now I'll equip whip, which has small atk range.

item163.png

item164.png
Whip is equipped and now his atk range is different, among other things.
 
Last edited:

AbstractMan

Villager
Member
Joined
Jun 22, 2019
Messages
9
Reaction score
1
First Language
English
Primarily Uses
RMMV
You can try this:
First, add this note tag, <downed_pose> to the state's note box.
Next, make sure all your allies and enemies have this pose in their note box:

pose(knockdown): _filename you gave it, #of frames

If you don't have knockdown poses for all characters just give them the idle pose filename.


Next, go to LeTBSConfig.js and put this sequence under Events Sequences section:

"downed": [
"play_pose: user, knockdown"
],

Next, go to LeTBS.js and go to line 8941 and find function "TBSEntity.prototype.onNewState".
Replace it with this one:

TBSEntity.prototype.onNewState = function (state) {

if(state.meta.downed_pose){
this._downed = true;
this.appendSequence("downed");
}

this.checkFilenameChange(state);
this.applyMovePointsAlteration(state);
};

Now look below that function and find, "TBSEntity.prototype.onStateErased".
Replace it with this one:

TBSEntity.prototype.onStateErased = function (state) {

if(state.meta.downed_pose){
this._downed = false;
}
this.applyStateErasedAnimation(state);
this.checkFilenameChange(state);
this.restoreMovePointsAlteration(state);
};

And finally, go to line 8773 and find function "TBSEntity.prototype.defaultPose".
Replace it with this one:

TBSEntity.prototype.defaultPose = function () {

if(this._downed){
return "knockdown";
}

return "idle";
};

That should do it.

This worked like a charm, Uptopia! Thank you :)
 

CharlieMetal

Villager
Member
Joined
Mar 5, 2020
Messages
6
Reaction score
0
First Language
Spanish
Primarily Uses
RMMV
I found that some of yanfly's scripts don't work properly when put under letbs, which includes the Equip Battle Skills. this is because I believe LeTBS builds the skill lists, then yanfly runs, whereas putting yanfly's equip first, fixed that issue for me.

Here's my full order:
View attachment 135959
View attachment 135960
View attachment 135961
View attachment 135962
View attachment 135963
View attachment 135964
I placed my plugins in the same order as yours, but it didn't work. I updated Yanfly Core plugins to the latest version and still didn't work. I even created a new project (a copy of the 0.772B demo) where I only installed the EquipBattleSkills plugin... the results were the same.

I'm able to equip Skills in menu, but even if all slots are empty, the Skill Command in battle displays every skill learned by the actors.
EBS_1.JPG
EBS_2.JPG
EBS_3.JPG

So, after all I've tried, I guess this plugin simply is not compatible with LeTBS 0.772B. :frown:

Even so, I really aprecciate your help, Pharonix.
 

Pharonix

Shadow Walker
Veteran
Joined
Apr 22, 2012
Messages
698
Reaction score
283
First Language
English
Primarily Uses
RMMV
I placed my plugins in the same order as yours, but it didn't work. I updated Yanfly Core plugins to the latest version and still didn't work. I even created a new project (a copy of the 0.772B demo) where I only installed the EquipBattleSkills plugin... the results were the same.

I'm able to equip Skills in menu, but even if all slots are empty, the Skill Command in battle displays every skill learned by the actors.
View attachment 135987
View attachment 135988
View attachment 135989

So, after all I've tried, I guess this plugin simply is not compatible with LeTBS 0.772B. :frown:

Even so, I really aprecciate your help, Pharonix.
Would you be willing to send me your project or even your updated demo?
I don't have much time these days, so having the option to fix this directly would help,
as I don't think there was anything in the code I had to change.
This would also allow me to check character and skill setups.
 

CharlieMetal

Villager
Member
Joined
Mar 5, 2020
Messages
6
Reaction score
0
First Language
Spanish
Primarily Uses
RMMV
Would you be willing to send me your project or even your updated demo?
I don't have much time these days, so having the option to fix this directly would help,
as I don't think there was anything in the code I had to change.
This would also allow me to check character and skill setups.
Of course. Since my project is not really in development yet (I was just experimenting with gameplay mechanics), I'll send you the updated demo. Thank you, so much!!

Updated Demo
 

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

Latest Threads

Latest Profile Posts

Jumping and gravitation 0.1 build - RPG Maker MV
Currently playing final fantasy 3 on DS. It's an old one but its a classic.
BCj
Gotta love some gossip :D
Please do not buy games from g2a.com. The sellers have total power over you. The website has many scam sellers. It looks cheap, but the key code didn't work.

Forum statistics

Threads
97,946
Messages
948,076
Members
129,200
Latest member
jakeofblades
Top