diff options
author | Jesusaves <cpntb1@ymail.com> | 2025-06-19 18:24:05 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2025-06-19 18:24:05 -0300 |
commit | 198ddf893e26f652e777b954bd9d20f93090ba4b (patch) | |
tree | a52fa08748c440f8b44154029d7b3a2c4fb5d02a | |
parent | 2a84f9fdf415b7892bb98a9d680b2a301f194df2 (diff) | |
download | serverdata-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.txt | 33 | ||||
-rw-r--r-- | npc/029-0/event.txt | 166 |
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; } |