Jump to content
rainlash

The Lion Throne (Fangame and Engine)

Recommended Posts

4 hours ago, LMDHad0uken said:

In the Engine is it possible for a class to have a higher max level cap in the same tier or no? Example SageLv20, BardLv40 as Tier 2

It's not currently possible. Each class tier can have a different max level, but within the same tier, each class's max level must be the same. If you didn't care about experience points from combat, you could try starting the class on a higher tier. Like have your bard class be Tier 4 or something, and give Tier 4 a max level of 40. This unfortunately means you won't get any experience from combat though, since the engine will think your higher level than you really are. I've never tried this though, so it may break something else.

If you really want this capability, I can add it in the next update. Give each class a separate max level component.

Share this post


Link to post
Share on other sites
2 hours ago, rainlash said:

It's not currently possible. Each class tier can have a different max level, but within the same tier, each class's max level must be the same. If you didn't care about experience points from combat, you could try starting the class on a higher tier. Like have your bard class be Tier 4 or something, and give Tier 4 a max level of 40. This unfortunately means you won't get any experience from combat though, since the engine will think your higher level than you really are. I've never tried this though, so it may break something else.

If you really want this capability, I can add it in the next update. Give each class a separate max level component.

That's ok I can just make up another class to fill the gaps. Although I do think it would make things easier on the users on end if there is an option for a class to have a separate max level component.

Share this post


Link to post
Share on other sites

I'm probably missing something, but where's the level editor?  I got the game, I'm enjoying the game, and I'm seeing potential for what I might be able to make with the engine.  But I can't seem to find the level editor.

Share this post


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

I'm probably missing something, but where's the level editor?  I got the game, I'm enjoying the game, and I'm seeing potential for what I might be able to make with the engine.  But I can't seem to find the level editor.

You can download a Windows build of the Level Editor here: https://www.dropbox.com/s/7t7nvdudo4nme2s/lex_talionis_level_editor.zip?dl=0

However, I highly recommend following the tutorial if you want to use the Level Editor, since even with the Level Editor, making a level is a complex process. The tutorial is here: https://github.com/rainlash/lex-talionis/wiki

Share this post


Link to post
Share on other sites

Thanks.  I thought the editor came bundled with the game, but apparently not.  Did I just miss that download link before...?

Share this post


Link to post
Share on other sites

Hello there! from what I read in this topic, this project could mean the future for a lot of fan projects since it's probably easier to create a campaign with this engine rather than hacking a rom. I'm mostly excited about the port on android : I'm sadly no connoisseur in Android coding so I can't help you on that, but if the whole engine and all the created levels could be played on Android that'd be awesome! Otherwise it would have less availability than rom-hacking sadly~ 

Anyway keep up the great work, from what I saw this seem awesome! 

Share this post


Link to post
Share on other sites

I got this when a dracolord threw a javelin at warlock Kayla:

Quote

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 201, in update
    update_output = self.state[-1].update(gameStateObj, metaDataObj)
  File "Code\StateMachine.py", line 2079, in update
    combatisover = gameStateObj.combatInstance.update(gameStateObj, metaDataObj, self.skip)
  File "Code\Interaction.py", line 990, in update
    self.left.battle_anim.update()
  File "Code\BattleAnimation.py", line 131, in update
    child.update()
  File "Code\BattleAnimation.py", line 98, in update
    self.read_script()
  File "Code\BattleAnimation.py", line 169, in read_script
    script = self.poses[self.current_pose]
TypeError: string indices must be integers, not str

 

I'll have to turn combat animations off around dracolords for now.

Also, Sam's tactician sprite in combat has no transparency.

Edit: Got another one when Joel tried to attack with a master axe:

Quote

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 208, in update
    mapSurf = self.state[-1].draw(gameStateObj, metaDataObj)
  File "Code\StateMachine.py", line 1294, in draw
    gameStateObj.cursor.currentSelectedUnit.displayAttackInfo(mapSurf, gameStateObj, gameStateObj.cursor.currentHoveredUnit)
  File "Code\UnitObject.py", line 281, in displayAttackInfo
    gameStateObj.info_surf = self.create_attack_info(gameStateObj, enemyunit)
  File "Code\UnitObject.py", line 257, in create_attack_info
    e_hit = enemyunit.compute_hit(self, gameStateObj, enemyunit.getMainWeapon(), 'Defense')
  File "Code\UnitObject.py", line 1589, in compute_hit
    if status.conditional_avoid and eval(status.conditional_avoid.conditional, globals(), locals()):
  File "<string>", line 1
    self.getMainWeapon() and self.getMainWeapon().TYPE == 'Axe
                                                             ^
SyntaxError: EOL while scanning string literal

 

 

Edited by Baby Bonnie Hood

Share this post


Link to post
Share on other sites

Sorry about the issues. Something always falls through the cracks. I don't know how I missed that Sam's tactician sprite was non transparent.

Thanks for the bug reports. The latest version of the Engine on Git has the fixes (but I haven't built an executable for it yet). 

You can fix the Master Axe issue pretty easily yourself. Go to line 376 of your Data/status.xml and you should see a line that ends with .TYPE == 'Axe</conditional_avoid>  Add the missing quotation mark after Axe and before the angle bracket, so the line now looks like: <conditional_avoid>30;self.getMainWeapon() and self.getMainWeapon().TYPE == 'Axe'</conditional_avoid>

That should fix the problem. 

Share this post


Link to post
Share on other sites

Main Crash 'NoneType' object has no attribute 'update_tile'
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 201, in update
    update_output = self.state[-1].update(gameStateObj, metaDataObj)
  File "Code\Transitions.py", line 291, in update
    self.continue_suspend(gameStateObj, metaDataObj)
  File "Code\Transitions.py", line 298, in continue_suspend
    SaveLoad.loadGame(gameStateObj, metaDataObj, suspend)
  File "Code\SaveLoad.py", line 700, in loadGame
    gameStateObj.load(to_save)
  File "Code\GameStateObj.py", line 150, in load
    self.map.replay_commands(map_info['command_list'], self.game_constants['level'])
  File "Code\TileObject.py", line 354, in replay_commands
    self.mass_replace_tile(line)
  File "Code\TileObject.py", line 523, in mass_replace_tile
    width, height = self.area_replace(coord, image_fp, grid_manager)
  File "Code\TileObject.py", line 95, in area_replace
    self.update_grid_manager(coord, width, height, grid_manager)
  File "Code\TileObject.py", line 102, in update_grid_manager
    grid_manager.update_tile(self.tiles[(x, y)])
AttributeError: 'NoneType' object has no attribute 'update_tile'
=== === === === === ===
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!
=== === === === === ===

 

The game cursor glitched by going down automatically. This happened before and I fix it by suspending the game, moving the cursor in the menu, and then continuing. Doing so caused the game to crash.

With the game seemingly randomly crashing at other points (such as at around turn 19 or 20 on chapter 9 when some reinforcements were spawning and when using the master axe as mentioned above) I've noticed continuing sometimes just crashes in general, and now I'm literally unable to start the chapter. can't figure out why so for now I thought I'd post this...

 

EDIT: Restarted the chapter and just finished it since I had a feeling I was close to the ending. Turns out I was right lol.

 

Though you didn't ask for them and are free to ignore them, I felt like writing my thoughts out and figure someone might be curious for a little more insight on what to expect from the game, so here are some of my thoughts on its different elements:

Gameplay:

(Potential gameplay spoiler warning for those who haven't beaten the game yet)

I thought it was mostly good, my main issue is that reinforcements are not hinted at, both in terms of location and time spawning, and it's really annoying to just have them pop up on you without warning. The changes to certain core elements of the "Fire Emblem" experience, such as not being able to shoot magic and bows through walls, the reworking of bows to make them really feel like competent sniping tools/great for the player phase, skills that are predictable and not luck-based, etc., were great IMO, and I quite enjoyed the challenge of the game (besides the reinforcements... that felt like artificial difficulty). Overall it was pretty fun to play or I probably wouldn't have finished it, so yeah. The chapters sure were long though T_T

Story: It served its purpose decently enough and I didn't particularly like or dislike it... though some grammatical mistakes kind of irked me because I have a lame, over-attentive personality, lol.

But I can't really fault the story overall, not like I paid money for some epic adventure written by a team of professional writers, haha.

Music: Wasn't really my preference of music, it felt mostly slow and atmospheric, but it was alright and did its job IMO. The awkward looping and lack of battle themes were a little meh, but I'm guessing the latter is because animations were added after the initial version. Also, the battle preps theme was super lame lol.

Graphics: Just like the story/music, I felt like the custom sprites and such served their purpose and that was about all I expected from a fangame, so yeah. Not particularly good but nothing terrible either, IMO. Was neat seeing a certain new bow animation.

Miscellaneous: The engine sometimes crashed/bugged on me as mentioned and I found that when pressing the "select" button ("Z" on my setup) and then immediately moving, it would sometimes move the cursor first and then "select" the new tile it moved to (i.e. either select the unit on it or open up the menu), which was a little annoying (I wanted it to select the unit and immediately start moving it within its movement range), but I think I just trained myself to press on my keyboard slower and mostly got over it, lol.

FWIW, changing the options didn't seem to help it, seems like a weird input buffer issue, but I dunno.

That aside, it's pretty good for a fan-game made by one person so I don't really feel like nitpicking any of the other small polish things since it'd feel kind of ungrateful and none of it really hurts the experience that much.

 

Overall: Gotta just give props overall, there was clearly a ton of effort put into it and I'm glad I chanced upon this and played it, was my first FE fangame in a while and it genuinely felt really fun and rewarding at times to learn and make use of the various changes to the FE formula. And I just sort of see it for what it is, a fan game made by one person that honestly feels somewhat like an "example work" of what the engine can do, and I think in that sense it succeeds and so that's why despite some frustrating moments and some things I wish were a little more polished, I enjoyed it overall and think it could be fun for some hardcore FE fans that wanna scratch that itch for a challenging/unique FE experience and have reasonable expectations for a one-man fan-project.

 

Anyway, thanks for making this and sharing it with us, and best of luck with your future endeavors. =)

Edited by Crimson Red

Share this post


Link to post
Share on other sites
10 hours ago, Crimson Red said:

I felt like writing my thoughts out and figure someone might be curious for a little more insight on what to expect from the game, so here are some of my thoughts on its different elements:

Thanks for the review and for persevering through these bugs!

As you could probably tell, the story and the music weren't really my main thrusts -- but hopefully they at least carried the game along. I was trying to get the gameplay to be fun, engaging, and challenging, and I'm glad you found that to mostly be the case. Perhaps the reinforcements were too much, although my thought there was I wanted to make the player have to move quickly. I've found the challenge of Fire Emblem level design is trying to prevent the player from turtling -- reinforcements were my original method for doing so. But over the course of developing the game, I have removed a lot of the reinforcements -- it used to be every level had infinite reinforcements spawn in every turn after a certain turn. But perhaps I haven't gone far enough in removing the reinforcements.

Anyway, thanks for playing, and for the bug report. You seem to have understood what I was going for when I made this -- a game for "hardcore FE fans that wanna scratch that itch for a challenging/unique FE experience". It's always good to know what other people think of it, and I'm glad you enjoyed the experience on the whole! 

Share this post


Link to post
Share on other sites
On 11/20/2018 at 1:42 PM, rainlash said:

As you could probably tell, the story and the music weren't really my main thrusts -- but hopefully they at least carried the game along.

yup, and I think they did carry the game along, thus why I was fine with it. IMO it just comes down to expectations/understanding what the vision of the creator is (i.e. if you're not trying to create some kind of epic masterpiece of a story then I probably shouldn't judge it like you did)

Quote

Perhaps the reinforcements were too much, although my thought there was I wanted to make the player have to move quickly.

I think this would be solvable by having the hint conversations happen before the turn they appear and/or making it a little more obvious where they might appear. Having it so they need to take a turn before they can have any impact on the battle (positioning-wise) also helps. For instance, the warp-in reinforcements just sort of plopped right into the battlefield so those were a bit frustrating because the right units weren't always there to handle them. Likewise, in the chapter where bandits spawn, my units were stuck in the thickets or w/e fighting them and I couldn't really retreat or anything before the sudden wyvern reinforcements came down, so I regretted sending in sword-users there, but the Paladins in the map against Vagnius (sp) spawned at a point where I had a turn or two before they actually fought me, and so I didn't feel like I was immediately being pressured by the unexpected, so that was fine.

In the end it's your game though and I was playing on the default difficulty (Hard, I believe) so I managed despite the surprises, haha.

On 11/20/2018 at 1:42 PM, rainlash said:

I've found the challenge of Fire Emblem level design is trying to prevent the player from turtling -- reinforcements were my original method for doing so. But over the course of developing the game, I have removed a lot of the reinforcements -- it used to be every level had infinite reinforcements spawn in every turn after a certain turn.

Mhm, I get this and I think that knowing I couldn't turtle did help the game by not letting me circumvent the challenge through defensive play, but since unexpected things can happen to the player, I'd just (hypothetically, I know you're not really actively working on this much anymore) have a slightly larger gap (even just 1 turn more) between the final non-void curse reinforcements and the void curse reinforcements, at least in a couple of maps where it felt like I was dealing with both at the same time. (I guess I might've just been playing badly myself, but I'd liiiike to think I'm pretty decent, haha)

 

Anyway, thanks again, was fun playing and chatting both.

Share this post


Link to post
Share on other sites

Can hardly believe something like this slipped my eyes for an entire year. The Lion Throne was a fun appetizer to get through, but I'm truly interested in the continued development of the custom engine here. ROM hacking has advanced so much in the past year, but I feel custom engines still have a huge ceiling that can potentially surpass that advancement - not to mention, be much more accessible.

Glad to see that there are more engines other than FEXNA out there and coming along! Definitely going to play around with this, if not make a small project when I get the chance!

Share this post


Link to post
Share on other sites

I've been having a blast using the engine for my personal project; it's extremely intuitive and robust!

When making my own levels, I've encountered an issue with pick units and forced deployment:

Spoiler

i7fInLx.png

WWAMrjl.png

I want to force deploy my lord character in a map with pick units turned on. Using method 2 as outlined in the pick units tutorial, I checked the "Load Saved Player Characters" box, and then placed my lord on the map (not on a formation tile). Everything appears fine in the editor, but when I load up the game proper...

cmj3kgb.png

My lord appears in the spot I gave her in the editor, but I can deselect her in the pick units menu. When I do, she is removed from her special spot, and when I select her again, she reappears on a formation tile. The issue occurs on every map with pick units, whether accessed through playing up through the game or the preload level system. Am I doing something wrong, or is my engine/editor version out of date? Any help or pointers you could give would be very much appreciated!

I really can't thank you enough for developing this engine, it's been a dream come true! I can't wait to see where it goes with further development.

Share this post


Link to post
Share on other sites
3 hours ago, 3+2=Pie said:

When making my own levels, I've encountered an issue with pick units and forced deployment:

I'm glad you've been enjoying working with the engine! I actually ran into this issue before -- someone else who has been creating a game using the engine ran into this issue as well maybe a couple of months ago. I believe you are using an older version of the Engine. The issue is my fault -- I hadn't tested the pick units code thoroughly. The current version 0.8.3 (uploaded today) has that bug fixed (along with a host of others). 

If you download the new version you can replace the Data/ directory that comes with the Engine with your current Data/ directory and be on your way. If you have any trouble, feel free to PM me.

The same goes for anyone who's working with the Engine. Feel free to PM me here or on Discord -- my id is rainlash #2111.

Share this post


Link to post
Share on other sites

I'm trying to figure out something.  Say I wanted to play through a few chapters with this one group of characters, and then play through a few more chapters with another group of different characters.  And then in one chapter, I wanna either go back to the first group or bring both groups together.  It all comes down to that "load from last save" checkbox, so I guess my question is: How long are the stats of a playable character retained?  Can a character go unused for several chapters and still be loaded with all their previous stats afterwards?  Or does it only extend to the previous chapter played and everything is forgotten if they go unused for even one chapter?

I also have a question about Casual mode.  I lost a character in one chapter and feared it was a bug when they didn't return in the next one despite still being in the base menu prior, but all was well when they came back just fine in the following chapter afterwards.  So I was wondering if that "death cooldown" was intentional, and whether there was a way to disable or maybe even extend it.  And speaking of disabling, I'm also wondering if it was possible to force difficulty modes (like Hard Classic only or Grandmaster Casual only).

Share this post


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

I'm trying to figure out something.  Say I wanted to play through a few chapters with this one group of characters, and then play through a few more chapters with another group of different characters.  And then in one chapter, I wanna either go back to the first group or bring both groups together.  It all comes down to that "load from last save" checkbox, so I guess my question is: How long are the stats of a playable character retained?  Can a character go unused for several chapters and still be loaded with all their previous stats afterwards?  Or does it only extend to the previous chapter played and everything is forgotten if they go unused for even one chapter?

I also have a question about Casual mode.  I lost a character in one chapter and feared it was a bug when they didn't return in the next one despite still being in the base menu prior, but all was well when they came back just fine in the following chapter afterwards.  So I was wondering if that "death cooldown" was intentional, and whether there was a way to disable or maybe even extend it.  And speaking of disabling, I'm also wondering if it was possible to force difficulty modes (like Hard Classic only or Grandmaster Casual only).

You can definitely play through a few chapters with one group of characters, and then play through a few more chapters with another group of characters. I should add a guide to the wiki on how to do this, since I've gotten this question more than once. But simply put, you can just add different units in on each level, and it will only load the units you ask it to, UNLESS you use the "load from last save" checkbox (and arrange_formation) or you allow the player to Pick Units.

If you want to prevent the player from using a certain set of units, but still want the player to be able to Pick Units, it's a bit overly complex, but it should work. 1) At the beginning of the level, mark all units in the player's party that you don't want to use by killing them. Use the kill_unit;{unit's id} command. Make them dead. Pick Units does not allow the player to pick a dead unit. 2) Once the player is done Picking units, or done with the level, use resurrect_unit;{unit's id} to bring them back to life. 3) You'll also have to make sure that the game constant (Data/constants.ini) has a line convoy_on_death=0, so the units don't give the convoy their items while dead. It's sort of hacky but it works for now.

Player units, and ONLY player units, are kept in your save files forever (Along with everything about them, stats, records, items, skills, etc.). So don't worry -- they won't be forgotten between levels.

The "death cooldown", as you called it, is not intentional. I'll look into that. 

If you want only one difficulty mode, you should be able to just remove the others from difficulty_modes.xml. If you want to hardset Classic/Casual per difficulty mode, you can do that too in the difficulty_modes.xml. Just switch the "?" to whatever number is appropriate.

 

Share this post


Link to post
Share on other sites

For the promotion class tree is it possible to do separate promotion gain stats for each class like FE8 & FE Fates?

Like I want to make a knight -> great knight Mov+3 like FE Fates but I also want the option of knight -> general only Mov+1

Is it also possible to do negative stats on promotion like removing movement? Troubadour -> Maid/Butler would be Mov-1

Share this post


Link to post
Share on other sites
4 hours ago, rainlash said:

Player units, and ONLY player units, are kept in your save files forever (Along with everything about them, stats, records, items, skills, etc.). So don't worry -- they won't be forgotten between levels.

The "death cooldown", as you called it, is not intentional. I'll look into that.

So if I don't add a unit in one chapter, I can still add and load them just fine in the next one?

And as for the cooldown, I should get more specific then since it's apparently a bug?  Anyway, it happened when Joel fell in battle in Chapter 2.  He didn't deploy in Chapter 3 despite being in the base menu and all the dialogue scenes, but returned just fine in Chapter 4.

Share this post


Link to post
Share on other sites

cant make a new save or load game with version 0.8.3

   DEBUG:              Engine: Frame took too long! 5507 ms
    INFO:              Engine: Music: Fade in
    INFO:              Engine: Music: New Song
   DEBUG:        StateMachine: Temp State: ['transition_in']
   DEBUG:                main: Current states ['start_start', 'transition_in']
   DEBUG:        StateMachine: Temp State: ['pop']
   DEBUG:                main: Current states ['start_start']
   DEBUG:              Engine: Music: Actual Fade in!
   DEBUG:        StateMachine: Temp State: ['start_option', 'transition_out']
   DEBUG:                main: Current states ['start_start', 'start_option', 'transition_out']
   DEBUG:        StateMachine: Temp State: ['pop']
   DEBUG:                main: Current states ['start_start', 'start_option']
   DEBUG:        StateMachine: Temp State: ['transition_in']
   DEBUG:                main: Current states ['start_start', 'start_option', 'transition_in']
   DEBUG:        StateMachine: Temp State: ['pop']
   DEBUG:                main: Current states ['start_start', 'start_option']
   DEBUG:        StateMachine: Temp State: ['start_load']
   ERROR:                main: 'color'
Traceback (most recent call last):
  File "main.py", line 117, in <module>
  File "main.py", line 45, in main
  File "main.py", line 66, in run
  File "Code\StateMachine.py", line 189, in update
    begin_output = self.state[-1].begin(gameStateObj, metaDataObj)
  File "Code\Transitions.py", line 318, in begin
    options, colors = get_save_title(gameStateObj.save_slots)
  File "Code\Transitions.py", line 86, in get_save_title
    colors = [get_color(save_slot.mode_id) for save_slot in save_slots]
  File "Code\Transitions.py", line 83, in get_color
    return mode['color']
KeyError: 'color'
   DEBUG:              Engine: Created save point from ./Saves\L0T1.p

Share this post


Link to post
Share on other sites
2 hours ago, LMDHad0uken said:

cant make a new save or load game with version 0.8.3

   DEBUG:              Engine: Frame took too long! 5507 ms
    INFO:              Engine: Music: Fade in
    INFO:              Engine: Music: New Song
   DEBUG:        StateMachine: Temp State: ['transition_in']
   DEBUG:                main: Current states ['start_start', 'transition_in']
   DEBUG:        StateMachine: Temp State: ['pop']
   DEBUG:                main: Current states ['start_start']
   DEBUG:              Engine: Music: Actual Fade in!
   DEBUG:        StateMachine: Temp State: ['start_option', 'transition_out']
   DEBUG:                main: Current states ['start_start', 'start_option', 'transition_out']
   DEBUG:        StateMachine: Temp State: ['pop']
   DEBUG:                main: Current states ['start_start', 'start_option']
   DEBUG:        StateMachine: Temp State: ['transition_in']
   DEBUG:                main: Current states ['start_start', 'start_option', 'transition_in']
   DEBUG:        StateMachine: Temp State: ['pop']
   DEBUG:                main: Current states ['start_start', 'start_option']
   DEBUG:        StateMachine: Temp State: ['start_load']
   ERROR:                main: 'color'
Traceback (most recent call last):
  File "main.py", line 117, in <module>
  File "main.py", line 45, in main
  File "main.py", line 66, in run
  File "Code\StateMachine.py", line 189, in update
    begin_output = self.state[-1].begin(gameStateObj, metaDataObj)
  File "Code\Transitions.py", line 318, in begin
    options, colors = get_save_title(gameStateObj.save_slots)
  File "Code\Transitions.py", line 86, in get_save_title
    colors = [get_color(save_slot.mode_id) for save_slot in save_slots]
  File "Code\Transitions.py", line 83, in get_color
    return mode['color']
KeyError: 'color'
   DEBUG:              Engine: Created save point from ./Saves\L0T1.p

I think you must still be using the old difficulty_modes.xml file. Grab the current one from the repo instead and replace it. I added a new color attribute to each mode so you can define the color in the main menu. Here: https://github.com/rainlash/lex-talionis/blob/master/Data/difficulty_modes.xml

3 hours ago, Baby Bonnie Hood said:

So if I don't add a unit in one chapter, I can still add and load them just fine in the next one?

And as for the cooldown, I should get more specific then since it's apparently a bug?  Anyway, it happened when Joel fell in battle in Chapter 2.  He didn't deploy in Chapter 3 despite being in the base menu and all the dialogue scenes, but returned just fine in Chapter 4.

Yes. You can add and load them just fine in the next one. 

Apparently a bug, since that shouldn't have happened. I'm looking into it.

6 hours ago, LMDHad0uken said:

For the promotion class tree is it possible to do separate promotion gain stats for each class like FE8 & FE Fates?

Like I want to make a knight -> great knight Mov+3 like FE Fates but I also want the option of knight -> general only Mov+1

Is it also possible to do negative stats on promotion like removing movement? Troubadour -> Maid/Butler would be Mov-1

Yes. That should already be in. Each class (in class_info.xml) has a <promotion> tag. Look at any tier 2 class for an example. Just set the one for Great Knight differently then the one for General. However, if you wanted two tier 1 classes to promote into the same tier 2 class with different promotion gains, that is not possible. Negative stats on promotion should also work, but again, not based on what class the unit originally came from.

So Sacred Stones style class tree is possible, but I'm not sure FE Fates style is possible. Maybe you could create an identical tier 2 class with the same stats, long_name, etc. but just change their id and promotion gains, and have one for each tier 1 class that it could come from, but I've never tried.

Share this post


Link to post
Share on other sites
1 hour ago, rainlash said:

I think you must still be using the old difficulty_modes.xml file. Grab the current one from the repo instead and replace it. I added a new color attribute to each mode so you can define the color in the main menu. Here: https://github.com/rainlash/lex-talionis/blob/master/Data/difficulty_modes.xml

 

Yes. That should already be in. Each class (in class_info.xml) has a <promotion> tag. Look at any tier 2 class for an example. Just set the one for Great Knight differently then the one for General. However, if you wanted two tier 1 classes to promote into the same tier 2 class with different promotion gains, that is not possible. Negative stats on promotion should also work, but again, not based on what class the unit originally came from.

So Sacred Stones style class tree is possible, but I'm not sure FE Fates style is possible. Maybe you could create an identical tier 2 class with the same stats, long_name, etc. but just change their id and promotion gains, and have one for each tier 1 class that it could come from, but I've never tried.

the error was fixed with the new xml file.

Ill try to create the 2 identical tier 2 classes so i get the promotion gains like FE fates. I'll report my progress later

 

*EDIT* Confirmed to work! Awesome

Edited by LMDHad0uken
update

Share this post


Link to post
Share on other sites

Level editor wont run with 0.8.3

Traceback (most recent call last):
  File "LevelEditor.py", line 15, in <module>
  File "c:\users\patrick\appdata\local\temp\pip-build-0o75dq\pyinstaller\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module
  File "EditorCode\Terrain.py", line 10, in <module>
    from DataImport import Data
  File "c:\users\patrick\appdata\local\temp\pip-build-0o75dq\pyinstaller\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module
  File "EditorCode\DataImport.py", line 295, in <module>
    Data = GlobalData()
  File "EditorCode\DataImport.py", line 241, in __init__
    self.load_data()
  File "EditorCode\DataImport.py", line 266, in load_data
    skills = [StatusObject.statusparser(skill.find('id').text) for skill in GC.STATUSDATA.getroot().findall('status')]
  File "../Code\StatusObject.py", line 686, in statusparser
    my_components['active'] = getattr(ActiveSkill, s_id)(name, charge)
AttributeError: 'module' object has no attribute 'Metamagic'
Failed to execute script LevelEditor

Share this post


Link to post
Share on other sites
50 minutes ago, LMDHad0uken said:

Level editor wont run with 0.8.3

Traceback (most recent call last):
  File "LevelEditor.py", line 15, in <module>
  File "c:\users\patrick\appdata\local\temp\pip-build-0o75dq\pyinstaller\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module
  File "EditorCode\Terrain.py", line 10, in <module>
    from DataImport import Data
  File "c:\users\patrick\appdata\local\temp\pip-build-0o75dq\pyinstaller\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module
  File "EditorCode\DataImport.py", line 295, in <module>
    Data = GlobalData()
  File "EditorCode\DataImport.py", line 241, in __init__
    self.load_data()
  File "EditorCode\DataImport.py", line 266, in load_data
    skills = [StatusObject.statusparser(skill.find('id').text) for skill in GC.STATUSDATA.getroot().findall('status')]
  File "../Code\StatusObject.py", line 686, in statusparser
    my_components['active'] = getattr(ActiveSkill, s_id)(name, charge)
AttributeError: 'module' object has no attribute 'Metamagic'
Failed to execute script LevelEditor

Grab the new status.xml from the github. https://github.com/rainlash/lex-talionis/blob/master/Data/status.xml

I changed the way Metamagic works so you'll need the new metamagic statuses

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