Root-PickPhaseImprovements icon

PickPhaseImprovements

Utility Library For Pick Phase Shenanigans

By Root
Last updated an hour ago
Total downloads 6
Total rating 0 
Categories Utilities
Dependency string Root-PickPhaseImprovements-0.1.1
Dependants 0 other packages depend on this package

This mod requires the following mods to function

Pykess-Pick_N_Cards-0.2.6 icon
Pykess-Pick_N_Cards

Pick more cards! (In a way compatible with other mods!)

Preferred version: 0.2.6
Root-MorePicksPatch-1.0.0 icon
Root-MorePicksPatch

Allows for the use of the picksToSet parameter of the CardChoice.StartPick function.

Preferred version: 1.0.0
Pykess-ModdingUtils-0.4.8 icon
Pykess-ModdingUtils

Utilities aimed at making modding easier and more accessible

Preferred version: 0.4.8

README

A work in progress mod for manipulating the Pick Phase

Currently supports giving players additional picks, giving players additional picks with conditions attached (ie: only vanilla cards), and creating shuffle effects both with or without conditions. Additional picks and shuffle effects can also have an alternate hand-size, either relative to the player's normal hand size, or as a static value.

// Marks a card to trigger a shuffle when taken. handSize and isRelative are for ajusting the handsize of the new pick (default values leave it unchanged). Condition is an optional function that returns true if the card is allowed to show up during the new pick. Count will give multiple new hands.
PickPhaseImprovements.PickManager.RegisterShuffleCard(CardInfo cardInfo, int handSize = 0, bool isRelative = false, Func<CardInfo,bool> condition = null, int count = 1)
// Mostly for Internal use, sets up a shuffle effect to take place, will trigger if the player is Currently picking, otherwise will wait till the next time the player is picking.
// See above function for paramiter explination.
PickPhaseImprovements.PickManager.QueueShuffleForPicker(Player picker, int handSize = 0, bool isRelative = false, Func<CardInfo, bool> condition = null)
// Sets the player to have (picks) additional picks each round. must be reset manually during card removal.
PickPhaseImprovements.PickManager.GiveAdditionalPicks(this Player picker,int picks = 1)
// Gives an additional pick to the player each round with a condition and/or handsize adjustment. Must be removed with RemoveConditionalPick during card removal.
PickPhaseImprovements.PickManager.GiveConditionalPick(this Player picker, int handSize = 0, bool isRelative = false, Func<CardInfo, bool> condition = null)
// Removes a conditional pick, values for handSize, isRelative, and condition must match exactly. Returns true if the removal is successful.
PickPhaseImprovements.PickManager.RemoveConditionalPick(this Player picker, int handSize = 0, bool isRelative = false, Func<CardInfo, bool> condition = null)

pickStartCallback and pickEndCallback are optional actions that get called right befor an new hand is generated for that specific shuffle/connditional pick, and right after a card is picked from it (but before it is added to the player)