Results 1 to 30 of 223

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

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    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,637

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

    Quote Originally Posted by Bob the Insane
    Has anyone suggested yet doubling the threshold values for all the traits gained through combat to counter the apparant doubling effect that occurs when you fight battles on the battlemap??
    Yeah, but the problem is that the AI doesn't often fight on the battlemap. So if you doubled all the thresholds, it would take the AI twice as long to get each trait, which is no better than not doubling it (where the human player take half the time to progress up the levels).

    One possible workaround would be to create a line of doubled battlefield traits that only the human player uses.
    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

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

    Except that you'd have to figure out a way to only have the player use them, which is tricky. There aren't any strat-map conditions that can limit a trigger to a player, unfortunately. You'd have to do it faction by faction, changing it for every game. Also, it would get screwed up if the player auto-resolved or the comp fought on the battle map, but both of those scenarios favor the AI, so that's okay.

    How to work around this . . . you might be able to make some kind of conditional statement. Hmm. Wait, maybe I have something. What about this? Double all relevant thresholds, so my the last level of my example trait (GoodAttacker) has a threshold of 32. Then add a trigger (actually, two triggers, in case there's a limit on condition number) like so:
    Code:
    Trigger EvenGoodAttacker1
        WhenToTest PostBattle
    
        Condition IsGeneral
              and Trait GoodAttacker = 1
              or Trait GoodAttacker = 3
              or Trait GoodAttacker = 5
              or Trait GoodAttacker = 7
              or Trait GoodAttacker = 9
              or Trait GoodAttacker = 11
              or Trait GoodAttacker = 13
              or Trait GoodAttacker = 15
    
        Affects GoodAttacker  1  Chance  100
    
    Trigger EvenGoodAttacker2
        WhenToTest PostBattle
    
        Condition IsGeneral
              and Trait GoodAttacker = 17
              or Trait GoodAttacker = 19
              or Trait GoodAttacker = 21
              or Trait GoodAttacker = 23
              or Trait GoodAttacker = 25
              or Trait GoodAttacker = 27
              or Trait GoodAttacker = 29
              or Trait GoodAttacker = 31
    
        Affects GoodAttacker  1  Chance  100
    This solution isn't perfect. For it to work, you'd need to make all battle triggers have a 100% of giving you the trait(s) when their trigger conditions are met, which would make combat traits somewhat deterministic. To compensate, you could add selfperpetuating-type non-combat triggers to modify the traits up and down randomly, if you want.

    Another problem is that battle triggers couldn't add any number of points other than one. AFAIK, we don't know how the triggers for a given event are parsed—if they're done sequentially, we could theoretically get around this problem by interspersing combat triggers with my new triggers. But it would probably be easier to just adjust all combat trait thresholds so that they work with two points per battle (which is what they'll get with the triggers set to give one).

    Anyway, assuming that all battle triggers have a 100% chance of giving their traits, any general who fights exclusively on the battle map will always have an even number of points in his combat trait. If a general autoresolves, however, and no trait trigger gives a number of points other than one, he'll gain an odd number of points. The triggers above will immediately find combat traits with an odd number of points and bump them up by a point, effectively compensating for the lower payout of autoresolve.

    Thoughts?

    -Simetrical
    TWC Administrator

    MediaWiki Developer

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

    Simetrical - sorry mate, you have complete lost me on that one...

    I was thinking however that we could assume that the player largely fights on the battlemap and adjust the threshold to allow for that (doubling them)... We already know that the AI does not tend to gain high star rated general through fighting much, so we could try looking into a mechanisim to deliver high star rated generals outside of the battlefield...

    Perhaps create a perpetual trigger for GoodCommand and BadCommander..

    Theamin thing to consider is that anything we do will apply equally to player and AI..

  4. #4
    Member Member RJV's Avatar
    Join Date
    Aug 2002
    Location
    Birmingham, England
    Posts
    157

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

    Quote Originally Posted by Simetrical
    Except that you'd have to figure out a way to only have the player use them, which is tricky. There aren't any strat-map conditions that can limit a trigger to a player, unfortunately. You'd have to do it faction by faction, changing it for every game.
    But would that really be too much of a problem? Just add in the 'and not faction = whatever' condition, make n copies of the file, edit each to add the relevant faction name and voila. Couple this with a little batch file to rename the file from the faction-specific one to the genuine one before firing off the RTW exe and away you go. I'm skipping steps here of course, and you'd have to make sure you played the right faction once you loaded the game, so it's not all that elegant. But if it made it work....

    Anyway, just something to think about.

    Cheers,

    Rob
    Olaf the Flashy - the Bling Bling Viking

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

    Simetrical, I get what you're thinking, but since the triggers are processed sequentially as far as I can tell I think we'll need something like this...

    Trigger GoodAttacker1_31plus
    WhenToTest PostBattle
    Condition IsGeneral
    and Trait GoodAttacker >= 31
    Affects GoodAttacker 1 Chance 100

    Trigger GoodAttacker1_30
    WhenToTest PostBattle
    Condition IsGeneral
    and Trait GoodAttacker = 30
    Affects GoodAttacker 1 Chance 100

    Trigger GoodAttacker1_29
    WhenToTest PostBattle
    Condition IsGeneral
    and Trait GoodAttacker = 29
    Affects GoodAttacker 1 Chance 100

    etc


    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; the other possible flaw is that there might be a limit on the number of triggers, which we could very possibly hit given the number we'd need to have for each current trigger condition.

    As for the faction specific idea, that could work albeit with a lot of effort to set up, with the easiest solution being to set up each faction as a mod and then running that faction specific version of the game using the -mod:XXXX switch in the command line options.

  6. #6
    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,637

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

    Quote Originally Posted by Sinner
    As for the faction specific idea, that could work albeit with a lot of effort to set up, with the easiest solution being to set up each faction as a mod and then running that faction specific version of the game using the -mod:XXXX switch in the command line options.
    Yeah, I've had much the same idea as Rob. The use of the mod is possible I guess, setting up a .bat script to run the game perhaps - press 1 to play Julii, and so on. I suppose that would be the least amount of work, in some respects, for the players and coders.

    Still pondering the Simetrical/Sinner idea - has it been tested, or is anyone planning on testing it? So far, the best working solution that I've seen will just make the trait work as intended on average, and not for all instances. As I understand it, this would be a complete solution.
    Last edited by therother; 02-26-2005 at 13:04.
    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

  7. #7

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

    to get back on topic : the farmer/trader issue

    Here's another 2 cents from from a fellow RTW player suffering from chronical poor farming at Frustration Level 1 Chance 100

    reading through the entire 5 pages of this thread for the modding/scripting noob that i am and still trying to make sense out all of it i would like a conclusive answer to the issue.
    Someone already said the same thing a few posts back without much result so it seems i will just have to give me the answer myself.

    Well here goes: there is none...

    I think it's safe to say that the trade/farm triggers are NOT bugged, but on the other hand saying that the default settings are a bit 'flawed' would be putting it mildly.
    Well, with all the ideas, suggestions, testresults, modding examples etc given up until this point there is enough information here to play around with the trigger chances and trait thresholds to tweak and finetune it to your own preferences and playing style. Wich is exactly what i did, much to my own happiness.
    I suggest that all of you who also cannot wait for the next CherryVanilla patch to adress this issue do the same, trust me you'll feel a lot better and no longer have that urge to throw R:TW out the window.

    2 more things i want to say, then i'll shut up again.

    First an example of what i mean with flawed default:
    Aside from random births the only way to get BadFarmer is by building something other then a farm and the only way for BadTrader is by building something else then a trader, not building Ports and Roads do not affect BadTrader they only affect GoodTrader when you do build them , right ?
    Then why is BadFarmer 1 chance 8% /building with trait thresholds of 1,2 and 3 and BadTrader only 1 chance 1% /building with thresholds of 1,3 and 6 ?!?

    The default system is setup in such a way that only those few factions with an Agriculture or Trade Deity in their Pantheon will have a chance of avoiding the negative traits other then keeping their family member out of cities for their entire life, wich the other factions are condemned to.
    Sure you may get 1 guy somewhere to go beyond the first level of the positive side of the trades with some absurd insane micromanagement, if he doesnt die of old age first before reaching NoGoingBackLevel 3. But even then there is no SelfPerpetuating or even a Genetics trigger to pass the hard earned virtue on to the next generation.
    Specially in the later parts of the game you'll eventually run out of new farms to build since they can never be destroyed in newly conqured lands and you will end up with all your governors being Clones with the all the same negative Vices instead of unique characters with depth and personality no matter what you do...

    thats what i mean with 'flawed' , its not bugged but it **** well needs fixing.
    So either wait for a mod or patch or do it yourself.

    Second ...
    This is for the CherryVanilla mod people , both creators and users. Not sure if this has been adressed already somewhere else but i'll mention it again. After reading through this entire thread word for word and gaining some understanding of the Governing6 and Governing10 triggers and some modding of myself i noticed the following changes that were made:

    Trigger governing6
    WhenToTest GovernorBuildingCompleted

    Condition not SettlementBuildingFinished > = farms

    Affects BadFarmer 1 Chance 8
    Affects BadAdministrator 1 Chance 10

    Mod218 - 11/14 : added bad admin effect

    Trigger governing10
    WhenToTest GovernorBuildingCompleted

    Condition not SettlementBuildingFinished > = trader

    Affects BadTrader 1 Chance 1
    Affects BadAdministrator 1 Chance 10

    Mod221 - 11/14 : added bad admin effect

    Now correct me if i am wrong, but does this not mean that building any trader or farm will give my governor a 10% BadAdmin chance and any other type of building a 20% BadAdmin chance ?!?

    Ok that was all , i'l crawl back under my rock now.

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

    You are correct with your last statement, SilverEye. If that's CherryVanilla then it hasn't addressed the fundamental flaw with the BadFarmer trigger, if anything it's made the situation worse for governors in that they'd get BadAdministrator as well.

    I personally consider the trigger condition for BadFarmer to be bugged in that it occurs even if you've already built the farm for that level of settlement, so it's impossible to avoid, but that's just my opinion.

    I think the the most palatable answers so far are to either add the AdviseBuild condition since at least that takes into account whether that settlement level's farm is available to be queued or not, or to use SettlementBuildingExists to check if the farm has already been built for that level. Either method requires the single current trigger to be replaced by 5, one for each level of farm, and both need the % chance of getting BadFarmer points increased else the trigger becomes nearly ineffective.


    Switching back to the battle triggers problem: from my testing it appears that they only get tested once for autocalced battles, but twice for tactical battles. I think there's a clue for what's happening in the code in the Events, Conditions, & Commands thread, if you look at many of the battle conditions, they can occur either in Battle or Strat (ie. Campaign map). I think what happens is that autocalc battles cause the triggers to be checked by the Strat game engine, while player-fought battles first get checked by the Battle game engine at the end of the combat and then again by the Strat game engine upon return to the campaign map.

    Whether this is what is occuring or not doesn't really matter, since the effects are what's important for us and the simple and sad fact is that we're getting two trigger checks for every player-fought battle.

    As a note, my testing method was as follows: I played as the Julii, first editting Vibius Julius to remove his GoodCommander 1 trait. I editted the V0090_Standard_Battle_Any_Victory_VnV_Trigger trigger to remove the BattleOdds condition since I wanted it to return a result simply upon victory, so the trigger looks like this...


    Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger

    WhenToTest PostBattle

    Condition IsGeneral
    and WonBattle

    Affects GoodCommander 1 Chance 100



    The only other triggers that give GoodCommander are those for adoption, random birth and worthy of marriage, so I know that no other trigger will be effecting my tests since I'm using an already established family member.

    As I've already said, on autocalc victories Vibius gained only 1 point towards GoodCommander as would be expected, but for battles I fought he gained 2 points per victory.

    I then tested the idea initially proposed by Simetrical although I used my slant on it, replacing the standard V0090_Standard_Battle_Any_Victory_VnV_Trigger trigger with the following...

    Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger_8plus
    WhenToTest PostBattle

    Condition IsGeneral
    and WonBattle
    and Trait GoodCommander >= 8

    Affects GoodCommander 1 Chance 100

    ;------------------------------------------
    Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger_7
    WhenToTest PostBattle

    Condition IsGeneral
    and WonBattle
    and Trait GoodCommander = 7

    Affects GoodCommander 1 Chance 100

    ;------------------------------------------
    Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger_6
    WhenToTest PostBattle

    Condition IsGeneral
    and WonBattle
    and Trait GoodCommander = 6

    Affects GoodCommander 1 Chance 100

    ;------------------------------------------
    Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger_5
    WhenToTest PostBattle

    Condition IsGeneral
    and WonBattle
    and Trait GoodCommander = 5

    Affects GoodCommander 1 Chance 100

    ;------------------------------------------
    Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger_4
    WhenToTest PostBattle

    Condition IsGeneral
    and WonBattle
    and Trait GoodCommander = 4

    Affects GoodCommander 1 Chance 100

    ;------------------------------------------
    Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger_3
    WhenToTest PostBattle

    Condition IsGeneral
    and WonBattle
    and Trait GoodCommander = 3

    Affects GoodCommander 1 Chance 100

    ;------------------------------------------
    Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger_2
    WhenToTest PostBattle

    Condition IsGeneral
    and WonBattle
    and Trait GoodCommander = 2

    Affects GoodCommander 1 Chance 100

    ;------------------------------------------
    Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger_1less
    WhenToTest PostBattle

    Condition IsGeneral
    and WonBattle
    and Trait GoodCommander < = 1

    Affects GoodCommander 1 Chance 100


    I only went up to 8 points since I expected significant results long before I'd get any higher. I ran my tests again and for each autocalc victory Vibius gained a point towards GoodCommander, and yet again for each player fought battle he gained two points per victory, so this method will not work either.

    So what answer is left? I think that leaves only the faction-specific option even though it's a major pain in the ass. It would also kind of force the player into fighting out every battle since he wouldn't get double points for autocalcing.
    Last edited by Sinner; 02-26-2005 at 16:38.

  9. #9
    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,637

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

    Quote Originally Posted by Sinner
    So what answer is left? I think that leaves only the faction-specific option even though it's a major pain in the ass. It would also kind of force the player into fighting out every battle since he wouldn't get double points for autocalcing.
    I'm beginning to think that there is no way around using player faction specific traits. Have been doing some tests of my own. However, things were delayed a little by me using Sobriety as one of the traits I used to test the triggers. With a British General. Yes, I know now...
    Last edited by therother; 02-26-2005 at 16:41.
    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

  10. #10
    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,637

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

    Quote Originally Posted by therother
    I'm beginning to think that there is no way around using player faction specific traits.
    Okay, got the GoodCommander working properly using this idea.

    I've made a new trait line, PlayerGoodCommander, as below:

    Code:
    ;------------------------------------------
    Trait PlayerGoodCommander
        Characters family
        AntiTraits PlayerBadCommander
    
        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
    I've also added/changed both these triggers:

    Code:
    ;------------------------------------------
    Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger
        WhenToTest PostBattle
    
        Condition IsGeneral
              and WonBattle
              and not FactionType britons
    
        Affects GoodCommander  1  Chance  100 
    
    ;------------------------------------------
    Trigger V0090_Standard_Battle_Any_Victory_VnV_Trigger_Player
        WhenToTest PostBattle
    
        Condition IsGeneral
              and WonBattle
              and FactionType britons
    
        Affects PlayerGoodCommander 1  Chance  100
    To change faction, all you'd need to do is replace "britons" with whatever faction you intend to use.

    You would, of course, need to do this with every trait line which is affected by the battlemap (GoodAttacker, BattleScarred, BadCommander, etc.). Hmm, it's not a great solution by any stretch of the imagination, but at least it works.

    (Quote the post to get the correct formatting.)
    Last edited by therother; 02-26-2005 at 23:16.
    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

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