summaryrefslogtreecommitdiff
path: root/npc/003-1/silvia.txt
blob: a2f31d59949fca4d043ce5e30386e78f4b2c0d01 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
// TMW2 Script.
// Author:
//    Saulc
//    Jesusalva

003-1,109,150,0	script	Silvia	NPC_FEMALE_ARGAES,{

    if (strcharinfo(0) == $MOST_HEROIC$) npctalk l("Oh my, the great @@ has come to talk to me!", $MOST_HEROIC$);
    if (getq(TulimsharQuest_Swezanne) == 4) goto L_Message;
    .@q2=getq2(TulimsharQuest_Swezanne);
    if (.@q2 < santime()) goto L_Unallowed;
    if (getq(TulimsharQuest_Swezanne) == 1 && getq(TulimsharQuest_Lifestone) < 2) goto L_Lifestone;
    if (strcharinfo(0) != $MOST_HEROIC$) hello;
    if (getq(MineQuest_Naem) == 1) goto L_Hubby;
    end;

L_Message:
    mesn strcharinfo(0);
    mesq l("Your mother asked me to say that she loves you.");
    next;
    mesn;
    mesq l("Oh no, not another stranger she sends me to tell that!");
    next;
    mesn;
    mesq l("She never leaves the shade of that tree, she is always sending messages by other people!!");
    next;
    mesn;
    mesq l("Oh well... That's my mother, and this is why I love her.");
    next;
    inventoryplace CottonGloves, 1;
    getitem CottonGloves, 1;
    getexp 105,0;
    setq1 TulimsharQuest_Swezanne, 1;
    mesn;
    mesq l("Thank you, @@. Please take this pair of gloves as a thank you.", strcharinfo(0));
    close;

L_Lifestone:
    mesn;
    mesq l("Hey! Good to see you. I was thinking how I could repay for what you've done for my mother.");
    next;
    mesn;
    mesq l("I can make you a @@, and for that I will want a @@ and 500 GP.", getitemlink(LifestonePendant), getitemlink(Lifestone));
    if (getq(TulimsharQuest_Lifestone) == 0) {
        next;
        mesn;
        mesq l("I am not sure of who makes or haves Lifestones. Try looking outside the city. Who knows.");
        close;
    }
    menu
        rif(Zeny >= 500 && countitem(Lifestone) > 0, l("Yes, I accept the pendant!")), -,
        l("Not now, but I may be back later."), L_Close;

    // Whaaaat, this is a major error affecting several scripts!
    if (Zeny < 500 || countitem(Lifestone) < 0) {
        atcommand("@request Someone is cheating, call Jesusalva at once!");
        atcommand("@ban \""+strcharinfo(0)+"\" 15mn"); // I truly hope they bother Jesusalva they were banned
        disablenpc "Silvia";
        close;
    }
    Zeny-=500;
    delitem Lifestone, 1;
    getitem LifestonePendant, 1;
    setq(TulimsharQuest_Lifestone, 2);
    mes "";
    mesn;
    mesq l("There you go! Thanks for all the help!");
    close;

L_Unallowed:
    mesn;
    mesq l("Ah, I wonder how my mother Swezanne is faring...");
    next;
    mesn;
    mesq l("She must be thristy, fighting monsters on this sun... If somebody could give her Cactus Potions...");
    close;

L_Hubby:
    mesc l("Did we brought everything Naem asked?");
    mesf l("%d/%d %s",countitem(Aquada), 7, getitemlink(Aquada));
    mesf l("%d/%d %s",countitem(PiouLegs), 6, getitemlink(PiouLegs));
    mesf l("%d/%d %s",countitem(Cheese), 3, getitemlink(Cheese));
    mesf l("%d/%d %s",countitem(HalfCroconut), 3, getitemlink(HalfCroconut));
    mesf l("%d/%d %s",countitem(PurpleBlobime), 1, getitemlink(PurpleBlobime));
    next;
    if (askyesno() == ASK_NO) { closeclientdialog; end; }
    if (countitem(Aquada) < 7 ||
        countitem(PiouLegs) < 6 ||
        countitem(Cheese) < 3 ||
        countitem(HalfCroconut) < 3 ||
        countitem(PurpleBlobime) < 1) {
        mesc l("You lied, and this caused a headache! You should NEVER lie to NPCs, because they may steal your items!");
        callfunc("SC_Bonus", 15, SC_POISON, 10);
        close;
    }
    inventoryplace IcedBottle, 1;
    delitem Aquada, 7;
    delitem PiouLegs, 6;
    delitem Cheese, 3;
    delitem HalfCroconut, 3;
    delitem PurpleBlobime, 1;
    getitembound IcedBottle, 1, 4;
    setq MineQuest_Naem, 2;
    mesn;
    mesq l("Hm, groceries? Well, figure out Naem would ask someone to deliver them.");
    next;
    mesn;
    mesq l("Thanks, please tell him I'll make his favorite dish. Oh, could you also deliver him this %s?", getitemlink(IcedBottle));
    next;
    mesn;
    mesq l("The mines are over a Volcano. Unless you're a Redy, the heat will slowly chip away your health if you go deep. But drinking iced water can improve temporarily your situation.");
    close;

L_Close:
    closedialog;
    goodbye;
    close;

OnInit:
    .@npcId = getnpcid(.name$);
    setunitdata(.@npcId, UDT_HEADTOP, NPCEyesD);
    setunitdata(.@npcId, UDT_HEADMIDDLE, SilkRobe);
    //setunitdata(.@npcId, UDT_HEADBOTTOM, LeatherTrousers); // TODO
    setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins);
    setunitdata(.@npcId, UDT_HAIRSTYLE, 21);
    setunitdata(.@npcId, UDT_HAIRCOLOR, 11);

    .sex = G_FEMALE;
    .distance = 5;
    end;
}