pasmon79 Posted September 2, 2019 Share Posted September 2, 2019 (edited) The randomness in game is very interesting. Let us consider the example of "RV repair facilty". In "rtsevents" it has 4 repair possibilities(engine,fuel,tyre,disnfect) each with 100%.In the starting level(whichever) there is a favorable competition of any1/4, the second level introduces a competition of any 2/4 again with equal probbality, third with any 3/4 and later levels load options without any competition. What if we make any one of the "repair possibilities" less favourable than the other(say 50%, keeping everyone at 100), will the game still expects to load all repair options after fourth round? Edited September 2, 2019 by pasmon79 Link to comment Share on other sites More sharing options...
qmjs Posted September 2, 2019 Share Posted September 2, 2019 (edited) Those are not probabilities. Set at 100%, they are certainties. Alt lists that use 100% depend upon the Inputs field to determine actual application, and use tracking variables to determine the appropriate stages. Those are initially set in missions.xml under the mission to locate the RV, and updated in facilities.xml as repairs are carried out. The number of repairs needed is set in enclaves.xml during map initialization as a basic scenario count.The 'randomness' comes from the enclaves.xml action <Action ActionFlags="Repeats, WaitForNoMission" ActionId="NewLoop" Alts in a list are always evaluated from top to bottom in order, and once one is selected the action is exited. <Alt AltId="SelectFinished" AltOdds="100" /> <Alt AltId="SelectEngine" AltOdds="25" /> <Alt AltId="SelectClean" AltOdds="33" /> <Alt AltId="SelectTires" AltOdds="50" /> <Alt AltId="SelectRefuel" AltOdds="100.0" /> <Alt AltId="SelectFailsafe" AltOdds="100.0" /> Here it checks if everything is finished, 100% apply if input conditions met. Then, it checks each of the four conditions... 25% for the first if not applied, 33% for the second, 50% for the third, 100% for the fourth... if the selected repair has been completed, it drops to the failsafe, 100% which simply sets no condition and it will wait until the next cycle to determine which remaining repair is needed. For those four repair types, it is effectively 25% each, even though the numbers vary. This is because the first check is 25%, or 1 in 4.The second check is 1 in 3, but takes into account that 25% have already been checked, so it is 1/3 of the remaining 75% left after the first check... 1/3*.75 = 25%The third is 1 in 2, but also takes into account that 50% have already been checked, so it is 1/2 of the remaining 50% left after the first two checks. 1/2*.5=25%And the fourth check is 1 in 1, but also takes into account that 75% has already been checked, so it is 1/1*.25 =25% Edited September 29, 2019 by qmjs Link to comment Share on other sites More sharing options...
pasmon79 Posted September 2, 2019 Author Share Posted September 2, 2019 I checked the file and you are absolutely right. Link to comment Share on other sites More sharing options...
pasmon79 Posted September 3, 2019 Author Share Posted September 3, 2019 I have found a similar list for foraging in "Event Id="SandboxEvent.Home_OfflineEvents". It must be defined here and executed somewhere else along with the med and ammo add event. I could not find it. Kindly guide me on this issue. Link to comment Share on other sites More sharing options...
qmjs Posted September 3, 2019 Share Posted September 3, 2019 That is part of the daily reset process. Specifically, it is triggered in several places in enclaves.xml as <EventTrigger Event="SandboxEvent.Home_OfflineEvents" />, and the event itself is defined in rtsevents.xml as <Event Id="SandboxEvent.Home_OfflineEvents"> That is a long series of actions, and within it is <ExecuteAction ActionId="Foraging" />, which calls <Action ActionFlags="Subaction" ActionId="Foraging" The event basically gives you between 4-11 food each day to represent the food found by survivors not directly under your control. Link to comment Share on other sites More sharing options...
pasmon79 Posted September 3, 2019 Author Share Posted September 3, 2019 (edited) During game-play i have often wondered why the heck i have not seen my player listed for mercy shot ever in both lifeline and breakdown. Then i got some clue from the black fever mod.Here in "characters.xml" we have under CharacterTrait BadgeName="" Flags="Hidden" Icon="" TraitId="Hurt" Badge="" IconId=""> <Evolve Event="HURT"> <Evolve Event="HEAL"> <Evolve Event="NEXT_DAY"> <Outputs> <Console_Command Command="LOG: Hurt_NextDay" /> <Actor_HasTrait ActorIndex="" Trait="Trait.Status.MercyShot" />It seems that we have a hurt event leading to possibility of Heal and in case not occured, then eventually "MercyShot", but what determines the chance of such events? Edited September 3, 2019 by pasmon79 Link to comment Share on other sites More sharing options...
qmjs Posted September 4, 2019 Share Posted September 4, 2019 (edited) To trigger the mercy shot mission, they have to be gravely wounded, gravely ill, or have black fever. Every daily reset, every character has a chance to heal or recover, and those have to fail. Because of the way the evolve events for hurt and sick in characters.xml are written, they have a significantly high total chance of recovering, as long as the enclave has medicine resources and an infirmary. The recoverfromsick and recoverfrom injury events run every 30 minutes, giving an additional chance to recover.Essentially, to get the mercy shot, a character has to be badly wounded or sick, the enclave need to be without an infirmary, and with no medicine, and then pass though two successive daily resets. In terms of the unlock for the hero, it is easiest to generate by not really playing... start a community, collect no medicine, do not build an infirmary, and wait until someone is sick or injured, log out, wait until the next day (or 14 hours), log in, log out again and wait again. Edited September 4, 2019 by qmjs Link to comment Share on other sites More sharing options...
pasmon79 Posted September 4, 2019 Author Share Posted September 4, 2019 (edited) I do not need to unlock any hero, which i can easily accomplish by modifying game with the current understanding. I just want the game to be more fun. Edited September 4, 2019 by pasmon79 Link to comment Share on other sites More sharing options...
pasmon79 Posted September 16, 2019 Author Share Posted September 16, 2019 I have still not understood the randomizingness in this game. In the foraging event defined as <Alts> <Alt AltId="Foraging_15" AltOdds="100.0" /> <Alt AltId="Foraging_13" AltOdds="100.0" /> <Alt AltId="Foraging_11" AltOdds="100.0" /> <Alt AltId="Foraging_9" AltOdds="100.0" /> <Alt AltId="Foraging_7" AltOdds="100.0" /> </Alts> how does the game randomizes the choice of one foraging event out of five, when they are all set at 100%? Link to comment Share on other sites More sharing options...
qmjs Posted September 16, 2019 Share Posted September 16, 2019 (edited) That is not a random list. It is a conditional list. It checks a variety of conditions, and sets the output based on those conditions. It means that the alt event foraging_15 will happen 100% of the time if the input conditions are met, in this case:<Inputs> <Check InputAmount="15" InputFlags="" InputId="Capacity.Labor" /></Inputs> if the first event does not meet the conditions, it checks the second event, and continues until it finds one that does meet the conditions. If none of the listed event conditions are met, it proceeds with the outputs for the list itself, whcich in this case has no effects. Edited September 16, 2019 by qmjs Link to comment Share on other sites More sharing options...
Recommended Posts