// Evol scripts.
// Author:
// Micksha, Jesusalva
// Description:
// Core of Henry's Quest
001-2-43,25,24,0 script #ArtisThiefBook_1 NPC_NO_SPRITE,{
.@q=getq(ThiefQuests_Artis);
.@q3=getq3(ThiefQuests_Artis);
// Add a forced delay to prevent abuse
if (.@q != 1) end;
getmapxy(.@m$, @x, @y, 0); // Save in @x/@y
dispbottom l("Sec, lemme look this.");
addtimer 1000, .name$+"::OnRead";
end;
OnRead:
// Prepare the Quest Variables
.@q=getq(ThiefQuests_Artis);
.@q3=getq3(ThiefQuests_Artis);
// You must not have moved
getmapxy(.@m$, .@x, .@y, 0);
if (.@x != @x || .@y != @y || .@q != 1) {
dispbottom l("I'm so busy, I can look there later.");
end;
}
// Clear temporary variables
@x=@y=0;
// Extract the quest ID from name (or fail trying)
explode(.@ni$, .name$, "_");
.@id=atoi(.@ni$[1]);
// Check if the file was here
if (.@q3 == .@id) {
// TODO: Dialog: How will you deal with the file?
// .@t$=faction_addrep("Legion", 50)
// .@t$=faction_addrep("Thief", 50)
// mesc .@t$;
mes l("This is it - Henry's files!");
mes l("I need to decide swiftly what I'll do with them before I'm caught.");
mesc l("This decision will be remembered."), 1;
next;
select
l("Hide the file below the pots"),
l("[Legion+] [Thieves-] Highlight the file"),
l("[Legion-] [Thieves+] Destroy the file");
mes "";
switch (@menu) {
case 2:
.@t$=faction_addrep("Legion", 50);
mesc .@t$;
.@t$=faction_addrep("Thief", -50);
mesc .@t$;
next;
break;
case 3:
.@t$=faction_addrep("Legion", -50);
mesc .@t$;
.@t$=faction_addrep("Thief", 50);
mesc .@t$;
next;
break;
}
dispbottom l("You notice by chance that the file does not have any picture on it.");
setq ThiefQuests_Artis, 2, 0, 0;
closeclientdialog;
} else {
dispbottom l("Not here, lets look elsewhere!");
}
end;
OnInit:
.distance=1;
end;
}
// Duplicate the town files
001-2-43,24,28,0 duplicate(#ArtisThiefBook_1) #ArtisThiefBook_2 NPC_NO_SPRITE
001-2-43,25,32,0 duplicate(#ArtisThiefBook_1) #ArtisThiefBook_4 NPC_NO_SPRITE
001-2-43,29,28,0 duplicate(#ArtisThiefBook_1) #ArtisThiefBook_8 NPC_NO_SPRITE
001-2-43,34,32,0 duplicate(#ArtisThiefBook_1) #ArtisThiefBook_16 NPC_NO_SPRITE
001-2-43,38,32,0 duplicate(#ArtisThiefBook_1) #ArtisThiefBook_32 NPC_NO_SPRITE
001-2-43,44,32,0 duplicate(#ArtisThiefBook_1) #ArtisThiefBook_64 NPC_NO_SPRITE
001-2-43,48,32,0 duplicate(#ArtisThiefBook_1) #ArtisThiefBook_128 NPC_NO_SPRITE
001-2-43,48,28,0 duplicate(#ArtisThiefBook_1) #ArtisThiefBook_256 NPC_NO_SPRITE
001-2-43,43,28,0 duplicate(#ArtisThiefBook_1) #ArtisThiefBook_512 NPC_NO_SPRITE
001-2-43,38,28,0 duplicate(#ArtisThiefBook_1) #ArtisThiefBook_1024 NPC_NO_SPRITE
001-2-43,33,28,0 duplicate(#ArtisThiefBook_1) #ArtisThiefBook_2048 NPC_NO_SPRITE
001-2-43,53,24,0 duplicate(#ArtisThiefBook_1) #ArtisThiefBook_4096 NPC_NO_SPRITE
001-2-43,44,24,0 duplicate(#ArtisThiefBook_1) #ArtisThiefBook_8192 NPC_NO_SPRITE
001-2-43,29,24,0 duplicate(#ArtisThiefBook_1) #ArtisThiefBook_16384 NPC_NO_SPRITE
001-2-43,39,24,0 duplicate(#ArtisThiefBook_1) #ArtisThiefBook_32768 NPC_NO_SPRITE
001-2-43,49,24,0 duplicate(#ArtisThiefBook_1) #ArtisThiefBook_65536 NPC_NO_SPRITE
// Fail-safe; Henry's record should not be here
001-2-43,34,24,0 duplicate(#ArtisThiefBook_1) #ArtisThiefBook_131072 NPC_NO_SPRITE
//001-2-43,29,31,0 duplicate(#ArtisThiefBook_1) #ArtisThiefBook_131072 NPC_NO_SPRITE
//001-2-43,24,26,0 duplicate(#ArtisThiefBook_1) #ArtisThiefBook_262144 NPC_NO_SPRITE
// Logical Handler
001-2-43,0,0,0 script #ArtisThiefBook_0 NPC_HIDDEN,{
end;
OnBust1:
if (getmap() != .map$)
end;
dispbottom col(l("90 seconds remaining."), 1);
addtimer 30000, "#ArtisThiefBook_0::OnBust2";
end;
OnBust2:
if (getmap() != .map$)
end;
dispbottom col(l("60 seconds remaining."), 1);
addtimer 30000, "#ArtisThiefBook_0::OnBust3";
end;
OnBust3:
if (getmap() != .map$)
end;
dispbottom col(l("30 seconds remaining."), 1);
addtimer 30000, "#ArtisThiefBook_0::OnBust4";
end;
OnBust4:
if (getmap() == .map$) {
// Warp you elsewhere before actually arresting
// Otherwise, you would return at Archives without this timer =/
warp "001-1", 90, 55;
sleep2(10);
// Check if you'll be caught
if (ArrestedChances()) {
mesc l("Arrested!");
mesc l("You'll now spend a few minutes on the jail to reflect on your actions.");
ArrestPlayer(5);
} else {
mesc l("You're almost found out, but manage to make a quick escape!");
warp "001-1", 90, 55;
}
}
close;
}