Skip to content

6. Packs

6.1 Rarities (UQuickCardsRarities, Content Browser > QuickCards > Rarities)

The rarities a deck's cards can have and how likely each is in a pack, from the most common to the rarest ("Rare or rarer" = Rare and every rarity after it).

Setting Default Notes
Total (shown) The chances added up and what that means; chances not adding up to 1 are each shared out of the total
Rarities empty Name and Chance (0–1) per line

Blueprint: GetTotalChance, GetChance (Rarity) (its share of the total), FindRarity, GetRarityNames.

Shipped: DA_QC_Rarities_Basic (QuickCards/Data/Rarities): Common 0.60, Uncommon 0.30, Rare 0.08, Legendary 0.02.

6.2 Pack (UQuickCardsPackDefinition, Content Browser > QuickCards > Pack)

Setting Default Notes
Problems (shown) What's wrong, checked when the pack's Details open and on every change; also warnings on save and in Validate Assets
Display Name the asset's name
Deck none The cards; the chances are its Rarities'
Cards Per Pack 5
Allow Duplicates (Rules) on On: a card can come out as often as its copies in the deck. Off: each card at most once
Guaranteed Rarity (Rules) off Every pack holds a card of this rarity or rarer (a list of the deck's rarities); if not, its last card goes back and one of those is drawn
Pity Rarity (Rules) off After Pity Packs packs in a row without this rarity or rarer, the next pack holds one
Pity Packs (Rules) 10
Own Chances (Rules) off A Rarities asset with the same names whose chances replace the deck's for this pack (e.g. a premium pack)
Pack Art (Look) none The pack's front picture; shown whole, then torn. Empty: a plain Pack Color pack
Pack Color (Look) white The color of a pack without a picture, and the tint of its picture
Tear Line (Look) 0.12 Where it tears, from the top (0.02–0.5)
Reveal Mode (Look) Stack Stack: one at a time, tap or swipe for the next. Fan: all face down in a row, tap each to turn it over
Build Up Rarity (Look) none This rarity and rarer get a build-up before they're shown
Hint Rare Inside (Look) on With a Build Up Rarity card inside, gold sparkles and light burst out as it opens

How a card is drawn (like drawing from a pile): a rarity by its chance, among rarities with copies left; then one of its copies left, so a card with 3 copies is 3 times as likely as a 1-copy card of its rarity, and comes out at most 3 times (once without duplicates). A rarity with no cards (or none left) gives its chance to the others. Asking for more cards than the deck can give makes a shorter pack.

Problems lists: no deck; a deck without Rarities; cards with no rarity (never in packs); a rarity with a chance but no cards; Own Chances missing a rarity; a guarantee or pity with no rarity picked or no card that can keep it; "8 cards per pack, but the deck has only 7 unique cards: packs will hold 7" (or only N cards, with duplicates).

Blueprint: GetRarities (the deck's), GetChances (Own Chances or the deck's), HasBuildUp (Rarity), FindProblems.

Example: DA_QC_Pack_Example (QuickCards/Data/Examples): the example deck, 5 cards, at least one Rare or rarer, pity on Legendary after 10 packs; the placeholder pouch (T_QC_Placeholder_Pack), Tear Line 0.07, Stack, build-up from Rare.

6.3 Opening a pack (UQuickCardsPackOpener, palette: QuickCards > Packs)

Open Pack (Pack, Seed, Packs Without Pity Card = 0) returns a Pack Result: Cards (in reveal order), Rarities (each card's, for reveal effects), Packs Without Pity Card (save it with the player and pass it to the next Open Pack), Pity Used, Guarantee Used. The same seed and count always give the same pack; Make Random Seed gives a new seed each call. Seeds are mixed, so packs 1, 2, 3... are unrelated. Tested over 100,000 packs: rarity shares within 0.5% of their chance, copies weighting and caps, duplicates off, short packs, guarantee, pity, Own Chances.

6.4 QuickCards Pack Opening (UQuickCardsPackOpeningWidget, palette: QuickCards)

Opens a pack on screen. Steps (each fires On State Changed): Entering (the pack slides in from below) → Awaiting Tear (a dotted line marches along the tear line with an arrow sweeping across) → the player drags across the tear line, starting on its left half, all the way past the far edge (the strip peels with the drag, a jagged white paper edge opens along the line, paper flecks fly off and a rip sound plays as it goes; let go before Tear To Open and it snaps back), or taps the pack, or presses Enter / Space / the gamepad's confirm button → Opening (the strip flies off; the cards rise slowly out of the pack's top, then the pack drops away and they come forward; with a rare inside and the pack's Hint Rare Inside, gold sparkles and light rays burst out) → Revealing → Summary (every card side by side, as big as the screen allows, in as many rows as needed; build-up cards keep a calm glow) → Done (On Pack Finished).

Revealing, Stack: the top card shows face up. Tap or flick it: it flies off (the way it was flicked) and the next shows. Drag it slowly: it leans and follows, and the cards behind it fan out so their frames peek out (a special border on a card further down shows); let go and the stack settles back. Hold it: it opens big (the inspect view). Fan: the cards lie face down side by side; tap each (or Enter for the next) to turn it over, hold a turned card to see it big. Build-up (Build Up Rarity and rarer): the card stays face down, glows (Build Up Color, pulsing) and shakes harder and harder for Build Up Duration, then turns over with a reveal sweep; a tap skips the wait. Summary: tap a card to see it big; tap anywhere else (or Enter) to finish.

Setting Default Notes
Pack Height 580 The pack's height on screen, in UI units (about half of a 1080-pixel screen; its width follows its picture; at most 60% of the widget's height)
Pack Same Height As Cards off The pack is exactly as tall as a revealed card (Card Height, with its 72% limit) instead of Pack Height; its width still follows its picture, so a card-shaped picture (63 × 88) gives a pack the cards' size (the demo's)
Card Height 640 A card's height while revealed; at most 72% of the widget's height
Summary Card Height 440 The most a card's height can be side by side (summary, fan); smaller when the screen needs it
Show Rarity Labels off Each card's rarity under it in the summary (build-up rarities in Build Up Color)
Show Tear Hint on The dotted line and arrow; Tear Hint Color (white, 0.9)
Tap To Tear on A tap on the pack (or Enter) tears it too
Tear To Open 1 How far across a drag must go: 1 = all the way through; lower lets a shorter drag finish by itself
Inspect Cards on Hold a card (or tap one in the summary) to open it big; Inspect Widget Class (QuickCards Inspect or yours)
Peek Angle 12° How far the cards behind the top one fan out when it's dragged
Build Up Duration 1.2 s
Build Up Color gold The build-up glow, the summary's glow and labels, a rare inside's sparkles and rays
Flip Duration 0.5 s A card turning over
Card Feel Preset none The cards' feel
Tear / Open / Rare Inside / Card Show / Flip / Build Up / Rare Reveal Sound (Sound) QuickCards/Audio/S_QC_* Placeholder sounds (original, made in code); replace with yours or clear one. Tear plays every tenth of the tear, a little higher or lower each time
Sound Volume (Sound) 1 0 = silent
Enter Duration (Advanced) 0.45 s
Open Duration (Advanced) 1.8 s Rising out (the first 45%, slowly), then forward
Swipe Distance (Advanced) 12 Screen units a press moves before it's a drag or tear, not a tap
Flick Speed (Advanced) 900 Units per second a drag must be let go at to send the card away (slower: a peek)
Hold Time (Advanced) 0.5 s
Move Speed (Advanced) 12 How quickly cards glide
Card Class (Advanced) QuickCards Card Or your subclass

Blueprint: StartOpening (Pack, Packs Without Pity Card) (a random draw), StartOpeningWithSeed, StartOpeningResult (Pack, Result) (a pack opened elsewhere, e.g. on your server), TearOpen (your own button), Advance (what a tap does now), SkipToSummary, Clear, GetState, GetResult, GetPack, GetCardWidgets, GetRevealedCount, GetTearProgress, HasRareInside. Inspect Card (Card, Index) is overridable in a Widget Blueprint made from it (your own card details screen). A Widget Blueprint may also hold a Canvas Panel named "Stage" for the pack and cards.

Events: On State Changed, On Pack Torn, On Build Up Started and On Card Revealed (widget, card, index, rarity, build-up), On Pack Finished (the result: save the pity count, add the cards to the collection).

Not yet: per-rarity build-up colors, a foil on the pack (planned).