Example_Macro_Slot_Boss
Server/EncounterManager/Example_Macro_Slot_Boss.json, 6.0 KB
Fields
| Field | Type |
|---|---|
Class | string |
Type | string |
StartState | string |
Debug | string |
Parameters | object |
Instructions | array[1] |
Source
{
"Class": "EncounterManager",
"Type": "Abstract",
"StartState": "Intro",
"Debug": "DisplayState,DisplayTarget",
"Parameters": {
"BossSpawnMarker": {
"Value": "Test_Boss_Marker",
"Description": "Boss spawn marker for spawning the boss."
},
"MainBossRole": {
"Value": "Test_Boss_Basic",
"Description": "Main boss role to switch to after intro. Intro is complete when the boss sends the Boss_In_Position beacon message."
},
"Phase1Behavior": {
"Value": "$Null",
"Description": "Macro element that decides what behavior to run in phase 1."
},
"Phase2Transition": {
"Value": "Encounter_Macro_Transition_TargetInHealthRange",
"Description": "Macro element that decides when the encounter should transition to phase 2."
},
"Phase2Behavior": {
"Value": "$Null",
"Description": "Macro element that decides what behavior to run in phase 2."
},
"Phase3Transition": {
"Value": "Encounter_Macro_Transition_TargetInHealthRange",
"Description": "Macro element that decides when the encounter should transition to phase 3."
},
"Phase3Behavior": {
"Value": "$Null",
"Description": "Macro element that decides what behavior to run in phase 3."
},
"EndTransition": {
"Value": "Encounter_Macro_Transition_TargetInHealthRange",
"Description": "Macro element that decides when the encounter should complete."
},
"EndBehavior": {
"Value": "$Null",
"Description": "Macro element that decides what behavior to run when the encounter completes."
}
},
"Instructions": [
{
"Sensor": {
"Type": "Player",
"Range": 30,
"Collector": {
"Type": "EncounterAudio"
}
},
"Instructions": [
{
"Sensor": {
"Type": "State",
"State": "Intro"
},
"Instructions": [
{
"Sensor": {
"Type": "And",
"Sensors": [
{
"Type": "Beacon",
"Range": 100,
"Message": "Boss_In_Position"
},
{
"Type": "Target",
"Range": 100,
"TargetSlot": "Boss"
}
]
},
"Actions": [
{
"Type": "ChangeTargetRole",
"Role": { "Compute": "MainBossRole" }
},
{
"Type": "State",
"State": "Phase_1"
}
]
},
{
"Sensor": {
"Type": "Not",
"Sensor": {
"Type": "Target",
"Range": 100,
"TargetSlot": "Boss"
}
},
"ActionsBlocking": true,
"Actions": [
{
"Type": "PlaySound",
"SoundEventId": "SFX_Test_Blip_A"
},
{
"Type": "Timeout",
"Delay": [ 1, 1 ]
},
{
"Type": "TriggerSpawners",
"Count": 1,
"Range": 30,
"SpawnMarker": { "Compute": "BossSpawnMarker" },
"TargetSlot": "Boss",
"Rebind": true
},
{
"Type": "Timeout",
"Delay": [ 2, 2 ]
}
]
}
]
},
{
"Sensor": {
"Type": "State",
"State": "Phase_1"
},
"Instructions": [
{
"Reference": { "Compute": "Phase1Behavior" },
"Interfaces": [ "Hytale.Instruction.Encounter.Phase.Behavior" ],
"AcceptsForward": true,
"Nullable": true
},
{
"Reference": { "Compute": "Phase2Transition" },
"Interfaces": [ "Hytale.Instruction.Encounter.Phase.Transition" ],
"AcceptsForward": true,
"Modify": {
"_ExportStates": [ "Phase_2" ]
}
}
]
},
{
"Sensor": {
"Type": "State",
"State": "Phase_2"
},
"Instructions": [
{
"Reference": { "Compute": "Phase2Behavior" },
"Interfaces": [ "Hytale.Instruction.Encounter.Phase.Behavior" ],
"AcceptsForward": true,
"Nullable": true
},
{
"Reference": { "Compute": "Phase3Transition" },
"Interfaces": [ "Hytale.Instruction.Encounter.Phase.Transition" ],
"AcceptsForward": true,
"Modify": {
"_ExportStates": [ "Phase_3" ]
}
}
]
},
{
"Sensor": {
"Type": "State",
"State": "Phase_3"
},
"Instructions": [
{
"Reference": { "Compute": "Phase3Behavior" },
"Interfaces": [ "Hytale.Instruction.Encounter.Phase.Behavior" ],
"AcceptsForward": true,
"Nullable": true
},
{
"Reference": { "Compute": "EndTransition" },
"Interfaces": [ "Hytale.Instruction.Encounter.Phase.Transition" ],
"AcceptsForward": true,
"Modify": {
"_ExportStates": [ "Completed" ]
}
}
]
},
{
"Sensor": {
"Type": "State",
"State": "Completed"
},
"Instructions": [
{
"Reference": { "Compute": "EndBehavior" },
"Interfaces": [ "Hytale.Instruction.Encounter.Phase.Behavior" ],
"AcceptsForward": true,
"Nullable": true
}
]
}
]
}
]
}