# 戰鬥資料結構
###### tags: `機制設計`
## 整場戰鬥資料
(暫定)
```json=
{
"stoneInitialState": {
"attackerStones": [<Stone>],
"defenderStones": [<Stone>],
},
"actions" : [<Action>],
//"MyStoneNewState" : [<石頭資料>]
}
```
## 單次攻擊
// (1204討論結果)
1219修正
- 我先依照原本的風格用小駝峰 --- [name=Mibudin]
<!--
```json=
// one skill
{
"TimeStamp" : <number>,
"AttackerInfo" :
{
"AttackerID" : <number>,
"SkillID" : <number>,
"HpChange" : [<number>] // 攻擊者每回合的血量變化
},
"DefenserInfo" : // 存成陣列,因為可能有很多石頭
[{
"DefenserID": <number>,
"DefenserReaction":
[{
"ReactID" : <number>, // 防禦者對於攻擊動作的回應
"HpChange": <number> // 血量變化
}]
}]
}
```
-->
```
ballteRecord = [skillRecord]
```
```javascript=
Action: {
timeStamp: <number>, // unix timestamp : long, $int64
casterID: <number>,
casterSkillID: <number>,
hits: [<hit>]
}
```
```javascript=
Hit: {
casterHPChange: <number>,
isSkillCritical: <bool>,
recevierActions: [<RecevierAction>]
}
```
```javascript=
RecevierAction: {
reciverID: <number>,
defenserSkillID: <number>,
recierHPChange: <number>,
}
```