summaryrefslogblamecommitdiff
path: root/npc/001-11/Soren.txt
blob: 4d42b165107ac5aa5e57d90916f3afed03241ca7 (plain) (tree)
1
2
3
4
5
6
7
8
9








                                                                                                    
                                      
                       



























                                                                                                                    




                            
                            
                          






                                  


                        
                              



                              
                        



                  


























































                                                                                                    






                                                      
                 
                                 

                               

                          




                             
                               
                            


                            
                                 




                              

                                    
                                    





                                                         



                  

 
// TMW2 scripts.
// Author:
//    Jesusalva
// Description:
//    NPC obssessed in sending gifts to Demure

001-11,37,25,0	script	Soren xd#Valentine	NPC_PLAYER,{
    mesn;
    mesq l("I will harass Demure with so many chocolate that she'll leave this event map rolling!");
    if (gettime(GETTIME_YEAR) == 2020)
        goto L_Purpose;
    next;

L_Main:
    mesn;
    mesq l("Do you want me to prepare more chocolate box for you? For that I'll need:");
    msObjective(countitem(ChocolateBar) >= 12, l("* @@/12 @@", countitem(ChocolateBar), getitemlink(ChocolateBar)));
    msObjective(Zeny >= 200, l("* @@/200 GP", format_number(Zeny)));
    if (countitem(ChocolateBar) < 12 || Zeny < 200)
        close;
    next;
    if (askyesno() == ASK_NO)
        close;
    if (Zeny < 200)
        warp "001-9", 0, 0;

    inventoryplace BoxOfChocolates, 1;
    delitem ChocolateBar, 12;
    Zeny=Zeny-200;
    getitem BoxOfChocolates, 1;
    mesn;
    mesq l("Here you go!");
    if (countitem(ChocolateBar) >= 12) {
        mesq l("Anything else?");
        next;
        goto L_Main;
    }
    close;

L_Purpose:
    next;
    select
        l("You're creepy."),
        l("Reset status"),
        l("Change weapons"),
        l("Open storage"),
        l("Open shop");
    mes "";
    switch (@menu) {
        case 2:
            ConfirmStatusReset(1);
            break;
        case 3:
            goto L_Swap;
            break;
        case 4:
            closeclientdialog;
            openstorage;
            break;
        case 5:
            closeclientdialog;
            shop .name$;
            break;
    }
    close;

L_Swap:
    // Obtain item ID
    if (countitem(Event1HSword))
        .@itemid=Event1HSword;
    else if (countitem(Event2HSword))
        .@itemid=Event2HSword;
    else if (countitem(EventBow))
        .@itemid=EventBow;
    else if (countitem(EventWand))
        .@itemid=EventWand;
    else
        close;

    // Item list
    delinventorylist();
    getinventorylist();
    .@idx=array_find(@inventorylist_id, .@itemid);
    if (.@idx < 0)
        Exception("Invalid index for ("+.@itemid+") "+getitemlink(.@itemid), RB_DEFAULT|RB_ISFATAL);

    select
        rif(.@itemid != Event1HSword, l("One hand sword (average)")),
        rif(.@itemid != Event2HSword, l("Two hands sword (strong, misses)")),
        rif(.@itemid != EventBow, l("Bow (strong, slow, no evasion)")),
        rif(.@itemid != EventWand, l("Wand (skill boost, pathetically weak)")),
        l("Cancel");
    mes "";
    switch (@menu) {
    case 1:
        delitem .@itemid, 1;
        getitembound2(Event1HSword, 1, 1, @inventorylist_refine[.@idx],
        @inventorylist_attribute[.@idx], @inventorylist_card1[.@idx],
        @inventorylist_card2[.@idx], @inventorylist_card3[.@idx],
        @inventorylist_card4[.@idx], 1);
        break;
    case 2:
        delitem .@itemid, 1;
        getitembound2(Event2HSword, 1, 1, @inventorylist_refine[.@idx],
        @inventorylist_attribute[.@idx], @inventorylist_card1[.@idx],
        @inventorylist_card2[.@idx], @inventorylist_card3[.@idx],
        @inventorylist_card4[.@idx], 1);
        break;
    case 3:
        delitem .@itemid, 1;
        getitembound2(EventBow, 1, 1, @inventorylist_refine[.@idx],
        @inventorylist_attribute[.@idx], @inventorylist_card1[.@idx],
        @inventorylist_card2[.@idx], @inventorylist_card3[.@idx],
        @inventorylist_card4[.@idx], 1);
        break;
    case 4:
        delitem .@itemid, 1;
        getitembound2(EventWand, 1, 1, @inventorylist_refine[.@idx],
        @inventorylist_attribute[.@idx], @inventorylist_card1[.@idx],
        @inventorylist_card2[.@idx], @inventorylist_card3[.@idx],
        @inventorylist_card4[.@idx], 1);
        break;
    }
    close;

OnInit:
    .@npcId = getnpcid(.name$);
    setunitdata(.@npcId, UDT_HEADTOP, CandorShorts);
    setunitdata(.@npcId, UDT_HEADMIDDLE, CandorShirt);
    setunitdata(.@npcId, UDT_HAIRSTYLE, 14);
    setunitdata(.@npcId, UDT_HAIRCOLOR, 18);

    // Soren Shop
	sellitem AnimalBones, 90;
	sellitem Candy, 35;
	sellitem Piberries, 25;
    sellitem OolongTea;
    sellitem ChamomileTea;
    sellitem TolchiArrow;
    sellitem TolchiAmmoBox;
    sellitem TrainingAmmoBox;
    sellitem CrazyRum;
    sellitem Beer;
    sellitem GoldenApple, 7000;
    sellitem MercBoxA, 1000;
    sellitem Grenade;
    sellitem SmokeGrenade;
    sellitem LousyMoccasins;
    sellitem LeatherQuiver, 3500;
    sellitem AgiPotionA, 1000;
    sellitem VitPotionA, 1000;
    sellitem IntPotionA, 1000;
    sellitem DexPotionA, 1000;
    sellitem LukPotionA, 1000;
    sellitem SacredLifePotion, 2500;
    sellitem SacredManaPotion, 2500;
    sellitem CandorWarpCrystal, 100;
    //sellitem MagicApple;
    //sellitem FishingRod;
    //sellitem WurtziteOre;
    // TODO: LottoBox - Random hat to distinguish players
    sellitem DoggyDog;

    .sex = G_MALE;
    .distance = 5;
    end;

}