Discussion in 'JS Plugin Releases (RMMV)' started by Lecode, Nov 28, 2016.
LeTBS 0.8 release blog #2
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.
@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.
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.
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 Array.forEach (<anonymous>)
at WindowLayer.update (rpg_core.js:7027)
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
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.
did you make sure your enemy sprites have a dead pose?
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
pose(idle): use_chara, Monster, 0
pose(dead): use_chara, Damage3, 1, 0
But when I did the same with actors notebox, actors ignores pose(dead) line
pose(idle): use_chara, Char, 5
pose(dead): use_chara, CharDmg, 1, 1
so they still have their sprites when theyre active, but the sprite doesnt change to Damage sprite when theyre KO'd
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.
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.....
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).
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 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.
@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
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
ill just wait for .8, thanks
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?
I'm actually still out and about also.
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.
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 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.
Separate names with a comma.