Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to set and item in an item set to 100% select? #17

Open
Rob-bb opened this issue Oct 28, 2016 · 12 comments
Open

How to set and item in an item set to 100% select? #17

Rob-bb opened this issue Oct 28, 2016 · 12 comments

Comments

@Rob-bb
Copy link

Rob-bb commented Oct 28, 2016

Hi. I want to build an item set where some items have 100% chance of being selected if that set is selected. How can do this?

@thommcgrath
Copy link
Owner

There really isn't a way. I'm sorry. I don't have any ideas for you.

@Rob-bb
Copy link
Author

Rob-bb commented Oct 28, 2016

Ok, when editing by hand you can set an item to be 100% and then when that set is picked that item will always be selected. I am not sure if it is intended behavior but it does work.

Alos, when making a custom loot source in the first window what do the min and max multipliers do?

And when editing the items in a preset what are Lock Qty and Lock Quality setting for?

cheers,

@thommcgrath
Copy link
Owner

First Item: Can you show me the code that would do that?

Second Item: Each loot source has an inherent multiplier range. So a 1-2 quality definition in one loot source is not the same as a 1-2 quality definition in another loot source. By knowing these values built into the loot source, Beacon can calculate the correct quality value to use based on your choices.

Third Item: Presets adjust their contents based on the loot source they are placed into. For example, put the raw materials preset into both a white beacon and a white bonus beacon, and you'll notice that the bonus beacon has twice the quantities. But this isn't always appropriate, so locking the quality and/or quantity means the preset will stick exactly to the definition without altering.

@Rob-bb
Copy link
Author

Rob-bb commented Oct 28, 2016

Hi

This entry will always give the wood structures, and has a chance of also giving a sleeping bag and a oil lamp. Well, I am 98% sure any way :-)

(MinNumItems=5,MaxNumItems=7,NumItemsPower=1.0,SetWeight=0.05,bItemsRandomWithoutReplacement=true,
ItemEntries=(

(EntryWeight=0.25,ItemClassStrings=("PrimalItemStructure_SleepingBag_Hide_C"),ItemsWeights=(1.0),MinQuantity=1,MaxQuantity=1,MinQuality=1,MaxQuality=1,bForceBlueprint=false,ChanceToBeBlueprintOverride=0),

(EntryWeight=1,ItemClassStrings=("PrimalItemStructure_WoodCeiling_C"),ItemsWeights=(1.0),MinQuantity=1,MaxQuantity=1,MinQuality=1,MaxQuality=1,bForceBlueprint=false,ChanceToBeBlueprintOverride=0),

(EntryWeight=1,ItemClassStrings=("PrimalItemStructure_WoodDoor_C"),ItemsWeights=(1.0),MinQuantity=1,MaxQuantity=1,MinQuality=1,MaxQuality=1,bForceBlueprint=false,ChanceToBeBlueprintOverride=0),

(EntryWeight=1,ItemClassStrings=("PrimalItemStructure_WoodFloor_C"),ItemsWeights=(1.0),MinQuantity=1,MaxQuantity=1,MinQuality=1,MaxQuality=1,bForceBlueprint=false,ChanceToBeBlueprintOverride=0),

(EntryWeight=1,ItemClassStrings=("PrimalItemStructure_WoodWall_C"),ItemsWeights=(1.0),MinQuantity=3,MaxQuantity=3,MinQuality=1,MaxQuality=1,bForceBlueprint=false,ChanceToBeBlueprintOverride=0),

(EntryWeight=1,ItemClassStrings=("PrimalItemStructure_WoodWallWithDoor_C"),ItemsWeights=(1.0),MinQuantity=1,MaxQuantity=1,MinQuality=1,MaxQuality=1,bForceBlueprint=false,ChanceToBeBlueprintOverride=0),

(EntryWeight=0.25,ItemClassStrings=("PrimalItemStructure_StandingOilLantern_Child_C"),ItemsWeights=(1.0),MinQuantity=1,MaxQuantity=1,MinQuality=1,MaxQuality=1,bForceBlueprint=false,ChanceToBeBlueprintOverride=0))),

@Rob-bb
Copy link
Author

Rob-bb commented Oct 28, 2016

Second Item: Each loot source has an inherent multiplier range. So a 1-2 quality definition in one loot source is not the same as a 1-2 quality definition in another loot source. By knowing these values built into the loot source, Beacon can calculate the correct quality value to use based on your choices.

So do the numbers correspond the the quality like ramshackle, journeyman etc,

@thommcgrath
Copy link
Owner

Well... yeah. It is set to at least 5 items, at most 7, out of a total 7. So mathematically, you are guaranteed at least: 3-5 wood structures, a sleeping bag, and a lantern; 4-6 wood structures, and a sleeping back or lantern, or 5-7 wood structures. Does that make sense? There's nothing special going on and Beacon can do exactly this.

@thommcgrath
Copy link
Owner

Yes, those numbers apply to quality. If you don't know the multipliers for a loot source, leave it as 1.

@Rob-bb
Copy link
Author

Rob-bb commented Oct 28, 2016

Yes, but the entry weight of 1 means those 5 items will always be selected, and then each of the other 2 items has a 25% chance of being selected, or possibly another of the wood structures.

At Least that is how I understand it to work from the article on survive the ark website. Although now I think about it the order might be important so maybe the items with entry weight of 1 should all be first in the set? So it picks a min of 5 items and the first 5 it tries all have a 100% chance of being selected. I am not sure about that.

@thommcgrath
Copy link
Owner

That article you've read (I've seen it too) is wrong. At least according to my testing. In my personal loot sources, all the weights are 1. The weights are a relative chance of selection. So two items with 1.0 weight will each have a 50% chance of being selection. The math is weight / sum of weights. So those 5 items are not 100% guaranteed to be selected, though the chance is very high. If you import that config into Beacon, it'll show you the chance breakdown.

@thommcgrath
Copy link
Owner

This other issue is relevant to the conversation #3

@Rob-bb
Copy link
Author

Rob-bb commented Oct 28, 2016

Ok, bummer, What I am trying to achieve is a giving a complete hut in a beacon, so foundation, ceiling, door and door way and 3 walls.

If I add them as a single line then I can only include one of the walls, not 3. Any Idea on how I could set this up?

Would this even achieve part of that or could they end up with multiple doors and no foundation?

ConfigOverrideSupplyCrateItems=(SupplyCrateClassString="Level 03",MinItemSets=1,MaxItemSets=3,NumItemSetsPower=0.000000,bSetsRandomWithoutReplacement=true,ItemSets=((MinNumItems=7,MaxNumItems=7,NumItemsPower=1.000000,SetWeight=0.500000,bItemsRandomWithoutReplacement=true,ItemEntries=((EntryWeight=1.000000,ItemClassStrings=("PrimalItemStructure_AdobeCeiling_C","PrimalItemStructure_AdobeDoor_C","PrimalItemStructure_AdobeWallWithDoor_C","PrimalItemStructure_AdobeFloor_C","PrimalItemStructure_AdobeWall_C","PrimalItemStructure_AdobeWindow_C","PrimalItemStructure_AdobeWallWithWindow_C"),ItemsWeights=(1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000),MinQuantity=1,MaxQuantity=1,MinQuality=0.000000,MaxQuality=1.250000,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0)))))

@Rob-bb
Copy link
Author

Rob-bb commented Oct 28, 2016

Actually I think this will almost do it, 3 multi item lines and it must select 3 of them.

ConfigOverrideSupplyCrateItems=(SupplyCrateClassString="Level 03",MinItemSets=1,MaxItemSets=3,NumItemSetsPower=0.000000,bSetsRandomWithoutReplacement=true,ItemSets=((MinNumItems=3,MaxNumItems=3,NumItemsPower=1.000000,SetWeight=0.500000,bItemsRandomWithoutReplacement=true,ItemEntries=((EntryWeight=1.000000,ItemClassStrings=("PrimalItemStructure_AdobeCeiling_C","PrimalItemStructure_AdobeFloor_C"),ItemsWeights=(1.000000,1.000000),MinQuantity=1,MaxQuantity=1,MinQuality=0.000000,MaxQuality=1.250000,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0),(EntryWeight=1.000000,ItemClassStrings=("PrimalItemStructure_AdobeWall_C","PrimalItemStructure_AdobeWindow_C","PrimalItemStructure_AdobeWallWithWindow_C"),ItemsWeights=(1.000000,1.000000,1.000000),MinQuantity=1,MaxQuantity=1,MinQuality=0.000000,MaxQuality=1.250000,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0),(EntryWeight=1.000000,ItemClassStrings=("PrimalItemStructure_AdobeDoor_C","PrimalItemStructure_AdobeWallWithDoor_C","PrimalItemStructure_AdobeWall_C"),ItemsWeights=(1.000000,1.000000,1.000000),MinQuantity=1,MaxQuantity=1,MinQuality=0.000000,MaxQuality=1.250000,bForceBlueprint=false,ChanceToBeBlueprintOverride=0.0)))))

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants