// TMW-2 script.
// Author:
// Crazyfefe
// Jesusalva
// Description:
// Barrels
// Variables:
// CandorQuest_Barrel
// Values:
// 0 Default.
// 1 Quest Found.
// 2 Quest Accepted.
// 3 Bomb Defused.
// 4 Quest Completed.
// TODO FIXME: KNOWN BUG
// It is a known bug that using .questCheck and .questState is ABSOLUTELY WRONG
// A NPC variable affects the whole server, lasting until server restart.
// Therefore, by using "." variables, it will only work at localhosts.
// TODO FIXME: KNOWN BUG
function script CheckBarrel {
.questCheck = .questCheck + 1;
areamonster "005-3", 24, 34, 45, 42, "Cave Maggot", 1027, 1;
if (.questCheck == 8)
{
setq CandorQuest_Barrel, 3;
}
.@rand = rand(6);
if (.@rand == 0)
getitem Coal,1;
else if (.@rand == 1)
getitem PinkAntenna,1;
else if (.@rand == 2)
getitem CoinBag,1;
else if (.@rand == 3)
getitem Croconut,1;
else if (.@rand == 4)
getitem Bread,1;
else if (.@rand == 5)
getitem TolchiArrow,6;
}
005-3,24,36,0 script Barrel#1 NPC_NO_SPRITE,{
.@q = getq(CandorQuest_Barrel);
if (.questState == 0 && .@q == 2)
{
.questState = 1;
CheckBarrel();
}
end;
OnInit:
.sex = G_OTHER;
.distance = 1;
end;
}
005-3,24,39,0 script Barrel#2 NPC_NO_SPRITE,{
.@q = getq(CandorQuest_Barrel);
if (.questState == 0 && .@q == 2)
{
.questState = 1;
CheckBarrel();
}
end;
OnInit:
.sex = G_OTHER;
.distance = 1;
end;
}
005-3,29,37,0 script Barrel#3 NPC_NO_SPRITE,{
.@q = getq(CandorQuest_Barrel);
if (.questState == 0 && .@q == 2)
{
.questState = 1;
CheckBarrel();
}
end;
OnInit:
.sex = G_OTHER;
.distance = 1;
end;
}
005-3,35,34,0 script Barrel#4 NPC_NO_SPRITE,{
.@q = getq(CandorQuest_Barrel);
if (.questState == 0 && .@q == 2)
{
.questState = 1;
CheckBarrel();
}
end;
OnInit:
.sex = G_OTHER;
.distance = 1;
end;
}
005-3,38,34,0 script Barrel#5 NPC_NO_SPRITE,{
.@q = getq(CandorQuest_Barrel);
if (.questState == 0 && .@q == 2)
{
.questState = 1;
CheckBarrel();
}
end;
OnInit:
.sex = G_OTHER;
.distance = 1;
end;
}
005-3,44,40,0 script Barrel#6 NPC_NO_SPRITE,{
.@q = getq(CandorQuest_Barrel);
if (.questState == 0 && .@q == 2)
{
.questState = 1;
CheckBarrel();
}
end;
OnInit:
.sex = G_OTHER;
.distance = 1;
end;
}
005-3,38,41,0 script Barrel#7 NPC_NO_SPRITE,{
.@q = getq(CandorQuest_Barrel);
if (.questState == 0 && .@q == 2)
{
.questState = 1;
CheckBarrel();
}
end;
OnInit:
.sex = G_OTHER;
.distance = 1;
end;
}
005-3,29,41,0 script Barrel#8 NPC_NO_SPRITE,{
.@q = getq(CandorQuest_Barrel);
if (.questState == 0 && .@q == 2)
{
.questState = 1;
CheckBarrel();
}
end;
OnInit:
.sex = G_OTHER;
.distance = 1;
end;
}