1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-05-20 17:37:44 +00:00
sapphire/data/EncounterTimelines/IfritNormal.json
Tahir 75a2fcbb63 reference conditions globally in timeline
- add PhaseActive and GetAction conditions
- refactor ifrit to use controller
2024-06-24 22:45:06 +01:00

1082 lines
No EOL
29 KiB
JSON

{
"actors": [
{
"hp": 13884,
"id": 1,
"layoutId": 4126276,
"name": "Ifrit",
"phases": [
{
"description": "",
"id": 1,
"name": "Auto-attack",
"timepoints": [
{
"data": {
"actionId": 872,
"selectorIndex": 0,
"selectorName": "<unset>",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit",
"targetType": "target"
},
"description": "Auto attack",
"duration": 2500,
"type": "castAction"
}
]
},
{
"description": "",
"id": 2,
"name": "Phase 1",
"timepoints": [
{
"data": {
"actionId": 453,
"selectorIndex": 0,
"selectorName": "<unset>",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit",
"targetType": "target"
},
"description": "Incinerate > VB > Incinerate > Incinerate",
"duration": 8000,
"type": "castAction"
},
{
"data": {
"actionId": 454,
"selectorIndex": 0,
"selectorName": "Vulcan Burst",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit",
"targetType": "self"
},
"description": "VB",
"duration": 8000,
"type": "castAction"
},
{
"data": {
"actionId": 453,
"selectorIndex": 0,
"selectorName": "<unset>",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit",
"targetType": "target"
},
"description": "Incinerate",
"duration": 8000,
"type": "castAction"
},
{
"data": {
"actionId": 453,
"selectorIndex": 0,
"selectorName": "<unset>",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit",
"targetType": "target"
},
"description": "Incinerate",
"duration": 8000,
"type": "castAction"
}
]
},
{
"description": "",
"id": 3,
"name": "Phase 2 Start",
"timepoints": [
{
"data": {
"bgmId": 163
},
"description": "",
"duration": 0,
"type": "setBGM"
},
{
"data": {
"battleTalkId": 2939,
"handlerActorName": "Ifrit",
"kind": 1,
"nameId": 2961,
"params": [
0
],
"talkerActorName": "Ifrit"
},
"description": "Succumb to the inferno",
"duration": 1500,
"type": "battleTalk"
},
{
"data": {
"actionId": 453,
"selectorIndex": 0,
"selectorName": "<unset>",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit",
"targetType": "target"
},
"description": "Incinerate",
"duration": 8000,
"type": "castAction"
},
{
"data": {
"actionId": 454,
"selectorIndex": 0,
"selectorName": "<unset>",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit",
"targetType": "self"
},
"description": "Vulcan Burst",
"duration": 8000,
"type": "castAction"
},
{
"data": {
"conditionId": 4,
"conditionStr": "If Ifrit has 51% < HP < 70%, loop Ifrit->Phase 2 Main",
"enabled": true
},
"description": "",
"duration": 5000,
"type": "setCondition"
}
]
},
{
"description": "",
"id": 4,
"name": "Phase 2 Main",
"timepoints": [
{
"data": {
"actionId": 453,
"selectorIndex": 0,
"selectorName": "<unset>",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit",
"targetType": "target"
},
"description": "Incinerate",
"duration": 8000,
"type": "castAction"
},
{
"data": {
"selectorName": "Eruption",
"sourceActor": "Ifrit"
},
"description": "",
"duration": 0,
"type": "snapshot"
},
{
"data": {
"actionId": 455,
"selectorIndex": 0,
"selectorName": "Eruption",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit",
"targetType": "self"
},
"description": "Eruption",
"duration": 0,
"type": "castAction"
},
{
"data": {
"conditionId": 11,
"conditionStr": "If Ifrit casts Action#455, loop Ifrit Control->Eruption",
"enabled": true
},
"description": "",
"duration": 8000,
"type": "setCondition"
}
]
},
{
"description": "",
"id": 5,
"name": "Nail Spawn",
"timepoints": [
{
"data": {
"battleTalkId": 2939,
"handlerActorName": "Ifrit",
"kind": 1,
"nameId": 2961,
"params": [
0
],
"talkerActorName": "Ifrit"
},
"description": "Surrender thyself to the fires of judgment",
"duration": 5000,
"type": "battleTalk"
},
{
"data": {
"flags": 19,
"hateSource": {
"hateType": "<to-be-defined>",
"source": "<to-de-befined>"
},
"spawnActor": "Ifrit Nail 1"
},
"description": "",
"duration": 1500,
"type": "bNpcSpawn"
},
{
"data": {
"conditionId": 6,
"conditionStr": "If Ifrit state is Combat, loop Ifrit->Phase 1",
"enabled": true
},
"description": "",
"duration": 0,
"type": "setCondition"
},
{
"data": {},
"description": "",
"duration": 36000,
"type": "idle"
},
{
"data": {
"conditionId": 8,
"conditionStr": "If Ifrit state is Combat, push Ifrit->Hellfire",
"enabled": true
},
"description": "",
"duration": 0,
"type": "setCondition"
}
]
},
{
"description": "",
"id": 7,
"name": "Hellfire",
"timepoints": [
{
"data": {
"despawnActor": "Ifrit Nail 1"
},
"description": "Despawn nail if up",
"duration": 0,
"type": "bNpcDespawn"
},
{
"data": {
"conditionId": 7,
"conditionStr": "If Ifrit Nail 1 state is Dead, push Ifrit->Hellfire",
"enabled": false
},
"description": "",
"duration": 0,
"type": "setCondition"
},
{
"data": {
"conditionId": 6,
"conditionStr": "If Ifrit state is Combat, loop Ifrit->Phase 1",
"enabled": false
},
"description": "",
"duration": 0,
"type": "setCondition"
},
{
"data": {
"actorName": "Ifrit",
"pos": [
0,
0,
0
],
"rot": 0
},
"description": "",
"duration": 2000,
"type": "setPos"
},
{
"data": {
"flags": 119,
"targetActor": ""
},
"description": "",
"duration": 3000,
"type": "bNpcFlags"
},
{
"data": {
"actionId": 458,
"selectorIndex": 0,
"selectorName": "<unset>",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit",
"targetType": "self"
},
"description": "",
"duration": 2500,
"type": "castAction"
},
{
"data": {
"actorName": "Ifrit",
"pos": [
0,
-10,
0
],
"rot": 0
},
"description": "",
"duration": 8000,
"type": "setPos"
},
{
"data": {
"flags": 16,
"targetActor": ""
},
"description": "",
"duration": 0,
"type": "bNpcFlags"
},
{
"data": {
"conditionId": 9,
"conditionStr": "If Ifrit state is Combat, loop Ifrit->Final Phase",
"enabled": true
},
"description": "Enable final phase",
"duration": 0,
"type": "setCondition"
}
]
},
{
"description": "",
"id": 6,
"name": "Final Phase",
"timepoints": [
{
"data": {
"actionId": 455,
"selectorIndex": 0,
"selectorName": "<unset>",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit",
"targetType": "self"
},
"description": "Eruption telegraph",
"duration": 8000,
"type": "castAction"
},
{
"data": {
"actionId": 453,
"selectorIndex": 0,
"selectorName": "<unset>",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit",
"targetType": "target"
},
"description": "Incinerate Final Phase",
"duration": 8000,
"type": "castAction"
},
{
"data": {
"actionId": 456,
"selectorIndex": 0,
"selectorName": "<unset>",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit",
"targetType": "self"
},
"description": "Plumes telegraph",
"duration": 0,
"type": "castAction"
},
{
"data": {
"conditionId": 12,
"conditionStr": "If Ifrit->Final Phase is active, push Ifrit Control->Plumes Loop",
"enabled": true
},
"description": "",
"duration": 16000,
"type": "setCondition"
}
]
},
{
"description": "",
"id": 8,
"name": "Reset",
"timepoints": [
{
"data": {
"flags": 16,
"targetActor": ""
},
"description": "",
"duration": 0,
"type": "bNpcFlags"
},
{
"data": {},
"description": "todo: despawn subactors and anything else spawned in phases",
"duration": 5000,
"type": "idle"
}
]
}
],
"subactors": [],
"type": "bnpc"
},
{
"hp": 445,
"id": 2,
"layoutId": 4126284,
"name": "Ifrit Control",
"phases": [
{
"description": "",
"id": 1,
"name": "Eruption",
"timepoints": [
{
"data": {
"selectorName": "Eruption",
"sourceActor": "Ifrit Control <subactor 1>"
},
"description": "",
"duration": 0,
"type": "snapshot"
},
{
"data": {
"actionId": 733,
"selectorIndex": 0,
"selectorName": "Eruption",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit Control <subactor 1>",
"targetType": "selector"
},
"description": "Subactor 1 Eruption",
"duration": 8000,
"type": "castAction"
}
]
},
{
"description": "",
"id": 2,
"name": "Plumes Loop",
"timepoints": [
{
"data": {
"actorName": "Ifrit Control <subactor 1>",
"pos": [
-10,
0,
10
],
"rot": 0
},
"description": "Move plumes",
"duration": 0,
"type": "setPos"
},
{
"data": {
"actorName": "Ifrit Control <subactor 2>",
"pos": [
-10,
0,
-10
],
"rot": 0
},
"description": "",
"duration": 0,
"type": "setPos"
},
{
"data": {
"actorName": "Ifrit Control <subactor 3>",
"pos": [
10,
0,
10
],
"rot": 0
},
"description": "",
"duration": 0,
"type": "setPos"
},
{
"data": {
"actorName": "Ifrit Control <subactor 4>",
"pos": [
10,
0,
-10
],
"rot": 0
},
"description": "",
"duration": 0,
"type": "setPos"
},
{
"data": {
"actionId": 734,
"selectorIndex": 0,
"selectorName": "<unset>",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit Control <subactor 1>",
"targetType": "self"
},
"description": "Cast plumes",
"duration": 0,
"type": "castAction"
},
{
"data": {
"actionId": 734,
"selectorIndex": 0,
"selectorName": "<unset>",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit Control <subactor 2>",
"targetType": "self"
},
"description": "",
"duration": 0,
"type": "castAction"
},
{
"data": {
"actionId": 734,
"selectorIndex": 0,
"selectorName": "<unset>",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit Control <subactor 3>",
"targetType": "self"
},
"description": "",
"duration": 0,
"type": "castAction"
},
{
"data": {
"actionId": 734,
"selectorIndex": 0,
"selectorName": "<unset>",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit Control <subactor 4>",
"targetType": "self"
},
"description": "",
"duration": 4000,
"type": "castAction"
},
{
"data": {
"actorName": "Ifrit Control <subactor 1>",
"pos": [
0,
0,
-20
],
"rot": 0
},
"description": "Move plumes out",
"duration": 0,
"type": "setPos"
},
{
"data": {
"actorName": "Ifrit Control <subactor 2>",
"pos": [
0,
0,
20
],
"rot": 0
},
"description": "",
"duration": 0,
"type": "setPos"
},
{
"data": {
"actorName": "Ifrit Control <subactor 3>",
"pos": [
-20,
0,
0
],
"rot": 0
},
"description": "",
"duration": 0,
"type": "setPos"
},
{
"data": {
"actorName": "Ifrit Control <subactor 4>",
"pos": [
-20,
0,
20
],
"rot": 0
},
"description": "",
"duration": 0,
"type": "setPos"
},
{
"data": {
"actorName": "Ifrit Control <subactor 5>",
"pos": [
-15,
0,
15
],
"rot": 0
},
"description": "",
"duration": 0,
"type": "setPos"
},
{
"data": {
"actorName": "Ifrit Control <subactor 6>",
"pos": [
-15,
0,
-15
],
"rot": 0
},
"description": "",
"duration": 0,
"type": "setPos"
},
{
"data": {
"actorName": "Ifrit Control <subactor 7>",
"pos": [
15,
0,
-15
],
"rot": 0
},
"description": "",
"duration": 0,
"type": "setPos"
},
{
"data": {
"actorName": "Ifrit Control <subactor 8>",
"pos": [
15,
0,
15
],
"rot": 0
},
"description": "",
"duration": 200,
"type": "setPos"
},
{
"data": {
"actionId": 734,
"selectorIndex": 0,
"selectorName": "<unset>",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit Control <subactor 1>",
"targetType": "self"
},
"description": "Cast plumes out",
"duration": 0,
"type": "castAction"
},
{
"data": {
"actionId": 734,
"selectorIndex": 0,
"selectorName": "<unset>",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit Control <subactor 2>",
"targetType": "self"
},
"description": "",
"duration": 0,
"type": "castAction"
},
{
"data": {
"actionId": 734,
"selectorIndex": 0,
"selectorName": "<unset>",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit Control <subactor 3>",
"targetType": "self"
},
"description": "",
"duration": 0,
"type": "castAction"
},
{
"data": {
"actionId": 734,
"selectorIndex": 0,
"selectorName": "<unset>",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit Control <subactor 4>",
"targetType": "self"
},
"description": "",
"duration": 0,
"type": "castAction"
},
{
"data": {
"actionId": 734,
"selectorIndex": 0,
"selectorName": "<unset>",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit Control <subactor 5>",
"targetType": "self"
},
"description": "",
"duration": 0,
"type": "castAction"
},
{
"data": {
"actionId": 734,
"selectorIndex": 0,
"selectorName": "<unset>",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit Control <subactor 6>",
"targetType": "self"
},
"description": "",
"duration": 0,
"type": "castAction"
},
{
"data": {
"actionId": 734,
"selectorIndex": 0,
"selectorName": "<unset>",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit Control <subactor 7>",
"targetType": "self"
},
"description": "",
"duration": 0,
"type": "castAction"
},
{
"data": {
"actionId": 734,
"selectorIndex": 0,
"selectorName": "<unset>",
"snapshot": false,
"snapshotTime": 0,
"sourceActor": "Ifrit Control <subactor 8>",
"targetType": "self"
},
"description": "",
"duration": 0,
"type": "castAction"
}
]
},
{
"description": "",
"id": 3,
"name": "Setup",
"timepoints": [
{
"data": {},
"description": "",
"duration": 5000,
"type": "idle"
}
]
}
],
"subactors": [
"Ifrit Control <subactor 1>",
"Ifrit Control <subactor 2>",
"Ifrit Control <subactor 3>",
"Ifrit Control <subactor 4>",
"Ifrit Control <subactor 5>",
"Ifrit Control <subactor 6>",
"Ifrit Control <subactor 7>",
"Ifrit Control <subactor 8>"
],
"type": "bnpc"
},
{
"hp": 445,
"id": 3,
"layoutId": 4126281,
"name": "Ifrit Nail 1",
"phases": [
{
"description": "",
"id": 1,
"name": "Phase 1",
"timepoints": []
}
],
"subactors": [],
"type": "bnpc"
}
],
"conditions": [
{
"condition": "combatState",
"description": "",
"enabled": true,
"id": 10,
"loop": false,
"paramData": {
"combatState": 0,
"sourceActor": "Ifrit"
},
"targetActor": "Ifrit",
"targetPhase": "Reset"
},
{
"condition": "combatState",
"description": "",
"enabled": false,
"id": 1,
"loop": true,
"paramData": {
"combatState": 1,
"sourceActor": "Ifrit"
},
"targetActor": "Ifrit",
"targetPhase": "Auto-attack"
},
{
"condition": "hpPctBetween",
"description": "",
"enabled": true,
"id": 2,
"loop": true,
"paramData": {
"hpMax": 100,
"hpMin": 71,
"sourceActor": "Ifrit"
},
"targetActor": "Ifrit",
"targetPhase": "Phase 1"
},
{
"condition": "hpPctBetween",
"description": "",
"enabled": true,
"id": 3,
"loop": false,
"paramData": {
"hpMax": 71,
"hpMin": 50,
"sourceActor": "Ifrit"
},
"targetActor": "Ifrit",
"targetPhase": "Phase 2 Start"
},
{
"condition": "hpPctBetween",
"description": "",
"enabled": false,
"id": 4,
"loop": true,
"paramData": {
"hpMax": 70,
"hpMin": 50,
"sourceActor": "Ifrit"
},
"targetActor": "Ifrit",
"targetPhase": "Phase 2 Main"
},
{
"condition": "hpPctBetween",
"description": "",
"enabled": true,
"id": 5,
"loop": false,
"paramData": {
"hpMax": 50,
"hpMin": 0,
"sourceActor": "Ifrit"
},
"targetActor": "Ifrit",
"targetPhase": "Nail Spawn"
},
{
"condition": "combatState",
"description": "",
"enabled": false,
"id": 6,
"loop": true,
"paramData": {
"combatState": 1,
"sourceActor": "Ifrit"
},
"targetActor": "Ifrit",
"targetPhase": "Phase 1"
},
{
"condition": "combatState",
"description": "",
"enabled": true,
"id": 7,
"loop": false,
"paramData": {
"combatState": 5,
"sourceActor": "Ifrit Nail 1"
},
"targetActor": "Ifrit",
"targetPhase": "Hellfire"
},
{
"condition": "combatState",
"description": "",
"enabled": false,
"id": 8,
"loop": false,
"paramData": {
"combatState": 1,
"sourceActor": "Ifrit"
},
"targetActor": "Ifrit",
"targetPhase": "Hellfire"
},
{
"condition": "combatState",
"description": "",
"enabled": false,
"id": 9,
"loop": true,
"paramData": {
"combatState": 1,
"sourceActor": "Ifrit"
},
"targetActor": "Ifrit",
"targetPhase": "Final Phase"
},
{
"condition": "getAction",
"description": "",
"enabled": true,
"id": 11,
"loop": true,
"paramData": {
"actionId": 455,
"sourceActor": "Ifrit"
},
"targetActor": "Ifrit Control",
"targetPhase": "Eruption"
},
{
"condition": "phaseActive",
"description": "",
"enabled": false,
"id": 12,
"loop": false,
"paramData": {
"phaseName": "Final Phase",
"sourceActor": "Ifrit"
},
"targetActor": "Ifrit Control",
"targetPhase": "Plumes Loop"
},
{
"condition": "combatState",
"description": "",
"enabled": true,
"id": 13,
"loop": false,
"paramData": {
"combatState": 1,
"sourceActor": "Ifrit"
},
"targetActor": "Ifrit Control",
"targetPhase": "Setup"
}
],
"name": "Brand new timeline",
"selectors": [
{
"count": 1,
"description": "",
"excludeSelectorName": "",
"fillRandomEntries": true,
"filters": [
{
"negate": true,
"param": 0,
"type": "topAggro"
}
],
"id": 1,
"name": "Eruption"
}
],
"version": 8
}