summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2021-03-09 18:39:42 -0300
committerJesusaves <cpntb1@ymail.com>2021-03-09 18:39:42 -0300
commit4423ae8391682e7298923b53ec5769affd1ee620 (patch)
tree0f8a2949a93f4bc981d8c014c42d12f94962deaf
parent17799a70e54ee42681f485d89e0abb880165d62e (diff)
downloadserverdata-4423ae8391682e7298923b53ec5769affd1ee620.tar.gz
serverdata-4423ae8391682e7298923b53ec5769affd1ee620.tar.bz2
serverdata-4423ae8391682e7298923b53ec5769affd1ee620.tar.xz
serverdata-4423ae8391682e7298923b53ec5769affd1ee620.zip
Restrict max Strange Coin purchase on Easter to 100/year.
Finishing Lilica's Quest is what makes this roll around.
-rw-r--r--db/quest_db.conf4
-rw-r--r--npc/001-4/lilica.txt36
2 files changed, 36 insertions, 4 deletions
diff --git a/db/quest_db.conf b/db/quest_db.conf
index 1a244339a..a1d538c1a 100644
--- a/db/quest_db.conf
+++ b/db/quest_db.conf
@@ -536,6 +536,10 @@ quest_db: (
Id: 310
Name: "SQuest_WorkerDay"
},
+{
+ Id: 311
+ Name: "SQuest_Easter"
+},
// ID 400+: Event Quests
{
diff --git a/npc/001-4/lilica.txt b/npc/001-4/lilica.txt
index 509452c92..1e6ffc296 100644
--- a/npc/001-4/lilica.txt
+++ b/npc/001-4/lilica.txt
@@ -16,7 +16,7 @@
l("Scary..........."), -,
l("Trade Silver Eggs"), L_Silver,
l("Trade Golden Eggs"), L_Golden,
- rif(EASTER_EVENT != gettime(7),l("I want an Eggshell Hat!")), L_Quest,
+ rif(getq(SQuest_Easter) != gettime(7), l("I want an Eggshell Hat!")), L_Quest,
l("View LeaderBoard"), L_Leader;
close;
@@ -63,7 +63,8 @@ L_QuestDone:
delitem GoldenEasteregg, 40;
delitem SilverEasteregg, 10;
//if (rand(0, 10000) < 1000) goto L_Unlucky;
- EASTER_EVENT=gettime(7);
+ setq SQuest_Easter, gettime(7), 0;
+ //EASTER_EVENT=gettime(7);
// The code below not allow hat to leave user account. A bad idea here so I left commented.
//getitembound(.@Hat, 1, 1);
getnameditem(.@Hat, strcharinfo(0));
@@ -97,6 +98,27 @@ OnInit:
end;
}
+function script EasterCoinCheck {
+ for (.@i=0;.@i < getarraysize(@bought_nameid); .@i++) {
+
+ if (debug || $@GM_OVERRIDE)
+ debugmes("%dx %s", @bought_quantity[.@i], getitemname(@bought_nameid[.@i]));
+
+ if (@bought_nameid[.@i] == StrangeCoin) {
+ .@q2=getq2(SQuest_Easter)+@bought_quantity[.@i];
+ if (.@q2 > 100) {
+ dispbottom l("Attempted to buy %d/%d %s, operation cancelled.",
+ @bought_quantity[.@i], 100-getq2(SQuest_Easter),
+ getitemlink(StrangeCoin));
+ if (TUTORIAL)
+ dispbottom l("This quota is reset yearly, by completing %s's quest.", b("Lilica"));
+ end;
+ }
+ }
+ }
+ return;
+}
+
// Silver Easter Egg exchange.
001-4,139,151,0 trader #eastershop1 NPC_HIDDEN,{
end;
@@ -117,7 +139,10 @@ OnCountFunds:
OnPayFunds:
if( countitem(SilverEasteregg) < @price )
end;
- delitem SilverEasteregg,@price;
+ // Strange Coins are different
+ EasterCoinCheck();
+ // Complete purchase
+ delitem SilverEasteregg, @price;
purchaseok();
end;
}
@@ -153,7 +178,10 @@ OnCountFunds:
OnPayFunds:
if( countitem(GoldenEasteregg) < @price )
end;
- delitem GoldenEasteregg,@price;
+ // Strange Coins are different
+ EasterCoinCheck();
+ // Complete purchase
+ delitem GoldenEasteregg, @price;
purchaseok();
end;
}