AHHAKUN.SSL

*This image comes from* Fallout Mod *or from websites created and owned by Game publisher or Game developer, who hold the copyright of* Fallout Mod*. All trademarks and registered trademarks present in the image are proprietary to Game publisher.
The use of images to illustrate articles concerning the subject of the images in question is believed to qualify as **fair use** under United States copyright law, as such display does not significantly impede the right of the copyright holder to sell the copyrighted material.*

Template:Scriptfile

Template:Scriptbox

File:Transcript.png
/\*

        Copyright 1998-2003 Interplay Entertainment Corp. All rights reserved.

\*/

/\*

           Please note any changes that have been made to the file in Updated. Then comment

           the code which you have changed/altered/commented out. Please, do not delete any

           code which was written.

\*/

/\* Include Files \*/

/\* Note, the Following Lines need to be in this order so that

   the script will be compilable. The define Name is referenced

   in a module from define.h and used in command.h. Please do

   not change the ordering.

        -rwh2 11/13/97

\*/

#include "..\headers\define.h"

#include "..\headers\ArVillag.h"

#define NAME SCRIPT\_AHHAKUN

#define TOWN\_REP\_VAR global\_var(GVAR\_TOWN\_REP\_ARROYO)

#include "..\headers\command.h"

#include "..\headers\ModReact.h"

/\* Standard Script Procedures \*/

procedure start;

procedure critter\_p\_proc;

procedure pickup\_p\_proc;

procedure talk\_p\_proc;

procedure destroy\_p\_proc;

procedure look\_at\_p\_proc;

procedure description\_p\_proc;

procedure use\_skill\_on\_p\_proc;

procedure damage\_p\_proc;

procedure map\_enter\_p\_proc;

/\* Script Specific Procedure Calls \*/

procedure Node993;

procedure Node994;

procedure Node995;

procedure Node996;

procedure Node997;

procedure Node998; // This Node is Always Combat

procedure Node999; // This Node is Always Ending

// The next lines are added in by the Designer Tool.

// Do NOT add in any lines here.

//~~~~~~~~~~~~~~~~ DESIGNER TOOL STARTS HERE

procedure Node000;

procedure Node001;

procedure Node001a;

procedure Node002;

procedure Node002a;

procedure Node003;

procedure Node004;

procedure Node005;

procedure Node006;

procedure Node006a;

procedure Node007;

procedure Node007a;

procedure Node008;

procedure Node009;

procedure Node010;

procedure Node011;

procedure Node012;

procedure Node013;

procedure Node014;

procedure Node015;

procedure Node016;

procedure Node017;

procedure Node017a;

procedure Node018;

procedure Node018a;

procedure Node019;

procedure Node019a;

procedure Node020;

procedure Node021;

procedure Node022;

procedure Node023;

procedure Node024;

procedure Node025;

procedure Node026;

procedure Node027;

procedure Node028;

procedure Node029;

procedure Node030;

procedure Node031;

procedure Node032;

procedure Node033;

procedure Node034;

procedure Node035;

procedure Node101;

procedure Node102;

procedure Node103;

procedure Node104;

procedure Node105;

procedure Node106;

procedure Node107;

procedure Node108;

procedure Node109;

procedure Node110;

procedure Node111;

procedure Node112;

procedure Node113;

procedure Node114;

procedure Node115;

procedure Node116;

procedure Node117;

procedure Node118;

procedure Node119;

procedure Node120;

procedure Node121;

procedure Node122;

//~~~~~~~~~~~~~~~~ DESIGN TOOL ENDS HERE

// The Following lines are for anything that is not needed to be

// seen by the design Tool

/\* Local Variables which are saved. All Local Variables need to be

   prepended by LVAR\_ \*/

#define LVAR\_Herebefore (4)

#define LVAR\_Hostile (5)

#define LVAR\_Personal\_Enemy (6)

#define LVAR\_Warned\_Player (7)

#define LVAR\_One\_Reward (8)

#define LVAR\_Looked\_Before (9)

#define LVAR\_Said\_28 (10)

/\* Imported variables from the Map scripts. These should only be

   pointers and variables that need not be saved. If a variable

   Needs to be saved, make it a map variable (MVAR\_) \*/

/\* Local variables which do not need to be saved between map changes. \*/

variable Only\_Once:=0;

variable From19:=0;

variable From17:=0;

procedure start begin

end

/\* This procedure will get called each time that the map is first entered. It will

   set up the Team number and AI packet for this critter. This will override the

   default from the prototype, and needs to be set in scripts. \*/

procedure map\_enter\_p\_proc begin

   Only\_Once:=0;

   critter\_add\_trait(self\_obj,TRAIT\_OBJECT,OBJECT\_TEAM\_NUM,TEAM\_ARROYO);

   critter\_add\_trait(self\_obj,TRAIT\_OBJECT,OBJECT\_AI\_PACKET,AI\_ARROYO\_SHAMAN);

   if (cur\_map\_index == MAP\_DESTROYED\_ARROYO\_BRIDGE) then begin

       anim(self\_obj,ANIM\_fall\_front\_sf,ANIMATE\_FORWARD);

   end

end

/\* Every heartbeat that the critter gets, this procedure will be called. Anything from

   Movement to attacking the player on sight can be placed in here.\*/

procedure critter\_p\_proc begin

/\* If the critter is mad at the player for any reason, it will attack and remember to attack

   the player should the game be saved and loaded repeatedly. Additionally, if any special

   actions need to be taken by the critter based on previous combat, the critter will remember

   this as well. \*/

   if (cur\_map\_index == MAP\_DESTROYED\_ARROYO\_BRIDGE) then begin

       if (local\_var(LVAR\_Herebefore) == 0) then begin

           mark\_navarro\_on\_map

           set\_f2(f2\_state\_tribe\_kidnapped);

           dialogue\_system\_enter;

       end

   end

   else if (global\_var(GVAR\_ENEMY\_ARROYO) == 1) then begin

       attack(dude\_obj);

   end

   else if ((obj\_can\_see\_obj(self\_obj,dude\_obj)) and (map\_var(MVAR\_Stealing\_From\_Shaman) == 1)) then begin

       set\_map\_var(MVAR\_Stealing\_From\_Shaman,2);

       floater(218);

   end

   else if ((obj\_can\_see\_obj(self\_obj,dude\_obj)) and (map\_var(MVAR\_Stealing\_From\_Shaman) == 3)) then begin

       set\_map\_var(MVAR\_Stealing\_From\_Shaman,4);

       floater(219);

   end

   else if ((obj\_can\_see\_obj(self\_obj,dude\_obj)) and (map\_var(MVAR\_Stealing\_From\_Shaman) == 5)) then begin

       set\_map\_var(MVAR\_Stealing\_From\_Shaman,6);

       floater(220);

       set\_local\_var(LVAR\_Hostile,2);

   end

   if ((local\_var(LVAR\_Hostile) == 2) and (obj\_can\_see\_obj(self\_obj,dude\_obj))) then begin

       set\_local\_var(LVAR\_Hostile,1);

       attack(dude\_obj);

   end

end

/\* Whenever the critter takes damage of any type, this procedure will be called. Things

   like setting ENEMY\_ and LVAR\_Personal\_Enemy can be set here. \*/

procedure damage\_p\_proc begin

/\* If the player causes damage to this critter, then he will instantly consider the player

   his personal enemy. In Critter\_Proc or through dialog, actions will be taken against

   the player for his evil acts. \*/

   if (source\_obj == dude\_obj) then begin

       set\_local\_var(LVAR\_Personal\_Enemy,1);

       set\_global\_var(GVAR\_ENEMY\_ARROYO,1);

   end

end

/\* Any time that the player is caught stealing from this critter, Pickup\_proc will be called.

   In here, various things can happen. The most common response is instant hostility which

   will be remembered. \*/

procedure pickup\_p\_proc begin

   if (source\_obj == dude\_obj) then begin

       set\_local\_var(LVAR\_Hostile,2);

   end

end

/\* The dialog system is setup and prepares the player to talk to this NPC. Where To Go

   written by designers are placed in here. Additionally, Reactions are generated and

   stored which affects player interactions. \*/

procedure talk\_p\_proc begin

   Evil\_Critter:=0;

   Slavery\_Tolerant:=SLAVE\_INTOLERANT;

   Karma\_Perception:=KARMA\_PERCEPTION10;

   CheckKarma;

   GetReaction;

   if (cur\_map\_index == MAP\_DESTROYED\_ARROYO\_BRIDGE) then begin

       set\_local\_var(LVAR\_Herebefore,1);

       start\_gdialog(NAME,self\_obj,4,HEAD\_DYING\_HAKUNIN,BACKGROUND\_WASTELAND);

       gSay\_Start;

           call Node101;

       gSay\_End;

       end\_dialogue;

       kill\_critter(self\_obj,ANIM\_fall\_front\_sf);

   end

   else if ((check\_general\_rep < 0) or (local\_var(LVAR\_reaction\_level) == REACTION\_LEVEL\_BAD)) then begin

       start\_gdialog(NAME,self\_obj,4,HEAD\_HAKUNIN,BACKGROUND\_TENT);

       gSay\_Start;

           call Node012;

       gSay\_End;

       end\_dialogue;

   end

   else if (vault\_13\_visit) then begin

       start\_gdialog(NAME,self\_obj,4,HEAD\_HAKUNIN,BACKGROUND\_TENT);

       gSay\_Start;

           call Node101;

       gSay\_End;

       end\_dialogue;

   end

   else if (GAME\_TIME\_IN\_DAYS > TIME\_LIMIT\_4) then begin

       start\_gdialog(NAME,self\_obj,4,HEAD\_HAKUNIN,BACKGROUND\_TENT);

       gSay\_Start;

           call Node031;

       gSay\_End;

       end\_dialogue;

   end

   else if (GAME\_TIME\_IN\_DAYS > TIME\_LIMIT\_3) then begin

       start\_gdialog(NAME,self\_obj,4,HEAD\_HAKUNIN,BACKGROUND\_TENT);

       gSay\_Start;

           call Node030;

       gSay\_End;

       end\_dialogue;

   end

   else if (GAME\_TIME\_IN\_DAYS > TIME\_LIMIT\_2) then begin

       start\_gdialog(NAME,self\_obj,4,HEAD\_HAKUNIN,BACKGROUND\_TENT);

       gSay\_Start;

           call Node029;

       gSay\_End;

       end\_dialogue;

   end

   else if (GAME\_TIME\_IN\_DAYS > TIME\_LIMIT\_1) then begin

       start\_gdialog(NAME,self\_obj,4,HEAD\_HAKUNIN,BACKGROUND\_TENT);

       gSay\_Start;

           call Node027;

       gSay\_End;

       end\_dialogue;

   end

   else if (global\_var(GVAR\_KILL\_EVIL\_PLANTS) == QUEST\_ACCEPTED) then begin

       start\_gdialog(NAME,self\_obj,4,HEAD\_HAKUNIN,BACKGROUND\_TENT);

       gSay\_Start;

           call Node017;

       gSay\_End;

       end\_dialogue;

   end

   else if ((global\_var(GVAR\_KILL\_EVIL\_PLANTS) == QUEST\_COMPLETED) and (local\_var(LVAR\_One\_Reward) == 0)) then begin

       set\_local\_var(LVAR\_One\_Reward,1);

       start\_gdialog(NAME,self\_obj,4,HEAD\_HAKUNIN,BACKGROUND\_TENT);

       gSay\_Start;

           call Node018;

       gSay\_End;

       end\_dialogue;

   end

   else if ((global\_var(GVAR\_KILL\_EVIL\_PLANTS) == QUEST\_COMPLETED) and (local\_var(LVAR\_One\_Reward) == 1)) then begin

       start\_gdialog(NAME,self\_obj,4,HEAD\_HAKUNIN,BACKGROUND\_TENT);

       gSay\_Start;

           call Node019;

       gSay\_End;

       end\_dialogue;

   end

   else if (local\_var(LVAR\_Herebefore) == 0) then begin

       start\_gdialog(NAME,self\_obj,4,HEAD\_HAKUNIN,BACKGROUND\_TENT);

       gSay\_Start;

           call Node000;

       gSay\_End;

       end\_dialogue;

   end

   else begin

       start\_gdialog(NAME,self\_obj,4,HEAD\_HAKUNIN,BACKGROUND\_TENT);

       gSay\_Start;

           call Node001;

       gSay\_End;

       end\_dialogue;

   end

   set\_local\_var(LVAR\_Herebefore,1);

end

/\* This procedure gets called only on the death of this NPC. Special things like

   incrementing the death count for reputation purposes and Enemy Counters are placed

   in here. \*/

procedure destroy\_p\_proc begin

/\* Increment the aligned critter counter\*/

   set\_map\_var(MVAR\_Stealing\_From\_Shaman,6); // this is to make sure you can

                                                        // loot the containers after he is dead

   inc\_good\_critter

   set\_global\_var(GVAR\_TOWN\_REP\_ARROYO, global\_var(GVAR\_TOWN\_REP\_ARROYO) - 50);

/\* Set global\_variable for Enemy status\*/

end

/\* Look\_at\_p\_proc gets called any time that the player passes the cursor over any object.

   This should only hold the most cursory of glances for the player. \*/

procedure look\_at\_p\_proc begin

   script\_overrides;

   if (not(vault\_13\_visit)) then

       display\_msg(mstr(100));

   else if (local\_var(LVAR\_Looked\_Before) == 0) then begin

       inc\_local\_var(LVAR\_Looked\_Before);

       display\_msg(mstr(101));

   end

   else

       display\_msg(mstr(102));

end

/\* The player will see more indepth descriptions from this procedure. They are actively

   looking at the critter and want more information. Things like names can be added here

   if the critter is known to the player. \*/

procedure description\_p\_proc begin

   script\_overrides;

   if (not(vault\_13\_visit)) then

       display\_msg(mstr(100));

   else

       display\_msg(mstr(103));

end

/\* Any time a skill is used on a critter this call is made. This can be to give examinations

   for things like Doctor skill or messages for various other skills. \*/

procedure use\_skill\_on\_p\_proc begin

end

procedure Node993 begin

   variable total\_hits;

   total\_hits:=dude\_max\_hits-dude\_cur\_hits;

   gfade\_out(400);

   gfade\_in(400);

   critter\_heal(dude\_obj,total\_hits);

   poison(dude\_obj,-(get\_poison(dude\_obj)));

   if (From19) then

       call Node019;

   else if (From17) then

       call Node999;

   else if (dude\_iq > 3) then

       call Node001;

end

procedure Node994 begin

   DownReactModerate;

end

procedure Node995 begin

   set\_global\_var(GVAR\_KILL\_EVIL\_PLANTS,QUEST\_ACCEPTED);

end

procedure Node996 begin

   if (get\_critter\_stat(dude\_obj,STAT\_ch) >= 8) then begin

       call Node010;

   end

   else begin

       call Node006;

   end

end

procedure Node997 begin

   if (get\_critter\_stat(dude\_obj,STAT\_ch) >= 8) then begin

       call Node010;

   end

   else begin

       call Node013;

   end

end

/\* Should the Player ever cause the NPC too much discomfort that he desires to attack the player,

   this call will be made. Essentially, it stores the Hostile vaule so that the critter remembers

   he was once hostile towards the player.\*/

procedure Node998 begin

   set\_local\_var(LVAR\_Hostile,2);

end

/\* Anytime that there is a need for an ending to dialog, this node is to be called. It will just

   exit from the dialog system without any reprisals from the NPC. \*/

procedure Node999 begin

end

// Not lines are allowed to be added below here

// The Following lines are from the Design Tool

//~~~~~~~~~~~~~~~~ DESIGN TOOL STARTS HERE

procedure Node000 begin

   call Node001;

end

procedure Node001 begin

   Reply(104);

   NLowOption(105,Node003);

   NOption(106,Node002,004);

   NOption(107,Node001a,004);

   NOption(108,Node999,004);

   if ((dude\_cur\_hits < ((3\*dude\_max\_hits)/4)) or (get\_poison(dude\_obj) > 0)) then begin

       NOption(109,Node014,004);

       NLowOption(194,Node014);

   end

   if (global\_var(GVAR\_KILL\_EVIL\_PLANTS) == QUEST\_COMPLETED) then

       GOption(110,Node018,004);

end

procedure Node001a begin

   Reply(111);

   NLowOption(112,Node003);

   NOption(113,Node002,004);

   NOption(114,Node002a,004);

   NOption(115,Node999,004);

   if (global\_var(GVAR\_KILL\_EVIL\_PLANTS) == QUEST\_COMPLETED) then

       GOption(116,Node018,004);

end

procedure Node002 begin

   Reply(117);

   GOption(118,Node005,004);

   NOption(119,Node006,004);

end

procedure Node002a begin

   Reply(120);

   NOption(121,Node005,004);

   NOption(122,Node006,004);

end

procedure Node003 begin

   Reply(123);

   GLowOption(124,Node004,);

   NLowOption(125,Node999);

end

procedure Node004 begin

   set\_global\_var(GVAR\_KILL\_EVIL\_PLANTS,QUEST\_ACCEPTED);

   Reply(126);

   NLowOption(127,Node999);

end

procedure Node005 begin

   Reply(128);

   NOption(129,Node011,004);

   NOption(130,Node011,004);

   NOption(131,Node997,004);

   NOption(132,Node009,004);

   NOption(133,Node009,004);

   NOption(134,Node996,004);

end

procedure Node006 begin

   Reply(135);

   NOption(136,Node007,004);

   NOption(137,Node006a,004);

   BOption(138,Node008,004);

   BOption(139,Node008,004);

end

procedure Node006a begin

   Reply(140);

   NOption(141,Node007,004);

   NOption(142,Node008,004);

end

procedure Node007 begin

   Reply(143);

   BOption(144,Node007a,004);

   NOption(145,Node007a,004);

   NOption(146,Node008,004);

   NOption(147,Node007a,004);

end

procedure Node007a begin

   set\_global\_var(GVAR\_KILL\_EVIL\_PLANTS,QUEST\_ACCEPTED);

end

procedure Node008 begin

   DownReactModerate;

   BMessage(148);

end

procedure Node009 begin

   set\_global\_var(GVAR\_KILL\_EVIL\_PLANTS,QUEST\_ACCEPTED);

   Reply(149);

   NOption(150,Node999,004);

   NOption(151,Node999,004);

end

procedure Node010 begin

   Reply(152);

   NOption(153,Node007a,004);

   NOption(154,Node007a,004);

   NOption(155,Node008,004);

end

procedure Node011 begin

   Reply(156);

   NOption(157,Node999,004);

   NOption(158,Node999,004);

   NOption(159,Node007a,004);

end

procedure Node012 begin

   Reply(160);

   GOption(161,Node013,004);

   NOption(162,Node008,004);

   NOption(163,Node999,004);

   BLowOption(164,Node008);

end

procedure Node013 begin

   Reply(165);

   if (global\_var(GVAR\_KILL\_EVIL\_PLANTS) == 0) then begin

       NOption(166,Node007a,004);

       NOption(167,Node007a,004);

   end

   BOption(168,Node994,004);

   NOption(169,Node999,004);

end

procedure Node014 begin

   variable total\_hits;

   total\_hits:=dude\_max\_hits-dude\_cur\_hits;

   gfade\_out(400);

   gfade\_in(400);

   critter\_heal(dude\_obj,total\_hits);

   poison(dude\_obj,-(get\_poison(dude\_obj)));

   Reply(170);

   NOption(171,Node001a,004);

   NOption(172,Node001a,004);

end

procedure Node015 begin

   variable total\_hits;

   total\_hits:=dude\_max\_hits-dude\_cur\_hits;

   gfade\_out(400);

   gfade\_in(400);

   critter\_heal(dude\_obj,total\_hits);

   poison(dude\_obj,-(get\_poison(dude\_obj)));

   Reply(173);

   NOption(174,Node999,004);

   NOption(175,Node999,004);

end

procedure Node016 begin

end

procedure Node017 begin

   Reply(176);

   NOption(177,Node007,004);

   if ((dude\_cur\_hits < ((3\*dude\_max\_hits)/4)) or (get\_poison(dude\_obj) > 0)) then begin

       NOption(178,Node015,004);

       NLowOption(194,Node014);

   end

   NOption(179,Node999,004);

end

procedure Node017a begin

end

procedure Node018 begin

   variable item;

   set\_global\_var(GVAR\_KNOWLEDGE\_HEALING\_POWDER,KNOWLEDGE\_OBTAINED);

   item:=create\_object(PID\_HEALING\_POWDER,0,0);

   add\_mult\_objs\_to\_inven(dude\_obj,item,2);

   UpReactModerate;

   Reply(180);

   NOption(181,Node018a,004);

end

procedure Node018a begin

   Reply(182);

   NOption(183,Node022,004);

   NOption(184,Node999,004);

   NOption(185,Node999,004);

end

procedure Node019 begin

   Reply(186);

   if ((dude\_cur\_hits < ((3\*dude\_max\_hits)/4)) or (get\_poison(dude\_obj) > 0)) then begin

       NOption(188,Node026,004);

       NLowOption(194,Node026);

   end

   else

       NOption(187,Node020,004);

   NOption(189,Node022,004);

   NOption(190,Node021,004);

   NOption(191,Node023,004);

   NOption(192,Node999,004);

   NLowOption(193,Node023);

   NLowOption(194,Node999);

end

procedure Node019a begin

end

procedure Node020 begin

   Reply(195);

   NOption(196,Node999,004);

   NOption(197,Node999,004);

end

procedure Node021 begin

   Reply(198);

   NOption(199,Node999,004);

   NOption(200,Node999,004);

end

procedure Node022 begin

   Reply(201);

   NOption(202,Node999,004);

end

procedure Node023 begin

   variable root;

   variable flower;

   variable flower\_ptr;

   variable root\_ptr;

   variable total\_healing;

   variable item;

   Reply(203);

   root:=obj\_is\_carrying\_obj\_pid(dude\_obj,PID\_XANDER\_ROOT);

   flower:=obj\_is\_carrying\_obj\_pid(dude\_obj,PID\_BROC\_FLOWER);

   if ((root == 0) or (flower == 0)) then begin

       call Node024;

   end

   else begin

       if (root >= flower) then

           total\_healing:=flower;

       else

           total\_healing:=root;

       flower\_ptr:=obj\_carrying\_pid\_obj(dude\_obj,PID\_BROC\_FLOWER);

       root\_ptr:=obj\_carrying\_pid\_obj(dude\_obj,PID\_XANDER\_ROOT);

       item:=create\_object(PID\_HEALING\_POWDER,0,0);

       add\_mult\_objs\_to\_inven(dude\_obj,item,total\_healing);

       root:=rm\_mult\_objs\_from\_inven(dude\_obj,root\_ptr,total\_healing);

       flower:=rm\_mult\_objs\_from\_inven(dude\_obj,flower\_ptr,total\_healing);

       gfade\_out(600);

       gfade\_in(600);

       game\_time\_advance(total\_healing\*ONE\_GAME\_HOUR);

       call Node025;

   end

end

procedure Node024 begin

   Reply(204);

   NOption(205,Node999,004);

   NLowOption(206,Node999);

end

procedure Node025 begin

   Reply(207);

   NOption(208,Node999,004);

   NLowOption(209,Node999);

end

procedure Node026 begin

   variable total\_hits;

   total\_hits:=dude\_max\_hits-dude\_cur\_hits;

   gfade\_out(400);

   gfade\_in(400);

   critter\_heal(dude\_obj,total\_hits);

   poison(dude\_obj,-(get\_poison(dude\_obj)));

   Reply(210);

   NOption(211,Node019,004);

   NOption(212,Node019,004);

end

procedure Node027 begin

   Reply(213);

   NLowOption(214,Node028);

   NOption(215,Node028,007);

   if (dude\_iq < 8) then

       NOption(216,Node028,004);

   BOption(217,Node028,004);

   GOption(218,Node028,004);

end

procedure Node028 begin

   if (reached\_tl\_3) then

       Reply(mstr(221));

   else if (reached\_tl\_2) then

       Reply(mstr(220));

   else if (reached\_tl\_1) then

       Reply(mstr(219));

   else

       Reply(mstr(222));

   inc\_local\_var(LVAR\_Said\_28);

   if (local\_var(LVAR\_Said\_28) < 4) then begin

       NOption(223,Node999,004);

       NLowOption(225,Node999);

   end

   else begin

       NOption(224,Node999,004);

       NLowOption(226,Node999);

   end

end

procedure Node029 begin

   Reply(227);

   NLowOption(228,Node028);

   NOption(229,Node028,007);

   if (dude\_iq < 8) then

       NOption(230,Node028,004);

   GOption(231,Node028,004);

   BOption(232,Node028,004);

end

procedure Node030 begin

   Reply(233);

   NLowOption(234,Node028);

   BOption(235,Node028,004);

   GOption(236,Node028,004);

   NOption(237,Node028,004);

end

procedure Node031 begin

   Reply(238);

   NLowOption(239,Node028);

   NOption(240,Node028,004);

   BOption(241,Node028,004);

   GOption(242,Node028,004);

end

procedure Node032 begin

end

procedure Node033 begin

end

procedure Node034 begin

end

procedure Node035 begin

end

procedure Node101 begin

   Reply(247);

   NLowOption(248,Node102);

   NOption(249,Node109,004);

   NOption(250,Node122,004);

end

procedure Node102 begin

   Reply(251);

   NLowOption(252,Node103);

end

procedure Node103 begin

   Reply(253);

   NLowOption(254,Node104);

end

procedure Node104 begin

   Reply(255);

   NLowOption(256,Node105);

end

procedure Node105 begin

   Reply(257);

   NLowOption(258,Node106);

end

procedure Node106 begin

   Reply(259);

   NLowOption(260,Node107);

end

procedure Node107 begin

   Reply(261);

   NLowOption(262,Node108);

end

procedure Node108 begin

   Reply(263);

   NLowOption(264,Node999,004);

end

procedure Node109 begin

   Reply(265);

   NOption(266,Node110,004);

end

procedure Node110 begin

   Reply(267);

   NOption(268,Node112,004);

end

procedure Node111 begin

end

procedure Node112 begin

   Reply(269);

   NOption(270,Node113,004);

end

procedure Node113 begin

   Reply(271);

   NOption(272,Node121,004);

end

procedure Node114 begin

   Reply(273);

   NOption(274,Node115,004);

end

procedure Node115 begin

   Reply(275);

   NOption(276,Node116,004);

   NOption(277,Node116,004);

end

procedure Node116 begin

   Reply(278);

   NOption(279,Node117,004);

   NOption(280,Node120,004);

end

procedure Node117 begin

   Reply(281);

   NOption(282,Node118,004);

end

procedure Node118 begin

   Reply(283);

   NOption(284,Node999,004);

   NOption(285,Node999,004);

end

procedure Node119 begin

end

procedure Node120 begin

   Reply(286);

   NOption(287,Node117,004);

end

procedure Node121 begin

   Reply(288);

   NOption(289,Node114,004);

end

procedure Node122 begin

   Reply(290);

   NOption(291,Node109,004);

end

//xxxxxxxxxxxxxxxxxxxx