Files
HEROLL/design/gameplay-validation/specs/data-contracts.csv
T

19 lines
2.5 KiB
CSV
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
contract,typescript_field,csv_file,csv_column,parse_rule,validation,error_policy,source_tag
RunState,floor,floor-balance.csv,floor,"int 1..10","1<=floor<=10",reject_checkpoint,VALIDATION_ADDED
RunState,points,shop-offers.csv,price,"signed int transaction result","points>=0",rollback_command,VALIDATION_ADDED
RngStreamState,algorithm,none,none,"literal xoshiro128ss","state has 4 uint32",reject_checkpoint,VALIDATION_ADDED
RngStreamState,index,technical_log,rngIndex,"uint64 serialized as decimal string","monotonic per stream",reject_checkpoint,VALIDATION_ADDED
DdaState,sourceConditions,gameconfig.csv,dynamicDifficultyCondition,"int[3] 5|8|12","exact source array",force_tier0,SOURCE_CONFIRMED
DdaState,sourceValues,gameconfig.csv,dynamicDifficultyValue,"int[6] 10|15|20|5|5|5","exact source array",force_tier0,SOURCE_CONFIRMED
DiceRoll,dieA|dieB,none,none,"diceRng int inclusive 1..6","36 ordered outcomes equal",abort_roll,VALIDATION_ADDED
BattleSnapshot,enemies,floor-balance.csv|monsterinfo.csv,combat columns,"base × prefab × dda","finite nonnegative stats",abort_battle,SOURCE_CONFIRMED
GearInstance,catalogId,gear-catalog.csv,catalog_id,int foreign key,"exactly 40 valid ids",reject_reward,SOURCE_CONFIRMED
GearInstance,statusId|value,gear-status.csv,status_id|base_min|base_max|plus_value,"uniform base + plus×rank","finite and display precision",reject_reward,VALIDATION_ADDED
BlessingInstance,blessingId,blessings.csv,blessing_id,string foreign key,"exactly 32 ids",reject_reward,SOURCE_CONFIRMED
PotionState,countLevel|healLevel|healAmount,potions.csv,level|value,"lookup HEAL_LEVEL value as flat HP","count 1..10 healAmount 50..650",reject_purchase,SOURCE_CONFIRMED
BossGaugeState,enabled|runtimeGauge|mode|playerRolls|countdownRemaining,stage-boss-rules.csv,bossSpawnRule|bossSpawnRuleValue,"enabled only for DiceGauge; gauge clamp 0..100; BUILDUP 0..2 then COUNTDOWN 4..0","stage0 enabled=false; DiceGauge increment=50 and 2+4 observed cycle",reject_checkpoint,RUNTIME_OBSERVED
ShopState,fixedOfferIds|randomOfferIds,shop-offers.csv,offer_id,"eligible filtered sample","3 fixed + <=3 random unique",rollback_reroll,SOURCE_CONFIRMED
EventInstance,tileId,events.csv,tile_id,"int or MERCHANT","known event and legal tile",rollback_install,SOURCE_CONFIRMED
RewardBoostTransaction,placementId,reward-boosts.csv,placement_id,string foreign key,"event placement matches",reject_transaction,VALIDATION_ADDED
Checkpoint,checksum,none,none,"SHA-256 canonical JSON without checksum","64 lowercase hex",load_backup,VALIDATION_ADDED