/*%FSM*/ /*%FSM*/ /* item0[] = {"Init",0,250,-63.537106,-304.001923,26.462904,-254.002228,0.000000,"Init"}; item1[] = {"End",1,250,-182.368073,-113.480629,-92.368042,-63.480659,0.000000,"End"}; item2[] = {"Gameover",4,218,-182.650177,-187.482422,-92.650192,-137.482452,0.000000,"Gameover"}; item3[] = {"_",8,218,-34.448154,-230.434799,-2.642141,-207.859543,0.000000,""}; item4[] = {"Town_Core",2,250,-63.405182,-187.376434,26.594841,-137.376434,0.000000,"Town Core"}; item5[] = {"Time_Supply",4,218,53.706718,-187.309784,143.706726,-137.309799,0.000000,"Time" \n "Supply"}; item6[] = {"Empty",4,218,-182.574295,-36.908699,-92.574234,13.091309,0.000000,"Empty"}; item7[] = {"Not_Empty",4,218,-64.729942,42.105545,25.270105,92.105507,0.000000,"Not Empty"}; item8[] = {"Normal_Supply",4,218,-63.477135,-114.415787,26.522726,-64.415848,0.000000,"Normal" \n "Supply"}; item9[] = {"Check",2,250,-64.187141,-36.072510,25.812870,13.927521,0.000000,"Check"}; item10[] = {"Time_Supply",2,250,54.842167,-111.734596,144.842194,-61.734596,0.000000,"Time Supply"}; item11[] = {"_",8,218,84.156120,-22.145014,115.962143,0.430260,0.000000,""}; item12[] = {"_",2,250,-300.613251,-37.831039,-210.613235,12.168960,0.000000,""}; item13[] = {"",7,210,-260.014130,-223.295425,-252.014069,-215.295425,0.000000,""}; item14[] = {"Town_Advanced",2,4346,-67.838142,416.225128,22.161905,466.225098,0.000000,"Town Advanced"}; item15[] = {"Captured",4,218,48.796371,416.225128,138.796494,466.225098,0.000000,"Captured"}; item16[] = {"Skip",4,218,-302.480042,416.225128,-212.479980,466.225159,0.000000,"Skip"}; item17[] = {"Captured",2,250,169.032181,416.024658,259.032227,466.024719,0.000000,"Captured"}; item18[] = {"",7,210,210.899033,-223.047119,218.899048,-215.047119,0.000000,""}; item19[] = {"Pick_Capture_Mod",2,250,-64.359787,111.495216,25.640230,161.495224,0.000000,"Pick Capture" \n "Mode"}; item20[] = {"Threshold",4,218,-66.673355,182.056427,23.326881,232.056427,0.000000,"Threshold"}; item21[] = {"Classic",4,218,-182.347382,110.338463,-92.347397,160.338455,0.000000,"Classic"}; item22[] = {"Set_Classic",2,250,-182.257019,253.936035,-92.256966,303.936127,0.000000,"Set Classic"}; item23[] = {"Set_Threshold",2,250,-66.763634,253.774261,23.236481,303.774231,0.000000,"Set Threshold"}; item24[] = {"_",8,218,-37.573990,342.842560,-4.796462,363.201202,0.000000,""}; item25[] = {"All_Camps",4,218,58.254791,111.494164,148.254791,161.494156,0.000000,"All Camps"}; item26[] = {"Set_All_Camps",2,250,58.345169,254.115845,148.345154,304.115936,0.000000,"Set All Camps"}; link0[] = {0,3}; link1[] = {2,1}; link2[] = {3,4}; link3[] = {4,2}; link4[] = {4,5}; link5[] = {4,8}; link6[] = {5,10}; link7[] = {6,12}; link8[] = {7,19}; link9[] = {8,9}; link10[] = {9,6}; link11[] = {9,7}; link12[] = {10,11}; link13[] = {11,9}; link14[] = {12,13}; link15[] = {13,3}; link16[] = {14,15}; link17[] = {14,16}; link18[] = {15,17}; link19[] = {16,12}; link20[] = {17,18}; link21[] = {18,3}; link22[] = {19,20}; link23[] = {19,21}; link24[] = {19,25}; link25[] = {20,23}; link26[] = {21,22}; link27[] = {22,24}; link28[] = {23,24}; link29[] = {24,14}; link30[] = {25,26}; link31[] = {26,24}; globals[] = {0.000000,0,0,0,0,640,480,1,62,6316128,1,-329.233032,316.761841,541.239014,-274.360809,518,624,1}; window[] = {0,-1,-1,-1,-1,944,175,1435,175,1,536}; *//*%FSM*/ class FSM { fsmName = "updatetown"; class States { /*%FSM*/ class Init { name = "Init"; init = /*%FSM*/"_lastUpdate = -10;" \n "" \n "_location = _this select 0;" \n "_detectionRange = _this select 1;" \n "_name = Str _location;" \n "" \n "_startingSupplyValue = _location getVariable ""startingSupplyValue"";" \n "_maxSupplyValue = _location getVariable ""maxSupplyValue"";" \n "_timeAttacked = time - 60;" \n "_activeEnemies = 0;" \n "_force = 0;" \n "_lastUp = 0;" \n "_mccr = 'WFBE_MAXCAMPCAPTURERATE' Call GetNamespace;" \n "_ss = 'WFBE_SUPPLYSYSTEM' Call GetNamespace;" \n "_ssi = 'WFBE_SUPPLYSYSTEMINCREASETIME' Call GetNamespace;" \n "_tcr = 'WFBE_TOWNCAPTURERANGE' Call GetNamespace;" \n "_tcrate = 'WFBE_TOWNCAPTURERATE' Call GetNamespace;" \n "_tcmode = 'WFBE_TOWNCONQUESTMODE' Call GetNamespace;" \n "" \n "_delay = 5;" \n "_awaits = _delay;" \n "" \n "_tcm = 'WFBE_TOWNCAPTUREMODE' Call GetNamespace;" \n "if (_tcm == 1) then {_tcr = 'WFBE_TOWNCAPTURERANGETHRESHOLD' Call GetNamespace };//--- Threshold Mode." \n "" \n "_timeSupply = if (_ss == 1) then {true} else {false};" \n "" \n "_defenses = _location NearEntities['WFBE_RESISTANCEDEFENSENAMES' Call GetNamespace,_detectionRange];"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class _ { priority = 0.000000; to="Town_Core"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"time - _lastUpdate > _awaits"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class End { name = "End"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { }; }; /*%FSM*/ /*%FSM*/ class Town_Core { name = "Town_Core"; init = /*%FSM*/"_lastUpdate = time + random (0.2);" \n "" \n "_sideID = _location getVariable ""sideID"";" \n "_objects = _location nearEntities[[eastSoldierBaseClass,westSoldierBaseClass,resistanceSoldierBaseClass,""Car"",""Motorcycle"",""Tank"",""Air""],_tcr];" \n "" \n "_awaits = (_delay) Call GetSleepFPS;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Time_Supply { priority = 0.000000; to="Time_Supply"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"_timeSupply && !gameOver"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Normal_Supply { priority = 0.000000; to="Check"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!_timeSupply && !gameOver"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Gameover { priority = 0.000000; to="End"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"gameOver"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Check { name = "Check"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Not_Empty { priority = 0.000000; to="Pick_Capture_Mod"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"count _objects > 0"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Empty { priority = 0.000000; to="_"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"count _objects == 0"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Time_Supply { name = "Time_Supply"; init = /*%FSM*/"_objects = _location NearEntities[[eastSoldierBaseClass,westSoldierBaseClass,resistanceSoldierBaseClass,""Car"",""Motorcycle"",""Tank"",""Air""],(_tcr*2)];" \n "_objects = (_objects Call GetLiveUnits) unitsBelowHeight 200;" \n "_side = _sideID Call GetSideFromID;" \n "_activeEnemies = (East countSide _objects) + (Resistance countSide _objects);" \n "if (_side == East) then {_activeEnemies = (West countSide _objects) + (Resistance countSide _objects)};" \n "if (_sideID != RESISTANCEID && _activeEnemies == 0) then {" \n " _lastUp = _lastUp + 5;" \n " if (_lastUp >= _ssi) then {" \n " _lastUp = 0;" \n " _upgrades = (str _side) Call GetSideUpgrades;" \n " _increaseOf = (Format[""WFBE_SUPPLYSYSTEMINCREASE%1"",_upgrades select 6] Call GetNamespace);" \n " _supplyValue = _location getVariable ""supplyValue"";" \n " _supplyValue = _supplyValue + _increaseOf;" \n " if (_supplyValue > _maxSupplyValue) then {_supplyValue = _maxSupplyValue};" \n " _location setVariable [""supplyValue"",_supplyValue,true];" \n " };" \n "};"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class _ { priority = 0.000000; to="Check"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/""/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class _ { name = "_"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class _ { priority = 0.000000; to="Town_Core"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"time - _lastUpdate > _awaits"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Town_Advanced { name = "Town_Advanced"; init = /*%FSM*/"if !(_skip) then {" \n " if (_tcmode > 0) then {" \n " if (_west > 0 && !(_location getVariable ""wfbe_cancap_w"")) then {_west = 0};" \n " if (_east > 0 && !(_location getVariable ""wfbe_cancap_e"")) then {_east = 0};" \n " };" \n "" \n " _rate = _tcrate;" \n " if (_east > 0) then {_rate = _tcrate * ([_location,East] Call GetTotalCampsOnSide) / (_location Call GetTotalCamps) * _mccr};" \n " if (_west > 0) then {_rate = _tcrate * ([_location,West] Call GetTotalCampsOnSide) / (_location Call GetTotalCamps) * _mccr};" \n " if (_rate < 1) then {_rate = 1};" \n " if (_sideID == EASTID && (_west > 0 || _resistance > 0) && time - _timeAttacked > 60) then {_timeAttacked = time;[""IsUnderAttack"",_location,East,_name] Spawn SideMessage};" \n " if (_sideID == WESTID && (_east > 0 || _resistance > 0) && time - _timeAttacked > 60) then {_timeAttacked = time;[""IsUnderAttack"",_location,West,_name] Spawn SideMessage};" \n " _supplyValue = _location getVariable ""supplyValue"";" \n " _supplyValue = round(_supplyValue - (_resistance + _east + _west) * _rate);" \n " _location setVariable [""supplyValue"",_supplyValue,true];" \n " if (_supplyValue < 1) then {_captured = true};" \n "};" \n "" \n "if (_protected) then {" \n " _supplyValue = _location getVariable ""supplyValue"";" \n " if (_supplyValue < _startingSupplyValue) then {" \n " _supplyValue = _supplyValue + _force * _tcrate;" \n " if (_supplyValue > _startingSupplyValue) then {_supplyValue = _startingSupplyValue};" \n " _location setVariable [""supplyValue"",_supplyValue,true];" \n " };" \n "};"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Skip { priority = 0.000000; to="_"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!_captured"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Captured { priority = 0.000000; to="Captured"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"_captured"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Captured { name = "Captured"; init = /*%FSM*/"_location setVariable [""supplyValue"",_startingSupplyValue,true];" \n "_side = ""R"";" \n "if (_west > 0) then {_side = ""W""};" \n "if (_east > 0) then {_side = ""E""};" \n "" \n "switch (_side) do {" \n " case 'R': {" \n " if (_sideID == WESTID) then {" \n " WFBE_TownCaptured = [nil,'CLTFNCTOWNCAPTURED',[_location,RESISTANCEID,WESTID]];" \n " publicVariable 'WFBE_TownCaptured';" \n " if (isHostedServer) then {[nil,'CLTFNCTOWNCAPTURED',[_location,RESISTANCEID,WESTID]] Spawn HandlePVF};" \n " [""Lost"",_location,West] Spawn SideMessage;" \n " };" \n " if (_sideID == EASTID) then {" \n " WFBE_TownCaptured = [nil,'CLTFNCTOWNCAPTURED',[_location,RESISTANCEID,EASTID]];" \n " publicVariable 'WFBE_TownCaptured';" \n " if (isHostedServer) then {[nil,'CLTFNCTOWNCAPTURED',[_location,RESISTANCEID,EASTID]] Spawn HandlePVF};" \n " [""Lost"",_location,East] Spawn SideMessage;" \n " };" \n " _location setVariable [""sideID"",RESISTANCEID,true];" \n " };" \n " case 'E': {" \n " if (_sideID == WESTID) then {" \n " WFBE_TownCapturedPublic = [nil,'CLTFNCTOWNCAPTUREDPUBLIC',[_location,EASTID]];" \n " publicVariable 'WFBE_TownCapturedPublic';" \n " if (isHostedServer) then {[nil,'CLTFNCTOWNCAPTUREDPUBLIC',[_location,EASTID]] Spawn HandlePVF};" \n " [""Lost"",_location,West] Spawn SideMessage;" \n " };" \n " if (_sideID == RESISTANCEID) then {" \n " WFBE_TownCaptured = [nil,'CLTFNCTOWNCAPTURED',[_location,EASTID,EASTID]];" \n " publicVariable 'WFBE_TownCaptured';" \n " if (isHostedServer) then {[nil,'CLTFNCTOWNCAPTURED',[_location,EASTID,EASTID]] Spawn HandlePVF};" \n " };" \n " if (paramKeepCamps) then {[_location,East,_sideID Call GetSideFromID] Spawn SetCampsToSide};" \n " _location setVariable [""sideID"",EASTID,true];" \n " [""Captured"",_location,East] Spawn SideMessage;" \n " };" \n " case 'W': {" \n " if (_sideID == EASTID) then {" \n " WFBE_TownCapturedPublic = [nil,'CLTFNCTOWNCAPTUREDPUBLIC',[_location,WESTID]];" \n " publicVariable 'WFBE_TownCapturedPublic';" \n " if (isHostedServer) then {[nil,'CLTFNCTOWNCAPTUREDPUBLIC',[_location,WESTID]] Spawn HandlePVF};" \n " [""Lost"",_location,East] Spawn SideMessage;" \n " };" \n " if (_sideID == RESISTANCEID) then {" \n " WFBE_TownCaptured = [nil,'CLTFNCTOWNCAPTURED',[_location,WESTID,WESTID]];" \n " publicVariable 'WFBE_TownCaptured';" \n " if (isHostedServer) then {[nil,'CLTFNCTOWNCAPTURED',[_location,WESTID,WESTID]] Spawn HandlePVF};" \n " };" \n " if (paramKeepCamps) then {[_location,West,_sideID Call GetSideFromID] Spawn SetCampsToSide};" \n " _location setVariable [""sideID"",WESTID,true];" \n " [""Captured"",_location,West] Spawn SideMessage;" \n " };" \n "};" \n "" \n "{" \n " if (!isPlayer(Gunner _x)) then {" \n " _unit = (gunner _x);" \n " if !(isNull _unit) then {_unit setPos (getpos _x);deleteVehicle _unit};" \n " deleteVehicle _x;" \n " };" \n "} forEach _defenses;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class _ { priority = 0.000000; to="Town_Core"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"time - _lastUpdate > _awaits"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Pick_Capture_Mod { name = "Pick_Capture_Mod"; init = /*%FSM*/"_livingUnits = (_objects Call GetLiveUnits) unitsBelowHeight 200;" \n "_west = West CountSide _livingUnits;" \n "_east = East CountSide _livingUnits;" \n "_resistance = Resistance CountSide _livingUnits;" \n "_skip = false;" \n "_protected = false;" \n "_captured = false;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Classic { priority = 0.000000; to="Set_Classic"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"_tcm == 0"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class All_Camps { priority = 0.000000; to="Set_All_Camps"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"_tcm == 2"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Threshold { priority = 0.000000; to="Set_Threshold"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"_tcm == 1"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Set_Classic { name = "Set_Classic"; init = /*%FSM*/"if (_sideID == RESISTANCEID && _resistance > 0) then {_force = _resistance;_protected = true;_skip = true};" \n "if (_sideID == EASTID && _east > 0) then {_force = _east;_protected = true;_skip = true};" \n "if (_sideID == WESTID && _west > 0) then {_force = _west;_protected = true;_skip = true};" \n "" \n "if (_east > 0 && _west > 0) then {_skip = true};" \n "if (_west > 0 && _resistance > 0) then {_skip = true};" \n "if (_resistance > 0 && _east > 0) then {_skip = true};"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class _ { priority = 0.000000; to="Town_Advanced"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/""/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Set_Threshold { name = "Set_Threshold"; init = /*%FSM*/"_resistanceDominion = if (_resistance > _east && _resistance > _west) then {true} else {false};" \n "_westDominion = if (_west > _east && _west > _resistance) then {true} else {false};" \n "_eastDominion = if (_east > _west && _east > _resistance) then {true} else {false};" \n "" \n "if (_sideID == RESISTANCEID && _resistanceDominion) then {_force = _resistance;_protected = true;_skip = true};" \n "if (_sideID == EASTID && _eastDominion) then {_force = _east;_protected = true;_skip = true};" \n "if (_sideID == WESTID && _westDominion) then {_force = _west;_protected = true;_skip = true};" \n "" \n "if (_resistanceDominion) then {" \n " _resistance = if (_east > _west) then {_resistance - _east} else {_resistance - _west};" \n " _force = _resistance;" \n " _east = 0; " \n " _west = 0;" \n "};" \n "if (_westDominion) then {" \n " _west = if (_east > _resistance) then {_west - _east} else {_west - _resistance};" \n " _force = _west;" \n " _east = 0;" \n " _resistance = 0;" \n "};" \n "if (_eastDominion) then {" \n " _east = if (_west > _resistance) then {_east - _west} else {_east - _resistance};" \n " _force = _east;" \n " _west = 0;" \n " _resistance = 0;" \n "};" \n "" \n "if (!_resistanceDominion && !_westDominion && !_eastDominion) then {_west = 0; _east = 0; _resistance = 0};"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class _ { priority = 0.000000; to="Town_Advanced"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/""/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Set_All_Camps { name = "Set_All_Camps"; init = /*%FSM*/"_resistanceDominion = if (_resistance > _east && _resistance > _west) then {true} else {false};" \n "_westDominion = if (_west > _east && _west > _resistance) then {true} else {false};" \n "_eastDominion = if (_east > _west && _east > _resistance) then {true} else {false};" \n "" \n "if (_sideID == RESISTANCEID && _resistanceDominion) then {_force = _resistance;_protected = true;_skip = true};" \n "if (_sideID == EASTID && _eastDominion) then {_force = _east;_protected = true;_skip = true};" \n "if (_sideID == WESTID && _westDominion) then {_force = _west;_protected = true;_skip = true};" \n "" \n "if (_resistanceDominion) then {" \n " _resistance = if (_east > _west) then {_resistance - _east} else {_resistance - _west};" \n " _force = _resistance;" \n " _east = 0; " \n " _west = 0;" \n "};" \n "if (_westDominion) then {" \n " _west = if (_east > _resistance) then {_west - _east} else {_west - _resistance};" \n " _force = _west;" \n " _east = 0;" \n " _resistance = 0;" \n "};" \n "if (_eastDominion) then {" \n " _east = if (_west > _resistance) then {_east - _west} else {_east - _resistance};" \n " _force = _east;" \n " _west = 0;" \n " _resistance = 0;" \n "};" \n "" \n "if (!_resistanceDominion && !_westDominion && !_eastDominion) then {_west = 0; _east = 0; _resistance = 0};" \n "" \n "_totalCamps = _location Call GetTotalCamps;" \n "" \n "if (_west > 0) then {" \n " if (_totalCamps != ([_location,west] Call GetTotalCampsOnSide)) then {_skip = true};" \n "};" \n "if (_east > 0) then {" \n " if (_totalCamps != ([_location,east] Call GetTotalCampsOnSide)) then {_skip = true};" \n "};" \n "//--- Resistance don't need all camps!" \n "/*" \n "if (_resistance > 0) then {" \n " if (_totalCamps != ([_location,resistance] Call GetTotalCampsOnSide)) then {_skip = true};" \n "};" \n "*/"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class _ { priority = 0.000000; to="Town_Advanced"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/""/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ }; initState="Init"; finalStates[] = { "End" }; }; /*%FSM*/