From a3a91d4f45b22fd487ecbc954ad979be5d03efdd Mon Sep 17 00:00:00 2001 From: hybrid Date: Thu, 11 Jun 2026 19:38:09 +0300 Subject: init --- Client/FSM/overcast.fsm | 177 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 177 insertions(+) create mode 100644 Client/FSM/overcast.fsm (limited to 'Client/FSM/overcast.fsm') diff --git a/Client/FSM/overcast.fsm b/Client/FSM/overcast.fsm new file mode 100644 index 0000000..4c815fd --- /dev/null +++ b/Client/FSM/overcast.fsm @@ -0,0 +1,177 @@ +/*%FSM*/ +/*%FSM*/ +/* +item0[] = {"Init",0,250,-64.063538,-295.568512,25.936447,-245.568604,0.000000,"Init"}; +item1[] = {"Update_Weather",2,4346,-66.836029,-56.267544,23.163887,-6.267582,0.000000,"Update Weather"}; +item2[] = {"End",1,250,-218.006683,15.304325,-128.006653,65.304314,0.000000,"End"}; +item3[] = {"Loop",4,218,65.605347,-56.267605,155.605377,-6.267574,0.000000,"Loop"}; +item4[] = {"Gameover",4,218,-216.668854,-56.267559,-126.668869,-6.267574,0.000000,"Gameover"}; +item5[] = {"Wait_for_Init",4,218,65.886307,-194.314407,155.886276,-144.314407,0.000000,"Wait for Init"}; +item6[] = {"Advanced_Init",2,250,-63.879562,-194.314392,26.121157,-144.314392,0.000000,"Advanced Init"}; +item7[] = {"_",8,218,-34.448154,-230.434799,-2.642141,-207.859543,0.000000,""}; +item8[] = {"Wait",2,250,192.379745,-194.033447,282.379883,-144.033447,0.000000,"Wait"}; +item9[] = {"Init_Done",4,218,-63.535187,-123.100403,26.464882,-73.100349,0.000000,"Init Done"}; +item10[] = {"",7,210,233.129700,-102.521011,241.129700,-94.521011,0.000000,""}; +link0[] = {0,7}; +link1[] = {1,3}; +link2[] = {1,4}; +link3[] = {3,1}; +link4[] = {4,2}; +link5[] = {5,8}; +link6[] = {6,5}; +link7[] = {6,9}; +link8[] = {7,6}; +link9[] = {8,5}; +link10[] = {8,10}; +link11[] = {9,1}; +link12[] = {10,9}; +globals[] = {0.000000,0,0,0,0,640,480,1,14,6316128,1,-395.307037,395.306915,79.046959,-351.956635,897,514,1}; +window[] = {0,-1,-1,-1,-1,659,25,1285,25,1,915}; +*//*%FSM*/ +class FSM +{ + fsmName = "overcast"; + class States + { + /*%FSM*/ + class Init + { + name = "Init"; + init = /*%FSM*/"_lastOverCast = -1;" \n + "_overCast = 0;" \n + "_lastUpdate = time;"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class _ + { + priority = 0.000000; + to="Advanced_Init"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/""/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class Update_Weather + { + name = "Update_Weather"; + init = /*%FSM*/"_overCast = WF_Logic getVariable ""overCast"";" \n + "if (_overCast != _lastOverCast) then {" \n + " ('WFBE_WEATHERTRANSITION' Call GetNamespace) setOvercast _overCast;" \n + " _lastOverCast = _overCast;" \n + "};" \n + "_lastUpdate = time;"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class Gameover + { + priority = 0.000000; + to="End"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"gameOver"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Loop + { + priority = 0.000000; + to="Update_Weather"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"time - _lastUpdate > 5 && !gameOver"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class End + { + name = "End"; + init = /*%FSM*/""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + }; + }; + /*%FSM*/ + /*%FSM*/ + class Advanced_Init + { + name = "Advanced_Init"; + init = /*%FSM*/"_overCast = WF_Logic getVariable ""overCast"""/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class Init_Done + { + priority = 0.000000; + to="Update_Weather"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"!isNil ""_overCast"""/*%FSM*/; + action=/*%FSM*/"_overCast = WF_Logic getVariable ""overCast"";" \n + "if (time > 10) then {0 setOvercast _overCast;_lastOverCast = _overCast};"/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Wait_for_Init + { + priority = 0.000000; + to="Wait"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"isNil ""_overCast"""/*%FSM*/; + action=/*%FSM*/"_overCast = WF_Logic getVariable ""overCast"""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + /*%FSM*/ + class Wait + { + name = "Wait"; + init = /*%FSM*/"_overCast = WF_Logic getVariable ""overCast"";"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class Init_Done + { + priority = 0.000000; + to="Update_Weather"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"!isNil ""_overCast"""/*%FSM*/; + action=/*%FSM*/"_overCast = WF_Logic getVariable ""overCast"";" \n + "if (time > 10) then {0 setOvercast _overCast;_lastOverCast = _overCast};"/*%FSM*/; + }; + /*%FSM*/ + /*%FSM*/ + class Wait_for_Init + { + priority = 0.000000; + to="Wait"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"isNil ""_overCast"""/*%FSM*/; + action=/*%FSM*/"_overCast = WF_Logic getVariable ""overCast"""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ + }; + initState="Init"; + finalStates[] = + { + "End" + }; +}; +/*%FSM*/ \ No newline at end of file -- cgit v1.3.1