Update zombie_agent.fsm

The only changes were to apply these two commits:

91f94a5ab9

4bc07b71e7
This commit is contained in:
ebayShopper
2017-11-20 16:42:05 -05:00
parent 4b486559b9
commit 61786244bc

View File

@@ -1,4 +1,4 @@
/*%FSM<COMPILE "C:\Program Files (x86)\Steam\steamapps\common\Arma 3 Tools\FSMEditor\scriptedFSM.cfg, DayZ Zombie Agent">*/
/*%FSM<COMPILE "C:\Program Files (x86)\Bohemia Interactive\Tools\FSM Editor Personal Edition\scriptedFSM.cfg, DayZ Zombie Agent">*/
/*%FSM<HEAD>*/
/*
item0[] = {"init",0,250,50.000000,-400.000000,150.000000,-350.000000,0.000000,"init"};
@@ -15,8 +15,8 @@ item10[] = {"true",8,218,-75.000000,-400.000000,25.000000,-350.000000,0.000000,"
item11[] = {"Begin",2,250,-75.000000,-150.000000,25.000000,-100.000000,0.000000,"Begin"};
item12[] = {"",7,210,-1179.000122,-29.000004,-1170.999878,-20.999996,0.000000,""};
item13[] = {"",7,210,-354.000031,121.000000,-346.000000,129.000000,0.000000,""};
item14[] = {"UnitReady",4,4314,-275.000000,275.000000,-175.000000,325.000000,5.000000,"UnitReady"};
item15[] = {"Chase",2,250,-150.000000,375.000000,-50.000000,425.000000,0.000000,"Chase"};
item14[] = {"UnitReady",4,218,-275.000000,275.000000,-175.000000,325.000000,5.000000,"UnitReady"};
item15[] = {"Chase",2,4346,-150.000000,375.000000,-50.000000,425.000000,0.000000,"Chase"};
item16[] = {"Time_Check",4,218,50.000000,25.000000,150.000000,75.000000,1.000000,"Time" \n "Check"};
item17[] = {"",7,210,-29.000006,121.000000,-20.999994,129.000000,0.000000,""};
item18[] = {"",7,210,-29.000008,221.000000,-20.999992,229.000015,0.000000,""};
@@ -84,7 +84,7 @@ item79[] = {"NotInRange",4,218,-275.000000,350.000000,-175.000000,400.000000,1.0
item80[] = {"TimeCheck",4,218,-400.000000,275.000000,-300.000000,325.000000,0.000000,"TimeCheck"};
item81[] = {"Has_Target",4,218,-150.000000,200.000000,-50.000000,250.000000,0.000000,"Has" \n "Target"};
item82[] = {"Reset_MoveTo",2,250,-275.000000,200.000000,-175.000000,250.000000,0.000000,"Reset MoveTo"};
item83[] = {"____FAKE____",9,0,0.000000,0.000000,0.000000,0.000000,0.000000,"____FAKE____"};
item83[] = {"____FAKE____",9,3320,0.000000,0.000000,0.000000,0.000000,0.000000,"____FAKE____"};
link0[] = {0,10};
link1[] = {0,53};
link2[] = {2,3};
@@ -200,8 +200,8 @@ link111[] = {60,83};
link112[] = {83,60};
link113[] = {61,83};
link114[] = {83,61};
globals[] = {0.000000,0,0,0,0,640,480,1,189,6316128,1,-497.896179,342.204590,880.103882,-416.531311,806,1244,1};
window[] = {2,-1,-1,-32000,-32000,1039,338,1546,338,3,824};
globals[] = {25.000000,1,0,0,0,640,480,1,189,6316128,1,-713.213928,288.267639,611.326172,-131.708481,806,598,1};
window[] = {2,-1,-1,-32000,-32000,831,130,1338,130,3,824};
*//*%FSM</HEAD>*/
class FSM
{
@@ -212,7 +212,6 @@ class FSM
class init
{
name = "init";
itemno = 0;
init = /*%FSM<STATEINIT""">*/"_agent = _this select 1; //Compatible with old configs like Namalsk's custom zombies" \n
"_position = _agent modelToWorld [0,0,0];" \n
"_secondHand = false;" \n
@@ -227,7 +226,6 @@ class FSM
/*%FSM<LINK "is_Dedicated">*/
class is_Dedicated
{
itemno = 53;
priority = 5.000000;
to="End";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -238,7 +236,6 @@ class FSM
/*%FSM<LINK "true">*/
class true
{
itemno = 10;
priority = 0.000000;
to="Begin";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -253,7 +250,6 @@ class FSM
class End
{
name = "End";
itemno = 1;
init = /*%FSM<STATEINIT""">*/"if (!isDedicated) then {" \n
" if (!isNull _agent) then {" \n
" deleteVehicle _agent;" \n
@@ -272,7 +268,6 @@ class FSM
class Looking_for_Targ
{
name = "Looking_for_Targ";
itemno = 3;
init = /*%FSM<STATEINIT""">*/"_isAlive = alive _agent;" \n
"_target = _agent call zombie_findTargetAgent;" \n
"_timeN = diag_tickTime;" \n
@@ -293,7 +288,6 @@ class FSM
/*%FSM<LINK "Nobody_Near">*/
class Nobody_Near
{
itemno = 5;
priority = 6.000000;
to="Cleanup_";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -304,7 +298,6 @@ class FSM
/*%FSM<LINK "Not_Alive">*/
class Not_Alive
{
itemno = 4;
priority = 5.000000;
to="Cleanup_";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -315,7 +308,6 @@ class FSM
/*%FSM<LINK "No_Agent">*/
class No_Agent
{
itemno = 63;
priority = 5.000000;
to="Cleanup_";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -326,7 +318,6 @@ class FSM
/*%FSM<LINK "player_check">*/
class player_check
{
itemno = 52;
priority = 2.000000;
to="Looking_for_Targ";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -340,7 +331,6 @@ class FSM
/*%FSM<LINK "Time_Check">*/
class Time_Check
{
itemno = 16;
priority = 1.000000;
to="Looking_for_Targ";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -351,7 +341,6 @@ class FSM
/*%FSM<LINK "Has_Target">*/
class Has_Target
{
itemno = 81;
priority = 0.000000;
to="Reset_MoveTo";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -366,7 +355,6 @@ class FSM
class Loiter
{
name = "Loiter";
itemno = 7;
init = /*%FSM<STATEINIT""">*/"_isAlive = alive _agent;" \n
"_timeN = diag_tickTime;" \n
"" \n
@@ -410,7 +398,6 @@ class FSM
/*%FSM<LINK "player_check">*/
class player_check
{
itemno = 51;
priority = 2.000000;
to="Loiter";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -424,7 +411,6 @@ class FSM
/*%FSM<LINK "Time_Check">*/
class Time_Check
{
itemno = 19;
priority = 0.000000;
to="Loiter";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -439,7 +425,6 @@ class FSM
class Begin
{
name = "Begin";
itemno = 11;
init = /*%FSM<STATEINIT""">*/"_hasMoved = _agent getVariable[""doLoiter"",true];" \n
"" \n
"_myDest = [_agent,_position] call zombie_loiter;" \n
@@ -487,7 +472,6 @@ class FSM
/*%FSM<LINK "loiter">*/
class loiter
{
itemno = 66;
priority = 0.000000;
to="Loiter_1";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -499,7 +483,6 @@ class FSM
/*%FSM<LINK "wait">*/
class wait
{
itemno = 2;
priority = 0.000000;
to="Looking_for_Targ";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -514,20 +497,20 @@ class FSM
class Chase
{
name = "Chase";
itemno = 15;
init = /*%FSM<STATEINIT""">*/"_timeN = diag_tickTime;" \n
"" \n
"_target = _agent call zombie_findTargetAgent;" \n
"_targetPos = _target modelToWorld [0,-1,0];" \n
"//_targetPos = _target modelToWorld [0,-1,0];" \n
"_targetPos = getPosATL _target;" \n
"_isAlive = alive _agent;" \n
"_isTargetAlive = alive _target;" \n
"" \n
"" \n
"//Move to location" \n
"if (_movingTo distance _targetPos > .5) then {" \n
"//if (_movingTo distance _targetPos > .5) then {" \n
" _agent moveTo _targetPos;" \n
" _agent setSpeedMode ""FULL"";" \n
"};" \n
"//};" \n
"" \n
"" \n
"//Check if LOS" \n
@@ -541,7 +524,6 @@ class FSM
/*%FSM<LINK "Nobody_Near">*/
class Nobody_Near
{
itemno = 5;
priority = 6.000000;
to="Cleanup_";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -552,7 +534,6 @@ class FSM
/*%FSM<LINK "Not_Alive">*/
class Not_Alive
{
itemno = 4;
priority = 5.000000;
to="Cleanup_";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -563,7 +544,6 @@ class FSM
/*%FSM<LINK "No_Agent">*/
class No_Agent
{
itemno = 63;
priority = 5.000000;
to="Cleanup_";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -574,7 +554,6 @@ class FSM
/*%FSM<LINK "No_Target">*/
class No_Target
{
itemno = 20;
priority = 3.000000;
to="Reset_Targeting";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -585,7 +564,6 @@ class FSM
/*%FSM<LINK "Target_Dead">*/
class Target_Dead
{
itemno = 56;
priority = 3.000000;
to="Reset_Targeting";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -596,7 +574,6 @@ class FSM
/*%FSM<LINK "cant_see">*/
class cant_see
{
itemno = 28;
priority = 2.000000;
to="Finish_Move";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -607,7 +584,6 @@ class FSM
/*%FSM<LINK "TimeCheck">*/
class TimeCheck
{
itemno = 62;
priority = 2.000000;
to="Chase";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -619,7 +595,6 @@ class FSM
/*%FSM<LINK "InRange">*/
class InRange
{
itemno = 77;
priority = 1.000000;
to="Attacking_Wait";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -640,7 +615,6 @@ class FSM
class Cleanup_
{
name = "Cleanup_";
itemno = 25;
init = /*%FSM<STATEINIT""">*/"_waitStart = diag_tickTime;" \n
"" \n
"_list = (getposATL _agent) nearEntities [[""CAManBase"",""AllVehicles""],300];" \n
@@ -651,7 +625,6 @@ class FSM
/*%FSM<LINK "nobody_around">*/
class nobody_around
{
itemno = 26;
priority = 0.000000;
to="End";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -662,7 +635,6 @@ class FSM
/*%FSM<LINK "someone_here">*/
class someone_here
{
itemno = 34;
priority = 0.000000;
to="wait";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -677,7 +649,6 @@ class FSM
class Finish_Move
{
name = "Finish_Move";
itemno = 29;
init = /*%FSM<STATEINIT""">*/"_timeN = diag_tickTime;" \n
"" \n
"_list = (getposATL _agent) nearEntities [[""CAManBase"",""AllVehicles""],300];" \n
@@ -688,7 +659,6 @@ class FSM
/*%FSM<LINK "Nobody_Near">*/
class Nobody_Near
{
itemno = 5;
priority = 6.000000;
to="Cleanup_";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -699,7 +669,6 @@ class FSM
/*%FSM<LINK "finished">*/
class finished
{
itemno = 30;
priority = 1.000000;
to="Reset_Targeting";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -710,7 +679,6 @@ class FSM
/*%FSM<LINK "too_long">*/
class too_long
{
itemno = 42;
priority = 0.000000;
to="Reset_Targeting";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -725,7 +693,6 @@ class FSM
class Move
{
name = "Move";
itemno = 33;
init = /*%FSM<STATEINIT""">*/"_myDest = [_agent,_position] call zombie_loiter;"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
@@ -733,7 +700,6 @@ class FSM
/*%FSM<LINK "True">*/
class True
{
itemno = 74;
priority = 0.000000;
to="Loiter_1";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -748,7 +714,6 @@ class FSM
class wait
{
name = "wait";
itemno = 35;
init = /*%FSM<STATEINIT""">*/"_list = (getposATL _agent) nearEntities [[""CAManBase"",""AllVehicles""],300];" \n
"_isSomeone = ({isPlayer _x} count _list) > 0;" \n
"" \n
@@ -759,7 +724,6 @@ class FSM
/*%FSM<LINK "time_up">*/
class time_up
{
itemno = 36;
priority = 0.000000;
to="End";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -770,7 +734,6 @@ class FSM
/*%FSM<LINK "nobody_around">*/
class nobody_around
{
itemno = 26;
priority = 0.000000;
to="End";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -781,7 +744,6 @@ class FSM
/*%FSM<LINK "deleted">*/
class deleted
{
itemno = 47;
priority = 0.000000;
to="End";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -792,7 +754,6 @@ class FSM
/*%FSM<LINK "Time_Check">*/
class Time_Check
{
itemno = 39;
priority = 0.000000;
to="wait";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -807,7 +768,6 @@ class FSM
class Reset_Targeting
{
name = "Reset_Targeting";
itemno = 45;
init = /*%FSM<STATEINIT""">*/"// reset stance to favorite one" \n
"_agent setUnitPos (_agent getVariable [""stance"", ""UP""]);" \n
"" \n
@@ -842,7 +802,6 @@ class FSM
/*%FSM<LINK "loiter">*/
class loiter
{
itemno = 66;
priority = 0.000000;
to="Loiter_1";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -858,7 +817,6 @@ class FSM
class Loiter_1
{
name = "Loiter_1";
itemno = 67;
init = /*%FSM<STATEINIT""">*/"_isAlive = alive _agent;" \n
"_timeN = diag_tickTime;" \n
"" \n
@@ -876,7 +834,6 @@ class FSM
/*%FSM<LINK "Nobody_Near">*/
class Nobody_Near
{
itemno = 5;
priority = 6.000000;
to="Cleanup_";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -887,7 +844,6 @@ class FSM
/*%FSM<LINK "No_Agent">*/
class No_Agent
{
itemno = 63;
priority = 5.000000;
to="Cleanup_";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -898,7 +854,6 @@ class FSM
/*%FSM<LINK "Not_Alive">*/
class Not_Alive
{
itemno = 4;
priority = 5.000000;
to="Cleanup_";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -909,7 +864,6 @@ class FSM
/*%FSM<LINK "Failed_Move">*/
class Failed_Move
{
itemno = 70;
priority = 3.000000;
to="Move";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -920,7 +874,6 @@ class FSM
/*%FSM<LINK "MoveCompleted_">*/
class MoveCompleted_
{
itemno = 69;
priority = 3.000000;
to="Move";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -932,7 +885,6 @@ class FSM
/*%FSM<LINK "player_check">*/
class player_check
{
itemno = 73;
priority = 2.000000;
to="Loiter_1";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -946,7 +898,6 @@ class FSM
/*%FSM<LINK "Not_moving">*/
class Not_moving
{
itemno = 71;
priority = 1.000000;
to="Move";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -958,7 +909,6 @@ class FSM
/*%FSM<LINK "Time_Check">*/
class Time_Check
{
itemno = 68;
priority = 0.000000;
to="Loiter_1";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -969,7 +919,6 @@ class FSM
/*%FSM<LINK "Has_Target">*/
class Has_Target
{
itemno = 81;
priority = 0.000000;
to="Reset_MoveTo";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -984,7 +933,6 @@ class FSM
class Attacking_Wait
{
name = "Attacking_Wait";
itemno = 78;
init = /*%FSM<STATEINIT""">*/"_targetPos = _target modelToWorld [0,-1,0];" \n
"" \n
"_timeN = diag_tickTime;" \n
@@ -995,7 +943,6 @@ class FSM
/*%FSM<LINK "NotInRange">*/
class NotInRange
{
itemno = 79;
priority = 1.000000;
to="Chase";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -1006,7 +953,6 @@ class FSM
/*%FSM<LINK "TimeCheck">*/
class TimeCheck
{
itemno = 80;
priority = 0.000000;
to="Attacking_Wait";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -1021,7 +967,6 @@ class FSM
class Reset_MoveTo
{
name = "Reset_MoveTo";
itemno = 82;
init = /*%FSM<STATEINIT""">*/"_agent moveTo (_agent modelToWorld [0,0,0]);"/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
@@ -1029,7 +974,6 @@ class FSM
/*%FSM<LINK "UnitReady">*/
class UnitReady
{
itemno = 14;
priority = 5.000000;
to="Chase";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -1072,7 +1016,6 @@ class FSM
class ____FAKE____
{
name = "____FAKE____";
itemno = 83;
init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
@@ -1080,7 +1023,6 @@ class FSM
/*%FSM<LINK "TargetMoved">*/
class TargetMoved
{
itemno = 60;
priority = 3.000000;
to="____FAKE____";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -1092,7 +1034,6 @@ class FSM
/*%FSM<LINK "MoveCompleted_">*/
class MoveCompleted_
{
itemno = 54;
priority = 3.000000;
to="____FAKE____";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -1105,7 +1046,6 @@ class FSM
/*%FSM<LINK "Failed_Move">*/
class Failed_Move
{
itemno = 55;
priority = 3.000000;
to="____FAKE____";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -1118,7 +1058,6 @@ class FSM
/*%FSM<LINK "Not_moving">*/
class Not_moving
{
itemno = 61;
priority = 1.000000;
to="____FAKE____";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -1130,7 +1069,6 @@ class FSM
/*%FSM<LINK "End_Attack">*/
class End_Attack
{
itemno = 59;
priority = 0.000000;
to="____FAKE____";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -1142,7 +1080,6 @@ class FSM
/*%FSM<LINK "Start_Attack">*/
class Start_Attack
{
itemno = 58;
priority = 0.000000;
to="____FAKE____";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -1156,7 +1093,6 @@ class FSM
/*%FSM<LINK "true">*/
class true
{
itemno = 46;
priority = 0.000000;
to="____FAKE____";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@@ -1169,7 +1105,6 @@ class FSM
/*%FSM<LINK "loiter">*/
class loiter
{
itemno = 6;
priority = 0.000000;
to="Loiter";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;