public override void MatchedTilesAsBonus(GameDriver driver, TileType matchedType) { if (Random.Range(0, 100) <= bonusChance) { driver.AddStats(matchedType, 3, matchedType); driver.AddBonus(type); } }
public override void AddStatsAsBonus(GameDriver driver, TileType statsType, float amount, TileType primaryType) { if (primaryType == TileType.None) { return; // this was an cascading or auto-match, ignore it } float now = driver.GetTime(); if (lastMatch != Mathf.Infinity && now - lastMatch < bonusThreshold) { driver.AddBonus(type, bonusAmount); } lastMatch = now; return; }
public override void UpdateAsBonus(GameDriver driver) { // each second after a match, has bonusChance to automatch if (driver.board.IsNewIdleSecond && Random.Range(0, 100) < bonusChance) { PairInt position, direction; if (driver.board.FindMatch(out position, out direction)) { driver.board.SwapTile(position, direction, false); driver.board.CreateHintOneShot(position, direction, hintArrowRobot); driver.AddBonus(type); } } }
public override void UpdateAsBonus(GameDriver driver) { if (driver.board.HandleHint(hintCooldown, hintArrowHoly)) { driver.AddBonus(type); } }
public override void MatchedTilesAsBonus(GameDriver driver, TileType matchedType) { if (driver.GetCurrentAntiStreak() >= 4) { driver.AddBonus(type, bonusAmount); } }