summaryrefslogblamecommitdiff
path: root/npc/annuals/xmas/reagents.txt
blob: dbdf52e7fca47b26d70fa8e4d409ae1bda105525 (plain) (tree)










































































































































                                                                                                                                                                                                       
function	script	CheckReagents	{
    @xmas_reagent_loop = 0;
    if((@xmas_reagent_done_state) || !(@xmas_reagent_start_state))
        goto L_Return;
    if(@xmas_side)
        goto L_OneLoop;
    goto L_ZeroLoop;

L_ZeroLoop:
    if(countitem($@xmas_zero_reagents$[@xmas_reagent_loop]) >= $@xmas_zero_reagents_amounts[@xmas_reagent_loop])
        goto L_ZeroLoopAgain;
    goto L_Return;

L_ZeroLoopAgain:
    if((@xmas_reagent_loop + 1) == getarraysize($@xmas_zero_reagents$))
        goto L_AllReagents;
    @xmas_reagent_loop = (@xmas_reagent_loop + 1);
    goto L_ZeroLoop;

L_OneLoop:
    if(countitem($@xmas_one_reagents$[@xmas_reagent_loop]) >= $@xmas_one_reagents_amounts[@xmas_reagent_loop])
        goto L_OneLoopAgain;
    goto L_Return;

L_OneLoopAgain:
    if((@xmas_reagent_loop + 1) == getarraysize($@xmas_one_reagents$))
        goto L_AllReagents;
    @xmas_reagent_loop = (@xmas_reagent_loop + 1);
    goto L_OneLoop;

L_AllReagents:
    @xmas_state = $@xmas_reagents_done;
    callfunc "XmasSetState";
    goto L_Return;

L_Return:
    return;
}

function	script	DeleteReagents	{
    @xmas_reagent_loop = 0;
    if(@xmas_side)
        goto L_OneLoop;
    goto L_ZeroLoop;

L_ZeroLoop:
    delitem $@xmas_zero_reagents$[@xmas_reagent_loop], $@xmas_zero_reagents_amounts[@xmas_reagent_loop];
    goto L_ZeroLoopAgain;

L_ZeroLoopAgain:
    if((@xmas_reagent_loop + 1) == getarraysize($@xmas_zero_reagents$))
        goto L_Return;
    @xmas_reagent_loop = (@xmas_reagent_loop + 1);
    goto L_ZeroLoop;

L_OneLoop:
    delitem $@xmas_one_reagents$[@xmas_reagent_loop], $@xmas_one_reagents_amounts[@xmas_reagent_loop];
    goto L_OneLoopAgain;

L_OneLoopAgain:
    if((@xmas_reagent_loop + 1) == getarraysize($@xmas_one_reagents$))
        goto L_Return;
    @xmas_reagent_loop = (@xmas_reagent_loop + 1);
    goto L_OneLoop;

L_Return:
    return;
}

function	script	ListReagents	{
    @xmas_reagent_loop = 0;
    mes "\"I'm going to need \"";
    next;

    if(@xmas_side)
        goto L_OneLoop;
    goto L_ZeroLoop;

L_ZeroLoop:
    mes "\"" + $@xmas_zero_reagents_amounts[@xmas_reagent_loop] + " " + $@xmas_zero_reagents_names$[@xmas_reagent_loop] + "\"";
    next;
    goto L_ZeroLoopAgain;

L_ZeroLoopAgain:
    if((@xmas_reagent_loop + 1) == getarraysize($@xmas_zero_reagents$))
        goto L_AllReagents;
    @xmas_reagent_loop = (@xmas_reagent_loop + 1);
    goto L_ZeroLoop;

L_OneLoop:
    mes "\"" + $@xmas_one_reagents_amounts[@xmas_reagent_loop] + " " + $@xmas_one_reagents_names$[@xmas_reagent_loop] + "\"";
    next;
    goto L_OneLoopAgain;

L_OneLoopAgain:
    if((@xmas_reagent_loop + 1) == getarraysize($@xmas_one_reagents$))
        goto L_AllReagents;
    @xmas_reagent_loop = (@xmas_reagent_loop + 1);
    goto L_OneLoop;

L_AllReagents:
    return;
}

function	script	BadPowderMake	{
    if(countitem("PileOfAsh") < ($@xmas_red_amount + $@xmas_yellow_amount))
        goto L_NotEnough;
    if(countitem("RedDye") < $@xmas_red_amount)
        goto L_NotEnough;
    if(countitem("YellowDye") < $@xmas_yellow_amount)
        goto L_NotEnough;
    getinventorylist;
    if (@inventorylist_count > 100)
        goto L_FullInv;
    goto L_MakePowder;

L_MakePowder:
    delitem "PileOfAsh", ($@xmas_red_amount + $@xmas_yellow_amount);
    delitem "RedDye", $@xmas_red_amount;
    delitem "YellowDye", $@xmas_yellow_amount;
    getitem "RedPowder", $@xmas_red_amount;
    getitem "YellowPowder", $@xmas_yellow_amount;
    mes "\"Here is your powder, now move!\"";
    goto L_Return;

L_FullInv:
    mes "\"... Excuse me but where did you expect you were going to hold these powders...\"";
    mes "\"WAIT! no, I don't want to know. Just come back when you have some room.\"";
    goto L_Return;

L_NotEnough:
    mes "\"You don't have enough of eagents to make the powders.\"";
    mes "\"To replace the glitter we will need get " + ($@xmas_red_amount + $@xmas_yellow_amount) + " Piles of Ash, " + $@xmas_red_amount + " Red Dyes and " + $@xmas_yellow_amount + " Yellow Dyes\"";
    goto L_Return;

L_Return:
    return;
}