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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
|
// Kytty <3 Valentine Day 2021
// Valentine Day 2021-02-14 script authored by Jesusalva on the 12th
// St. Valentine Day is always on the 14th, the event goes from 13th to 15th
009-1,30,34,0|script|Kytty|430
{
// Core Variable Switcher
if (gettime(5) >= 13 && gettime(5) <= 15) goto L_Quest;
if (gettime(5) > 15 && strcharinfo(0) == "kytty" && $VALENTINE) goto L_StopEvent;
if (gettime(5) > 15 && #VALENTINE) goto L_ClaimRewards;
if (gettime(5) > 15 && GM >= GM_DEV && $VALENTINE) goto L_ReadOnly;
mes "[Kytty]";
mes "\"Uh? Hello there. I am looking for my husband to stare at him, don't mind me.\"";
close;
L_Quest:
if (#VALENTINE) goto L_Running;
// Core dialog
mes "[Kytty]";
mes "\"Hey, "+strcharinfo(0)+"! I have a problem and perhaps you can help me!\"";
next;
menu
"Sure, m'am... What should I do?", L_Continue,
"Who, me? Sorry, wrong person.", L_Close;
L_Continue:
mes "";
mes "[Kytty]";
mes "\"I feel like my husband is staring at other people, and that is ABSURD! He should only stare at kytty!\" %%e";
next;
mes "[Kytty]";
mes "\"So kytty came up with a great plan - kytty will brew some [@@5263|Love Potions@@] so hubby only stares at me!\"";
next;
mes "[Kytty]";
mes "\"I have most ingredients, but a few are still missing and I was hoping you could help me out:\"";
mes "- 20x Cherry";
mes "- 20x Chocolate Bar";
mes "- 1x Diamond";
mes "- 1x Chocolate Cake";
next;
mes "[Kytty]";
mes "\"Uh? Of course I won't put everything in the potion! Wyara will sell me some other ingredients for the diamond, and... Hey, stop making questions!\"";
next;
mes "[Kytty]";
mes "\"Do you have everything I've asked for?\"";
menu
"I do.", L_Check,
"I don't.", L_Close;
L_Check:
mes "";
getinventorylist;
if (@inventorylist_count == 100) goto L_Full;
if (countitem("ChocolateBar") < 20) goto L_NotEnough;
if (countitem("Cherry") < 20) goto L_NotEnough;
if (countitem("Diamond") < 1) goto L_NotEnough;
if (countitem("ChocolateCake") < 1) goto L_NotEnough;
delitem "ChocolateBar", 20;
delitem "Cherry", 20;
delitem "Diamond", 1;
delitem "ChocolateCake", 1;
getitem "LovePotion", 1;
getexp 50000, 0;
set #VALENTINE, 1;
mes "[Kytty]";
mes "\"With this, he will totally stare only at me now! Thanks for the help. Here, you can have an extra, but you are not cute like him so don't blame me if it don't work or present... side effects.\"";
next;
mes "[Kytty]";
mes "\"Also, I love chocolate. I'll give you a spare potion every fifty [@@509|@@] you bring me.\"";
close;
L_NotEnough:
mes "";
mes "[Kytty]";
mes "\"Don't try to troll me, I know you don't have everything.\"";
close;
L_Full:
mes "[Kytty]";
mes "\"Free up some space in your inventory, please.\"";
close;
/////////////////////////////////////////////////////////////////////
L_Running:
getinventorylist;
if (@inventorylist_count == 100) goto L_Full;
mes "[Kytty]";
mes "\"Have you brought me more chocolate? I am starving with only "+$VALENTINE+" [@@509|@@]. You ##Bonly##b gave me "+(#VALENTINE-1)+" bar(s), after all!\"";
next;
menu
"Not yet, but I'll be back.", L_Close,
"Sure thing miss, take all you want!", L_Collect;
L_Collect:
mes "";
set @choco, countitem("ChocolateBar");
set @bonus, (#VALENTINE%50)+@choco;
set @potio, @bonus/50;
//debugmes "Choco "+@choco+" Potio "+@potio+" Bonus "+@bonus+".";
set @bonus, 0;
delitem "ChocolateBar", @choco;
set #VALENTINE, #VALENTINE+@choco;
set $VALENTINE, $VALENTINE+@choco;
getexp @choco*15, @choco*7;
if (@potio) goto L_BonusPots;
mes "[Kytty]";
mes "\"Yummy! Thanks for your support. Tell me if you have more chocolate!\"";
close;
L_BonusPots:
getitem "LovePotion", @potio;
mes "[Kytty]";
mes "\"Here are some love potions for you. But as I said - I'm not sure if you are cute enough for them.\"";
close;
L_StopEvent:
mes "[Kytty]";
mes "\"Hey other me! I still have "+$VALENTINE+" chocolate bars, but I'm a NPC and cannot eat them, so here they are!\"";
next;
set @choco, min($VALENTINE, 30000);
getitem "ChocolateBar", @choco;
set $VALENTINE, $VALENTINE-@choco;
mes "[Kytty]";
mes "\"Also: Jesusalva asked me to wish you a happy Valentine Day.\"";
close;
L_ReadOnly:
mes "[Kytty]";
mes "\"I'm still holding on "+$VALENTINE+" chocolate bars, but I'll eat them soon!\"";
close;
////////////////////////////////////////////////////////////////////
L_ClaimRewards:
if(!#VALENTINE) goto L_Close;
getinventorylist;
if (@inventorylist_count > 95) goto L_Full;
setarray @oldstock$, "GrassFedTofu", "Honey", "VeganWater", "FairTradeSoil", "LactoseFreeAcorn", "RawAir", "FreeRangeMoss";
getitem @oldstock$[rand(getarraysize(@oldstock$))], 1;
cleararray @oldstock$, "", getarraysize(@oldstock$);
//getitem "BlueWolfHelmet", 1; // FIXME?
getitem "ShockSweet", rand(4, 7);
getitem "DarkConcentrationPotion", rand(2, 5);
getexp 1+(#VALENTINE*BaseLevel)/2, 0;
set #VALENTINE, 0;
close;
////////////////////////////////////////////////////////////////////
L_Close:
close;
L_Off:
disablenpc "Kytty";
end;
L_On:
enablenpc "Kytty";
end;
OnInit:
if (gettime(6) == 2) goto L_On; // NPC shows only in February
goto L_Off;
OnClock0000:
goto OnInit;
}
|