Jump to content
rainlash

The Lion Throne (Fangame and Engine)

Recommended Posts

I downloaded the editor, but I can't run it for some reason. I managed to get a screen of the error given (which was tedious as hell, given that the error was up for a microsecond), but I don't know what I'm missing.

 

 

Screenshot (10).png

Share this post


Link to post
Share on other sites

I think the LevelEditor folder is supposed to go in the Lion Throne folder, as in you need the game itself too.

Say, I noticed higher version numbers.  How do I update the game and/or editor?

Edited by Baby Bonnie Hood

Share this post


Link to post
Share on other sites
15 hours ago, Baby Bonnie Hood said:

I think the LevelEditor folder is supposed to go in the Lion Throne folder, as in you need the game itself too.

Say, I noticed higher version numbers.  How do I update the game and/or editor?

Yeah, that worked. You shoulda seen my face when the tutorial on the wiki said the same thing. Good lesson here, folks: always check tutorials.

Share this post


Link to post
Share on other sites
On 11/30/2018 at 3:30 AM, Baby Bonnie Hood said:

I think the LevelEditor folder is supposed to go in the Lion Throne folder, as in you need the game itself too.

Say, I noticed higher version numbers.  How do I update the game and/or editor?

Just re-download the game. You can move your Saves from the old folder to the new one and then delete the old one. I update the download link periodically whenever there's enough minor changes. Same with the Level Editor, although it has not been updated since. I'll probably announce the next major update here when its ready, so you'll know when that drops. 

If you're updating from 0.8.0 to 0.8.3 and are keeping your Data folder around (since maybe you made changes), there's two files in Data/ that have changed: status.xml and difficulty_modes.xml. You have to use the new version of these files as base if you don't want the engine to crash.

Share this post


Link to post
Share on other sites

Hey! I've been toying around with your engine and its very impressive! I'm about halfway through the guide by now, and its very good at creating original chapters in a reasonable amount of time. The only trouble I've been having with it is with the reinforcements menu in Lex Talionis. I believe its been mentioned before but placed player units can sometimes glitch and end up as reinforcements , also it would be great to have a way to delete the spawns I created on accident. I've caught another glitch, too, unfortunately: I had one character spawn out of a village with the convert/add unit commands, and whenever he was deselected the lion throne engine would crash showing this error report. Sorry to bring yet another bug to your attention! Just want you to know you've made a great tool that has certainly worked more than it has crashed.

 

Debug: 1
Version: v0.8.3
libpng warning: iCCP: known incorrect sRGB profile
None
=== === === === === ===
Damn. Another bug :(
Quick! Copy this error log and send it to rainlash!
Or send the file "Saves/debug.log.1" to rainlash!
Thank you!
=== === === === === ===

Main Crash 'NoneType' object is not subscriptable
Traceback (most recent call last):
  File "main.py", line 117, in <module>
  File "main.py", line 45, in main
  File "main.py", line 63, in run
  File "Code\StateMachine.py", line 189, in update
    begin_output = self.state[-1].begin(gameStateObj, metaDataObj)
  File "Code\StateMachine.py", line 561, in begin
    self.validMoves = cur_unit.getValidMoves(gameStateObj)
  File "Code\UnitObject.py", line 911, in getValidMoves
    pathfinder = AStar.Djikstra(self.position, my_grid, gameStateObj.map.width, gameStateObj.map.height, self.team, 'pass_through' in self.status_bundle)
  File "Code\fast_pathfinding.pyx", line 288, in Code.fast_pathfinding.Djikstra.__init__ (fast_pathfinding.c:8606)
    self.start = self.get_cell(self.startposition[0], self.startposition[1])
TypeError: 'NoneType' object is not subscriptable

Created save point at last turn change! Select Continue in Main Menu to load!

=== === === === === ===
Damn. Another bug :(
Quick! Copy this error log and send it to rainlash!
Or send the file "Saves/debug.log.1" to rainlash!
Thank you!
=== === === === === ===

Share this post


Link to post
Share on other sites

I kinda prefer the FE7-style menu screens that the main Lion Throne game uses, so I was a bit surprised when I made a new Debug level and while testing it the menu screens were FE8-styled instead.  How'd that happen?  And how do I get the FE7 style back?

I also found a couple of things while working on my little project:

- The swordmaster is tagged as an "armor" for some reason.  There's no gameplay effect since the base Lion Throne game doesn't utilize armorslayer weapons, but it does make the swordmaster's footsteps sound like a knight's/general's.

- The description for getting Slowed says "Inflicts MOV -6", but it's actually only MOV -3.

Share this post


Link to post
Share on other sites
5 hours ago, Baby Bonnie Hood said:

I kinda prefer the FE7-style menu screens that the main Lion Throne game uses, so I was a bit surprised when I made a new Debug level and while testing it the menu screens were FE8-styled instead.  How'd that happen?  And how do I get the FE7 style back?

Thanks for the report. I've fixed the issues but there's no new build since they're so minor.

The Lion Throne was an unholy hodgepodge of FE7 and FE8 style UI. In the latest couple of 0.8.x updates I tried to change everything to FE8 style. I felt it would look better to have everything be consistent and I preferred FE8's style over FE7's style.

I imagine it's possible to switch most of the UI back to FE7's style without touching the codebase... You can find most of the UI menu templates in /Sprites/General/MenuBackgrounds/. Unfortunately, it would be quite the endeavour -- so I don't recommend it.

Sorry about that -- If you have finalized a game using the Lex Talionis Engine and really want to use a different UI, I can help you out then.

Share this post


Link to post
Share on other sites

It took me around a month of on-off work, but I've finally implemented a bunch of new classes; as well as adding additional female variants where applicable and all four team colors to all the classes.

lexscreen.png.7b960bf7b67e5e9fd7c234f75c6246bf.png

I imagine that combat animations will be majorly time consuming, so I'm gonna completely ignore them for now.  My game when it's first done will probably have to be played with combat anims off at all times, but that's fine.  With all the classes and units set up, I can finally move on to making a story and levels around them.

Now, I have a few more questions:

- Is there a screenshot button?  I had to screen capture and paste into GIMP to get the above image.

- I wanna change the chapter title image (the sun thing in The Lion Throne) back to what it was in FE7.  Replacing it is probably simple, but I have no clue where or how to find the FE7 image.  Does anyone have a rip of it or its hex address location and palette so I can find it myself with FEBuilderGBA?

- Can I release my new Lion Throne map sprites?  They could be a valuable resource.

Share this post


Link to post
Share on other sites
11 hours ago, Baby Bonnie Hood said:

I imagine that combat animations will be majorly time consuming, so I'm gonna completely ignore them for now.  My game when it's first done will probably have to be played with combat anims off at all times, but that's fine.  With all the classes and units set up, I can finally move on to making a story and levels around them.

Now, I have a few more questions:

- Is there a screenshot button?  I had to screen capture and paste into GIMP to get the above image.

- I wanna change the chapter title image (the sun thing in The Lion Throne) back to what it was in FE7.  Replacing it is probably simple, but I have no clue where or how to find the FE7 image.  Does anyone have a rip of it or its hex address location and palette so I can find it myself with FEBuilderGBA?

- Can I release my new Lion Throne map sprites?  They could be a valuable resource.

Impressive!

While custom combat animations are very time-consuming, implementing basic palette swaps of the default combat animations is not so hard.

Unfortunately, no screenshot button; I normally just use alt-printscreen to grab the current window and then paste into Paint to save. It's definitely something I could add -- in fact, the Engine already has the functionality, I would just need to bind it to a key. So which key makes sense? And then decide where to put the screenshots? Maybe a Screenshot folder at the toplevel directory?

Attached is my original chapter title image that I used to use from many years ago. It is the FE7 one.

If you have new Lion Throne map sprites, I'd like to see them -- and with your permission I'd add them to the Engine repository.

Chapter Transition Sigil.png

Share this post


Link to post
Share on other sites

Most games use F12 for screenshots and they do indeed go in a Screenshots folder or something similar.

And here are the map sprites: MapSprites.zip

As I've mentioned, they all have all four team colors (blue, red, green, and pink).  And definitely yes, you can add them to the repository.  It should be mostly fine... I think, I hope.

Here are some more details about some of the classes:

- Barbarian: It's really just a berserker in all but name and graphics, I just wanted a way for brigands to promote like raiders can and also have an excuse to use the FE7 Hawkserker map sprite (and hopefully in the future, combat animation too).

- Channeler: I thought this was the summoner, but it's apparently a magic seal?  I gave it all four colors anyway even if neither you nor me are gonna use this class for now.

- CitizenKid: Basically the same as the citizen but using the little boy and girl map sprites.  Also an advice to others: Do not rename or remove the Citizen class (changing its displayed name is fine) or the game/editor will crash.

- Cleric: Sorry, but I changed Prim's map sprite to the generic female cleric.  I recommend making a backup of it first if you want to keep it.

- Dracomaster: I renamed it because I feel the word "lord" should only be reserved for Lord units, but it's just the Dracolord otherwise.  You can rename it back if you want.  Here's an interesting trivia: FE8 actually has a unique map sprite for female dracomasters, but I decided not to use it.

- Duke: I made a new generic portrait for it (a blank class card with gold borders), but it's the same otherwise.  You can now have a pink Zephiel, though.

- Halberdier: I noticed an unused map sprite.  It's barely different from the normal one, so I hope you don't mind that I completely replaced it.

- Lord: It's completely untouched as neither of us are gonna use it.  So I guess that should be "all but one class has all four team colors".

- Mageknight: Both this and the strategist use the same map sprites, but I kept both of them anyway even if I'm not planning on using the strategist.

- Mercenary: I added a female map sprite so it wouldn't be jarring to promote from a male merc to a female vanguard.  I'm not sure whose sprite it is though, the person who posted it said it wasn't theirs.  It'll be helpful if someone recognized the creator of this sprite so they can be given proper credit.

- Pegasquire: Now this I can credit.  This map sprite of a sword-only peg is by Sephie.  I edited the helmetless look to the pegaknight and falcoknight as well, but I'll gladly credit those to Sephie too.

- Pirate: It's just a renamed raider, again you can rename it back if you want.  The sprite while moving was rather jittery, but I managed to fix it; that goes for all the other classes.

- Ranger: This is actually the nomad trooper's map sprite, but I used this instead of the actual FE8 ranger because I prefer the nomad trooper's sword combat anim over the ranger's.

So there it is.  I hope these map sprites are useful.

Share this post


Link to post
Share on other sites

Don't do that!

No but seriously -- sorry about the bug. Change your text speed (in the Options Menu) to anything but the maximum and your problem should go away. I'll add that to the list of fixes that need to be made.

Thanks for the bug report.

Share this post


Link to post
Share on other sites

I found something while testing promotions.  Normally when selecting a feat, you can't put the cursor on feats you already have.  However when the feats menu comes up, the cursor always starts on Strength+2 even if you already have it.  If you don't move and select it, you get Strength+2 again... which is a waste because duplicate feats are not a thing and now you've wasted a feat and still only have one Strength+2.

Also, promoting still uses combat animations even if they're completely off.  It's fine if the classes don't exist in the Animations folder (like Pegaknight -> Falcoknight), but the game crashes over existing classes not having the proper character names.  I really don't wanna do combat animations for now (I haven't touched any of the Lion Throne defaults for combat anims), so I just removed the entire Animations folder.  I'll finish the game first, then worry about the combat anims afterwards.

Share this post


Link to post
Share on other sites

@rainlash if you need the contents of that debug log, let me know.

Share this post


Link to post
Share on other sites

I forgot a question: Is it possible to change the promotion music, or is it hardcoded to "To A Higher Place.ogg"?

Edit: Couple more things I wanna add.  With the new HUD, status effects (Poisoned, Slowed, Provoked, etc.) don't display their names.

Also and I guess this is kinda spoilers for the final boss, how is Ulver getting Rex Aegis?  I've looked at the data files and nothing seems to grant him that skill yet he had it anyway when I fought him.  Then again, this might've been changed since it was v0.8.0 when I last fought him.

Edited by Baby Bonnie Hood

Share this post


Link to post
Share on other sites
22 hours ago, Baby Bonnie Hood said:

I found something while testing promotions.  Normally when selecting a feat, you can't put the cursor on feats you already have.  However when the feats menu comes up, the cursor always starts on Strength+2 even if you already have it.  If you don't move and select it, you get Strength+2 again... which is a waste because duplicate feats are not a thing and now you've wasted a feat and still only have one Strength+2.

Also, promoting still uses combat animations even if they're completely off.  It's fine if the classes don't exist in the Animations folder (like Pegaknight -> Falcoknight), but the game crashes over existing classes not having the proper character names.  I really don't wanna do combat animations for now (I haven't touched any of the Lion Throne defaults for combat anims), so I just removed the entire Animations folder.  I'll finish the game first, then worry about the combat anims afterwards.

17 hours ago, Baby Bonnie Hood said:

I forgot a question: Is it possible to change the promotion music, or is it hardcoded to "To A Higher Place.ogg"?

Edit: Couple more things I wanna add.  With the new HUD, status effects (Poisoned, Slowed, Provoked, etc.) don't display their names.

Also and I guess this is kinda spoilers for the final boss, how is Ulver getting Rex Aegis?  I've looked at the data files and nothing seems to grant him that skill yet he had it anyway when I fought him.  Then again, this might've been changed since it was v0.8.0 when I last fought him.

Thanks for the bug reports! 

(1) I've fixed the feat menu bug.

(2) Promotions don't care about the animation toggle and will attempt to use them whether or not combat animations are available. However, I've fixed the error you're describing from occurring. Now if the right combat animations are not available, it should still promote the unit, just without showing the promotion animation.

(3) I've added a new optional parameter to the constants.ini file: music_promotion. So you can put something like "music_promotion=Greensleeves" if you like. If you don't fill this out, the music will not change.

(4) I've fixed the status section of the InfoMenu -- it now displays the status's names like the class skills section.

(5) I checked all the Data documents too and I didn't see it either. He has a lot of abilities, like +5 to all stats and status resistance/reflection, which ends up sort of accomplishing the same thing. Maybe you got it confused? But I could have forgotten having it in there at one time myself... *shrug*

I've got a new build 0.8.7 with these changes up at the usual place.

On 1/3/2019 at 11:31 AM, Street Hero said:

not sure if it is just me or Eliza is weak as fuck

:(. She normally turns out pretty decent for me; well, at least not the worst playable character in the game. I normally try and feed her the wagons in her join chapter.

Share this post


Link to post
Share on other sites

I was misremembering.  Rex Aegis wasn't a final boss-only skill, it was a general gate/throne bonus that I misattributed to Ulver.  My bad.

Edit: Thanks to the Ultimate Graphics Repo that was posted today, I finally have a name to properly credit.  The female mercenary map sprite is by Agro.

Edited by Baby Bonnie Hood

Share this post


Link to post
Share on other sites

The game kept complaining every time I tried to use a move trigger.

Traceback (most recent call last):


  File "main.py", line 117, in <module>
  File "main.py", line 45, in main
  File "main.py", line 63, in run
  File "Code\StateMachine.py", line 199, in update
    update_output = self.state[-1].update(gameStateObj, metaDataObj)
  File "Code\StateMachine.py", line 2003, in update
    self.message.update(gameStateObj, metaDataObj)
  File "Code\Dialogue.py", line 198, in update
    self.read_script(gameStateObj, metaDataObj)
  File "Code\Dialogue.py", line 136, in read_script
    self.parse_line(line, gameStateObj, metaDataObj)
  File "Code\Dialogue.py", line 545, in parse_line
    self.add_unit(gameStateObj, metaDataObj, unit_id, None, 'fade', 'stack')
  File "Code\Dialogue.py", line 1237, in add_unit
    final_pos = self.get_final_pos(gameStateObj, placement, new_pos, bad_pos)
  File "Code\Dialogue.py", line 1420, in get_final_pos
    if pos not in bad_pos and gameStateObj.map.check_bounds(pos):
  File "Code\TileObject.py", line 205, in check_bounds
    if pos[0] >= 0 and pos[1] >= 0 and pos[0] < self.width and pos[1] < self.height:
TypeError: 'NoneType' object has no attribute '__getitem__'

That's with following the tutorial to the letter.  I just gave up and moved stuff manually with "move_unit".

Share this post


Link to post
Share on other sites
7 hours ago, Baby Bonnie Hood said:

The game kept complaining every time I tried to use a move trigger.

Sorry about that. There's something screwy with using move triggers in the main branch. I think I've fixed it in my next major update branch.

Unfortunately, it required a major overhaul of the trigger code, which intersects with other changes I've made, so I can't easily add back the changes to the main branch.

In the meantime, as you've done, you can use the "move_unit" command, which should work just fine, though it is a bit clumsy in comparison to triggers. I didn't have triggers when I created The Lion Throne, so its definitely possible to just use "add_unit" and "move_unit" for everything if triggers fail.

Share this post


Link to post
Share on other sites

I'm trying to use a general lose condition of "You lose if all your units are dead" (I'm not doing lords) using "get_total_party_members() <= 0".  It works just fine; until I shift focus to a different group of characters, then it stops working because I think it's still counting the previous group that isn't deployed.

Is there a way to check only for player units that were deployed on the map without counting any undeployed units?  Like maybe "check_rout()" but for the player team?

Share this post


Link to post
Share on other sites
7 hours ago, Baby Bonnie Hood said:

I'm trying to use a general lose condition of "You lose if all your units are dead" (I'm not doing lords) using "get_total_party_members() <= 0".  It works just fine; until I shift focus to a different group of characters, then it stops working because I think it's still counting the previous group that isn't deployed.

Is there a way to check only for player units that were deployed on the map without counting any undeployed units?  Like maybe "check_rout()" but for the player team?

Try this?

if;not any(unit.team == 'player' and unit.position for unit in gameStateObj.allunits)

It'll check if there are any player units with a position, which seems to be what you want.

Share this post


Link to post
Share on other sites

That's just the old "check rout" condition... but applied to the player.  Thanks, why didn't I think of that? :P

I have another question now, though.  Is there a way to play sound effects in cutscenes?  They'd help in implying actions (like doors opening, or people collapsing or getting stabbed), but I can't seem to find any functionality for this.

Edit: This time, I have a little thing to report.  If used in the very first chapter, the victory screen would show 0 turns and "none" as the MVP.  It works fine in the next chapter, though apparently even a unit that wasn't deployed on the map can still be MVP by merit of their performance throughout the entire game instead of only in the current chapter.

Maybe I won't use victory screens for now.  The GBA titles didn't have victory screens, and I want to emulate the FEGBA style more closely anyway.

Edited by Baby Bonnie Hood

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...