//全局事件 { "ID": 9991233, "Specials": { "turn": 0, //循环计数 "cycle": 0, //出生位置 "initPos1": 1, "initPos2": 1, "initPos3": 1, "initPos4": 1, //死亡重招做准备 "recover_pos1": 1, "recover_pos2": 1, "recover_pos3": 1, "recover_pos4": 1, //战斗 "BattleID": 0 }, "Events": { "OnHollowCreated": { "Actions": [ { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 50, "Actions": [ //6条路径的方向,正确表达 { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 50, "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.1001", "Value": 1 } ] }, { "Weight": 50, "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.1001", "Value": 0 } ] } ] }, { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 50, "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.1002", "Value": 1 } ] }, { "Weight": 50, "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.1002", "Value": 0 } ] } ] }, { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 50, "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.1003", "Value": 1 } ] }, { "Weight": 50, "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.1003", "Value": 0 } ] } ] }, { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 50, "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.1004", "Value": 1 } ] }, { "Weight": 50, "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.1004", "Value": 0 } ] } ] }, { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 50, "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.1005", "Value": 1 } ] }, { "Weight": 50, "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.1005", "Value": 0 } ] } ] }, { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 50, "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.1006", "Value": 1 } ] }, { "Weight": 50, "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.1006", "Value": 0 } ] } ] }, //初始出生位置1-3 { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": "25*specials(initPos1)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.1001", "Value": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 1 } ] }, { "Weight": "25*specials(initPos2)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.1001", "Value": 2 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 1 } ] }, { "Weight": "25*specials(initPos3)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.1001", "Value": 3 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 0 } ] }, { "Weight": "25*specials(initPos4)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.1001", "Value": 4 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 0 } ] } ] }, { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": "25*specials(initPos1)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.1002", "Value": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 1 } ] }, { "Weight": "25*specials(initPos2)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.1002", "Value": 2 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 1 } ] }, { "Weight": "25*specials(initPos3)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.1002", "Value": 3 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 0 } ] }, { "Weight": "25*specials(initPos4)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.1002", "Value": 4 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 0 } ] } ] }, { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": "25*specials(initPos1)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.1003", "Value": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 1 } ] }, { "Weight": "25*specials(initPos2)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.1003", "Value": 2 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 1 } ] }, { "Weight": "25*specials(initPos3)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.1003", "Value": 3 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 0 } ] }, { "Weight": "25*specials(initPos4)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.1003", "Value": 4 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 0 } ] } ] }, //重置initPos { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 1 }, //初始出生位置4-6 { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": "25*specials(initPos1)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.1004", "Value": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 1 } ] }, { "Weight": "25*specials(initPos2)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.1004", "Value": 2 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 1 } ] }, { "Weight": "25*specials(initPos3)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.1004", "Value": 3 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 0 } ] }, { "Weight": "25*specials(initPos4)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.1004", "Value": 4 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 0 } ] } ] }, { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": "25*specials(initPos1)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.1005", "Value": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 1 } ] }, { "Weight": "25*specials(initPos2)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.1005", "Value": 2 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 1 } ] }, { "Weight": "25*specials(initPos3)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.1005", "Value": 3 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 0 } ] }, { "Weight": "25*specials(initPos4)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.1005", "Value": 4 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 0 } ] } ] }, { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": "25*specials(initPos1)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.1006", "Value": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 1 } ] }, { "Weight": "25*specials(initPos2)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.1006", "Value": 2 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 1 } ] }, { "Weight": "25*specials(initPos3)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.1006", "Value": 3 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 0 } ] }, { "Weight": "25*specials(initPos4)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.1006", "Value": 4 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos1", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos2", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos3", "SpecialValue": 0 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "initPos4", "SpecialValue": 0 } ] } ] }, //巡逻速度 { "$type": "Share.CConfigSetHollowVariable", "Key": "Speed.1000", "Value": 2 }, { "$type": "Share.CConfigFinishEvent" } ] } ] } ] }, "OnStart": { "Actions": [ { "$type": "Share.CConfigFinishEvent" } ] }, "OnPlayerMove": { "Actions": [ { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 100, "Actions": [ //cycle复位 { "$type": "Share.CConfigSetSpecial", "SpecialName": "cycle", "SpecialValue": 0 }, //复位玩家踩过的路面 //【表现】左1,复位玩家踩过的路面 { "$type": "Share.CConfigSetMapState", "X": -1, "Y": 0, "Position": "Relative", "NodeType": "All", "Radius": 0, "Count": 1, "FromState": [ "Finished" ], "ToState": ["Locked"], "EventTypeTag": "PatrolArmy" }, //【表现】左2,复位玩家踩过的路面 { "$type": "Share.CConfigSetMapState", "X": -2, "Y": 0, "Position": "Relative", "NodeType": "All", "Radius": 0, "Count": 1, "FromState": [ "Finished" ], "ToState": ["Locked"], "EventTypeTag": "PatrolArmy" }, //【表现】右1,复位玩家踩过的路面 { "$type": "Share.CConfigSetMapState", "X": 1, "Y": 0, "Position": "Relative", "NodeType": "All", "Radius": 0, "Count": 1, "FromState": [ "Finished" ], "ToState": ["Locked"], "EventTypeTag": "PatrolArmy" }, //【表现】右2,复位玩家踩过的路面 { "$type": "Share.CConfigSetMapState", "X": 2, "Y": 0, "Position": "Relative", "NodeType": "All", "Radius": 0, "Count": 1, "FromState": [ "Finished" ], "ToState": ["Locked"], "EventTypeTag": "PatrolArmy" }, //【表现】右3,复位玩家踩过的路面 { "$type": "Share.CConfigSetMapState", "X": 3, "Y": 0, "Position": "Relative", "NodeType": "All", "Radius": 0, "Count": 1, "FromState": [ "Finished" ], "ToState": ["Locked"], "EventTypeTag": "PatrolArmy" }, //【表现】上1,复位玩家踩过的路面 { "$type": "Share.CConfigSetMapState", "X": 0, "Y": -1, "Position": "Relative", "NodeType": "All", "Radius": 0, "Count": 1, "FromState": [ "Finished" ], "ToState": ["Locked"], "EventTypeTag": "PatrolArmy" }, //【表现】下1,复位玩家踩过的路面 { "$type": "Share.CConfigSetMapState", "X": 0, "Y": 1, "Position": "Relative", "NodeType": "All", "Radius": 0, "Count": 1, "FromState": [ "Finished" ], "ToState": ["Locked"], "EventTypeTag": "PatrolArmy" }, { "$type": "Share.CConfigFinishEvent" } ] } ] } ] }, "OnEnd": { "Actions": [ { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 1000, "Actions": [ //清理玩家坐标 { "$type": "Share.CConfigSetHollowVariable", "Key": "PlayerR.1000", "Value": 0 }, { "$type": "Share.CConfigSetHollowVariable", "Key": "PlayerP.1000", "Value": 0 }, //重置位置标记 { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos1", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos2", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos3", "SpecialValue": 1 }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos4", "SpecialValue": 1 }, //如果已复活{Dead.100{specials(cycle)}}== -2,则重置{Dead.100{specials(cycle)}}=0 //cycle==0 { "$type": "Share.CConfigSetSpecial", "SpecialName": "cycle", "SpecialValue": 0 }, //cycle==1 { "$type": "Share.CConfigSetSpecial", "SpecialName": "cycle", "SpecialValue": "specials(cycle)+1" }, { "$type": "Share.CConfigSetHollowVariable", "Key": "Dead.100{specials(cycle)}", "Value": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": -2, "CompareType": "Equal" } ] }, //cycle==2 { "$type": "Share.CConfigSetSpecial", "SpecialName": "cycle", "SpecialValue": "specials(cycle)+1" }, { "$type": "Share.CConfigSetHollowVariable", "Key": "Dead.100{specials(cycle)}", "Value": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": -2, "CompareType": "Equal" } ] }, //cycle==3 { "$type": "Share.CConfigSetSpecial", "SpecialName": "cycle", "SpecialValue": "specials(cycle)+1" }, { "$type": "Share.CConfigSetHollowVariable", "Key": "Dead.100{specials(cycle)}", "Value": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": -2, "CompareType": "Equal" } ] }, //cycle==4 { "$type": "Share.CConfigSetSpecial", "SpecialName": "cycle", "SpecialValue": "specials(cycle)+1" }, { "$type": "Share.CConfigSetHollowVariable", "Key": "Dead.100{specials(cycle)}", "Value": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": -2, "CompareType": "Equal" } ] }, //cycle==5 { "$type": "Share.CConfigSetSpecial", "SpecialName": "cycle", "SpecialValue": "specials(cycle)+1" }, { "$type": "Share.CConfigSetHollowVariable", "Key": "Dead.100{specials(cycle)}", "Value": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": -2, "CompareType": "Equal" } ] }, //cycle==6 { "$type": "Share.CConfigSetSpecial", "SpecialName": "cycle", "SpecialValue": "specials(cycle)+1" }, { "$type": "Share.CConfigSetHollowVariable", "Key": "Dead.100{specials(cycle)}", "Value": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": -2, "CompareType": "Equal" } ] }, //【表现】强制完成脚下事件 { "$type": "Share.CConfigSetMapState", "X": 0, "Y": 0, "Position": "Relative", "NodeType": "All", "Radius": 0, "Count": 1, "FromState": [ "Locked", "Unlocked", "ShowEvent" ], "ToState": ["Finished"] }, //结束回合 { "$type": "Share.CConfigFinishEvent" } ] } ] } ] }, "OnTurn": { "Actions": [ { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 100, "Actions": [ //回合+1 { "$type": "Share.CConfigSetSpecial", "SpecialName": "turn", "SpecialValue": "specials(turn)+1" }, //禁行-1 { "$type": "Share.CConfigSetHollowVariable", "Key": "Patrol.1000", "Value": "scenevar(Patrol.1000)-1" }, //死亡重招,如果需要复活 //重置循环计数发生在OnPlayerMove //cycle=1 { "$type": "Share.CConfigSetSpecial", "SpecialName": "cycle", "SpecialValue": "specials(cycle)+1" }, //复活。如果Dead.100{specials(cycle)}==1,则立即复活,然后Dead.100{specials(cycle)}=-2,-2意味着这回合不执行巡逻(因为执行了复活逻辑) { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 100, "Actions": [ //排除玩家位置*如果玩家还在路上 { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos1", "SpecialValue": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerP.1000", "Count": 1, "CompareType": "Equal" }, { "$type": "Share.CConfigEventBySpecials", "ParamName": "cycle", "Param": "scenevar(PlayerR.1000)", "CompareType": "Equal" } ] }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos2", "SpecialValue": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerP.1000", "Count": 2, "CompareType": "Equal" }, { "$type": "Share.CConfigEventBySpecials", "ParamName": "cycle", "Param": "scenevar(PlayerR.1000)", "CompareType": "Equal" } ] }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos3", "SpecialValue": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerP.1000", "Count": 3, "CompareType": "Equal" }, { "$type": "Share.CConfigEventBySpecials", "ParamName": "cycle", "Param": "scenevar(PlayerR.1000)", "CompareType": "Equal" } ] }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos4", "SpecialValue": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerP.1000", "Count": 4, "CompareType": "Equal" }, { "$type": "Share.CConfigEventBySpecials", "ParamName": "cycle", "Param": "scenevar(PlayerR.1000)", "CompareType": "Equal" } ] }, //如果dead.100{specials(cycle)}==1,就在非玩家位置,进行复活 { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": "25*specials(recover_pos1)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 1 } ] }, { "Weight": "25*specials(recover_pos2)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 2 } ] }, { "Weight": "25*specials(recover_pos3)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 3 } ] }, { "Weight": "25*specials(recover_pos4)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 4 } ] } ] }, //完成复活后,dead.100{specials(cycle)}=-2,意思是此路本回合执行的是复活操作,不需要再执行巡逻 { "$type": "Share.CConfigSetHollowVariable", "Key": "Dead.100{specials(cycle)}", "Value": -2 }, //进行复活 { "$type": "Share.CConfigSetMapState", "X": "7+scenevar(Coord.1001)", "Y": 1, "Position": "Absolute", "NodeType": "All", "Radius": 0, "Count": 1, "FromState": [ "Locked", "Finished" ], "ToState": ["ShowEvent"], "EventTypeTag": "PatrolArmy" } ] } ], "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": 1, "CompareType": "Equal" } ] }, //等待复活。如果Dead.100{specials(cycle)}==2,则使Dead.100{specials(cycle}=1。为2意味着这回合刚死,将2变更为1,等待下回合复活 { "$type": "Share.CConfigSetHollowVariable", "Key": "Dead.100{specials(cycle)}", "Value": 1, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": 2, "CompareType": "Equal" } ] }, //cycle==2 { "$type": "Share.CConfigSetSpecial", "SpecialName": "cycle", "SpecialValue": "specials(cycle)+1" }, //复活+【表现】。如果Dead.100{specials(cycle)}==1,则立即复活,然后Dead.100{specials(cycle)}=-2,-2意味着这回合不执行巡逻(因为执行了复活逻辑) { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 100, "Actions": [ //排除玩家位置*如果玩家还在路上 { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos1", "SpecialValue": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerP.1000", "Count": 1, "CompareType": "Equal" }, { "$type": "Share.CConfigEventBySpecials", "ParamName": "cycle", "Param": "scenevar(PlayerR.1000)", "CompareType": "Equal" } ] }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos2", "SpecialValue": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerP.1000", "Count": 2, "CompareType": "Equal" }, { "$type": "Share.CConfigEventBySpecials", "ParamName": "cycle", "Param": "scenevar(PlayerR.1000)", "CompareType": "Equal" } ] }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos3", "SpecialValue": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerP.1000", "Count": 3, "CompareType": "Equal" }, { "$type": "Share.CConfigEventBySpecials", "ParamName": "cycle", "Param": "scenevar(PlayerR.1000)", "CompareType": "Equal" } ] }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos4", "SpecialValue": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerP.1000", "Count": 4, "CompareType": "Equal" }, { "$type": "Share.CConfigEventBySpecials", "ParamName": "cycle", "Param": "scenevar(PlayerR.1000)", "CompareType": "Equal" } ] }, //进行复活 { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": "25*specials(recover_pos1)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 1 } ] }, { "Weight": "25*specials(recover_pos2)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 2 } ] }, { "Weight": "25*specials(recover_pos3)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 3 } ] }, { "Weight": "25*specials(recover_pos4)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 4 } ] } ] }, { "$type": "Share.CConfigSetHollowVariable", "Key": "Dead.100{specials(cycle)}", "Value": -2 }, { "$type": "Share.CConfigSetMapState", "X": "7+scenevar(Coord.1002)", "Y": 2, "Position": "Absolute", "NodeType": "All", "Radius": 0, "Count": 1, "FromState": [ "Locked", "Finished" ], "ToState": ["ShowEvent"], "EventTypeTag": "PatrolArmy" } ] } ], "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": 1, "CompareType": "Equal" } ] }, //等待复活。如果Dead.100{specials(cycle)}==2,则使Dead.100{specials(cycle}=1。为2意味着这回合刚死,将2变更为1,等待下回合复活 { "$type": "Share.CConfigSetHollowVariable", "Key": "Dead.100{specials(cycle)}", "Value": 1, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": 2, "CompareType": "Equal" } ] }, //cycle==3 { "$type": "Share.CConfigSetSpecial", "SpecialName": "cycle", "SpecialValue": "specials(cycle)+1" }, //复活+【表现】。如果Dead.100{specials(cycle)}==1,则立即复活,然后Dead.100{specials(cycle)}=-2,-2意味着这回合不执行巡逻(因为执行了复活逻辑) { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 100, "Actions": [ //排除玩家位置*如果玩家还在路上 { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos1", "SpecialValue": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerP.1000", "Count": 1, "CompareType": "Equal" }, { "$type": "Share.CConfigEventBySpecials", "ParamName": "cycle", "Param": "scenevar(PlayerR.1000)", "CompareType": "Equal" } ] }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos2", "SpecialValue": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerP.1000", "Count": 2, "CompareType": "Equal" }, { "$type": "Share.CConfigEventBySpecials", "ParamName": "cycle", "Param": "scenevar(PlayerR.1000)", "CompareType": "Equal" } ] }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos3", "SpecialValue": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerP.1000", "Count": 3, "CompareType": "Equal" }, { "$type": "Share.CConfigEventBySpecials", "ParamName": "cycle", "Param": "scenevar(PlayerR.1000)", "CompareType": "Equal" } ] }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos4", "SpecialValue": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerP.1000", "Count": 4, "CompareType": "Equal" }, { "$type": "Share.CConfigEventBySpecials", "ParamName": "cycle", "Param": "scenevar(PlayerR.1000)", "CompareType": "Equal" } ] }, //进行复活 { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": "25*specials(recover_pos1)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 1 } ] }, { "Weight": "25*specials(recover_pos2)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 2 } ] }, { "Weight": "25*specials(recover_pos3)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 3 } ] }, { "Weight": "25*specials(recover_pos4)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 4 } ] } ] }, { "$type": "Share.CConfigSetHollowVariable", "Key": "Dead.100{specials(cycle)}", "Value": -2 }, { "$type": "Share.CConfigSetMapState", "X": "7+scenevar(Coord.1003)", "Y": 3, "Position": "Absolute", "NodeType": "All", "Radius": 0, "Count": 1, "FromState": [ "Locked", "Finished" ], "ToState": ["ShowEvent"], "EventTypeTag": "PatrolArmy" } ] } ], "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": 1, "CompareType": "Equal" } ] }, //等待复活。如果Dead.100{specials(cycle)}==2,则使Dead.100{specials(cycle}=1。为2意味着这回合刚死,将2变更为1,等待下回合复活 { "$type": "Share.CConfigSetHollowVariable", "Key": "Dead.100{specials(cycle)}", "Value": 1, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": 2, "CompareType": "Equal" } ] }, //cycle==4 { "$type": "Share.CConfigSetSpecial", "SpecialName": "cycle", "SpecialValue": "specials(cycle)+1" }, //复活+【表现】。如果Dead.100{specials(cycle)}==1,则立即复活,然后Dead.100{specials(cycle)}=-2,-2意味着这回合不执行巡逻(因为执行了复活逻辑) { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 100, "Actions": [ //排除玩家位置*如果玩家还在路上 { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos1", "SpecialValue": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerP.1000", "Count": 1, "CompareType": "Equal" }, { "$type": "Share.CConfigEventBySpecials", "ParamName": "cycle", "Param": "scenevar(PlayerR.1000)", "CompareType": "Equal" } ] }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos2", "SpecialValue": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerP.1000", "Count": 2, "CompareType": "Equal" }, { "$type": "Share.CConfigEventBySpecials", "ParamName": "cycle", "Param": "scenevar(PlayerR.1000)", "CompareType": "Equal" } ] }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos3", "SpecialValue": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerP.1000", "Count": 3, "CompareType": "Equal" }, { "$type": "Share.CConfigEventBySpecials", "ParamName": "cycle", "Param": "scenevar(PlayerR.1000)", "CompareType": "Equal" } ] }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos4", "SpecialValue": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerP.1000", "Count": 4, "CompareType": "Equal" }, { "$type": "Share.CConfigEventBySpecials", "ParamName": "cycle", "Param": "scenevar(PlayerR.1000)", "CompareType": "Equal" } ] }, //进行复活 { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": "25*specials(recover_pos1)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 1 } ] }, { "Weight": "25*specials(recover_pos2)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 2 } ] }, { "Weight": "25*specials(recover_pos3)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 3 } ] }, { "Weight": "25*specials(recover_pos4)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 4 } ] } ] }, { "$type": "Share.CConfigSetHollowVariable", "Key": "Dead.100{specials(cycle)}", "Value": -2 }, { "$type": "Share.CConfigSetMapState", "X": "12+scenevar(Coord.1004)", "Y": 1, "Position": "Absolute", "NodeType": "All", "Radius": 0, "Count": 1, "FromState": [ "Locked", "Finished" ], "ToState": ["ShowEvent"], "EventTypeTag": "PatrolArmy" } ] } ], "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": 1, "CompareType": "Equal" } ] }, //等待复活。如果Dead.100{specials(cycle)}==2,则使Dead.100{specials(cycle}=1。为2意味着这回合刚死,将2变更为1,等待下回合复活 { "$type": "Share.CConfigSetHollowVariable", "Key": "Dead.100{specials(cycle)}", "Value": 1, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": 2, "CompareType": "Equal" } ] }, //cycle==5 { "$type": "Share.CConfigSetSpecial", "SpecialName": "cycle", "SpecialValue": "specials(cycle)+1" }, //复活+【表现】。如果Dead.100{specials(cycle)}==1,则立即复活,然后Dead.100{specials(cycle)}=-2,-2意味着这回合不执行巡逻(因为执行了复活逻辑) { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 100, "Actions": [ //排除玩家位置*如果玩家还在路上 { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos1", "SpecialValue": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerP.1000", "Count": 1, "CompareType": "Equal" }, { "$type": "Share.CConfigEventBySpecials", "ParamName": "cycle", "Param": "scenevar(PlayerR.1000)", "CompareType": "Equal" } ] }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos2", "SpecialValue": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerP.1000", "Count": 2, "CompareType": "Equal" }, { "$type": "Share.CConfigEventBySpecials", "ParamName": "cycle", "Param": "scenevar(PlayerR.1000)", "CompareType": "Equal" } ] }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos3", "SpecialValue": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerP.1000", "Count": 3, "CompareType": "Equal" }, { "$type": "Share.CConfigEventBySpecials", "ParamName": "cycle", "Param": "scenevar(PlayerR.1000)", "CompareType": "Equal" } ] }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos4", "SpecialValue": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerP.1000", "Count": 4, "CompareType": "Equal" }, { "$type": "Share.CConfigEventBySpecials", "ParamName": "cycle", "Param": "scenevar(PlayerR.1000)", "CompareType": "Equal" } ] }, //进行复活 { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": "25*specials(recover_pos1)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 1 } ] }, { "Weight": "25*specials(recover_pos2)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 2 } ] }, { "Weight": "25*specials(recover_pos3)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 3 } ] }, { "Weight": "25*specials(recover_pos4)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 4 } ] } ] }, { "$type": "Share.CConfigSetHollowVariable", "Key": "Dead.100{specials(cycle)}", "Value": -2 }, { "$type": "Share.CConfigSetMapState", "X": "12+scenevar(Coord.1005)", "Y": 2, "Position": "Absolute", "NodeType": "All", "Radius": 0, "Count": 1, "FromState": [ "Locked", "Finished" ], "ToState": ["ShowEvent"], "EventTypeTag": "PatrolArmy" } ] } ], "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": 1, "CompareType": "Equal" } ] }, //等待复活。如果Dead.100{specials(cycle)}==2,则使Dead.100{specials(cycle}=1。为2意味着这回合刚死,将2变更为1,等待下回合复活 { "$type": "Share.CConfigSetHollowVariable", "Key": "Dead.100{specials(cycle)}", "Value": 1, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": 2, "CompareType": "Equal" } ] }, //cycle==6 { "$type": "Share.CConfigSetSpecial", "SpecialName": "cycle", "SpecialValue": "specials(cycle)+1" }, //复活+【表现】。如果Dead.100{specials(cycle)}==1,则立即复活,然后Dead.100{specials(cycle)}=-2,-2意味着这回合不执行巡逻(因为执行了复活逻辑) { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 100, "Actions": [ //排除玩家位置*如果玩家还在路上 { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos1", "SpecialValue": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerP.1000", "Count": 1, "CompareType": "Equal" }, { "$type": "Share.CConfigEventBySpecials", "ParamName": "cycle", "Param": "scenevar(PlayerR.1000)", "CompareType": "Equal" } ] }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos2", "SpecialValue": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerP.1000", "Count": 2, "CompareType": "Equal" }, { "$type": "Share.CConfigEventBySpecials", "ParamName": "cycle", "Param": "scenevar(PlayerR.1000)", "CompareType": "Equal" } ] }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos3", "SpecialValue": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerP.1000", "Count": 3, "CompareType": "Equal" }, { "$type": "Share.CConfigEventBySpecials", "ParamName": "cycle", "Param": "scenevar(PlayerR.1000)", "CompareType": "Equal" } ] }, { "$type": "Share.CConfigSetSpecial", "SpecialName": "recover_pos4", "SpecialValue": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerP.1000", "Count": 4, "CompareType": "Equal" }, { "$type": "Share.CConfigEventBySpecials", "ParamName": "cycle", "Param": "scenevar(PlayerR.1000)", "CompareType": "Equal" } ] }, //进行复活 { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": "25*specials(recover_pos1)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 1 } ] }, { "Weight": "25*specials(recover_pos2)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 2 } ] }, { "Weight": "25*specials(recover_pos3)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 3 } ] }, { "Weight": "25*specials(recover_pos4)", "Actions": [ { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 4 } ] } ] }, { "$type": "Share.CConfigSetHollowVariable", "Key": "Dead.100{specials(cycle)}", "Value": -2 }, { "$type": "Share.CConfigSetMapState", "X": "12+scenevar(Coord.1006)", "Y": 3, "Position": "Absolute", "NodeType": "All", "Radius": 0, "Count": 1, "FromState": [ "Locked", "Finished" ], "ToState": ["ShowEvent"], "EventTypeTag": "PatrolArmy" } ] } ], "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": 1, "CompareType": "Equal" } ] }, //等待复活。如果Dead.100{specials(cycle)}==2,则使Dead.100{specials(cycle}=1。为2意味着这回合刚死,将2变更为1,等待下回合复活 { "$type": "Share.CConfigSetHollowVariable", "Key": "Dead.100{specials(cycle)}", "Value": 1, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": 2, "CompareType": "Equal" } ] } ] } ] }, //是否轮到巡逻回合,轮到则进行巡逻,否则处理完复活相关逻辑就结束此回合 //回合数turn>={scenevar(Speed.1000)} and 禁止巡逻{Patrol.1000}<=0 ? PatorlLoop : OnEnd { "$type": "Share.CConfigIf", "OnSuccess": "PatrolLoop", "OnFailure": "OnEnd", "Conditions": [ { "$type": "Share.CConfigEventBySpecials", "ParamName": "turn", "Param": "scenevar(Speed.1000)", "CompareType": "GreaterEqual" }, { "$type": "Share.CConfigEventByHollowVariable", "Key": "Patrol.1000", "Count": 0, "CompareType": "LessEqual" } ] } ] }, "PatrolLoop": { "Actions": [ { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 100, "Actions": [ //cycle==0,重置循环计数 { "$type": "Share.CConfigSetSpecial", "SpecialName": "cycle", "SpecialValue": 0 }, //cycle==1 { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 100, "Actions": [ //cycle+=1 { "$type": "Share.CConfigSetSpecial", "SpecialName": "cycle", "SpecialValue": "specials(cycle)+1" }, //如果是永久死亡{Dead.100{specials(cycle)}}== -1 ,则敌军移动方向不存在{Direct.100{specials(cycle)}}= 99 { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.100{specials(cycle)}", "Value": 99, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": -1, "CompareType": "Equal" } ] }, //如果是等待复活{Dead.100{specials(cycle)}}== 1 ,则敌军出生位置不存在{Coord.100{specials(cycle)}}= 99,设置为99的目的是无论{Direct.100{specials(cycle)}}当前是升序还是降序,执行巡逻逻辑后(本回合),敌军出生位置依然不存在 { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 99, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": 1, "CompareType": "Equal" } ] }, //更改巡逻方向 //如果当前敌军位于路径右侧{Coord.100{specials(cycle)}}== 4,方向变为向左(降序){Direct.100{specials(cycle)}} = 0 { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.100{specials(cycle)}", "Value": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Coord.100{specials(cycle)}", "Count": 4, "CompareType": "Equal" } ] }, //如果当前敌军位于路径左侧{Coord.100{specials(cycle)}}== 1,方向变为向右(升序){Direct.100{specials(cycle)}} = 1 { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.100{specials(cycle)}", "Value": 1, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Coord.100{specials(cycle)}", "Count": 1, "CompareType": "Equal" } ] }, //执行巡逻【数值】;条件:按照向左执行(降序){Direct.100{specials(cycle)}} == 0;当前敌军存活{Dead.100{specials(cycle)}} == 0;而且能够巡逻(由策略事件决定){Move.100{specials(cycle)}} == 0 { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": "scenevar(Coord.100{specials(cycle)})-1", "Predicates": [ //没死 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": 0, "CompareType": "Equal" }, //方向要对 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Direct.100{specials(cycle)}", "Count": 0, "CompareType": "Equal" }, { "$type": "Share.CConfigEventByHollowVariable", "Key": "Move.100{specials(cycle)}", "Count": 0, "CompareType": "Equal" } ] }, //执行巡逻【数值】;条件:按照向右执行(升序){Direct.100{specials(cycle)}} == 1;当前敌军存活{Dead.100{specials(cycle)}} == 0;而且能够巡逻(由策略事件决定){Move.100{specials(cycle)}} == 0 { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": "scenevar(Coord.100{specials(cycle)})+1", "Predicates": [ //没死 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": 0, "CompareType": "Equal" }, //方向要对 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Direct.100{specials(cycle)}", "Count": 1, "CompareType": "Equal" }, { "$type": "Share.CConfigEventByHollowVariable", "Key": "Move.100{specials(cycle)}", "Count": 0, "CompareType": "Equal" } ] } ] } ] }, //cycle==2 { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 100, "Actions": [ //cycle+=1 { "$type": "Share.CConfigSetSpecial", "SpecialName": "cycle", "SpecialValue": "specials(cycle)+1" }, //如果是永久死亡{Dead.100{specials(cycle)}}== -1 ,则敌军移动方向不存在{Direct.100{specials(cycle)}}= 99 { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.100{specials(cycle)}", "Value": 99, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": -1, "CompareType": "Equal" } ] }, //如果是等待复活{Dead.100{specials(cycle)}}== 1 ,则敌军出生位置不存在{Coord.100{specials(cycle)}}= 99,设置为99的目的是无论{Direct.100{specials(cycle)}}当前是升序还是降序,执行巡逻逻辑后(本回合),敌军出生位置依然不存在 { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 99, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": 1, "CompareType": "Equal" } ] }, //更改巡逻方向 //如果当前敌军位于路径右侧{Coord.100{specials(cycle)}}== 4,方向变为向左(降序){Direct.100{specials(cycle)}} = 0 { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.100{specials(cycle)}", "Value": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Coord.100{specials(cycle)}", "Count": 4, "CompareType": "Equal" } ] }, //如果当前敌军位于路径左侧{Coord.100{specials(cycle)}}== 1,方向变为向右(升序){Direct.100{specials(cycle)}} = 1 { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.100{specials(cycle)}", "Value": 1, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Coord.100{specials(cycle)}", "Count": 1, "CompareType": "Equal" } ] }, //执行巡逻【数值】;条件:按照向左执行(降序){Direct.100{specials(cycle)}} == 0;当前敌军存活{Dead.100{specials(cycle)}} == 0;而且能够巡逻(由策略事件决定){Move.100{specials(cycle)}} == 0 { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": "scenevar(Coord.100{specials(cycle)})-1", "Predicates": [ //没死 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{scenevar{specials(cycle)}", "Count": 0, "CompareType": "Equal" }, //方向要对 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Direct.100{specials(cycle)}", "Count": 0, "CompareType": "Equal" }, { "$type": "Share.CConfigEventByHollowVariable", "Key": "Move.100{specials(cycle)}", "Count": 0, "CompareType": "Equal" } ] }, //执行巡逻【数值】;条件:按照向右执行(升序){Direct.100{specials(cycle)}} == 1;当前敌军存活{Dead.100{specials(cycle)}} == 0;而且能够巡逻(由策略事件决定){Move.100{specials(cycle)}} == 0 { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": "scenevar(Coord.100{specials(cycle)})+1", "Predicates": [ //没死 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{scenevar{specials(cycle)}", "Count": 0, "CompareType": "Equal" }, //方向要对 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Direct.100{specials(cycle)}", "Count": 1, "CompareType": "Equal" }, { "$type": "Share.CConfigEventByHollowVariable", "Key": "Move.100{specials(cycle)}", "Count": 0, "CompareType": "Equal" } ] } ] } ] }, //cycle==3 { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 100, "Actions": [ //cycle+=1 { "$type": "Share.CConfigSetSpecial", "SpecialName": "cycle", "SpecialValue": "specials(cycle)+1" }, //如果是永久死亡{Dead.100{specials(cycle)}}== -1 ,则敌军移动方向不存在{Direct.100{specials(cycle)}}= 99 { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.100{specials(cycle)}", "Value": 99, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": -1, "CompareType": "Equal" } ] }, //如果是等待复活{Dead.100{specials(cycle)}}== 1 ,则敌军出生位置不存在{Coord.100{specials(cycle)}}= 99,设置为99的目的是无论{Direct.100{specials(cycle)}}当前是升序还是降序,执行巡逻逻辑后(本回合),敌军出生位置依然不存在 { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 99, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": 1, "CompareType": "Equal" } ] }, //更改巡逻方向 //如果当前敌军位于路径右侧{Coord.100{specials(cycle)}}== 4,方向变为向左(降序){Direct.100{specials(cycle)}} = 0 { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.100{specials(cycle)}", "Value": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Coord.100{specials(cycle)}", "Count": 4, "CompareType": "Equal" } ] }, //如果当前敌军位于路径左侧{Coord.100{specials(cycle)}}== 1,方向变为向右(升序){Direct.100{specials(cycle)}} = 1 { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.100{specials(cycle)}", "Value": 1, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Coord.100{specials(cycle)}", "Count": 1, "CompareType": "Equal" } ] }, //执行巡逻【数值】;条件:按照向左执行(降序){Direct.100{specials(cycle)}} == 0;当前敌军存活{Dead.100{specials(cycle)}} == 0;而且能够巡逻(由策略事件决定){Move.100{specials(cycle)}} == 0 { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": "scenevar(Coord.100{specials(cycle)})-1", "Predicates": [ //没死 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{scenevar{specials(cycle)}", "Count": 0, "CompareType": "Equal" }, //方向要对 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Direct.100{specials(cycle)}", "Count": 0, "CompareType": "Equal" }, { "$type": "Share.CConfigEventByHollowVariable", "Key": "Move.100{specials(cycle)}", "Count": 0, "CompareType": "Equal" } ] }, //执行巡逻【数值】;条件:按照向右执行(升序){Direct.100{specials(cycle)}} == 1;当前敌军存活{Dead.100{specials(cycle)}} == 0;而且能够巡逻(由策略事件决定){Move.100{specials(cycle)}} == 0 { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": "scenevar(Coord.100{specials(cycle)})+1", "Predicates": [ //没死 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{scenevar{specials(cycle)}", "Count": 0, "CompareType": "Equal" }, //方向要对 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Direct.100{specials(cycle)}", "Count": 1, "CompareType": "Equal" }, { "$type": "Share.CConfigEventByHollowVariable", "Key": "Move.100{specials(cycle)}", "Count": 0, "CompareType": "Equal" } ] } ] } ] }, //cycle==4 { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 100, "Actions": [ //cycle+=1 { "$type": "Share.CConfigSetSpecial", "SpecialName": "cycle", "SpecialValue": "specials(cycle)+1" }, //如果是永久死亡{Dead.100{specials(cycle)}}== -1 ,则敌军移动方向不存在{Direct.100{specials(cycle)}}= 99 { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.100{specials(cycle)}", "Value": 99, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": -1, "CompareType": "Equal" } ] }, //如果是等待复活{Dead.100{specials(cycle)}}== 1 ,则敌军出生位置不存在{Coord.100{specials(cycle)}}= 99,设置为99的目的是无论{Direct.100{specials(cycle)}}当前是升序还是降序,执行巡逻逻辑后(本回合),敌军出生位置依然不存在 { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 99, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": 1, "CompareType": "Equal" } ] }, //更改巡逻方向 //如果当前敌军位于路径右侧{Coord.100{specials(cycle)}}== 4,方向变为向左(降序){Direct.100{specials(cycle)}} = 0 { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.100{specials(cycle)}", "Value": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Coord.100{specials(cycle)}", "Count": 4, "CompareType": "Equal" } ] }, //如果当前敌军位于路径左侧{Coord.100{specials(cycle)}}== 1,方向变为向右(升序){Direct.100{specials(cycle)}} = 1 { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.100{specials(cycle)}", "Value": 1, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Coord.100{specials(cycle)}", "Count": 1, "CompareType": "Equal" } ] }, //执行巡逻【数值】;条件:按照向左执行(降序){Direct.100{specials(cycle)}} == 0;当前敌军存活{Dead.100{specials(cycle)}} == 0;而且能够巡逻(由策略事件决定){Move.100{specials(cycle)}} == 0 { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": "scenevar(Coord.100{specials(cycle)})-1", "Predicates": [ //没死 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{scenevar{specials(cycle)}", "Count": 0, "CompareType": "Equal" }, //方向要对 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Direct.100{specials(cycle)}", "Count": 0, "CompareType": "Equal" }, { "$type": "Share.CConfigEventByHollowVariable", "Key": "Move.100{specials(cycle)}", "Count": 0, "CompareType": "Equal" } ] }, //执行巡逻【数值】;条件:按照向右执行(升序){Direct.100{specials(cycle)}} == 1;当前敌军存活{Dead.100{specials(cycle)}} == 0;而且能够巡逻(由策略事件决定){Move.100{specials(cycle)}} == 0 { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": "scenevar(Coord.100{specials(cycle)})+1", "Predicates": [ //没死 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{scenevar{specials(cycle)}", "Count": 0, "CompareType": "Equal" }, //方向要对 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Direct.100{specials(cycle)}", "Count": 1, "CompareType": "Equal" }, { "$type": "Share.CConfigEventByHollowVariable", "Key": "Move.100{specials(cycle)}", "Count": 0, "CompareType": "Equal" } ] } ] } ] }, //cycle==5 { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 100, "Actions": [ //cycle+=1 { "$type": "Share.CConfigSetSpecial", "SpecialName": "cycle", "SpecialValue": "specials(cycle)+1" }, //如果是永久死亡{Dead.100{specials(cycle)}}== -1 ,则敌军移动方向不存在{Direct.100{specials(cycle)}}= 99 { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.100{specials(cycle)}", "Value": 99, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": -1, "CompareType": "Equal" } ] }, //如果是等待复活{Dead.100{specials(cycle)}}== 1 ,则敌军出生位置不存在{Coord.100{specials(cycle)}}= 99,设置为99的目的是无论{Direct.100{specials(cycle)}}当前是升序还是降序,执行巡逻逻辑后(本回合),敌军出生位置依然不存在 { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 99, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": 1, "CompareType": "Equal" } ] }, //更改巡逻方向 //如果当前敌军位于路径右侧{Coord.100{specials(cycle)}}== 4,方向变为向左(降序){Direct.100{specials(cycle)}} = 0 { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.100{specials(cycle)}", "Value": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Coord.100{specials(cycle)}", "Count": 4, "CompareType": "Equal" } ] }, //如果当前敌军位于路径左侧{Coord.100{specials(cycle)}}== 1,方向变为向右(升序){Direct.100{specials(cycle)}} = 1 { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.100{specials(cycle)}", "Value": 1, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Coord.100{specials(cycle)}", "Count": 1, "CompareType": "Equal" } ] }, //执行巡逻【数值】;条件:按照向左执行(降序){Direct.100{specials(cycle)}} == 0;当前敌军存活{Dead.100{specials(cycle)}} == 0;而且能够巡逻(由策略事件决定){Move.100{specials(cycle)}} == 0 { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": "scenevar(Coord.100{specials(cycle)})-1", "Predicates": [ //没死 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{scenevar{specials(cycle)}", "Count": 0, "CompareType": "Equal" }, //方向要对 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Direct.100{specials(cycle)}", "Count": 0, "CompareType": "Equal" }, { "$type": "Share.CConfigEventByHollowVariable", "Key": "Move.100{specials(cycle)}", "Count": 0, "CompareType": "Equal" } ] }, //执行巡逻【数值】;条件:按照向右执行(升序){Direct.100{specials(cycle)}} == 1;当前敌军存活{Dead.100{specials(cycle)}} == 0;而且能够巡逻(由策略事件决定){Move.100{specials(cycle)}} == 0 { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": "scenevar(Coord.100{specials(cycle)})+1", "Predicates": [ //没死 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{scenevar{specials(cycle)}", "Count": 0, "CompareType": "Equal" }, //方向要对 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Direct.100{specials(cycle)}", "Count": 1, "CompareType": "Equal" }, { "$type": "Share.CConfigEventByHollowVariable", "Key": "Move.100{specials(cycle)}", "Count": 0, "CompareType": "Equal" } ] } ] } ] }, //cycle==6 { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 100, "Actions": [ //cycle+=1 { "$type": "Share.CConfigSetSpecial", "SpecialName": "cycle", "SpecialValue": "specials(cycle)+1" }, //如果是永久死亡{Dead.100{specials(cycle)}}== -1 ,则敌军移动方向不存在{Direct.100{specials(cycle)}}= 99 { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.100{specials(cycle)}", "Value": 99, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": -1, "CompareType": "Equal" } ] }, //如果是等待复活{Dead.100{specials(cycle)}}== 1 ,则敌军出生位置不存在{Coord.100{specials(cycle)}}= 99,设置为99的目的是无论{Direct.100{specials(cycle)}}当前是升序还是降序,执行巡逻逻辑后(本回合),敌军出生位置依然不存在 { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": 99, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{specials(cycle)}", "Count": 1, "CompareType": "Equal" } ] }, //更改巡逻方向 //如果当前敌军位于路径右侧{Coord.100{specials(cycle)}}== 4,方向变为向左(降序){Direct.100{specials(cycle)}} = 0 { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.100{specials(cycle)}", "Value": 0, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Coord.100{specials(cycle)}", "Count": 4, "CompareType": "Equal" } ] }, //如果当前敌军位于路径左侧{Coord.100{specials(cycle)}}== 1,方向变为向右(升序){Direct.100{specials(cycle)}} = 1 { "$type": "Share.CConfigSetHollowVariable", "Key": "Direct.100{specials(cycle)}", "Value": 1, "Predicates": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Coord.100{specials(cycle)}", "Count": 1, "CompareType": "Equal" } ] }, //执行巡逻【数值】;条件:按照向左执行(降序){Direct.100{specials(cycle)}} == 0;当前敌军存活{Dead.100{specials(cycle)}} == 0;而且能够巡逻(由策略事件决定){Move.100{specials(cycle)}} == 0 { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": "scenevar(Coord.100{specials(cycle)})-1", "Predicates": [ //没死 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{scenevar{specials(cycle)}", "Count": 0, "CompareType": "Equal" }, //方向要对 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Direct.100{specials(cycle)}", "Count": 0, "CompareType": "Equal" }, { "$type": "Share.CConfigEventByHollowVariable", "Key": "Move.100{specials(cycle)}", "Count": 0, "CompareType": "Equal" } ] }, //执行巡逻【数值】;条件:按照向右执行(升序){Direct.100{specials(cycle)}} == 1;当前敌军存活{Dead.100{specials(cycle)}} == 0;而且能够巡逻(由策略事件决定){Move.100{specials(cycle)}} == 0 { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{specials(cycle)}", "Value": "scenevar(Coord.100{specials(cycle)})+1", "Predicates": [ //没死 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{scenevar{specials(cycle)}", "Count": 0, "CompareType": "Equal" }, //方向要对 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Direct.100{specials(cycle)}", "Count": 1, "CompareType": "Equal" }, { "$type": "Share.CConfigEventByHollowVariable", "Key": "Move.100{specials(cycle)}", "Count": 0, "CompareType": "Equal" } ] } ] } ] }, //【表现】巡逻完成,更改脚底图标,为可能的战斗做准备 { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 100, "Actions": [ //【表现】盖上所有,如何避免玩家脚底下的事件被影响? { "$type": "Share.CConfigSetMapState", "X": 0, "Y": 0, "Position": "Relative", "NodeType": "All", "Radius": 11, "Count": 24, "FromState": [ "ShowEvent" ], "ToState": ["Locked"], "EventTypeTag": "PatrolArmy" }, //【表现】巡逻 //路径1-3 { //路径1-3 "$type": "Share.CConfigSetMapState", "X": "7+scenevar(Coord.1001)", "Y": 1, "Position": "Absolute", "NodeType": "All", "Radius": 0, "Count": 1, "FromState": [ "Locked", "Finished" ], "ToState": ["ShowEvent"], "EventTypeTag": "PatrolArmy" }, { "$type": "Share.CConfigSetMapState", "X": "7+scenevar(Coord.1002)", "Y": 2, "Position": "Absolute", "NodeType": "All", "Radius": 0, "Count": 1, "FromState": [ "Locked", "Finished" ], "ToState": ["ShowEvent"], "EventTypeTag": "PatrolArmy" }, { "$type": "Share.CConfigSetMapState", "X": "7+scenevar(Coord.1003)", "Y": 3, "Position": "Absolute", "NodeType": "All", "Radius": 0, "Count": 1, "FromState": [ "Locked", "Finished" ], "ToState": ["ShowEvent"], "EventTypeTag": "PatrolArmy" }, //路径4-6 { "$type": "Share.CConfigSetMapState", "X": "12+scenevar(Coord.1004)", "Y": 1, "Position": "Absolute", "NodeType": "All", "Radius": 0, "Count": 1, "FromState": [ "Locked", "Finished" ], "ToState": ["ShowEvent"], "EventTypeTag": "PatrolArmy" }, { "$type": "Share.CConfigSetMapState", "X": "12+scenevar(Coord.1005)", "Y": 2, "Position": "Absolute", "NodeType": "All", "Radius": 0, "Count": 1, "FromState": [ "Locked", "Finished" ], "ToState": ["ShowEvent"], "EventTypeTag": "PatrolArmy" }, { "$type": "Share.CConfigSetMapState", "X": "12+scenevar(Coord.1006)", "Y": 3, "Position": "Absolute", "NodeType": "All", "Radius": 0, "Count": 1, "FromState": [ "Locked", "Finished" ], "ToState": ["ShowEvent"], "EventTypeTag": "PatrolArmy" } ] } ] } ] } ] }, //此路敌军存活(而且不算刚复活){Dead.100{scenevar(PlayerR.1000)}} == 0,且敌军位置与玩家位置重合{Coord.100{scenevar(PlayerR.1000)}}=={scenevar(PlayerP.1000)},同时玩家应该处于战斗区域{PlayerR.1000} != 0 ? TriggerBattle : Clear { "$type": "Share.CConfigIf", "OnSuccess": "TriggerBattle", "OnFailure": "Clear", "Conditions": [ //敌军位置与玩家位置重合 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Coord.100{scenevar(PlayerR.1000)}", "Count": "scenevar(PlayerP.1000)", "CompareType": "Equal" }, //玩家处于战斗区域 { "$type": "Share.CConfigEventByHollowVariable", "Key": "PlayerR.1000", "Count": 0, "CompareType": "NotEqual" }, //敌军存活 { "$type": "Share.CConfigEventByHollowVariable", "Key": "Dead.100{scenevar(PlayerR.1000)}", "Count": 0, "CompareType": "Equal" } ] } ] }, "TriggerBattle": { "Actions": [ //Kill.1000 == 1 ? OnEliteBattle : OnNormalBattle,在策略事件中修改此变量 { "$type": "Share.CConfigIf", "OnSuccess": "OnEliteBattle", "OnFailure": "OnNormalBattle", "Conditions": [ { "$type": "Share.CConfigEventByHollowVariable", "Key": "Kill.1000", "Count": 1, "CompareType": "Equal" } ] } ] }, "OnNormalBattle": { "Actions": [ //文本提示 { "$type": "Share.CConfigOpenDialog" }, { "$type": "Share.CConfigLogText", "Messages": [ "JsonText_1382" // 被发现了!准备进入战斗 ] }, { "$type":"Share.CConfigDropBattleID", "Type":[20], "SpecialName":"BattleID" }, //触发战斗 { "$type": "Share.CConfigTriggerBattle", "BattleID": "specials(BattleID)", "OnSuccess": "OnNormalEnd", "OnFailure": "OnNormalEnd" } ] }, "OnEliteBattle": { "Actions": [ //文本提示 { "$type": "Share.CConfigOpenDialog" }, { "$type": "Share.CConfigLogText", "Messages": [ "JsonText_1383" // 由于白噪音的刺激,敌人被激怒了,做好准备! ] }, { "$type":"Share.CConfigDropBattleID", "Type":[22], "SpecialName":"BattleID" }, //触发战斗 { "$type": "Share.CConfigTriggerBattle", "BattleID": "specials(BattleID)", "OnSuccess": "OnEliteEnd" } ] }, "OnNormalEnd": { "Actions": [ { "$type": "Share.CConfigLogText", "Messages": [ "JsonText_1384" // 战斗的动静太大,附近似乎也有敌人被引了过来! ] }, { "$type": "Share.CConfigCloseDialog" }, //等待复活标记{Dead.100{scenevar(PlayerR.1000)}} = 1 { "$type": "Share.CConfigSetHollowVariable", "Key": "Dead.100{scenevar(PlayerR.1000)}", "Value": 1 }, //敌军从地图上撤退{Coord.100{scenevar(PlayerR.1000)}} = 99 { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{scenevar(PlayerR.1000)}", "Value": 99 }, //统一收尾——战斗、精英战斗、无战斗 { "$type": "Share.CConfigJump", "Jump": "Clear" } ] }, "OnEliteEnd": { "Actions": [ //重置触发关键变量{Kill.1000} = 0 { "$type": "Share.CConfigSetHollowVariable", "Key": "Kill.1000", "Value": 0 }, //永久死亡{Dead.100{scenevar(PlayerR.1000)}} = -1 { "$type": "Share.CConfigSetHollowVariable", "Key": "Dead.100{scenevar(PlayerR.1000)}", "Value": -1 }, { "$type": "Share.CConfigLogText", "Messages": [ "JsonText_1385" // 由于破损邦布发出的定向扰乱信号,周围敌人并没有注意到这边的动静 ] }, { "$type": "Share.CConfigCloseDialog" }, //永久无法复活操作 { "$type": "Share.CConfigSetHollowVariable", "Key": "Coord.100{scenevar(PlayerR.1000)}", "Value": 99 }, //统一收尾——战斗、精英战斗、无战斗 { "$type": "Share.CConfigJump", "Jump": "Clear" } ] }, "Clear": { "Actions": [ { "$type": "Share.CConfigSwitchServer", "Switch": [ { "Weight": 50, "Actions": [ //重置循环指针 { "$type": "Share.CConfigSetSpecial", "SpecialName": "cycle", "SpecialValue": 0 }, //回合重新计算 { "$type": "Share.CConfigSetSpecial", "SpecialName": "turn", "SpecialValue": 0 }, //统一结束逻辑——巡逻、非巡逻 { "$type": "Share.CConfigJump", "Jump": "OnEnd" } ] } ] } ] } } }