Jump to content


  • Content Count

  • Joined

  • Last visited


Profile Information

  • Gender
  • Location
    Out wandering with gods

Previous Fields

  • Favorite Fire Emblem Game
    Blazing Sword

Member Badge

  • Members

Recent Profile Visitors

1,322 profile views
  1. So there's an easy but somewhat hacky way right now. In the future I'll add a flag to turn off the particles, but for now: Navigate to Sprites/General/Weather/SmokeParticles.png and open it in GIMP or Photoshop. You can't use Paint for this because Paint won't preserve the transparency of the image. Then, just make the whole image completely transparent. Save and overwrite the image. Now, even though the particle effect is still on, you won't see any particles in the title screen.
  2. Sure is! Here's an example: <item name="Phase Scroll"> <id>Phase_Scroll</id> <spritetype>Consumable</spritetype> <spriteid>0</spriteid> <components>usable,uses,beneficial,status</components> <uses>1</uses> <RNG>0</RNG> <value>2000</value> <desc>Grants Shimmer skill permanently.</desc> <status>Shimmer</status> </item> You could make the Shimmer skill have a time limit to only give Shimmer temporarily to the unit that uses the item. Thanks for the bug report! No temporary fix, just a weird corner case that popped up from the Python 2 -> 3 transition that I didn't nail down. It's the "Resist Status" status that is causing the problem. The next version of the Engine should have it fixed, along with the weird Howl/Gleipnir animation effect.
  3. 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, I'd recommend upgrading.
  4. 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).
  5. 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. 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.
  6. 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?
  7. Not currently possible through a skill/status unfortunately. 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.
  8. 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 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. 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. 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.
  9. 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. Yep. It's just a placeholder for now. I'll have to write that one up at some point. 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.).
  10. Thanks for answering this! You are correct. Something in the class_info.xml is screwed up. 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.
  11. 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.
  12. It takes a little while to upload and show on the dropbox, but it should be up now.
  13. 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. 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. 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.
  14. 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. 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.
  15. 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.
  • Create New...