// TMW2 scripts.
// Authors:
// Jesusalva
// +seeds
// Description:
// Daily quest to exchange Tolchi Arrow Boxes for a small amount of gp and exp
// Variables:
// $GLIM_ST
// How many Tolchi Arrow Boxes were given
// q2
// Controls your own progress helping Glim - Items today
// q3
// Controls your own progress helping Glim - Your timer
006-2-1,82,28,0 script Glim NPC_PIOU_VIKING,{
function handle_donation;
L_Loop:
.@q3 = getq3(PiouQuest_Glim);
mesn;
mesq l("Argh, I've run out o' arrows! Say, ye don't have any I could use, do ye? I only got %s...", fnum($GLIM_ST));
next;
if (.@q3 < $@GLIM_QTIMER) {
setq2 PiouQuest_Glim, 0;
setq3 PiouQuest_Glim, $@GLIM_QTIMER;
}
// Daily limit reached
.@q2 = getq2(PiouQuest_Glim);
.@donations_limit = (BaseLevel-17)/3 - .@q2;
.@tabox_limit = min(countitem(TolchiAmmoBox), .@donations_limit);
.@tarow_limit = min(countitem(TolchiArrow)/200, .@donations_limit);
if (.@donations_limit <= 0)
goto L_Timer;
select
rif(.@tabox_limit > 0, l("Give Glim a %s", getitemname(TolchiAmmoBox))),
rif(.@tarow_limit > 0, l("Give Glim a %s", l("bundle of 200 %s", getitemname(TolchiArrow)))),
l("Maybe later.");
mes "";
switch (@menu) {
case 1:
handle_donation(TolchiAmmoBox, 1, 150, 64);
break;
case 2:
handle_donation(TolchiArrow, 200, 100, 72);
break;
case 3:
close;
break;
}
goto L_Loop;
L_Timer:
if (BaseLevel < 10) {
mesq l("Wait a minute! I ain't trustin' a weakling like ye fer good arrows!");
mesn;
mesq l("Come back when ye've grown sum muscles.");
close;
}
mesn;
mesq l("I'm all stocked up now, thanks to ye. Come back in @@ and ye might be able to help me again.", FuzzyTime($@GLIM_TIMER+(60*60*24),2,2));
close;
function handle_donation { // (partID, Amount, Zeny, bEXP)
.@partID = getarg(0);
.@amount = getarg(1);
.@zeny = getarg(2);
.@bEXP = getarg(3);
delitem .@partID, .@amount;
getexp .@bEXP, 0;
Zeny += .@zeny;
$GLIM_ST += 1;
setq2 PiouQuest_Glim, (getq2(PiouQuest_Glim) + 1);
}
OnInit:
.sex = G_OTHER;
.distance = 5;
$@GLIM_QTIMER = gettimeparam(GETTIME_DAYOFMONTH);
$@GLIM_TIMER = gettimetick(2);
$@GLIM_TIMER -= gettime(1);
$@GLIM_TIMER -= gettime(2)*60;
$@GLIM_TIMER -= gettime(3)*3600;
end;
OnHour00:
$@GLIM_QTIMER = gettimeparam(GETTIME_DAYOFMONTH);
$@GLIM_TIMER = gettimetick(2);
end;
}