Page 6 of 8 FirstFirst ... 2345678 LastLast
Results 151 to 180 of 223

Thread: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

  1. #151
    Squirrel Watcher Member Sinner's Avatar
    Join Date
    Aug 2004
    Posts
    390

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    I don't think the faction-specific method will actually work 100%. theother has shown how I thought we'd need to set it up and I'll use that to explain what I believe the problem is...

    I think it can now be accepted that while autocalcing only checks the triggers once, player-fought battles check them twice and that all AI vs AI battles are autocalced.

    Using theother's handy example, while considering that similar changes will be needed for BadCommander, let's consider possible battle outcomes...

    AI vs AI: The winner gets a point in GoodCommander and the loser gets a point in BadCommander. This is the desired result and is in effect the baseline to which we compare player vs AI battles.

    Player vs AI autocalc, Player wins: The AI gets a point of BadCommander and the player gets a point in PlayerGoodCommander (ie. in effect half a point of GoodCommander). This is undesirable since the AI has gained an advantage over the player compared to an AI via AI battle.

    Player vs AI autocalc, AI wins: The AI gets a point of GoodCommander and the player gets a point in PlayerBadCommander (ie. in effect half a point of BadCommander). This is undesirable since the player has gained an advantage over the AI compared to an AI via AI battle.

    Player vs AI fought, Player wins: The AI gets two point of BadCommander and the player gets two point in PlayerGoodCommander (ie. in effect a point of GoodCommander). While the player result is as desired, the AI is suffering unfairly.

    Player vs AI fought, AI wins: The AI gets two point of GoodCommander and the player gets two point in PlayerBadCommander (ie. in effect a point of BadCommander). While the player result is as desired, the AI is benefiting unfairly.

    Note that I'm ignoring battle odds for this to simplify the tests.

  2. #152
    Research Fiend Technical Administrator Tetris Champion, Summer Games Champion, Snakeman Champion, Ms Pacman Champion therother's Avatar
    Join Date
    Feb 2004
    Location
    UK
    Posts
    2,639

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    To get the GoodCommander working right, you also need the BadCommander anti-trait.
    Code:
    ;------------------------------------------
    Trait PlayerBadCommander
        Characters family
        AntiTraits PlayerGoodCommander
    
        Level Indifferent_Commander
            Description Indifferent_Commander_desc
            EffectsDescription Indifferent_Commander_effects_desc
            Threshold  4 
    
            Effect Command -1 
    
        Level Incompetent_Commander
            Description Incompetent_Commander_desc
            EffectsDescription Incompetent_Commander_effects_desc
            Threshold  8 
    
            Effect Command -2 
    
        Level Poor_Commander
            Description Poor_Commander_desc
            EffectsDescription Poor_Commander_effects_desc
            Threshold  12 
    
            Effect Command -3 
    
        Level Pathetic_Commander
            Description Pathetic_Commander_desc
            EffectsDescription Pathetic_Commander_effects_desc
            Threshold  16 
    
            Effect Command -5
    Similarly, I've also added/changed both these triggers:

    Code:
    ;------------------------------------------
    Trigger V0100_Standard_Battle_Any_Loss_VnV_Trigger
        WhenToTest PostBattle
    
        Condition IsGeneral
              and not WonBattle
              and not FactionType britons
              and BattleOdds > 1.5
    
        Affects BadCommander  1  Chance  50 
    
    ;------------------------------------------
    Trigger V0100_Standard_Battle_Any_Loss_VnV_Trigger_Player
        WhenToTest PostBattle
    
        Condition IsGeneral
              and not WonBattle
              and FactionType britons
              and BattleOdds > 1.5
    
        Affects PlayerBadCommander  1  Chance  50
    As before, replace "britons" with whatever faction you intend to use.

    This faction specific thing is a little more complicated than I previously thought, as you'd also need to replace all the battlefield traits in the descr_strat.txt file for the player's faction. Hmm, it's never easy, is it?

    Anyway, I've had a few battles with these traits, and they certainly seem to get the job done.

    Edit: Of course, there is nothing you can do, with this system, to prevent the AI getting double traits (both good and negative) from the battlemap battles. And it means that you have to work twice as hard if you like to auto-resolve your battles. Meaning the more I think about this solution, the less I like it.

    (Quote the post to get the correct formatting.)
    Last edited by therother; 02-26-2005 at 19:45.
    Nullius addictus iurare in verba magistri -- Quintus Horatius Flaccus

    History is a pack of lies about events that never happened told by people who weren't there -- George Santayana

  3. #153
    Squirrel Watcher Member Sinner's Avatar
    Join Date
    Aug 2004
    Posts
    390

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    I think I've cracked it, can somebody try this as well to make sure I'm not influencing my own results and seeing what I want to see...

    First I doubled up the thresholds, so GoodCommander will be...

    Trait GoodCommander
    Characters family
    AntiTraits BadCommander

    Level Confident_Commander
    Description Confident_Commander_desc
    EffectsDescription Confident_Commander_effects_desc
    GainMessage Confident_Commander_gain_desc
    Threshold 2

    Effect Command 1

    Level Good_Commander
    Description Good_Commander_desc
    EffectsDescription Good_Commander_effects_desc
    GainMessage Good_Commander_gain_desc
    Threshold 4

    Effect Command 2

    Level Superior_Commander
    Description Superior_Commander_desc
    EffectsDescription Superior_Commander_effects_desc
    GainMessage Superior_Commander_gain_desc
    Threshold 8

    Effect Command 3

    Level Great_Commander
    Description Great_Commander_desc
    EffectsDescription Great_Commander_effects_desc
    GainMessage Great_Commander_gain_desc
    Threshold 16

    Effect Command 4

    Level Legendary_Commander
    Description Legendary_Commander_desc
    EffectsDescription Legendary_Commander_effects_desc
    GainMessage Legendary_Commander_gain_desc
    Epithet Legendary_Commander_epithet_desc
    Threshold 32

    Effect Command 5


    Then, thanks to player1 noting that GeneralFoughtInCombat is always true in battle, I created an autocalc and a non-autocalc version of combat triggers like so...

    ;------------------------------------------
    Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger_autocalc
    WhenToTest PostBattle

    Condition IsGeneral
    and WonBattle
    and not GeneralFoughtInCombat

    Affects GoodCommander 2 Chance 100

    ;------------------------------------------
    Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger_fought
    WhenToTest PostBattle

    Condition IsGeneral
    and WonBattle
    and GeneralFoughtInCombat

    Affects GoodCommander 1 Chance 100


    As a note, the autocalc version awards double the points since it only gets checked once, while the battle-fought version gets checked twice.

  4. #154
    Bug Hunter Senior Member player1's Avatar
    Join Date
    Feb 2005
    Location
    Belgrade, Serbia
    Posts
    1,405

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    I ugre more testing with GeneralFoughtInCombat.

    In my last test I just put coward chance to 8/100, with original equation, and after retreating from battle I haven't got coward tarit.

    So, maybe it's when general retreats, but not other troops.
    Not sure, anymore, needs more testing.

    But, at least for Coward there is alternative...
    BUG-FIXER, an unofficial patch for both Rome: Total War and its expansion pack

  5. #155
    Research Fiend Technical Administrator Tetris Champion, Summer Games Champion, Snakeman Champion, Ms Pacman Champion therother's Avatar
    Join Date
    Feb 2004
    Location
    UK
    Posts
    2,639

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    Quote Originally Posted by Sinner
    I think I've cracked it, can somebody try this as well to make sure I'm not influencing my own results and seeing what I want to see...
    Looks promising. Will get to it asap.

    Edit: Any reason why you knocked off the battleodds restriction, or did you remove it just for testing?
    Last edited by therother; 02-26-2005 at 20:27.
    Nullius addictus iurare in verba magistri -- Quintus Horatius Flaccus

    History is a pack of lies about events that never happened told by people who weren't there -- George Santayana

  6. #156
    Squirrel Watcher Member Sinner's Avatar
    Join Date
    Aug 2004
    Posts
    390

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    I removed it just for testing

  7. #157
    Bug Hunter Senior Member player1's Avatar
    Join Date
    Feb 2005
    Location
    Belgrade, Serbia
    Posts
    1,405

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    Back after some more testing.

    It seams that GeneralFoughtInCombat is always true.
    Both in cases when general remained (both standing or fighting) in battle and when I withrow him from battle, the condition with generalfought was true.
    BUG-FIXER, an unofficial patch for both Rome: Total War and its expansion pack

  8. #158
    Research Fiend Technical Administrator Tetris Champion, Summer Games Champion, Snakeman Champion, Ms Pacman Champion therother's Avatar
    Join Date
    Feb 2004
    Location
    UK
    Posts
    2,639

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    I'm having difficulties getting Confident Commander from an autocalc victory. Fought two battles, won both, but only got a Battlescarred trait and a Galloper - nothing in the GoodCommander line. I also removed the battle odds, so that can't be it.

    Edit: Okay, this doesn't work properly. The GeneralFoughtInCombat condition can be true for Autocalcs as well, so it doesn't differentiate.

    To test this, I created a new trigger:

    Code:
    ;------------------------------------------
    Trigger FoughtTest
        WhenToTest PostBattle
    
        Condition IsGeneral
              and WonBattle
              and GeneralFoughtInCombat
    
        Affects GoodCommander  16  Chance  100
    After an autocalc batte, my general was a Great Commander (16 points), which means the GeneralFoughtInCombat was true. Which is a shame: it was a great idea. Perhaps there is another condition that might do the job though?
    Last edited by therother; 02-26-2005 at 20:56. Reason: Edit: found reason
    Nullius addictus iurare in verba magistri -- Quintus Horatius Flaccus

    History is a pack of lies about events that never happened told by people who weren't there -- George Santayana

  9. #159
    Squirrel Watcher Member Sinner's Avatar
    Join Date
    Aug 2004
    Posts
    390

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    Yeah, I just started getting the same issue trying to get BadCommander from a defeat.

    I think what it does with autocalc is randomly determine whether the general fights or not based upon how many troops he has. I attacked Segesta with my general, a triarii, 6 hastati, a velite and an archer, and my general obviously didn't need to fight to get an autocalc victory so I triggered my 2 point award trigger. I repeated the attack with just the general and 2 hastati and this time the general must have fought - his unit suffered casualties - and I must have triggered the 1 point award trigger.

    So it looks as though GeneralFoughtInCombat works correctly for autocalc, but since it always returns true in player-fought battles it's bugged in that instance.

  10. #160
    Bug Hunter Senior Member player1's Avatar
    Join Date
    Feb 2005
    Location
    Belgrade, Serbia
    Posts
    1,405

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    If anybody is interested I made fixed version of Scarred/Coward trait at Scarface thread at twcenter.net

    http://www.twcenter.net/forums/index...&id=1811983775
    BUG-FIXER, an unofficial patch for both Rome: Total War and its expansion pack

  11. #161
    Spends his time on TWC Member Simetrical's Avatar
    Join Date
    Dec 2004
    Location
    New York City
    Posts
    1,358

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    Quote Originally Posted by Sinner
    This way, if I have 29 points in GoodAttacker, the only trigger I match is GoodAttacker1_29. It then increases my points to 30, but I don't trigger GoodAttacker1_30 since I'm already past it. There are a couple of potential problems though: as yet do we know if the game is scanning the list of triggers twice, in which case the second time around it will trigger GoodAttacker1_30 after all . . .
    Look at my previous post a bit more closely—I left out the even numbers for the triggers. Only the odd numbers triggered.

    Anyway, I've thought of another way to do this, a rather better way. It's still not perfect—its flaw is that it only allows each affected trigger to trigger once per turn. But it's a far sight better than what we have so far.

    Take any affected trigger—say, hate_n_fear1. Now create two traits, like so:
    ;------------------------------------------
    Trait Phnf1 ; That's for "prevent hate_n_fear1"
    Characters family
    Hidden
    AntiTraits AntiPhnf1

    Level Phnf1
    Description Phnf1_desc
    EffectsDescription Phnf1_effects_desc
    Threshold 1



    ;------------------------------------------
    Trait AntiPhnf1
    Characters family
    Hidden
    AntiTraits Phnf1

    Level AntiPhnf1
    Description AntiPhnf1_desc
    EffectsDescription AntiPhnf1_effects_desc
    Threshold 1
    Add the following to text\descr_VnVs:
    ¬--------------------

    {Phnf1} Prevent hate_n_fear1

    {Phnf1_desc}
    Hidden VnV to stop double trait bug

    {Phnf1_effects_desc}
    No Effects

    ¬--------------------

    {AntiPhnf1} Unprevent hate_n_fear1

    {AntiPhnf1_desc}
    Hidden VnV to stop double trait bug

    {AntiPhnf1_effects_desc}
    No Effects
    Back in EDCT.txt, modify the hate_n_fear1 trigger like so (changes underlined):
    Trigger hate_n_fear1
    WhenToTest PostBattle

    Condition IsGeneral
    and not WonBattle
    and BattleSuccess = crushing
    and I_ConflictType Normal
    and BattleOdds >= 0.5
    and BattleOdds < 1.5
    and GeneralFoughtCulture roman
    and Trait Phnf1 < 1

    Affects HatesRomans 1 Chance 40
    Affects Phnf1 1 Chance 100
    Finally, create a new trigger immediately after like so:
    Trigger unprevent_hate_n_fear1
    WhenToTest CharacterTurnEnd

    Condition Trait Phnf1 > 0

    Affects AntiPhnf1 1 Chance 100
    So in other words, hate_n_fear1 gets checked the first time for any battle. This then gives the general the Phnf1 trait. If the battle is on the battle map, the trigger is checked again—but the condition is false, so it fails. At the end of the turn, any character with Phnf1 loses it.

    I originally tried using the PreBattle trigger from here, but that doesn't seem to be implemented. I can't find any other triggers that reliably occur between every battle, so this is the best I can do. Anyone who can either get PreBattle working or find an equivalent will pretty much make this fix a perfect workaround.

    -Simetrical
    TWC Administrator

    MediaWiki Developer

  12. #162
    A Livonian Rebel Member Slaists's Avatar
    Join Date
    Sep 2004
    Posts
    1,828

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    was i was browsing through the same exp_file noticed the following about the drinking traits:

    ;------------------------------------------
    Trigger temple_of_fun_vnv_trigger
    WhenToTest CharacterTurnEnd

    Condition EndedInSettlement
    and RemainingMPPercentage = 100
    and SettlementBuildingExists > = temple_of_fun_temple

    Affects Drink 1 Chance 10
    Affects Gambling 1 Chance 10
    Affects Arse 1 Chance 2
    Affects Girls 1 Chance 5
    Affects Perverted 1 Chance 5

    The way it is set now, it appears, the trait is penalizing for having any building in the settlement that is higher than the level of the drinking establishment... Was wondering if that's actually what we want? Probably, the intended trigger is to penalize for building the driking temple before all other buildings are finished. Thus, a corrected version would be:


    ;------------------------------------------
    Trigger temple_of_fun_vnv_trigger
    WhenToTest CharacterTurnEnd

    Condition EndedInSettlement
    and RemainingMPPercentage = 100
    and SettlementBuildingExists < temple_of_fun_temple

    Affects Drink 1 Chance 10
    Affects Gambling 1 Chance 10
    Affects Arse 1 Chance 2
    Affects Girls 1 Chance 5
    Affects Perverted 1 Chance 5

  13. #163
    Squirrel Watcher Member Sinner's Avatar
    Join Date
    Aug 2004
    Posts
    390

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    Quote Originally Posted by Simetrical
    Look at my previous post a bit more closely—I left out the even numbers for the triggers. Only the odd numbers triggered.
    Yeah, I'd noted you'd left out the even numbers, but that created a flaw I sought to correct with my variant of your idea, since your suggested trigger didn't account for generals that didn't have the trait at all, so they'd never match the conditions as shown, plus my suggestion would have been able to get around the 1 point per trigger limitation. In the end it doesn't matter since neither method solved the root problem that autocalcing - and thus all AI vs AI battles - only check the triggers once and player-fought battles check them twice.

    Your new method is more promising, since it does balance the effects of autocalc and player-fought battles, but it does have a flaw that I'm not 100% happy with: the general will only get traits from the first battle in the turn, which seems odd if he gets, for example, a point towards GoodCommander for winning a skirmish against a bunch of peasants, but then gets his ass kicked and loses his entire army while suffering no negative traits. OK, that will occur for both AI & player generals, but the player is smarter and could exploit this by targeting small, easy stacks first in the turn, before attacking larger stacks which might beat their army.


    Slaists, you're apparently falling into the common trap of assuming SettlementBuildingExists >= temple_of_fun_temple and similar conditions are mathematical equations, when they're not. SettlementBuildingExists is a function and >= temple_of_fun_temple are two of its parameters.

    The way SettlementBuildingExists works is that it first checks to see what building tree contains the building declared as the second parameter, in this case temple_of_fun_temple is in the temple_of_fun line of buidlings. It then checks to see if the current settlement has a building from that tree. If it does it compares the building it's just found with the building declared as a parameter using the logic declared as the first parameter, returning true or false as appropriate.

    So SettlementBuildingExists >= temple_of_fun_temple says if there is a Temple of Fun, Large Temple of Fun, Awesome Temple of Fun or Pantheon of Fun present in the settlement then the condition is true, for any other building including a Shrine of Fun or no buildings at all then the condition is false.
    Last edited by Sinner; 02-27-2005 at 11:01.

  14. #164
    Ricardus Insanusaum Member Bob the Insane's Avatar
    Join Date
    Sep 2002
    Location
    London, UK
    Posts
    1,911

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    Quote Originally Posted by Slaists
    was i was browsing through the same exp_file noticed the following about the drinking traits:

    ;------------------------------------------
    Trigger temple_of_fun_vnv_trigger
    WhenToTest CharacterTurnEnd

    Condition EndedInSettlement
    and RemainingMPPercentage = 100
    and SettlementBuildingExists > = temple_of_fun_temple

    Affects Drink 1 Chance 10
    Affects Gambling 1 Chance 10
    Affects Arse 1 Chance 2
    Affects Girls 1 Chance 5
    Affects Perverted 1 Chance 5

    The way it is set now, it appears, the trait is penalizing for having any building in the settlement that is higher than the level of the drinking establishment... Was wondering if that's actually what we want? Probably, the intended trigger is to penalize for building the driking temple before all other buildings are finished. Thus, a corrected version would be:


    ;------------------------------------------
    Trigger temple_of_fun_vnv_trigger
    WhenToTest CharacterTurnEnd

    Condition EndedInSettlement
    and RemainingMPPercentage = 100
    and SettlementBuildingExists < temple_of_fun_temple

    Affects Drink 1 Chance 10
    Affects Gambling 1 Chance 10
    Affects Arse 1 Chance 2
    Affects Girls 1 Chance 5
    Affects Perverted 1 Chance 5
    Hi, I think you have made a slight mistake in this...

    The line "and SettlementBuildingExists > = temple_of_fun_temple" is not making a comparison against all buildings, but only against the "temple_of_fun" line of buildings (see the temple_of_fun entry in export_descr_buildings.txt). The "temple_of_fun_temple" valuse is the second of the buildings and thus the condition only becomes true after you upgrade your shrine to a temple building...


    Edit: oops, Sinner already explained...
    Last edited by Bob the Insane; 02-27-2005 at 11:44.

  15. #165
    Research Fiend Technical Administrator Tetris Champion, Summer Games Champion, Snakeman Champion, Ms Pacman Champion therother's Avatar
    Join Date
    Feb 2004
    Location
    UK
    Posts
    2,639

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    Okay, I think I may have a slightly improved solution to the bugged battlefield traits, although I haven't tested it fully - just the key concepts. But I think I'll throw it open for others to try before I log off.

    It's a modified version of Simetrical's cracking idea.

    Edit: But as Sinner points out below, it does quite work properly. I'll leave it here in case anyone can fix it.

    First, create 2 new trait and anti-traits in the mould of Simetrical outlines above. For brevity, I'll call then double, antidouble, count, anticount. The first set needs two levels, threshold 1 and 2.

    Create the descriptions as above.

    Then the triggers:

    First triggers in the file must be these, in this order:

    Code:
    ;------------------------------------------
    Trigger V0010_DoubleCombat
        WhenToTest PostBattle
    
        Condition IsGeneral
              and Trait count = 0
              and Trait double = 1
              
        Affects antidouble  1  Chance  100 
        Affects count  1  Chance  100
    
    ;------------------------------------------
    Trigger V0010_DoubleCombat2
        WhenToTest PostBattle
    
        Condition IsGeneral
              
        Affects double  1  Chance  100
    The last triggers must be these:

    Code:
    ;------------------------------------------
    Trigger V0010_DoubleCombat reset
        WhenToTest PostBattle
    
        Condition IsGeneral
              and Trait double = 2
              
        Affects antidouble  2  Chance  100  
    
    ;------------------------------------------
    Trigger V0010_DoubleCombat2 reset
        WhenToTest CharacterTurnEnd
    
        Condition IsGeneral
              and count = 1
    
        Affects anticount  1  Chance  100
    
    ;------------------------------------------
    Trigger V0010_DoubleCombat3 reset
        WhenToTest CharacterTurnEnd
    
        Condition IsGeneral
              and double = 1
    
        Affects antidouble 1  Chance  100
    Now put "and Trait double = 1" as a condition for each battlefield trait (i.e. one that is tested "PostBattle").

    Code:
    ;------------------------------------------
    Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger
        WhenToTest PostBattle
    
        Condition IsGeneral
              and WonBattle
              and Trait double = 1
    
        Affects GoodCommander  1  Chance  100 
    
    ;------------------------------------------
    Trigger V0100_Standard_Battle_Any_Loss_VnV_Trigger
        WhenToTest PostBattle
    
        Condition IsGeneral
              and not WonBattle
              and BattleOdds > 1.5
              and Trait double = 1
    
        Affects BadCommander  1  Chance  100
    Okay, so what should this do? The first trigger is important, but for reasons that will become apparent later.

    The 2nd trigger is always triggered in any conflict, and gives your general the trait double at level one. We'll use this to allow all battlemap triggers to be tripped normally. For the 2nd read, if you are fighting on the battlemap, they will not be tripped twice as double will be 2 for the second run. The 1st of the 2nd group of triggers removes this trait, at level two, for all battlemap battles.

    So, this setup should make the battlemap traits work for all battlemap battles. The problem is, of course, autocalcs, which the AI does most often. So the problem becomes, what if the double trait is only triggered once (as in autocalc)? This is where the 1st trigger comes into play. It tests to see where double = 1 at the start of the battle (by using the 2nd new trait, count). If it is, then double is reset it to 0, and makes count = 1. The file is then read as before, except trait count will now be 1 for the 2nd read, stopping the 1st trigger activating a 2nd time.

    It should be straightforward to scale this idea to have double1, double2, double3, double4, etc., to allow for multiple battles per turn for each character, each triggering a new trait when necessary, and each being reset, if necessary, at the end of turn.

    I know I haven't explained this very well, I'm quite tired, but there should be enough there to get the gist of what I'm suggesting. I have the feeling that I'm missing something simple that would remove all these unnecessary complications, but I can't think at the moment.
    Last edited by therother; 03-01-2005 at 05:17.
    Nullius addictus iurare in verba magistri -- Quintus Horatius Flaccus

    History is a pack of lies about events that never happened told by people who weren't there -- George Santayana

  16. #166
    Squirrel Watcher Member Sinner's Avatar
    Join Date
    Aug 2004
    Posts
    390

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    I don't think that'll work, theother. :(

    I don't have the game in front of me right now, but working through the logic it doesn't look promising.

    Running through step by step for autocalc:

    1. Initial traits are count 0, double 0 and GoodCommander 0.
    2. My general autocalcs a battle with 1-to-1 odds and wins.
    3. Trigger V0010_DoubleCombat doesn't fire because the condition '...and Trait double = 1' isn't met.
    4. Trigger V0010_DoubleCombat2 fires, setting double to 1.
    5. Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger fires, setting GoodCommander to 1.
    6. Trigger V0010_DoubleCombat_reset doesn't fire because the condition '...and Trait double = 2' isn't met.
    7. Trigger V0010_DoubleCombat2_reset doesn't fire because the condition '...and Trait count = 1' isn't met.
    8. Trigger V0010_DoubleCombat3_reset fires, giving antidouble 1 which sets double back to 0 since they're antitraits.
    9. End conditions are thus count 0, double 0 and GoodCommander 1, which is what we want.

    But the problem comes with player-fought battles:

    1. Initial traits are count 0, double 0 and GoodCommander 0.
    2. My general fights a battle with 1-to-1 odds and wins.
    3. Trigger V0010_DoubleCombat doesn't fire because the condition '...and Trait double = 1' isn't met.
    4. Trigger V0010_DoubleCombat2 fires, setting double to 1.
    5. Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger fires, setting GoodCommander to 1.
    6. Trigger V0010_DoubleCombat_reset doesn't fire because the condition '...and Trait double = 2' isn't met.
    7. Trigger V0010_DoubleCombat2_reset doesn't fire because the condition '...and Trait count = 1' isn't met.
    8. Trigger V0010_DoubleCombat3_reset fires, giving antidouble 1 which sets double back to 0 since they're antitraits.
    9. After the first run through the triggers, the conditions at that point are the same as if I'd autocalced, namely count 0, double 0 and GoodCommander 1.
    10. The bug then occurs and the game loops through the triggers again.
    11. Trigger V0010_DoubleCombat doesn't fire because the condition '...and Trait double = 1' isn't met.
    12. Trigger V0010_DoubleCombat2 fires, setting double to 1.
    13. Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger fires, setting GoodCommander to 1.

    I'll stop there since we've got GoodCommander a second time at that point for the results of the same battle.

  17. #167
    Research Fiend Technical Administrator Tetris Champion, Summer Games Champion, Snakeman Champion, Ms Pacman Champion therother's Avatar
    Join Date
    Feb 2004
    Location
    UK
    Posts
    2,639

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    Yeah, I know. I've been fighting with it for the last half hour or so. I just can't seem to differentiate between a second read and an autocalc battle. If we could do that...

    But the one trait thing still stands: we could use that to solve the problem for one battle per turn at least. Best we have so far.
    Nullius addictus iurare in verba magistri -- Quintus Horatius Flaccus

    History is a pack of lies about events that never happened told by people who weren't there -- George Santayana

  18. #168
    Research Fiend Technical Administrator Tetris Champion, Summer Games Champion, Snakeman Champion, Ms Pacman Champion therother's Avatar
    Join Date
    Feb 2004
    Location
    UK
    Posts
    2,639

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    Actually, can we use WhenToTest PreBattleWithdrawal? I know this condition works.
    Nullius addictus iurare in verba magistri -- Quintus Horatius Flaccus

    History is a pack of lies about events that never happened told by people who weren't there -- George Santayana

  19. #169
    Senior Member Senior Member Jambo's Avatar
    Join Date
    Jul 2002
    Location
    Athens of the North, Scotland
    Posts
    712

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    Regarding the coward trait, one thing I noticed with the modified version was that the AI generals were getting a lot of coward traits when I set the GeneralNumKillsInBattle = 0. Most likely this is due to the autocalc function for AI to AI battles as general units don't get so involved when battles are autocalculated.
    =MizuDoc Otomo=

  20. #170
    Research Fiend Technical Administrator Tetris Champion, Summer Games Champion, Snakeman Champion, Ms Pacman Champion therother's Avatar
    Join Date
    Feb 2004
    Location
    UK
    Posts
    2,639

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    Okay, this is far from ideal, and there are some consequences, but I'll throw it out there:

    Add these triggers to the bottom of export_descr_character_traits.txt:

    Edit: needs to be 2 withdrawals, or if you autocalc a battle after an army retreats, the AI general will get no traits.

    My custom traits:
    Code:
    ;------------------------------------------
    Trait DoubleCombat1
    $    Characters family
    $    Hidden
    $    AntiTraits AntiDoubleCombat1
    $
    $    Level DoubleCombat1
    $        Description DoubleCombat1_desc
    $        EffectsDescription DoubleCombat1_effects_desc
    $        Threshold 1
    $
    $    Level DoubleCombat2
    $        Description DoubleCombat1_desc
    $        EffectsDescription DoubleCombat1_effects_desc
    $        Threshold 2
    $
    $
    ;------------------------------------------
    Trait AntiDoubleCombat1
    $    Characters family
    $    Hidden
    $    AntiTraits DoubleCombat1
    $
    $    Level AntiDoubleCombat1
    $        Description AntiDoubleCombat1_desc
    $        EffectsDescription AntiDoubleCombat1_effects_desc
    $        Threshold 1 
    $
    $    Level AntiDoubleCombat2
    $        Description AntiDoubleCombat1_desc
    $        EffectsDescription AntiDoubleCombat1_effects_desc
    $        Threshold 2
    My additions to RTW/data/text/export_VnVs.txt:

    Code:
    ¬--------------------
    
    {DoubleCombat1} DoubleCombat1
    
    {DoubleCombat1_desc}
    Hidden VnV to stop double trait bug
    
    {DoubleCombat1_effects_desc}
    No Effects
    
    ¬--------------------
    
    {AntiDoubleCombat1} AntiDoubleCombat1
    
    {AntiDoubleCombat1_desc}
    Hidden AntiVnV to stop double trait bug
    
    {AntiDoubleCombat1_effects_desc}
    No Effects

    Add these triggers to the bottom of export_descr_character_traits.txt:

    Code:
    ;------------------------------------------
    Trigger Player marks start of battlemap
    $    WhenToTest PreBattleWithdrawal
    $
    $    Condition IsGeneral
    $          and Trait DoubleCombat1 < 2
    $
    $    Affects DoubleCombat1  1  Chance  100
    $
    ;------------------------------------------
    Trigger Remove marker after battle
    $    WhenToTest PostBattle
    $
    $    Condition IsGeneral
    $          and Trait DoubleCombat1 = 2
    $
    $    Affects AntiDoubleCombat1  2  Chance  100
    $
    ;------------------------------------------
    Trigger Remove marker at end of turn
    $    WhenToTest CharacterTurnEnd
    $
    $    Condition IsGeneral
    $          and Trait DoubleCombat1 = 1
    $
    $    Affects AntiDoubleCombat1  1  Chance  100
    $
    ;------------------------------------------
    Trigger Remove marker at end of turn2
    $    WhenToTest CharacterTurnEnd
    $
    $    Condition IsGeneral
    $          and Trait DoubleCombat1 = 2
    $
    $    Affects AntiDoubleCombat1  2  Chance  100
    Then add this condition for each battlefield trait (i.e. one that is tested "PostBattle").
    Code:
    $          and not Trait DoubleCombat1 = 2
    In this scheme, the player withdraws twice before fighting a battle (you don't go to the battlemap, you just press withdraw on the popup box). This gives the general the DoubleCombat1 trait at level 2 (one for each withdraw), and marks the coming battle as a battlemap battle. For the first read, the "and not Trait DoubleCombat1 = 2" condition stops the general from getting any traits. This trait is removed at the end of the file. The 2nd read goes as normal, with the general picking up the appropriate traits. This should have no effect on autocalc or AI battles, unless they also do a PreBattleWithdrawal. In which case, that general will get not battlemap traits for that turn.

    At the end of turn, the DoubleCombat1 is removed from all characters, as it can only ever be at level 0, 1 or 2.

    Edit: Due to a board optimisation, whitespace at the start of a line is removed. To counter this, I've put $ signs at the start of each line. Just delete them, and everything will to formatted correctly.
    Last edited by therother; 03-02-2005 at 16:42. Reason: adding info
    Nullius addictus iurare in verba magistri -- Quintus Horatius Flaccus

    History is a pack of lies about events that never happened told by people who weren't there -- George Santayana

  21. #171
    Squirrel Watcher Member Sinner's Avatar
    Join Date
    Aug 2004
    Posts
    390

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    Not too keen on the idea of withdrawing from battle just to set up the required traits to avoid the double bug.

    This is killing the game for me. People are saying what they'd like to see in the expansion pack, I simply want the bugs fixed. :(

  22. #172

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    I am the developer of the CVP and I've been working on a fix very similar to what therother has just suggested.

    I believe that the triggers in export_descr_character_traits are applied in sequential order, and that the double "bug" is a full sequence followed by a full sequence. This is presumed for my fix to work.

    My fix is applied thus:

    The two very last triggers:

    ;------------------------------------------
    Trigger bugfix1
    WhenToTest PostBattle

    Condition Trait Bug = 1

    Affects Fix 2 Chance 100

    ;------------------------------------------
    Trigger bugfix2
    WhenToTest PostBattle


    Affects Bug 1 Chance 100



    and similarly, a "condition not trait bug = 1" is added to all combat triggers.

  23. #173
    Research Fiend Technical Administrator Tetris Champion, Summer Games Champion, Snakeman Champion, Ms Pacman Champion therother's Avatar
    Join Date
    Feb 2004
    Location
    UK
    Posts
    2,639

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    Quote Originally Posted by Sinner
    Not too keen on the idea of withdrawing from battle just to set up the required traits to avoid the double bug.
    Yes, it's not great, but it's fairly straightforward to do. It's the only condition that I know of that is tested before the battle, and that the player can control.
    Nullius addictus iurare in verba magistri -- Quintus Horatius Flaccus

    History is a pack of lies about events that never happened told by people who weren't there -- George Santayana

  24. #174
    Research Fiend Technical Administrator Tetris Champion, Summer Games Champion, Snakeman Champion, Ms Pacman Champion therother's Avatar
    Join Date
    Feb 2004
    Location
    UK
    Posts
    2,639

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    Quote Originally Posted by Zrave
    I believe that the triggers in export_descr_character_traits are applied in sequential order, and that the double "bug" is a full sequence followed by a full sequence. This is presumed for my fix to work.
    I think this is the way it works also.

    About your fix, the problem is still that of multiple battles per turn for the AI, or the player autocalcing. I think, overall, this is probably the best we have. The withdrawal thing, whilst being an interesting proof of concept, is really too fiddly for my liking.
    Nullius addictus iurare in verba magistri -- Quintus Horatius Flaccus

    History is a pack of lies about events that never happened told by people who weren't there -- George Santayana

  25. #175

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    Yeah I wish I had a better fix, but this is certainly better than the other fixes I have attempted (doubling thresholds, etc).

    Forgot to add in the first post and couldn't find an edit option to include it, I also included an eot trigger to make bug = 0. I don't know if this will work as intended, for example if computer attacks you, and you autocalc, will you go into your turn with bug = 1?

    Still it is a good fix in that all of the player's non-autocalc battles will be figured, and the first autocalc of every "turn" will be counted as well.

    I think two autocalcs per turn is rare enough for this fix to be acceptable.

  26. #176
    Squirrel Watcher Member Sinner's Avatar
    Join Date
    Aug 2004
    Posts
    390

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    Zrave, unless you have a trigger at the end of a characters turn to tidy up, you're going to be causing problems for autocalc - and thus all AI vs AI battles - for more than just a turn.

    Your suggestion in effect produces the opposite to theother's in that yours does work correctly for player-fought battles...

    1. Initial traits are Bug 0, Fix 0 and GoodCommander 0.
    2. My general fights a battle on the tactical map with 1-to-1 odds and wins.
    3. Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger fires, setting GoodCommander to 1.
    4. Trigger bugfix1 doesn't fire because the condition '...and Trait Bug = 1' isn't met.
    5. Trigger bugfix2 fires, setting Bug to 1.
    6. After the first run through the triggers, the conditions at that point are Bug 1, Fix 0 and GoodCommander 1.
    7. The bug then occurs and the game loops through the triggers again.
    8. Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger doesn't fire because the condition '...and not Trait Bug = 1' isn't met.
    9. Trigger bugfix1 fires, setting Bug to 0 and Fix to 1 since they're antitraits.
    10. Trigger bugfix2 fires, setting Bug to 0 and Fix to 0 since they're antitraits.
    11. End conditions are thus Bug 0, Fix 0 and GoodCommander 1. Which is what we want.

    But, there's a problem with autocalced battles...

    1. Initial traits are Bug 0, Fix 0 and GoodCommander 0.
    2. My general autocalcs a battle with 1-to-1 odds and wins.
    3. Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger fires, setting GoodCommander to 1.
    4. Trigger bugfix1 doesn't fire because the condition '...and Trait Bug = 1' isn't met.
    5. Trigger bugfix2 fires, setting Bug to 1.
    6. End conditions are thus Bug 1, Fix 0 and GoodCommander 1. While the latter is what we want, the value of Bug will cause problems with subsequent autocalc battles.

    If this general now fought another autocalc battle...


    1. Initial traits are Bug 1, Fix 0 and GoodCommander 0.
    2. My general autocalcs a battle with 1-to-1 odds and wins.
    3. Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger doesn't fire because the condition '...and not Trait Bug = 1' isn't met.
    4. Trigger bugfix1 fires, setting Bug to 0 and Fix to 1 since they're antitraits.
    5. Trigger bugfix2 fires, setting Bug to 0 and Fix to 0 since they're antitraits.
    6. End conditions are thus Bug 0, Fix 0 and GoodCommander 1. This isn't good since the general hasn't been awarded for his victory.

    If the general instead fought another battle but on the tactical map...

    1. Initial traits are Bug 1, Fix 0 and GoodCommander 1.
    2. My general fights a battle on the tactical map with 1-to-1 odds and wins.
    3. Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger doesn't fire because the condition '...and not Trait Bug = 1' isn't met.
    4. Trigger bugfix1 fires, setting Bug to 0 and Fix to 1 since they're antitraits.
    5. Trigger bugfix2 fires, setting Bug to 0 and Fix to 0 since they're antitraits.
    6. After the first run through the triggers, the conditions at that point are Bug 0, Fix 0 and GoodCommander 1.
    7. The bug then occurs and the game loops through the triggers again.
    8. Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger fires, setting GoodCommander to 2.
    9. Trigger bugfix1 doesn't fire because the condition '...and Trait Bug = 1' isn't met.
    10. Trigger bugfix2 fires, setting Bug to 1.
    11. End conditions are thus Bug 1, Fix 0 and GoodCommander 2. Again, while the latter is what we want, the value of Bug will cause problems with subsequent autocalc battles.



    One thought: has anybody checked to see if the AI suffers the double bug from player-fought battles? As far as I'm aware that's just assumed at the moment. We need somebody to test a battle that they win, but let the enemy general live, while using a spy to check their stats pre- and post-battle. Awkward to do I know, but it's hopefully possible that only the player's general is effected which makes the faction-specific fix workable providing the player never autocalcs.

  27. #177
    Research Fiend Technical Administrator Tetris Champion, Summer Games Champion, Snakeman Champion, Ms Pacman Champion therother's Avatar
    Join Date
    Feb 2004
    Location
    UK
    Posts
    2,639

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    Quote Originally Posted by Sinner
    Zrave, unless you have a trigger at the end of a characters turn to tidy up, you're going to be causing problems for autocalc - and thus all AI vs AI battles - for more than just a turn.
    Yeah, he mentions that in his 2nd post.

    Quote Originally Posted by Sinner
    One thought: has anybody checked to see if the AI suffers the double bug from player-fought battles?
    Yes, the double read from the battlemap happens for the AI as well.
    Last edited by therother; 02-28-2005 at 16:42. Reason: removing nonsense
    Nullius addictus iurare in verba magistri -- Quintus Horatius Flaccus

    History is a pack of lies about events that never happened told by people who weren't there -- George Santayana

  28. #178
    Squirrel Watcher Member Sinner's Avatar
    Join Date
    Aug 2004
    Posts
    390

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    Ah, that's what happens when I post while working, takes me over an hour per post at times.

    As for the AI also getting the double bug, one word: damn.

  29. #179
    Research Fiend Technical Administrator Tetris Champion, Summer Games Champion, Snakeman Champion, Ms Pacman Champion therother's Avatar
    Join Date
    Feb 2004
    Location
    UK
    Posts
    2,639

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    I'm doing a full scale test of the PreBattleWithdrawal method (note to self: need to be careful when describing this method ). I'm beginning to warm a little to it. Short of someone pulling something out of their hat, I think this is the one I'll be using myself. However, for the consensus patch, I think we'd rather have a more seemless trait system, so IMO the double/bug trait method is probably the best we have.
    Last edited by therother; 02-28-2005 at 20:10.
    Nullius addictus iurare in verba magistri -- Quintus Horatius Flaccus

    History is a pack of lies about events that never happened told by people who weren't there -- George Santayana

  30. #180
    Bug Hunter Senior Member player1's Avatar
    Join Date
    Feb 2005
    Location
    Belgrade, Serbia
    Posts
    1,405

    Default Re: Traits that are bugged in 1.2 with fixes. Part 1: Scarred, Farmer, Trader

    Quote Originally Posted by Jambo
    Regarding the coward trait, one thing I noticed with the modified version was that the AI generals were getting a lot of coward traits when I set the GeneralNumKillsInBattle = 0. Most likely this is due to the autocalc function for AI to AI battles as general units don't get so involved when battles are autocalculated.
    Well, that means that trait is actually working.


    P.S.
    I guess that same thing would happed even with original IsGeneralFoughtInCombat, since it works for autocalc, when PercentageEnemyKilled > 0 (or not PercentageEnemyKilled = 0), is used.
    BUG-FIXER, an unofficial patch for both Rome: Total War and its expansion pack

Page 6 of 8 FirstFirst ... 2345678 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Single Sign On provided by vBSSO