Jump to content

rainlash

Member
  • Posts

    124
  • Joined

  • Last visited

Posts posted by rainlash

  1. 8 hours ago, Art2193 said:

    So... what am I doing wrong?

    What version of the Engine are you using? There was a bug with the Engine where removing properties from a tile could crash the Engine a while back, and it looks like you have a different version than current -- since your line 839 of Dialogue.py does not look like mine.

    If your version is not 0.9.3.7, I'd recommend upgrading.

  2. On 10/25/2019 at 2:59 AM, Thorgrun said:

    Also, i received this error during the sewers chapter at the start of turn 2. Game crashes during turn 2 no matter what route i take, stuck here and cannot proceed. 😕

    Thanks for the bug report! I've got a new build of the Engine up and running (v0.9.3.7). It fixes this bug you've run into here, and it should also fix your arrow key input bug! Thanks for telling me about the fact that it occurs when you start the turn. That gave me enough info to fix the bug (I think, hopefully!). If you were pressing an arrow key while the turn changed, it was possible that the input would skip and cause this bug. Now it should be fixed.

    If you've never transferred to a new build of the Engine, it should be really easy. Just download the new Engine build from the same place you downloaded the old one. Then you can take your ENTIRE Saves folder from the old place you had it and move it entirely into the new Engine. Then you can run the new Engine and everything should work. I don't think you'll need to restart the sewer level (Chapter 9).

  3. On 10/23/2019 at 6:46 AM, Art2193 said:

    Say, what program did you use to make your maps? I was using FEMapCreator, but the Level Editor doesn't seem to recognize the pictures I get out of it (via the Snipping Tool in Windows. I even make sure those cuts are pixel perfect)

    Tiled. https://www.mapeditor.org/ Make sure they are PNG format, preferably without any transparency. And their length and width must be perfectly divisible by 16 pixels.

    On 10/23/2019 at 6:46 AM, Art2193 said:

    Regarding the summon skill, is it possible to make it so you can only summon once? Like the way it behaves in Sacred Stones. (You Summon once, and then again after your summoned phantom dies)

    Or make it work like it does in Gaiden/Echoes? (Summoning multiple entities for a maximum of Eight, for the Other army)

    Yes to the Sacred Stones style. Try this:

        <status name="Summon">
            <id>Summon</id>
            <image_index>9,0</image_index>
            <desc>Activated. Summons a dark phantom to aid you.</desc>
            <components>activated_item,class_skill</components>
    
            <activated_item>so_Summon_1</activated_item>
            <charge_method>MAG</charge_method>
            <charge_max>60</charge_max>
            <check_valid_func>bool(self.get_choices(unit, gameStateObj)) and not any(unit.name == 'Phantom' for unit in gameStateObj.allunits if unit.position)</check_valid_func>
            <get_choices_func>[pos for pos in unit.getAdjacentPositions(gameStateObj) if not gameStateObj.grid_manager.get_unit_node(pos)]</get_choices_func>
        </status>

    Notice the changed "check_valid_func" compared to the default summon skill. I just make sure there are no units named "Phantom" on the field before the "check_valid_func" would return True. You could set the "charge_max" to 0 to make it available whenever.

    I don't think you can summon multiple entities in Engine right now -- and if you could it would be really complicated, probably involving the "call_item_script" component. I can add that to my list of things to make easier though.

  4. 13 hours ago, Thorgrun said:

    Am I the only one experiencing a cursor bug? lol in every chapter so far the cursor just bugs out to the top of the screen, as if i had the up button held down. it's really annoying and only goes away when i suspend. Imagine how hard it is to suspend when the cursor wont stop moving up really fast. -_- Is there a fix for this? I feel like it's ruining my experience having to close and reopen the game every 10 mins after fighting with the cursor.

    I'm sorry that's happening to you. It seems you found at least a jury-rigged solution of your own. I've tried to find the possible cause for this bug, but I've looked through my entire input code and cannot find what could be going wrong... I sped the cursor all the way up and moved around a lot on my own keyboard and nothing like it happened either. But others seem to have this problem too? 

    When you go to the options menu while this is happening (the one with the "Suspend" option), does it skip all the way around the options menu, like from top to bottom, or does it stop on the "Unit" option? This will tell me the type of input error it is. Does minimizing the screen do anything? Does going to a different program (like the internet), and then going back do anything?

    I know since the errors sort of random this may be a hard question to answer, but is there anything in particular you can remember doing when this happens that could shed some light? Since it doesn't seem to happen all the time, just sometimes?

  5. On 10/20/2019 at 3:34 PM, Art2193 said:

    What I'd like to do is to change the way critical hits behave through a skill. Such as making critical hits deal 5x damage or only 0.5x damage.

    Not currently possible through a skill/status unfortunately.

    On 10/20/2019 at 3:34 PM, Art2193 said:

    So the engine looks at the Feat pool and then checks if the unit has a Feat, then grants a Feat if the unit doesn't already have it, right?

    Well the Engine doesn't. The player chooses the feat on level up. Simply put, if at any time the player is not available to choose what feat should actually be chosen, instead no skill is learned at all. This generally only happens when a unit is loaded into the game at high enough level that they would have gained a feat by level up. Instead they don't gain ANY feat at all. This is why I needed to have Kayla and Coyote have a personal skill -- since they are given to the player at level 8 or above, they would have gotten a feat. Instead, I chose the feat for them and made it their personal skill, since the Engine skips their normal feat at level 8 given by their class.

  6. On 10/17/2019 at 4:42 PM, Art2193 said:

    When choosing the 3x Crits, the ones you label as normal, my units do only double damage. (Choosing 2x - 1x, results on my units dealing ludicrous amounts of damage. I had a Myrm that only dealt 1 dmg but after landing a crit, she dealt 10. My educated guess is that this isn't normal)

    It's mislabeled in the Data/constants.ini file. Here's the real answer: https://gitlab.com/rainlash/lex-talionis/wikis/8.-Modifying-Game-Constants#constant-descriptions

    On 10/17/2019 at 4:42 PM, Art2193 said:

    Regarding that, is there a way through skills/statuses to chance the critical hit multipliers? 

    What do you mean by this? I have the feeling the answer is no, but if there's something specific you're looking to do, maybe I can help.

    On 10/17/2019 at 4:42 PM, Art2193 said:

    On that note, how do feats work? Are they learned at random?

    Feats are not learned at random. If a player character would level up and gain a feat, they choose from the list of available feats (any status with a "feat" component). If an enemy would level up and gain a feat, instead they just don't gain a feat. I had enemies gain random feats at one time, but it made the levels too variable and just added unnecessary complexity. If you really wanted that feature, it would be trivial to switch it back in the code. You could change line 460 of Data/SaveLoad.py from "if feat:" to "if True:" to have the "Feat" status give out a random feat when the player could not choose. Obviously this would only work with the Git version of the Engine, not the compiled executable version.

    On 10/17/2019 at 4:42 PM, Art2193 said:

    Secondly, how do skills in the units file work? Can one assign more than one personal skill and make them learnable via levelling up from there or is that reserved for the class_info file?

    You can have more than one personal skill, but they cannot be made learnable via level up right now. The syntax in the Data/units.xml is just (skill_id),(skill_id),(skill_id). No level tags are available. That's a good idea though so I'll add that to the ToDo List. The <skills> element in the units.xml ought to work the way you describe, I just hadn't had to use it that way before.

  7. 2 hours ago, BBHood217 said:

    I have a question about map attacks.  Is it possible to make one that goes in a straight line?

    It was at one point. I had a "lightning bolt" spell in one of the earliest builds of the Lion Throne. Actually I just tested it to see if it works and it does! Here's an example (The magnitude of the AOE component doesn't seem to matter):

        <item name="Lightning">
            <id>Lightning_Bolt</id>
            <spritetype>Anima</spritetype>
            <spriteid>8</spriteid>       
            <components>spell,uses,aoe,hit,damage,detrimental,ai_speed_up,map_hit_color</components>
            <weapontype>Anima</weapontype>
     
            <uses>5</uses>
            <RNG>5</RNG>
            <value>600</value>
            <desc>Shoots a line of lightning.</desc>
            <aoe>Line,5</aoe>
            
            <damage>11</damage>
            <hit>85</hit>
            <LVL>B</LVL>
            <targets>Tile</targets>
    
            <map_hit_color>224,224,-200</map_hit_color>
        </item>

    But if you mean the aoe map animation itself... not really. You could use AOE anim just like you would use with "Fireball" spell, but the Engine does not calculate angle to the enemy, so it could not rotate the animated line of attack. Something else to add to the Engine.

    1 hour ago, Art2193 said:

    Oh, mildly unrelated: the A6. Status Components page in your Wiki is active, but it leads to a blank page.

    Yep. It's just a placeholder for now. I'll have to write that one up at some point.

    1 hour ago, Art2193 said:

    However, I have more questions, if you don't mind helping me out.

     

    One would be:

    I have a skill that gives its unit Hit+10 and Dmg+3 when below Half HP. 

    I would also like to use the unit_tint component in this manner to let the player know the skill is actually visually, but I can't figure out how to do it.

    My best guess is that I have to do it via the automatic_combat_art component, and then create a status that causes these effects to occur. 

    My question would be how do you make it so the unit_tint component triggers once the unit gets below half HP?

    I don't mind, but you're asking some tough questions! The status component system is basically the most convoluted and complicated system available to you without coding. 

    So, I don't think it's possible to do what you want to do right now, since unit_tint has no conditional and there's no way to conditionally add a status dependent on a unit's HP. It is a good idea though; you're giving me some good ideas for improvements to the status system (maybe I should add fully "conditional" statuses. Hmmm.). 

  8. On 10/13/2019 at 8:08 PM, LuckyStart said:

    Did you make a new class for your new unit (or otherwise edit the class_info.xml file)? If so, I would double check whatever you wrote in it

    Thanks for answering this! You are correct. Something in the class_info.xml is screwed up.

    19 minutes ago, Art2193 said:

    Y'see, I've been trying to make a skill that allows a unit to perform a brave attack if its speed is lower than its target's.

    So the item_mod component is used to modify how items behave, but the hard part here is not the "creating a status that makes my weapons brave", it's the "creating a status that only gives out the first status when facing an enemy with higher speed". Afaik, there's no easy way for you to do this.

    Here's an example of a simple item mod status to give all your swords "brave". Unfortunately, the only object the item mod conditional knows about is the item itself, not its user or its target.

        <status name="Swordfaire">
            <id>Swordfaire</id>
            <image_index>5,6</image_index>
            <desc>While wielding a sword, it gains the brave property.</desc>
            <components>item_mod,class_skill</components>
    
            <item_mod_conditional>item.TYPE == 'Sword'</item_mod_conditional>
            <item_mod_effect_change>brave;True</item_mod_effect_change>
        </status>

    Instead, the closest you'll get is using the "conditional_attackspeed" component. But you won't go twice in a row like you would with a brave weapon. Something like this (I haven't tested whether this works, but hopefully it should):

        <status name="Underdog">
            <id>Underdog</id>
            <image_index>9,5</image_index>
            <desc>Grants "brave" attack against enemies with higher speed (so you'll always attack twice against all enemies).</desc>
            <components>conditional_attackspeed</components>
    
            <conditional_attackspeed>100;Utility.lt(self.stats['SPD'], target.stats['SPD'])</conditional_attackspeed>
        </status>

    Otherwise, there's really no way to do it. Maybe I can add a "conditional_item_mod" component in the future for these sort of purposes that can know about the user and the target.

  9. 14 minutes ago, Ashai said:

    When any unit levels up in the gitlab build, the game will crash and spit this out in the logs

    All these Python 3 changes are what's getting me. ".values()" used to be subscriptable, but isn't anymore in Python 3... I think I caught all bugs of that type in the most recent push to master, so you can try re pulling. You'll probably find other weird obvious bugs like that also, although I hope you don't. 

  10. 11 hours ago, onipunk said:

    Thanks for the quick response! The editor is opening fine now, but I'm having the same problem as Ashai, where the editor quits out whenever I try and load in the sample map from the tutorial. The TypeError message is what Python is throwing out for me too

    Thanks for the bug report, Ashai!

    I'm really disappointed in myself for releasing such a buggy version of the Level Editor. I didn't have the time to  even put it through the simplest tests and I was just hoping it would work even though I recently made some significant changes. My apologies for wasting your time.

    It should work now though. At least, I ran through the first 10 chapters of the Gitlab tutorial without any bugs creeping up, so it should definitely get you that far. You can download the updated version at the same place whenever you get the chance.

    On 8/19/2019 at 6:10 PM, Ashai said:

    On a side note, are those KeyErrors normal?

    Yes those KeyErrors are normal. I didn't include a Map Sprite for every team for every class in the default package, so it just yells at you that its missing things that may or may not be important. If you add your own class, you can hopefully use those messages to determine if you mess up adding map sprites.

    14 minutes ago, BBHood217 said:

    What do these error messages mean?  They've been mounting up as I implement more things, but I've been ignoring them since they don't seem to affect anything and the game still seems to run fine.  That is until the one regarding a sage animation; whatever that error is, it's making the sage animation invisible.  I've made it so that sages use both light and anima, and I used the staff animation for their light magic.  The staff animation for the other sage types work just fine, but this one doesn't for some reason even though its script file appears no different at all from the ones that do work.

    The dektop.ini error is simple. There's a file in some of your Data/Animation subdirectories named "desktop.ini" and the Engine doesn't know how to open it. I looked it up -- it seems Windows sometimes just adds it for no reason. The newest version of the Engine now ignores any non "*.txt" or "*.png" files for the animation, but I haven't built that version yet.

    You're going to kick yourself, but try renaming your Sage script: "Sage-MagicLight-Script.txt".  Note the two hyphens.

  11. On 8/16/2019 at 7:31 AM, AnomanderRake said:

    The game always crashes in the first enemy round in chapter 9 (sewers). Always happens after either the light or dark mage makes a move or attacks. 

    Thanks for the detailed bug report! If you;d like to just get past chapter 9 there's a really easy fix on your end. The Charge skill is bugged on Dragoons. I don't know what version of the Engine you are using, but in your Data/status.xml, you can replace:

        <status name="Charge">
            <id>Charge</id>
            <image_index>6,3</image_index>
            <desc>Adds (distance moved - 2) this turn to damage.</desc>
            <components>mt,class_skill</components>

            <mt>max(0, Utility.calculate_distance(self.position, self.previous_position) - 2) if self.position else 0</mt>
        </status>

     

    with 

     

        <status name="Charge">
            <id>Charge</id>
            <image_index>6,3</image_index>
            <desc>Adds (distance moved - 2) this turn to damage.</desc>
            <components>mt,class_skill</components>

            <mt>0</mt>
        </status>

     

    To fix the issue. In my version of status,xml, it's on line 559 of the Data/status.xml file. Dragoons are already busted anyway, so essentially losing Charge should not make much difference.

    21 hours ago, onipunk said:

    Just downloaded this since I got sick of waiting for FEXNA to release and I love the sound of the features you've added, especially the AoE spells. However, whenever I try to open the level editor it spits out an error message then closes instantaneously before I can capture it (and does so even when running it through the command prompt). I'm using the standalone non-Git version, release 0.9.3 on Windows 10. I don't have Avast installed so I don't think it'll be related to that known issue. Any thoughts on what might be happening there?

    Sorry about that. Recently updated my Python version from 2 to 3. Forgot to update how the Level Editor interfaces with the Engine. You can redownload the Level Editor and try again -- It should be python 3 compatible now. 

  12. On 8/1/2019 at 2:07 AM, ClyncyeRudje said:

    There is not one plugged in, no, although I did in the past use vJoy to make a GCN controller work with the computer. Could that be causing an issue, even if it's not currently active?

     

    5 hours ago, BBHood217 said:

    So, how exactly do I make a unique weapon animation (Durandal, Armads, etc.)?  And is it possible to have separate melee and ranged animations for it?

    There's a new beta version (0.9.3) not officially released but it has changes that should fix these problems. Still not sure exactly what caused the Engine to think there's a controller where there isn't one, but it should be less likely to crash now?

    Unfortunately, unique weapon animation capability was bugged before version 0.9.3, so you'll need to upgrade if you want to use it. I wrote a quick blurb on how to use it here: https://gitlab.com/rainlash/lex-talionis/wikis/100.-Miscellaneous-Stuff#unique-weapon-animations

    The only major thing that has changed between the current version and 0.9.3 beta is the status components "passive", "active", and "feat_list" are no longer accepted and have been replaced with these here: https://gitlab.com/rainlash/lex-talionis/wikis/A7.-Advanced-Status-Components. You can look at how I structured my new Data/status.xml file for more examples, or in the Sacred Stones setup found here: https://gitlab.com/rainlash/lex-talionis/wikis/101.-Utilities#sacred-stones-starter-pack

    It's also likely that saves won't carry over between the current version and this beta. I'll reiterate all this along with actual changelog when the real release comes out, but I wanted to get these fixes in if anyone wanted to use them.

  13. 2 hours ago, ClyncyeRudje said:

    Encountering an issue with both the exe and the uh, non-exe versions of the latest build. The former crashes within seconds of opening and the latter does not open at all as far as I can tell despite my following all instructions in the readme. I've attached a screenshot of the log for the former.

    Using Windows 7, if that's a factor; I know it's a fairly old OS. I'm also using Avast! antivirus; if there's a known issue where Avast eats required files that I missed let me know.

    So Avast can make the game hang (like 10 seconds), because every time the game writes save files, Avast spends an inordinate amount of time trying to figure out if the writing the game is doing is evil.

    But your problem has something to do with using a controller that is not supported. I've only ever tested basic Xbox 360 controllers, so I don't know what other kinds of controllers would even work. Are you using a controller -- or is one plugged in? Because if not then there's a bigger problem.

  14. On 7/23/2019 at 3:52 AM, BBHood217 said:

    Everything seems to work out.  My game can run with supports off and the battle animations are the correct ones.  And the battle music can be changed, although it doesn't seem to work for the enemy battle music; trying to use "change_music;enemy_battle" changed the enemy phase music instead.  Am I just using the wrong syntax, or is there something else?

    Edit: I have a couple more questions.
    - Is it possible to clear a constant once it's set?  If not, then how do I check a constant's value?
    - Is it possible to check if an attacking unit is using a healing or status weapon?  It'll be possible to add the healing and status battle music that way, though it's admittedly not that urgent of a priority.

    Battle music fixed in latest master update. Just a small coding error. It will be pushed out with the next build.

    There's no way to truly remove a constant. In fact, every constant once even referenced exists with a default value of zero. But you can set it to zero with set_game_constant;my_constant;0 

    Then if you check something like if;gameStateObj.game_constants['my_constant'] it will return false since zero is falsey.

    if;self.unit.items and self.unit.items[0].heal
        s;Narrator;He's using a healing item!
    elif;self.unit.items and self.unit.items[0].status
        s;Narrator;He's doing some status voodoo.
    end

    In the fight_script might work? But it wouldn't be able to tell who's attacking and who's defending. I could add an item component that gives the item a unique battle music when the item is attacking in the next update if you'd find that easier to use. 

    So something like this could be added:

    <item name="Iron Sword">
            <id>Iron Sword</id>
            <spritetype>Sword</spritetype>
            <spriteid>0</spriteid>       
            <components>weapon,uses,weight,battle_music</components>
            <weapontype>Sword</weapontype>
     
            <uses>45</uses>
            <value>10</value>
            <RNG>1</RNG>
            <weight>3</weight>
            <desc></desc>
            
            <MT>3</MT>
            <HIT>90</HIT>
            <LVL>D</LVL>
    
            <battle_music>Iron Sword Theme</battle_music>
        </item>

     

     

  15. There's a new build of the Engine now available in the usual place (v0.9.0.4)

    1. It has some small bug fixes and features
    2. Can now probably change battle music with "change_music;player_battle;my_battle_music"
    3. Unit's ID is used for combat animations instead of displayed name
    4. The wiki has been updated with the correct world map commands https://gitlab.com/rainlash/lex-talionis/wikis/23.-World-and-Scenic-Maps
    5. Support and Overworld bugs should be fixed
    6. The death_quote_info script can now access the unit's killer with self.unit2 from within "if" statements. I still need to add support for {unit2} in regular commands though.

    Here's a sneak peek of the next big update to the Engine:

    Adept1.gif

    Pavise1.gif

    I'm in the process of cleaning up the spooky advanced sections of the skill system to give user's more customization of skills. There will be no more "active" or "passive" skills that reference sections of the Python code. Instead they've been replaced with more customizable skill components.

    And as you can see above, I've also added random proc skills, if RNG is what floats your boat.

  16. 12 hours ago, BBHood217 said:

    I turned supports back on, and the error no longer happens.  This would be fine if I was ready to work on supports, but I was hoping to leave those for last.  But if they must be on, then I guess I'll have to change my plans a little.

    Edit: I found another thing.  I think the unit's displayed name instead of their actual name is being used for combat animations; I got the generic animation when I tested this because the animation's filename was referring to the actual name and the unit's displayed name was different.

    Edit: Is there a way to change the battle music?  I'm trying to implement boss music, but changing the music in fightScript isn't enough as the normal battle music overrides it once combat begins.  So the obvious solution is to just change the battle music itself and then change it back after the battle.

    I think I may have uploaded a newer version of the Engine that doesn't have the support bug, but if not, you'll just have to leave supports on for now.

    I'll add the other two requests to the ToDoList. They'll be pretty easy to implement. I'll probably have a new build uploaded sometime in a couple of days with these features added in.

  17. 1 hour ago, BBHood217 said:

    It's looking for overworld things, but I have it disabled (overworld = 0 in constants.ini and overworld_data.txt is completely commented out)

    Sorry about that. The overworld code is still in a very Alpha state, so it needs to be fixed up. A quick fix on your end is to just don't totally comment out that Data/overworld_data.txt. You can make it look like this and the Engine should run well:

    # Level ID ; Location Name ; Icon Index ; Position
    ===Locations
    # Route connections (between level id's); Route (numpad)
    ===Routes
    # Party ID must be integer ; Party name (must be character)
    ===Parties

    I'll make a fix to master soon so that if overworld=0 it never tries to load any data about the overworld.

  18. On 6/22/2019 at 4:26 AM, BBHood217 said:

    I've started playing through the new version, and it's apparent that there's a lot for me to do.  I've found one bug so far: During level ups, the ding sound doesn't play when stats increment.  I'm not sure what's wrong since the sound file is still there.

    Thanks for the bug report. This has been fixed in v0.9.1.

    16 hours ago, BBHood217 said:

    - I can't seem to find any mention of them, so how do I set up battle music and boss crit kills?

    Like you say, battle music was added in v0.9.0. You can add it by clicking the Phase Music button on the Properties menu of the Level Editor. It will open up into this menu:

    LevelEditorMusic.png.95140fc77732940f0d805d65794054f9.png

    If you prefer not to use the Level Editor, you can set it in the overview.txt like so:

    player_phase_music;Helms Deep
    enemy_phase_music;In the Midst
    player_battle_music;Fire Treasure
    enemy_battle_music;Dragon Boy

    If you leave Player Battle Music blank, no Battle Music should play.

    Boss crit kills can be turned on with "boss_crit;1" in the Data/constants.ini file. Just add that line if there is not already a boss_crit line

    16 hours ago, BBHood217 said:

    How do I check the remaining number of enemies, for things like keeping count in defeat enemy missions and playing near victory music?

    The gameStateObj keeps track of all the units in the game in a list: "gameStateObj.allunits". To check if the number of living enemy units on the level map is greater than 5 in an event script, you could do:

    if;len([unit for unit in gameStateObj.allunits if unit.team == 'enemy' and unit.position]) > 5

    To add it to an objective, try putting this in your Objective Display:

    display_name;Kill Enemies,{len([u for u in gameStateObj.allunits if u.team == 'enemy' and unit.position])} left.

    16 hours ago, BBHood217 said:

    - How do I check which character is visiting a house/village, for things like having the resident react differently to different characters?

    LuckyStart answered this one exactly the way I would do it. 

    16 hours ago, BBHood217 said:

    Also, a house could be visited over and over if it wasn't closed after the first time.  It's fine in the GBA games since visiting there ended the character's turn, but it's not the case here so they could choose to visit again and again.  I haven't tested this in the current version, so I don't yet know if this behavior has changed.

    This is expected behaviour in the Lex Talionis Engine. You **must** manually close or turn off the house/village/unlockable/searchable event tile in the event script associated with it to prevent it from being used more than once. Otherwise, the event is still there and can still be accessed. You can remove all event tile properties from a tile with the "set_tile_info;{position_of_tile}" command. Look here: https://gitlab.com/rainlash/lex-talionis/wikis/A3.-Event-Commands#map-and-tile-change-commands under Change Event Tiles. There are many examples of this being done in the Lion Throne Data files.

    16 hours ago, BBHood217 said:

    Finally, I've found another bug.  A character can learn a feat after reaching a certain level (which is set to 8 unpromoted and 3 promoted in Lion Throne).  If they use a stat booster while still at that level, they can learn another feat.  I've done this only during base preps, so I don't know if it'll also happen in pre-chapter preps and during the actual chapter.

    Thanks! This is definitely a bug. I changed the Leveling system in 0.9.0, so its expected that corner case bugs like this will pop up. I'll get it fixed for 0.9.1. I'll probably build and release 0.9.1 in a bit, once I finish my final testing. It's all small changes, so there shouldn't be much to update from the user's point of view.

  19. A couple of people have run into bugs using the newest version of the Engine. Specifically if they had a unit defined in the units.xml without any items in their inventory, or if they wanted to use the preloaded_levels.xml to load up their levels for testing. Thanks for all the bug reports! There's a new version 0.9.0.1 of both the Engine and the Level Editor in the usual place that has many of these bugs fixed. Try downloading it if you run into any trouble. 

    I forgot to mention in the last message that there is a new effect in the Data/Effects/Anima/ directory that is used to display the turnwheel's animation ("TurnwheelFlash"). You'll need the effect in order to run the animation. Also, the format of Saves/progress_log.xml has changed with version 0.9.0.1. The old format should work, but you may run into weird issues...

    As a sidenote, if you run either of the executables from a command prompt, even if the executables crash, their error messages will still be displayed. So I recommend running the executables this way while you are developing.

  20. As prophesied, Version 0.9.0 is out now.

    The Turnwheel Update

    Turnwheel5_3.gif

    So yeah this update took forever. It required a massive overhaul of the Engine. Any possible action the player can take during a turn had to be rewritten to make sure it could be reversed on command. And because of this, I had to do a lot of testing for this update. As I am only one person, and so much of the Engine changed, there are probably still some new and improved bugs lurking about. Please report any that you find so I can fix them.

    Turnwheel Info 

    In The Lion Throne, I have set it up so that each level completed will grant the player one additional turnwheel use.

    You can learn how to add the turnwheel to your own game here:

    https://gitlab.com/rainlash/lex-talionis/wikis/100.-Miscellaneous-Stuff#managing-the-turnwheel

    Supports

    The Engine now has support for supports.

    BaseSupports.png.a7fa9928567b718b9d6bf95f505b5e78.png

    You can set up your supports to work like the GBA games where supports are gained in combat, or like Path of Radiance, where you choose who to support with whom in base.

    You can learn how to add supports to your own game here:

    https://gitlab.com/rainlash/lex-talionis/wikis/27.-Supports

    Other Lex Talionis engine feature additions:

    Spoiler
    1. Added more customization options for combat equations. Removed some of the customization options in `Data/constants.ini` (These have been moved to the new file `Data/equations.txt`)
    2. Added more constants that control how weapon experience is gained.
    3. Added a minimum damage constant to set minimum damage that can be dealt.
    4. Different classes can now gain experience at different rates (Added class exp multiplier)
    5. Units with Steal can now gain exp when stealing (set constant "steal_exp")
    6. Added support for multiple player parties in Engine (see https://gitlab.com/rainlash/lex-talionis/wikis/29.-Multiple-Parties)
    7. Can now change phase music with the event command `change_music` (like `change_music;player;Distant Roads`). Can now clear music stack with `music_clear`
    8. Can now change what statuses count as feats
    9. Can now change what stats Rescue will halve. In fact, rescue status can now be any status effect, as long as it's ID is "Rescue"
    10. Added `cannot_be_crit` status component. While held, unit cannot be crit.
    11. Added `no_choice` flag to event command "give_item". Use this in base conversations
    12. Lethal hit on a boss can now be forced to show a critical animation even if you otherwise wouldn't have crit
    13. Can now set items to use custom animations (like Durandal for Roy...)
    14. Items can now have range of MAG/2
    15. Can scale boss growths and boss bases by difficulty mode
    16. Statuses can now apply attackspeed bonuses and penalties
    17. Can now set up battle music
    18. And probably a lot more that I've since forgotten.

    Like usual with big update changes, you will not be able to use old saves with this version of the Engine.

    Other important notes for those using this Engine:

    Spoiler

     

    1. The newest version of the FEGBA2LT_animation_converter should handle everything but Mages, Sages, Dancers, and Manaketes.
    2. I also wrote a new utility that converts map sprites from GBA format to Lex Talionis format.
    3. If you'd rather start your game from the normal Fire Emblem base, I now have a bundle of data files that I created for the Sacred Stones in the Lex Talionis Engine.
    4. You can find these download links for these utilities and packages here: https://gitlab.com/rainlash/lex-talionis/wikis/101.-Utilities
    5. Can now automatically generate autotiles within the Level Editor.

    Data files that need to be updated if you move to this version:

    • items.xml (Skeleton Key)
    • status.xml (Rescue, Feat List)
    • equations.xml
    • constants.ini
    • difficulty_modes.xml
    • words.txt
    • And, if you want supports:
    • affinity.txt
    • support_edges.txt
    • support_nodes.txt

    There have also been Audio/sfx updates thanks to BBHood217.

     

    Other bug/minor fixes:

    Spoiler
    1. Unit portraits are now correctly rendered when ID and Name are different.
    2. Units with Canto can no longer Rescue/Drop chain infinitely.
    3. Xbox controllers work again.
    4. Player controlled healers now prioritize lowest HP unit in range when starting selection.
    5. Victory screen now displays correct values.
    6. Unit tags and class tags now split.
    7. Disintegrate now correctly does half damage on miss.

    Next Update:

    Spoiler

    v0.9.1 will be a small feature and bug fix update

    • Fix music fade in/out -- rewrite music thread (loops, battle music, sections of music)
    • Add multiple 0-4, 5-9 map sprites for each class
    • Add separate combine action to convoy
    • Add support to fe_repo_to_lex for Dragonstone units and Mages/Sages
    • Add support for Silver Card

     

  21. 15 hours ago, VeryButter said:

    well, it's essentially a workaround, but it works! do you know if it's possible to extend the amount of gender variations there are? not that i'm gonna need that many for the thing i plan to make but hey may as well ask

    figured, that's how i have to do it while hacking FE8. it's real unfortunate because hECK do i love customization and uniqueness for my player units
    i'd like to hold out for my suggestion being heard and implemented but to be fair there's waaay less limitations here so making an extra class a la awakening's chrom/lucina lords wouldn't be nearly as detrimental so i'll see what happens chrom and lucina have separate lord classes right

    It's not possible on the user's end currently to extend the amount of gender variations for combat animations. I figured 5 for each gender would be enough... But if anyone really wants that, I guess it's possible to extend it, although more than 5 variations per gender sounds like a lot, so its not high on my priority list.

    Now, implementing more map sprite variations per class is something I've put on my to do list. It won't come out with v0.9.0 (since I've officially stopped adding features to that version -- just bug fixing now), but maybe soon after in v0.9.1. It'll probably be set up the same way as the combat animations, with 0-4 replacing male gender ("M"), and 5-9 replacing female gender ("F").

  22. On 4/23/2019 at 6:52 PM, Alventenie said:

    I downloaded this today but for some reason the xbox controller isn't doing anything.

     

    I've fixed this in version 0.9.0 of the engine, which will be released SOON(tm). In the Quality-of-Life update I accidentally goofed up the Xbox controller input handling.

    On 4/25/2019 at 9:16 AM, FrankOfAltea said:

    software "fe_repo_to_lex" which compiles manakete animations transforming into a dragon and "untransforming" them?

    Sorry, but the manakete animations are the last animation type that the fe_repo_to_lex converter does not know how to convert. I haven't made head or tail of how the manakete animations are set-up in the GBA games, so converting their animation files is difficult.

    On 5/15/2019 at 8:12 AM, BBHood217 said:

    Also, I have no idea where to find a javelin animation for the Skirmisher.

    I never made one. No skirmisher in The Lion Throne has a ranged lance option :)

    On 5/15/2019 at 8:12 AM, BBHood217 said:

    And finally, I have a question: Does the fe_repo_to_lex converter also work on spell animations?

    No sorry. As far as I can tell, spell animations are kind of hard-coded in the GBA games. I haven't gotten to work on deciphering them. For my spell animations, I just ripped the frames manually and coded up the scripts myself.

    On 5/15/2019 at 9:31 AM, FrankOfAltea said:

    Mage(FE8), Sage(FE8), Dark Mage (Shaman FE8), Sorcerer (Druid FE8), and Archsage (Athos' class) don't, because they crash when they cast their spell, so I am using rainlash's default animations of these classes.

    I believe that the reason that these classes break when using the converter, is because the spell loop that these animations use (like when the mage's cape flaps in the wind during a spell animation) is hard-coded under a command code. If you replace the command code with the loop command like I have in my Mage and Sage animations, it should work.

  23. 17 hours ago, BBHood217 said:

    Is it possible to use a particular combat animation when wielding a certain weapon?  Like Knight Lord Eliwood when wielding Durandal.

    Also, you know the feature in recent hacks where a finishing blow on a boss has the attack become a critical hit?  Would it be possible to implement that here too?  Although I've noticed that some sound files used by some units' criticals don't seem to exist right now, but at least those units lack the Critical skill so their crits go unused and no errors occur.

    Finally, is it possible to implement battle music using the currently available coding and features?

    No, its not possible to use a particular combat animation when wielding a certain weapon. But I can add it to the todo list for 0.9.0. It'd be really easy to implement.

    Also not possible to have a finishing blow on a boss automatically become a critical without modifying the code, but it would also be an easy change to the Engine, so I'll add it to the list. 

    Do you know what sound files I don't have for the units' criticals? I know I'm missing the sound files used for the Sacred Stones monsters, but I thought I had all the sounds for FE7. Also, if you know the command code of the sound I'm missing that would be helpful too.

    Battle music is available in 0.9.0, so not currently available.

    If you want these new features, I can give you the latest build of 0.9.0, since I know you know your way around the Engine! I'm still bug-testing it, so you may run into issues, but if you're still up for trying it, P.M. me and I'll give you a link to the build.

×
×
  • Create New...