Jump to content
rainlash

The Lion Throne (Fangame and Engine)

Recommended Posts

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.

Share this post


Link to post
Share on other sites

That fixed it, but now I think supports are suffering from a similar thing.  This happens whenever I select a unit, friend or foe:

Traceback (most recent call last):


  File "main.py", line 116, in <module>
  File "main.py", line 43, in main
  File "main.py", line 61, in run
  File "Code\StateMachine.py", line 207, in update
    mapSurf = self.state[-1].draw(gameStateObj, metaDataObj)
  File "Code\GeneralStates.py", line 183, in draw
    mapSurf = StateMachine.State.draw(self, gameStateObj, metaDataObj)
  File "Code\StateMachine.py", line 279, in draw
    mapSurf = gameStateObj.drawMap()  # Creates mapSurf
  File "Code\GameStateObj.py", line 737, in drawMap
    unit.draw(mapSurf, self)
  File "Code\UnitObject.py", line 118, in draw
    self.sprite.draw(surf, gameStateObj)
  File "Code\UnitSprite.py", line 181, in draw
    elif gameStateObj.support.get_edge(cur_unit.id, self.unit.id):
AttributeError: 'NoneType' object has no attribute 'get_edge'

As before, constants.ini has "supports = 0" and both support text files have nothing defined.

Share this post


Link to post
Share on other sites

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.

Edited by BBHood217

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Edited by BBHood217

Share this post


Link to post
Share on other sites
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>

 

 

Share this post


Link to post
Share on other sites

Yeah, battle music in the items themselves will make adding healing music easier and even other music like divine weapon music.  But then I think something extra should also be added where a battle theme can override the item music, like with final bosses.

Share this post


Link to post
Share on other sites

discard.png.d98599af665ef68920a59fd4540857bd.png

The message for discarding with a full inventory doesn't seem to be using the correct text and just says "Discard" over and over.  Haven't tested if it's the same with a convoy enabled.

Share this post


Link to post
Share on other sites

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.

lextalioniscrashlog.png

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

I suppose I can wait for the update, I don't really need the animations right away.  There's a lot of other things I gotta work on first.

Share this post


Link to post
Share on other sites

A new idea: With the release of Three Houses, it wouldn't be too hard to use that game's boss music style in the LT engine. Before the boss's battle quote, have an event command change the player and enemy phase theme to the boss theme, and have the death quote set them to the defaults (if the chapter isn't a defeat boss mission). This does have some issues, mainly if there are multiple bosses and you have both active at once, but it could be a cool thing to work with.

Share this post


Link to post
Share on other sites

Found a couple of things:
- Promotions still look for the display name instead of the id for combat animations, causing the generic blue palette to be used while promoting.
- If the combat is sped up and a unit promotes in that same combat, the promotion sequence is also sped up.

Share this post


Link to post
Share on other sites

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. 

 Other than that fantastic game!

Crash_LionThrone.png

Edited by AnomanderRake

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites
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. 

Share this post


Link to post
Share on other sites

So I'm following your tutorial on how to use the editor and this happens when I reach step 2. Initial Level Setup: 

"Open the Level Editor, and click File -> New.... Navigate to the downloaded image and select it. The map should now be loaded in."

PdCKEh.png

 

I'll be honest, I don't know Python, but are there any other dependencies that I need if I cloned from git? I tried both the Dropbox and included editor from cloning

On a side note, are those KeyErrors normal?

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

error.png.ca39ed16164ebfb8dff9fbb9777b6094.png

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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
3 minutes ago, rainlash said:

Thanks for the bug report, Ashai!

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.

Alright, I'll give it a test run and get back to you!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...