Legend of the Invincibles
Moderator: Forum Moderators
-
- Posts: 60
- Joined: December 23rd, 2008, 5:01 am
Re: Legend of the Invincibles (now complete)
I believe the first problem is not a big deal. By looking at the ablilities.cfg, there are only three new weapon specials that affect the chance_to_hit. They are: focus(>80%),guide(90%),chaos(70% in defense). It's very easy to add these three specials into the .lua file by copying your code for marksman and magic (Besides, a tiny thing for marksman is that it may be better to add a judgement of this_defense < 60 because marksman is cumulative).Dugi wrote:No, it isn't. Some rare weapon specials aren't supported by No Randomness Mod, and will be ignored (not increasing your damage even if increases in the chance to hit increase damage), and some weapon specials are assuming that not all hits will land in matters of balance. As a result, if you play Legend of the Invincibles with No Randomness Mod active, the overall balance will be worse and strange things will happen from time to time (but it should work properly most of the time).
For the second problem, I have not played this campaign very much so the only weapon special that I met in the game that will be affected by the no randomness may be parry. Luckily this is an advancement and we have the option to ignore it. Is there any other weapon specials that "are assuming that not all hits will land in matters of balance"? Thanks a lot.
Re: Legend of the Invincibles (now complete)
I might easily copy the code for magical and marksman weapon specials and slightly edit them to make them work with the additional weapon specials, but these weapon specials might do different things in other campaigns, and weapon specials making the same thing may be named differently elsewhere. In this case, it would be better to simply make it read the properties of weapon specials, analyse then and decide what do do instead of just doing predefined things if the weapon special has a known name. Maybe I could do it.
Not speaking about that. Weapon specials like mayhem or trickery cripple the target unit in a cumulative way, so 4 hits always instead of about 2-3 will make it much stronger. Because enemies use this rarely, it will make the game easier.or the second problem, I have not played this campaign very much so the only weapon special that I met in the game that will be affected by the no randomness may be parry.
-
- Posts: 60
- Joined: December 23rd, 2008, 5:01 am
Re: Legend of the Invincibles (now complete)
I'm a little confused about the weapon special "chaos". No matter using it offensively or defensively, it never "damages all surrounding units for a half of the damage". Can you double check that to see whether there's any problem? Thanks.
(Loti 3.0.3 in Bfw 1.10.7)
OK, I probably got what happened. Currently in Loti 3.0.3, when the "chaos" weapon is used in defense, instead of hurting the surrounding enemies (that should be the same side as the attacker), this weapon actually is doing hurt to the defender's allies. The problem is coming from the following code (the line in red):
[harm_unit]
[filter]
[filter_adjacent]
x,y=$x2,$y2
[/filter_adjacent]
[not]
x,y=$x1,$y1
[/not]
side=$enemy_sides
[/filter]
[filter_second]
x,y=$x2,$y2
[/filter_second]
amount=$($damage/2)
damage_type=$second_weapon.type
fire_event=yes
experience=no
poisoned=$has_poison
slowed=$has_slow
[/harm_unit]
I'm not a modder so I'm not good at wml. So what I'm going to say in the following is just an estimation. I can guess that the engine treat the variable $enemy_side as "the enemy to the current unit (which should be the unit at x1,y1)". If this is true, then there shall be a lot of work to do because this variable is used everywhere in the ablilities_events.cfg to judge the side and all those effects related to this variable will be completely reversed when defending.
(Loti 3.0.3 in Bfw 1.10.7)
OK, I probably got what happened. Currently in Loti 3.0.3, when the "chaos" weapon is used in defense, instead of hurting the surrounding enemies (that should be the same side as the attacker), this weapon actually is doing hurt to the defender's allies. The problem is coming from the following code (the line in red):
[harm_unit]
[filter]
[filter_adjacent]
x,y=$x2,$y2
[/filter_adjacent]
[not]
x,y=$x1,$y1
[/not]
side=$enemy_sides
[/filter]
[filter_second]
x,y=$x2,$y2
[/filter_second]
amount=$($damage/2)
damage_type=$second_weapon.type
fire_event=yes
experience=no
poisoned=$has_poison
slowed=$has_slow
[/harm_unit]
I'm not a modder so I'm not good at wml. So what I'm going to say in the following is just an estimation. I can guess that the engine treat the variable $enemy_side as "the enemy to the current unit (which should be the unit at x1,y1)". If this is true, then there shall be a lot of work to do because this variable is used everywhere in the ablilities_events.cfg to judge the side and all those effects related to this variable will be completely reversed when defending.
Re: Legend of the Invincibles (now complete)
The variable enemy_sides is defined in every scenario's code, and I always put there the sides of your enemies (it is not a common feature of WML, it is just something I added). That is, it is independent of the side who's currently played (except for a few scenarios). So the filter in the harm_unit tag makes it hurt units that are around the defender, on the sides that are considered your enemies in the scenario, and not the attacker (who was already harmed normally).
If it harms allies, it is more probable that I defined the enemy_sides variable wrongly in that particular scenario (could happen that the unit with the chaos weapon special was an enemy, and the weapon special was hurting your enemies, not his). Which one it was?
If it harms allies, it is more probable that I defined the enemy_sides variable wrongly in that particular scenario (could happen that the unit with the chaos weapon special was an enemy, and the weapon special was hurting your enemies, not his). Which one it was?
-
- Posts: 60
- Joined: December 23rd, 2008, 5:01 am
Re: Legend of the Invincibles (now complete)
Sorry this is my mistake. I was using debug mode to test some other things that caused the misunderstanding. Please just ignore what I said in the last post.Dugi wrote:The variable enemy_sides is defined in every scenario's code, and I always put there the sides of your enemies (it is not a common feature of WML, it is just something I added). That is, it is independent of the side who's currently played (except for a few scenarios). So the filter in the harm_unit tag makes it hurt units that are around the defender, on the sides that are considered your enemies in the scenario, and not the attacker (who was already harmed normally).
If it harms allies, it is more probable that I defined the enemy_sides variable wrongly in that particular scenario (could happen that the unit with the chaos weapon special was an enemy, and the weapon special was hurting your enemies, not his). Which one it was?
Thanks.
Re: Legend of the Invincibles (now complete)
Found several bugs in scenario5. When entering Prison, getting error message (see attached picture and savegame).
Another one is related to resistances. After leveling Efraim, three physical resistances are immediately dropped by 20%-30%. See attached savegame.
Another one is related to resistances. After leveling Efraim, three physical resistances are immediately dropped by 20%-30%. See attached savegame.
- Attachments
-
LotI1-Entrance_Turn_2.gz
- (592.76 KiB) Downloaded 222 times
-
LotI1-Prison.gz
- (288.38 KiB) Downloaded 253 times
Re: Legend of the Invincibles (now complete)
Prison error message: Error messages of this kind with no obvious real problem happening used to appear in older versions of LotI, but I fixed it in some more recent versions. Does it happen on the latest version (3.0.3)?
Massive resistance drop: This looks like a correction to a new version. Some time ago, I was fixing some balance issues and decreased his resistances. This change does not happen immediately, and happens after finishing one scenario when the unit advances. When I checked the numbers, they appeared to be correct.
Massive resistance drop: This looks like a correction to a new version. Some time ago, I was fixing some balance issues and decreased his resistances. This change does not happen immediately, and happens after finishing one scenario when the unit advances. When I checked the numbers, they appeared to be correct.
Re: Legend of the Invincibles (now complete)
Yes, I play 3.0.3.Dugi wrote:Prison error message: Error messages of this kind with no obvious real problem happening used to appear in older versions of LotI, but I fixed it in some more recent versions. Does it happen on the latest version (3.0.3)?
I updated to 3.0.3 quite some time ago. Today I got two potions of physical resistance (25%) and used those on Efraim so it is not old version problem. After leveling effect of those potions disappeared or was seriously reduced (I don't remember resistances before potions).Dugi wrote:Massive resistance drop: This looks like a correction to a new version. Some time ago, I was fixing some balance issues and decreased his resistances. This change does not happen immediately, and happens after finishing one scenario when the unit advances. When I checked the numbers, they appeared to be correct.
-
- Posts: 60
- Joined: December 23rd, 2008, 5:01 am
Re: Legend of the Invincibles (now complete)
As I know, the effect of potion will only last until the advancement. So that's not a bug.giliet wrote:Yes, I play 3.0.3.Dugi wrote:Prison error message: Error messages of this kind with no obvious real problem happening used to appear in older versions of LotI, but I fixed it in some more recent versions. Does it happen on the latest version (3.0.3)?
I updated to 3.0.3 quite some time ago. Today I got two potions of physical resistance (25%) and used those on Efraim so it is not old version problem. After leveling effect of those potions disappeared or was seriously reduced (I don't remember resistances before potions).Dugi wrote:Massive resistance drop: This looks like a correction to a new version. Some time ago, I was fixing some balance issues and decreased his resistances. This change does not happen immediately, and happens after finishing one scenario when the unit advances. When I checked the numbers, they appeared to be correct.
Re: Legend of the Invincibles (now complete)
I have tested it a bit and it seems different than the previous error, because it appears always in that scenario, if I leave the area, everything is correct, when I re-enter it, the error appears again (but I have seen to other effects of the error, though). I thought I had errors in parts of the campaign that are as old as this one fixed long ago... I'll have to look at it, thanks for reporting.Yes, I play 3.0.3.
Correct, potions last only until the unit advances, otherwise you would be able to use them to upgrade a unit indefinitely.As I know, the effect of potion will only last until the advancement. So that's not a bug.
-
- Posts: 60
- Joined: December 23rd, 2008, 5:01 am
Re: Legend of the Invincibles (now complete)
Maybe I shall not post this question here. But please forgive me if you think it's not very related to this topic.
I'm trying to play LOTI with the no randomness mod. In most cases it is fine, even if there's some tiny issues, I can solve them by myself. But there are two situations I cannot find out an easy way to deal with:
1) There is an ability "cantor" which will grant marksman to all the adjacent allies. However, the no randomness mod will just ignore this bonus.
2) The "FORCE_CHANCE_TO_HIT" setup in the senerios will just be ignored.
Can you give me some suggestions on how to modify the .lua file for these two problems? Thanks a lot.
I'm trying to play LOTI with the no randomness mod. In most cases it is fine, even if there's some tiny issues, I can solve them by myself. But there are two situations I cannot find out an easy way to deal with:
1) There is an ability "cantor" which will grant marksman to all the adjacent allies. However, the no randomness mod will just ignore this bonus.
2) The "FORCE_CHANCE_TO_HIT" setup in the senerios will just be ignored.
Can you give me some suggestions on how to modify the .lua file for these two problems? Thanks a lot.
Re: Legend of the Invincibles (now complete)
Excellent campaign but I'm having some trouble finding any units that can use the full exterminator set of items, any help?
Re: Legend of the Invincibles (now complete)
Sorry for the delay, I am experiencing terrible internet issues, I had to go to library to get here.
@wuxiangjinxing
Fixing either of these problems will be extremely difficult without many tests and experiments. The cantor ability does not add marksman, but all units have a weapon special with properties identical to marksman, with the small difference that it vanishes if no unit with the cantor ability is nearby. FORCE_CHANCE_TO_HIT is in many ways similar to no randomness mod itself, and it is not possible for external hacks like no randomness mod to read its properties (however, FORCE_CHANCE_TO_HIT is mostly used to make sure the player won't lose due to bad luck, and no randomness mod should remove all effects of luck, though I am not sure how does it work with this, I only made sure it will not modify the units permanently and in an unwanted way). Probably the only way to fix this is to make it read all information about any chance to hit affecting weapon special, not just check if it has a known name, but that will need a lot of work and will take a lot of time, including some testing and so on. I might do that later, not now when my internet is running really awfully.
@Erdorean
There is a unit named Exterminator (can advance from Assassin), and he/she can wear the entire set.
@wuxiangjinxing
Fixing either of these problems will be extremely difficult without many tests and experiments. The cantor ability does not add marksman, but all units have a weapon special with properties identical to marksman, with the small difference that it vanishes if no unit with the cantor ability is nearby. FORCE_CHANCE_TO_HIT is in many ways similar to no randomness mod itself, and it is not possible for external hacks like no randomness mod to read its properties (however, FORCE_CHANCE_TO_HIT is mostly used to make sure the player won't lose due to bad luck, and no randomness mod should remove all effects of luck, though I am not sure how does it work with this, I only made sure it will not modify the units permanently and in an unwanted way). Probably the only way to fix this is to make it read all information about any chance to hit affecting weapon special, not just check if it has a known name, but that will need a lot of work and will take a lot of time, including some testing and so on. I might do that later, not now when my internet is running really awfully.
@Erdorean
There is a unit named Exterminator (can advance from Assassin), and he/she can wear the entire set.
Re: Legend of the Invincibles (now complete)
Hi,
so I have another issue. When a unit has only two advancements left and it exhausts one of them then the other advancement disappears and cannot be taken when the unit levels. E. g., if only "faster" and "better at defending" are left as possible andvancements and one always chooses "faster" when the unit levels up, then, if "faster" is exhausted, the advancement "better at defending" will not show next time the unit levels. I am not sure if this issue has already been discussed here. I searched the thread but could not find anything related to my issue.
The versions I use are:
Wesnoth: v1.10.7
LotI: v3.0.3
PS: Yes, I manipulated the savegame files in order to advance faster. I got curious about the possible advancements and wanted to see what the units are like when fully advanced. I guess in a "real" game this problem would never occur. Lethalia, e. g., currently has a max_experience of over 100000 (five zeros). Nonetheless, I guess it is still a bug.
so I have another issue. When a unit has only two advancements left and it exhausts one of them then the other advancement disappears and cannot be taken when the unit levels. E. g., if only "faster" and "better at defending" are left as possible andvancements and one always chooses "faster" when the unit levels up, then, if "faster" is exhausted, the advancement "better at defending" will not show next time the unit levels. I am not sure if this issue has already been discussed here. I searched the thread but could not find anything related to my issue.
The versions I use are:
Wesnoth: v1.10.7
LotI: v3.0.3
PS: Yes, I manipulated the savegame files in order to advance faster. I got curious about the possible advancements and wanted to see what the units are like when fully advanced. I guess in a "real" game this problem would never occur. Lethalia, e. g., currently has a max_experience of over 100000 (five zeros). Nonetheless, I guess it is still a bug.
Re: Legend of the Invincibles (now complete)
To be honest, I didn't care what happens when a units takes all advancements available, because it requires impossible amounts of experience, and that can be achieved only by hacking save files or using the debug mode, neither of which is a conventional and supported way of playing the game.
Anyway, what are you experiencing is the intended behaviour. If the unit has only one advancement possible, it is chosen automatically. An example of this are normal units outside LotI, where always only one advancement is possible (the one with +3 hp and +20% to max exp), and it is always chosen automatically. When this one is exhausted, the experience bar vanishes and when it reaches its maximum experience, enemies will stop attacking it (forever).
Anyway, what are you experiencing is the intended behaviour. If the unit has only one advancement possible, it is chosen automatically. An example of this are normal units outside LotI, where always only one advancement is possible (the one with +3 hp and +20% to max exp), and it is always chosen automatically. When this one is exhausted, the experience bar vanishes and when it reaches its maximum experience, enemies will stop attacking it (forever).