var discountComponent = entManager.GetComponent<StoreDiscountComponent>(pda);
Assert.That(
discountComponent.Discounts,
- Has.Exactly(3).Items,
- $"After applying discount total discounted items count was expected to be '3' "
+ Has.Exactly(6).Items,
+ $"After applying discount total discounted items count was expected to be '6' "
+ $"but was actually {discountComponent.Discounts.Count}- this can be due to discount "
+ $"categories settings (maxItems, weight) not being realistically set, or default "
- + $"discounted count being changed from '3' in StoreDiscountSystem.InitializeDiscounts."
+ + $"discounted count being changed from '6' in StoreDiscountSystem.InitializeDiscounts."
);
var discountedListingItems = storeComponent.FullListingsCatalog
.Where(x => x.IsCostModified)
private IReadOnlyList<StoreDiscountData> InitializeDiscounts(
IReadOnlyCollection<ListingDataWithCostModifiers> listings,
- int totalAvailableDiscounts = 3
+ int totalAvailableDiscounts = 6
)
{
// Get list of categories with cumulative weights.
- type: discountCategory
id: rareDiscounts # Dirty-cheap items that are rarely used and can be discounted to 0-ish cost to encourage usage.
weight: 18
- maxItems: 2
+ maxItems: 4
- type: discountCategory
id: usualDiscounts # Cheap items that are used not very often.
- type: discountCategory
id: veryRareDiscounts # Casually used items that are widely used but can be (rarely) discounted for epic lulz.
weight: 2
- maxItems: 1
+ maxItems: 2