summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2025-06-19 18:24:05 -0300
committerJesusaves <cpntb1@ymail.com>2025-06-19 18:24:05 -0300
commit198ddf893e26f652e777b954bd9d20f93090ba4b (patch)
treea52fa08748c440f8b44154029d7b3a2c4fb5d02a
parent2a84f9fdf415b7892bb98a9d680b2a301f194df2 (diff)
downloadserverdata-198ddf893e26f652e777b954bd9d20f93090ba4b.tar.gz
serverdata-198ddf893e26f652e777b954bd9d20f93090ba4b.tar.bz2
serverdata-198ddf893e26f652e777b954bd9d20f93090ba4b.tar.xz
serverdata-198ddf893e26f652e777b954bd9d20f93090ba4b.zip
This is Lydon's version which is going to go live, instead
-rw-r--r--npc/003-1/shop.txt33
-rw-r--r--npc/029-0/event.txt166
2 files changed, 32 insertions, 167 deletions
diff --git a/npc/003-1/shop.txt b/npc/003-1/shop.txt
index f8a1f831a..b74ba1baf 100644
--- a/npc/003-1/shop.txt
+++ b/npc/003-1/shop.txt
@@ -99,7 +99,10 @@ function script BazaarFunds {
.@maxFund += limit(0, .@leftovr, 50000);
.@leftovr -= limit(0, .@leftovr, 50000);
}
- // [500k]
+ // [500k] Fires of Steam Event (+500k)
+ if ($EVENT$ == "Steam")
+ .@maxFund += 500000;
+ // [1000k]
return .@maxFund;
}
@@ -230,9 +233,9 @@ function script BazaarToggle {
mesc l("You can still spend %s GP at the Bazaar.", fnum(BazaarFunds() - TULIM_BAZAAR));
next;
mesn;
- mes l("Current Aethyr Point rate is %s GP per thousand.", fnum(.apt*1000));
- mes l("Current Monster Point rate is %s GP per thousand.", fnum(.mpt*1000));
- mes l("Current Research Point rate is %s GP per thousand.", fnum(.rpt*1000));
+ mes l("Current Aethyr Point rate is %s GP per thousand.", fnum((.apt-REBIRTH)*1000));
+ mes l("Current Monster Point rate is %s GP per thousand.", fnum((.mpt-REBIRTH)*1000));
+ mes l("Current Research Point rate is %s GP per thousand.", fnum((.rpt-REBIRTH)*1000));
next;
select
l("Thanks but bye."),
@@ -242,23 +245,23 @@ function script BazaarToggle {
mes "";
switch (@menu) {
case 2:
- mes l("How many? (0-%s)", fnum(Zeny / .apt));
- input .@c, 0, (Zeny / .apt);
- @price = .@c * .apt;
+ mes l("How many? (0-%s)", fnum(Zeny / (.apt-REBIRTH)));
+ input .@c, 0, (Zeny / (.apt-REBIRTH));
+ @price = .@c * (.apt-REBIRTH);
BazaarPurchase();
AETHYR_PTS += .@c;
break;
case 3:
- mes l("How many? (0-%s)", fnum(Zeny / .mpt));
- input .@c, 0, (Zeny / .mpt);
- @price = .@c * .mpt;
+ mes l("How many? (0-%s)", fnum(Zeny / (.mpt-REBIRTH)));
+ input .@c, 0, (Zeny / (.mpt-REBIRTH));
+ @price = .@c * (.mpt-REBIRTH);
BazaarPurchase();
Mobpt += .@c;
break;
case 4:
- mes l("How many? (0-%s)", fnum(Zeny / .rpt));
- input .@c, 0, (Zeny / .rpt);
- @price = .@c * .rpt;
+ mes l("How many? (0-%s)", fnum(Zeny / (.rpt-REBIRTH)));
+ input .@c, 0, (Zeny / (.rpt-REBIRTH));
+ @price = .@c * (.rpt-REBIRTH);
BazaarPurchase();
MAGIC_RP += .@c;
break;
@@ -304,9 +307,9 @@ function refreshRates {
.rpt = 8 + max(.apt, 12);
.mpt = 8 + max(.apt, 12);
// The prices therefore range from 15gp to 60gp per point
- // However, Research Points and Aethyr Points are more valuable. And thus
+ // However, Research Points and Aethyr Points are more valuable. And thus...
.rpt *= 2;
- .apt = .apt * 7 / 2; // *= 3.5
+ .apt *= 4;
return;
}
diff --git a/npc/029-0/event.txt b/npc/029-0/event.txt
index 9bf20218d..2885c3763 100644
--- a/npc/029-0/event.txt
+++ b/npc/029-0/event.txt
@@ -5,7 +5,7 @@
// Exclusive for Fires of Steam 2021 - When our OVH server datacenter got fire.
029-0,111,37,0 script Alliance Hero#FoS NPC_HALBERDBARBARIAN,{
- function restoreshopitem2;
+ //function restoreshopitem2;
// No one is supposed to be able to reach NPC if event did not happen
if (!$FIRESOFSTEAM) {
@@ -25,54 +25,6 @@
next;
mesn;
mesq l("Therefore... Are you perhaps interested in some... illicit goods? %%p");
- next;
- select
- l("Show me what you got, noob."),
- rif($GAME_STORYLINE >= 4, l("Actually - Do you exchange goods even more illegal goods than this?")),
- rif($GAME_STORYLINE >= 4, l("Actually - Do you exchange illegal... research results?"));
- mes "";
- if (@menu == 1) {
- closeclientdialog;
- openshop .name$;
- close;
- }
- else if (@menu == 2) {
- if (.mobp < .points) {
- mesn;
- mesq l("Not at the moment but come back later.");
- close;
- }
- mesn;
- mesq l("Yes I do... I sell %s %s for the small amount of %s GP. Interested? %%%%p", fnum(.mobp), l("Monster Points"), fnum(.mobg));
- if (Zeny < .mobg) close;
- next;
- if (askyesno() == ASK_NO) close;
- if (Zeny < .mobg) { die(); close; }
- Zeny-=.mobg;
- Mobpt+=.mobp;
- .points -= .mobp;
- mes "";
- mesn;
- mesq l("Hehehe... A pleasure doing business with you!");
- } else if (@menu == 3) {
- if (.robp < .points) {
- mesn;
- mesq l("Not at the moment but come back later.");
- close;
- }
- mesn;
- mesq l("Yes I do... I sell %s %s for the small amount of %s GP. Interested? %%%%p", fnum(.robp), l("Research Points"), fnum(.robg));
- if (Zeny < .robg) close;
- next;
- if (askyesno() == ASK_NO) close;
- if (Zeny < .robg) { die(); close; }
- Zeny-=.robg;
- MAGIC_RP+=.robp;
- .points -= .robp;
- mes "";
- mesn;
- mesq l("Hehehe... A pleasure doing business with you!");
- }
close;
OnRw:
@@ -84,18 +36,9 @@ OnRw:
OnInit:
bindatcmd "steambk", "Alliance Hero#FoS::OnRw", 100, 80, 1;
tradertype(NST_MARKET);
- .mobp=rand2(1000, 2500);
- .mobg=.mobp*rand2(100, 150)/10;
- .robp=rand2(900, 1200);
- .robg=.robp*rand2(40, 60);//rand2(80, 110);
- .points = 5000;
.distance=5;
.sex=G_MALE;
- .@steam = $FIRESOFSTEAM;
- if ($EVENT$ != "Steam")
- .@steam /= 2;
-
sleep(SHOPWAIT);
// NPC_ELMO_ARTIS / NPC_SAPARTAN -> Candor (Sea Food) OK
@@ -105,7 +48,8 @@ OnInit:
// LOF_TRAVMERC -> LoF (Magic, Science) OK
// NPC_ELVEN_MAN_TRADER -> Nivalis (Ice, cold) OK
// NPC_EURNI / NPC_WEIRDSELLER -> Nowhere (Illegal, Contraband Goods) OK
- // NPC_GUGLI -> Tulimshar (Monster Parts and Dyes)
+ // NPC_GUGLI -> Tulimshar (Monster Parts and Dyes) OK
+ // NPC_LYDON -> Points OK
// NPC_ARTAXE -> Frostia (Forged Goods)
// empty warp crystal, equipment (e.g bows)
@@ -116,104 +60,13 @@ OnInit:
sellitem CottonGloves, 15000, 1;
sellitem CottonBoots, 10000, 1;
- // NPC_LYDON: If you have a stand for her. She should sell MPT / RP
- // NPC_QONAN (orc facing right)
+ // NPC_QONAN (orc facing right) (Unfortunately, unused)
if (!$BETASERVER && !debug)
disablenpc .name$;
end;
-OnClock0001:
-OnClock0201:
-OnClock0401:
-OnClock0601:
-OnClock0801:
-OnClock1001:
-OnClock1201:
-OnClock1401:
-OnClock1601:
-OnClock1801:
-OnClock2001:
- .points += 5000;
- if ($EVENT$ != "Steam")
- end;
-OnClock2201:
- .mobp+=rand2(1000, 2500);
- .mobg=.mobp*rand2(100, 150)/10;
- .robp+=rand2(900, 1200);
- .robg=.robp*rand2(40, 60);//rand2(80, 110);
-
- .@steam = $FIRESOFSTEAM;
- if ($EVENT$ != "Steam")
- .@steam /= 2;
-
- restoreshopitem2 Coal, 50+(.@steam*3-3);
- restoreshopitem2 LeatherPatch, 800, 45+(.@steam*3-3);
- restoreshopitem2 RawLog, 40+(.@steam*3-3);
- restoreshopitem2 WoodenLog, 40+(.@steam*3-3);
- restoreshopitem2 IronOre, 30+(.@steam*3-3);
- restoreshopitem2 CopperOre, 1000, 20+(.@steam*2-2);
- restoreshopitem2 SilverOre, 2000, 14+(.@steam*2-2);
- restoreshopitem2 GoldOre, 3000, 14+(.@steam*2-2);
- restoreshopitem2 TinOre, 3600, 15+(.@steam*2-2);
- restoreshopitem2 LeadOre, 4000, 15+(.@steam*2-2);
- restoreshopitem2 TitaniumOre, 6000, 9+(.@steam*2-2);
- if ($GAME_STORYLINE >= 4) {
- restoreshopitem2 IridiumOre, 16000, 6+(.@steam*2-2);
- // Platinum Ore is only restocked if Platinum Mines are liberated
- if ($FORTRESS_STATE)
- restoreshopitem2 PlatinumOre, 24000, 3+(.@steam*2-2);
- }
- restoreshopitem2 EarthPowder, 3+.@steam-1;
- restoreshopitem2 EverburnPowder, 15000, 2+.@steam-1;
-
- restoreshopitem2 RustyKnife, 5+.@steam-1;
- restoreshopitem2 TrainingWand, 5+.@steam-1;
- restoreshopitem2 TrainingBow, 5+.@steam-1;
-
- // Only restock blueprints in odd days
- if ($EVENT$ == "Steam" || gettimeparam(GETTIME_DAYOFMONTH) % 2) {
- restoreshopitem2 AncientBlueprint, ($EVENT$ == "Steam" ? 12500 : 18000), 4+.@steam/2;
- restoreshopitem2 AlchemyBlueprintA, 5+.@steam-1;
- restoreshopitem2 AlchemyBlueprintB, 4+.@steam-1;
- restoreshopitem2 AlchemyBlueprintC, 3+.@steam-1;
- if ($GAME_STORYLINE >= 4) {
- restoreshopitem2 AlchemyBlueprintD, 2+.@steam-1;
- restoreshopitem2 AlchemyBlueprintE, 1+.@steam/2;
- }
-
- restoreshopitem2 EquipmentBlueprintA, 5+.@steam-1;
- restoreshopitem2 EquipmentBlueprintB, 4+.@steam-1;
- restoreshopitem2 EquipmentBlueprintC, 3+.@steam-1;
- if ($GAME_STORYLINE >= 4) {
- restoreshopitem2 EquipmentBlueprintD, 2+.@steam-1;
- restoreshopitem2 EquipmentBlueprintE, 1+.@steam/2;
- }
- }
-
- restoreshopitem2 ArcmageBoxset, 10000, 4+.@steam-1;
- restoreshopitem2 ScholarshipBadge, 3+.@steam-1;
- restoreshopitem2 Bullet, 4, 90000+(.@steam*1000-1000);
- restoreshopitem2 Lifestone, 500+.@steam-1;
- restoreshopitem2 Bread, 450+.@steam-1;
- restoreshopitem2 Cheese, 300+.@steam-1;
- restoreshopitem2 Aquada, 200+.@steam-1;
-
- restoreshopitem2 WhiteFur, 1+rand2(50)+.@steam;
- restoreshopitem2 Piberries, 1+rand2(50)+.@steam;
- restoreshopitem2 CherryCake, 1+rand2(50)+.@steam;
- restoreshopitem2 LettuceLeaf, 1+rand2(50)+.@steam;
- restoreshopitem2 BugLeg, 1+rand2(50)+.@steam;
- restoreshopitem2 RoastedMaggot, 1+rand2(50)+.@steam;
- restoreshopitem2 Moss, 1+rand2(50)+.@steam;
- restoreshopitem2 AnimalBones, 1+rand2(40)+.@steam;
- restoreshopitem2 Milk, 1+rand2(50)+.@steam;
- restoreshopitem2 Mashmallow, 1+rand2(50)+.@steam;
- restoreshopitem2 Dragonfruit, 1200, 1+rand2(50)+.@steam;
- restoreshopitem2 Root, 40+.@steam;
- restoreshopitem2 ManaPiouFeathers, 1+rand2(300)+.@steam;
- end;
-
+/* Old code no longer in production, from Fires of Steam event
// This version of restoreshopitem gets more expensive when sold out
function restoreshopitem2 {
@@ -236,6 +89,15 @@ OnMinute02:
if ($EVENT$ != "Steam") end;
donpcevent "Neko::OnClock2359";
end;
+
+// NOTE: A current iteration of the event would require to begin the Bazaar
+// And keeping it active until the event ends. Something like
+*/
+OnClock2359:
+ if ($EVENT$ != "Steam") end;
+ $BAZAAR_TIMER = 0;
+ callfunc "BazaarToggle", true;
+ end;
}