[Add] Yacht scoring system with Balatro-like modifier pipeline

Implements the core game loop for Yacht dice: 5-dice rolling with
lock/unlock, 3 rolls per turn, 13 standard scoring categories, and
an extensible ScriptableObject-based modifier system that applies
additive then multiplicative bonuses (chips+mult pattern).

Includes two test modifiers: BonusForOnes (+10 per 1) and
MultiplierForSixes (x6 per 6).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-27 03:01:19 +07:00
parent b33017a320
commit f49cda7cdc
10 changed files with 517 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
using System;
using UnityEngine;
[Serializable]
public struct ScoreResult
{
public int BaseScore;
public int FlatBonus;
public float Multiplier;
public int[] DiceValues;
public YachtCategory Category;
public int FinalScore => Mathf.FloorToInt((BaseScore + FlatBonus) * Multiplier);
public static ScoreResult Create(int baseScore, int[] diceValues, YachtCategory category)
{
return new ScoreResult
{
BaseScore = baseScore,
FlatBonus = 0,
Multiplier = 1f,
DiceValues = diceValues,
Category = category
};
}
}