#include <define.h>

//#define NAME                    SCRIPT_

#include <command.h>
//#include <ModReact.h>



procedure start;
#include <push.h>
procedure do_dialogue;
procedure Lorri01;
procedure Lorri02;
procedure Lorri03;
procedure Lorri04;
procedure Lorri05;
procedure Lorri06;
procedure Lorri07;
procedure Lorri08;
procedure Lorri09;
procedure Lorri10;
procedure Lorri11;
procedure Lorri12;
procedure Lorri13;
procedure Lorri14;
procedure Lorri15;
procedure Lorri16;
procedure Lorri17;
procedure Lorri18;
procedure Lorri19;
procedure Lorri20;
procedure Lorri21;
procedure Lorri22;
procedure Lorri23;
procedure Lorri24;
procedure Lorri25;
procedure Lorri26;
procedure Lorri27;

variable known;


procedure start
begin
	if (script_action == talk_proc) then begin
		call do_dialogue;
	end
	else begin
		if ((script_action == look_at_proc) or (script_action == description_proc)) then begin
			script_overrides;
			if (known) then begin
				display_msg(message_str(SCRIPT_LORRAINE, 100));
			end
			else begin
				display_msg(message_str(SCRIPT_LORRAINE, 101));
			end
		end
		else begin
			if (script_action == timed_event_proc) then begin
				attack_complex(dude_obj, 0, 1, 0, 0, 30000, 0, 0);
			end
		end
	end
end

procedure do_dialogue
begin
	start_gdialog(SCRIPT_LORRAINE, self_obj, 4, -1, -1);
	sayStart;
	if (known) then begin
		call Lorri04;
	end
	else begin
		call Lorri01;
	end
	sayEnd;
	end_dialogue;
end

procedure Lorri01
begin
	sayReply(0, message_str(SCRIPT_LORRAINE, 102));
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 103), Lorri02);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 104) + proto_data(obj_pid(dude_obj), 1) + message_str(SCRIPT_LORRAINE, 105), Lorri03);
	end
	if (get_critter_stat(dude_obj, 4) >= -3) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 106), Lorri15);
	end
end

procedure Lorri02
begin
	sayReply(0, message_str(SCRIPT_LORRAINE, 107));
	if (not(known)) then begin
		if (get_critter_stat(dude_obj, 4) >= 4) then begin
			sayOption(message_str(SCRIPT_LORRAINE, 108), Lorri03);
		end
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 109), Lorri16);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 110), Lorri20);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 111), Lorri04);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 112), Lorri05);
	end
end

procedure Lorri03
begin
	known := 1;
	sayReply(0, message_str(SCRIPT_LORRAINE, 113));
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 114), Lorri02);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 115), Lorri05);
	end
end

procedure Lorri04
begin
	sayReply(0, message_str(SCRIPT_LORRAINE, 116));
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 117), Lorri06);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 118), Lorri07);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 119), Lorri02);
	end
end

procedure Lorri05
begin
	sayMessage(0, message_str(SCRIPT_LORRAINE, 120));
end

procedure Lorri06
begin
	sayReply(0, message_str(SCRIPT_LORRAINE, 121));
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 122), Lorri08);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 123), Lorri10);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 124), Lorri02);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 125), Lorri05);
	end
end

procedure Lorri07
begin
	sayReply(0, message_str(SCRIPT_LORRAINE, 126));
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 127), Lorri02);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 128), Lorri05);
	end
end

procedure Lorri08
begin
	sayMessage(0, message_str(SCRIPT_LORRAINE, 129));
	sayReply(0, message_str(SCRIPT_LORRAINE, 130));
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 131), Lorri09);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 132), Lorri02);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 133), Lorri05);
	end
end

procedure Lorri09
begin
	sayReply(0, message_str(SCRIPT_LORRAINE, 134));
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 135), Lorri12);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 136), Lorri02);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 137), Lorri05);
	end
end

procedure Lorri10
begin
	sayReply(0, message_str(SCRIPT_LORRAINE, 138));
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 139), Lorri11);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 140), Lorri06);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 141), Lorri02);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 142), Lorri05);
	end
end

procedure Lorri11
begin
	sayReply(0, message_str(SCRIPT_LORRAINE, 143));
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 144), Lorri13);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 145), Lorri14);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 146), Lorri02);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 147), Lorri05);
	end
end

procedure Lorri12
begin
	sayMessage(0, message_str(SCRIPT_LORRAINE, 148));
end

procedure Lorri13
begin
	sayMessage(0, message_str(SCRIPT_LORRAINE, 149));
end

procedure Lorri14
begin
	sayReply(0, message_str(SCRIPT_LORRAINE, 150));
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 151), Lorri02);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 152), Lorri05);
	end
end

procedure Lorri15
begin
	sayMessage(0, message_str(SCRIPT_LORRAINE, 153));
end

procedure Lorri16
begin
	sayReply(0, message_str(SCRIPT_LORRAINE, 154));
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 155), Lorri17);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 156), Lorri05);
	end
end

procedure Lorri17
begin
	sayMessage(0, message_str(SCRIPT_LORRAINE, 157));
	sayReply(0, message_str(SCRIPT_LORRAINE, 158));
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 159), Lorri18);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 160), Lorri08);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 161), Lorri19);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 162), Lorri27);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 163), Lorri05);
	end
end

procedure Lorri18
begin
	sayReply(0, message_str(SCRIPT_LORRAINE, 164));
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 165), Lorri02);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 166), Lorri05);
	end
end

procedure Lorri19
begin
	sayReply(0, message_str(SCRIPT_LORRAINE, 167));
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 168), Lorri08);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 169), Lorri02);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 170), Lorri05);
	end
end

procedure Lorri20
begin
	sayReply(0, message_str(SCRIPT_LORRAINE, 171));
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 172), Lorri21);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 173), Lorri22);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 174), Lorri23);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 175), Lorri24);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 176), Lorri25);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 177), Lorri05);
	end
end

procedure Lorri21
begin
	sayReply(0, message_str(SCRIPT_LORRAINE, 178));
	call Lorri26;
end

procedure Lorri22
begin
	sayReply(0, message_str(SCRIPT_LORRAINE, 179));
	call Lorri26;
end

procedure Lorri23
begin
	sayReply(0, message_str(SCRIPT_LORRAINE, 180));
	call Lorri26;
end

procedure Lorri24
begin
	sayReply(0, message_str(SCRIPT_LORRAINE, 181));
	call Lorri26;
end

procedure Lorri25
begin
	sayReply(0, message_str(SCRIPT_LORRAINE, 182));
	call Lorri26;
end

procedure Lorri26
begin
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 183), Lorri20);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 184), Lorri02);
	end
	if (get_critter_stat(dude_obj, 4) >= 4) then begin
		sayOption(message_str(SCRIPT_LORRAINE, 185), Lorri05);
	end
end

procedure Lorri27
begin
	sayMessage(0, message_str(SCRIPT_LORRAINE, 186));
end