summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2025-06-14 21:57:02 -0300
committerJesusaves <cpntb1@ymail.com>2025-06-14 21:57:02 -0300
commit9acdb1f5067e8ccd19bff57b162623954950a350 (patch)
treefd267a1be06b5577ee21049e93373f6d608763f0
parentc78d3443af3f7249be571387886794e44c9f6373 (diff)
downloadserverdata-9acdb1f5067e8ccd19bff57b162623954950a350.tar.gz
serverdata-9acdb1f5067e8ccd19bff57b162623954950a350.tar.bz2
serverdata-9acdb1f5067e8ccd19bff57b162623954950a350.tar.xz
serverdata-9acdb1f5067e8ccd19bff57b162623954950a350.zip
LoF Vendor during the Bimonthly Bazaar, and several fixes or improvements
-rw-r--r--db/re/item_db.conf28
-rw-r--r--npc/003-1/shop.txt121
-rw-r--r--npc/029-0/event.txt24
-rw-r--r--npc/functions/event.txt2
-rw-r--r--npc/functions/politics.txt4
5 files changed, 139 insertions, 40 deletions
diff --git a/db/re/item_db.conf b/db/re/item_db.conf
index 476cbaafe..e818e372f 100644
--- a/db/re/item_db.conf
+++ b/db/re/item_db.conf
@@ -20326,8 +20326,8 @@ item_db: (
AegisName: "DodgeDonut"
Name: "Dodge Donut"
Type: "IT_USABLE"
- Buy: 10000
- Sell: 100
+ Buy: 5100
+ Sell: 800
Weight: 20
Refine: false
Delay: 500
@@ -20340,8 +20340,8 @@ item_db: (
AegisName: "ChocolateDonut"
Name: "Chocolate Donut"
Type: "IT_USABLE"
- Buy: 10000
- Sell: 100
+ Buy: 2100
+ Sell: 400
Weight: 20
Refine: false
Delay: 500
@@ -20354,8 +20354,8 @@ item_db: (
AegisName: "SparklyChocolateDonut"
Name: "Sparkly Chocolate Donut"
Type: "IT_USABLE"
- Buy: 10000
- Sell: 100
+ Buy: 2100
+ Sell: 400
Weight: 24
Refine: false
Delay: 500
@@ -20368,8 +20368,8 @@ item_db: (
AegisName: "MintDonut"
Name: "Mint Donut"
Type: "IT_USABLE"
- Buy: 10000
- Sell: 100
+ Buy: 15100
+ Sell: 1200
Weight: 20
Refine: false
Delay: 500
@@ -20382,8 +20382,8 @@ item_db: (
AegisName: "SparklyMintDonut"
Name: "Sparkly Mint Donut"
Type: "IT_USABLE"
- Buy: 10000
- Sell: 100
+ Buy: 2000
+ Sell: 420
Weight: 20
Refine: false
Delay: 500
@@ -20396,8 +20396,8 @@ item_db: (
AegisName: "StrawberryDonut"
Name: "Strawberry Donut"
Type: "IT_USABLE"
- Buy: 10000
- Sell: 100
+ Buy: 12100
+ Sell: 900
Weight: 20
Refine: false
Delay: 500
@@ -20410,8 +20410,8 @@ item_db: (
AegisName: "SparklyStrawberryDonut"
Name: "Sparkly Strawberry Donut"
Type: "IT_USABLE"
- Buy: 10000
- Sell: 100
+ Buy: 12100
+ Sell: 900
Weight: 20
Refine: false
Delay: 500
diff --git a/npc/003-1/shop.txt b/npc/003-1/shop.txt
index 0e3f0a6d3..55f388def 100644
--- a/npc/003-1/shop.txt
+++ b/npc/003-1/shop.txt
@@ -148,7 +148,7 @@ function script BazaarToggle {
setnpcdisplay "Candor Vendor", any(NPC_ELMO_ARTIS, NPC_SAPARTAN);
.@gid = getnpcid("Candor Vendor");
if (.@lof)
- unitwarp(.@gid, "017-1", 0, 0);
+ unitwarp(.@gid, "017-1", 136, 168);
else
unitwarp(.@gid, "003-1", 93, 100);
// Hurnscald Vendor
@@ -156,7 +156,7 @@ function script BazaarToggle {
setnpcdisplay "Hurnscald Vendor", any(NPC_OSCAR, NPC_ORC_MAN);
.@gid = getnpcid("Hurnscald Vendor");
if (.@lof)
- unitwarp(.@gid, "017-1", 0, 0);
+ unitwarp(.@gid, "017-1", 155, 173);
else
unitwarp(.@gid, "003-1", 102, 111);
// Halinarzo Vendor
@@ -164,15 +164,23 @@ function script BazaarToggle {
setnpcdisplay "Halinarzo Vendor", rand2(244, 248);
.@gid = getnpcid("Halinarzo Vendor");
if (.@lof)
- unitwarp(.@gid, "017-1", 0, 0);
+ unitwarp(.@gid, "017-1", 152, 168);
else
unitwarp(.@gid, "003-1", 113, 101);
+ // LoF Vendor
+ enablenpc "LoF Vendor";
+ .@gid = getnpcid("LoF Vendor");
+ if (.@lof)
+ unitwarp(.@gid, "017-1", 152, 168);
+ else
+ unitwarp(.@gid, "003-1", 112, 110);
} else {
// Close the Bazaar!
disablenpc "Foreign Tiki";
disablenpc "Candor Vendor";
disablenpc "Hurnscald Vendor";
disablenpc "Halinarzo Vendor";
+ disablenpc "LoF Vendor";
}
return;
}
@@ -196,7 +204,6 @@ OnInit:
tradertype(NST_CUSTOM);
sellitem Mashmallow, price(Mashmallow, 12);
sellitem AnimalBones, price(AnimalBones, 11);
- sellitem Dragonfruit, price(Dragonfruit, 10);
sellitem Lifestone, price(Lifestone, 9);
sellitem ArcmageBoxset, price(ArcmageBoxset, 15);
sellitem ScholarshipBadge, price(ScholarshipBadge, 8);
@@ -217,6 +224,28 @@ OnInit:
sellitem SaviorBlueprint, price(SaviorBlueprint, 160);
}
+ sellitem ChickenLeg, price(ChickenLeg, 12);
+ sellitem GoldenApple, price(GoldenApple, 12);
+ sellitem DivineApple, price(DivineApple, 16);
+ if ($ARKIM_ST >= 9000 && $GAME_STORYLINE >= 5) {
+ sellitem ThornAmmoBox, price(ThornAmmoBox, 12);
+ sellitem BoneAmmoBox, price(BoneAmmoBox, 12);
+ }
+
+ sellitem LemonCake, price(LemonCake, 11);
+ sellitem OrangeCake, price(OrangeCake, 11);
+ sellitem ChocolateCake, price(ChocolateCake, 11);
+ sellitem WhiteCake, price(WhiteCake, 11);
+ sellitem AppleCake, price(AppleCake, 11);
+ sellitem BlueberryCake, price(BlueberryCake, 11);
+ sellitem SparklyMintDonut, price(SparklyMintDonut, 11);
+ sellitem ChocolateDonut, price(ChocolateDonut, 11);
+ sellitem SparklyChocolateDonut, price(SparklyChocolateDonut, 11);
+ sellitem DodgeDonut, price(DodgeDonut, 11);
+ sellitem StrawberryDonut, price(StrawberryDonut, 11);
+ sellitem SparklyStrawberryDonut, price(SparklyStrawberryDonut, 11);
+ sellitem MintDonut, price(MintDonut, 11);
+
disablenpc .name$;
end;
@@ -279,7 +308,7 @@ OnPayFunds:
// Hurnscald Vendor
003-1,102,111,0 script Hurnscald Vendor NPC_OSCAR,{
mesn;
- mes l("Hurnscald has all sort of edibles you could imagine!");
+ mes l("Hurnscald has all sort of edibles, potions and arrows you could imagine!");
mesc l("You can still spend %s GP at the Bazaar.", fnum(BazaarFunds() - TULIM_BAZAAR));
next;
closeclientdialog;
@@ -295,6 +324,7 @@ OnInit:
tradertype(NST_CUSTOM);
sellitem RawLog, price(RawLog, 11);
sellitem WoodenLog, price(WoodenLog, 12);
+ sellitem Root, price(Root, 11);
sellitem Acorn, price(Acorn, 9);
sellitem Plushroom, price(Plushroom, 8);
@@ -340,7 +370,7 @@ OnPayFunds:
// Halinarzo Vendor
003-1,113,101,0 script Halinarzo Vendor NPC_INDIGENOUS_YOUNG,{
mesn;
- mes l("The mines can still yield some ore, and our people work with leather.");
+ mes l("The mines can still yield some ore, and our people work well with leather.");
mesc l("You can still spend %s GP at the Bazaar.", fnum(BazaarFunds() - TULIM_BAZAAR));
next;
closeclientdialog;
@@ -374,6 +404,7 @@ OnInit:
sellitem TinOre, price(TinOre, 13);
sellitem LeadOre, price(LeadOre, 13);
sellitem TitaniumOre, price(TitaniumOre, 13);
+ sellitem TerraniteOre, price(TerraniteOre, 12);
if ($GAME_STORYLINE >= 4) {
sellitem IridiumOre, price(IridiumOre, 13);
// Platinum Ore is only stocked if Platinum Mines are liberated
@@ -382,6 +413,84 @@ OnInit:
}
sellitem EarthPowder, price(EarthPowder, 16);
sellitem EverburnPowder, price(EverburnPowder, 15);
+ if ($ARKIM_ST >= 7500)
+ sellitem DarkDesertMushroom, price(DarkDesertMushroom, 15);
+
+ sellitem Pearl, price(Pearl, 13);
+ sellitem Ruby, price(Ruby, 12);
+ sellitem Topaz, price(Topaz, 12);
+ sellitem Diamond, price(Diamond, 12);
+ sellitem Emerald, price(Emerald, 12);
+ sellitem Amethyst, price(Amethyst, 12);
+ sellitem Sapphire, price(Sapphire, 12);
+ sellitem LightGreenDiamond, price(LightGreenDiamond, 9);
+ disablenpc .name$;
+ end;
+
+OnCountFunds:
+ setcurrency(Zeny, BazaarFunds() - TULIM_BAZAAR);
+ end;
+
+OnPayFunds:
+ BazaarPurchase();
+ end;
+}
+
+
+// LoF Vendor
+003-1,112,110,0 script LoF Vendor NPC_LOF_TRAVMERC,{
+ mesn;
+ mes l("I can supply anything magical or sufficiently advanced... for the right price.");
+ mesc l("You can still spend %s GP at the Bazaar.", fnum(BazaarFunds() - TULIM_BAZAAR));
+ next;
+ closeclientdialog;
+ npcshopattach(.name$);
+ shop .name$;
+ goodbye;
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ sleep(SHOPWAIT);
+ tradertype(NST_CUSTOM);
+ sellitem TrainingWand, price(TrainingWand, 9);
+ sellitem NoviceWand, price(NoviceWand, 8);
+ sellitem ApprenticeWand, price(ApprenticeWand, 10);
+ sellitem LeaderWand, price(LeaderWand, 10);
+
+ sellitem Bullet, price(Bullet, 7);
+ sellitem SacredBullet, price(SacredBullet, 7);
+ sellitem EvilBullet, price(EvilBullet, 7);
+
+ sellitem LOFCoin, price(LOFCoin, 9);
+
+ sellitem Potatoz, price(Potatoz, 11);
+ sellitem Dragonfruit, price(Dragonfruit, 11);
+ sellitem Manapple, price(Manapple, 11);
+ sellitem MagicApple, price(MagicApple, 2);
+
+ //sellitem GuildCoin, price(GuildCoin, 10);
+ //sellitem StrangeCoin, price(StrangeCoin, 99);
+ sellitem HeroCoin, 167;
+ sellitem BottledDust, price(BottledDust, 11);
+
+ sellitem Wurtzite, price(Wurtzite, 10);
+ sellitem Graphene, price(Graphene, 10);
+ sellitem Arcanum, price(Arcanum, 10);
+
+ sellitem ChamomileTea, price(ChamomileTea, 9);
+ sellitem SpearmintTea, price(SpearmintTea, 9);
+ sellitem OolongTea, price(OolongTea, 9);
+ sellitem JasmineTea, price(JasmineTea, 9);
+ sellitem YerbaMate, price(YerbaMate, 9);
+
+ sellitem ManaPiouFeathers, price(ManaPiouFeathers, 11);
+ sellitem Grenade, price(Grenade, 12);
+ sellitem DragonScales, price(DragonScales, 11);
+
+ sellitem Quill, price(Quill, 9);
+ sellitem BlueManaPearl, price(BlueManaPearl, 9);
disablenpc .name$;
end;
diff --git a/npc/029-0/event.txt b/npc/029-0/event.txt
index 4f4f840f6..d5ab70745 100644
--- a/npc/029-0/event.txt
+++ b/npc/029-0/event.txt
@@ -102,7 +102,6 @@ OnInit:
sleep(SHOPWAIT);
- sellitem TrainingWand, -1, 5+.@steam-1;
sellitem TrainingBow, -1, 5+.@steam-1;
sellitem Bullet, 4, 90000+(.@steam*1000-1000);
@@ -110,37 +109,28 @@ OnInit:
sellitem WhiteFur, -1, 1+rand2(50)+.@steam;
sellitem CherryCake, -1, 1+rand2(50)+.@steam;
sellitem RoastedMaggot, -1, 1+rand2(50)+.@steam;
- sellitem Root, -1, 40+.@steam;
- sellitem ManaPiouFeathers, -1, 1+rand2(300)+.@steam;
//600, l("Treasure Map")), 1,
//1000, l("Lock Picks")), 2,
- //2200, l("Return Potion")), 4,
//500k, l("Golden Pearl Ring")), 8,
//4000, l("Mysterious Bottle")), 16,
- //15000, l("Ancient Blueprint")), 32,
- //21000, l("Arcmage Boxset")), 64,
- //30~50k($ARKIM_ST > 7500, l("Dark Desert Mushroom")),
// NPC_ELMO_ARTIS / NPC_SAPARTAN -> Candor (Sea Food) OK
// NPC_OSCAR / NPC_ORC_MAN -> Hurnscald (Shrooms, Woods, Potions, Arrows) OK
+ // anyof(244 - 248) indigenous folks -> Halinarzo (Minerals) OK
+ // TIKI -> Esperia/Artis (Odd stuff, Rare stuff) OK
+ // LOF_TRAVMERC -> LoF (Magic, Science) OK
// NPC_ELVEN_MAN_TRADER -> Nivalis (Ice, cold)
// white fur, ice bottle, coffee, merc boxes, purif potion, insurances
- // anyof(244 - 248) indigenous folks -> Halinarzo (Minerals)
- // ores and snake parts
+ // alcoholic beverages
+ // NPC_EURNI / NPC_WEIRDSELLER -> Nowhere (Illegal, Contraband Goods)
+ // death potion, grenades, mysterious fruit (500k), lockpicks, maps, G.P. Ring, M bottle
// NPC_GUGLI -> Tulimshar (Monster Parts and Dyes)
// Cactus potions, apana cake,roasted maggot, cherry cake, tonori delight
// dyes and random drops
// NPC_ARTAXE -> Frostia (Forged Goods)
- // empty warp crystal,
- // LOF_TRAVMERC -> LoF (Magic, Science)
- // manapple, potatoz, dragonfruit, magic apple, maps,
- // TIKI -> Esperia/Artis (Odd stuff, Rare stuff)
- // chicken leg, golden apple, divine apple, tea, cake
- // blueprints
- // NPC_EURNI / NPC_WEIRDSELLER -> Nowhere (Illegal, Contraband Goods)
- // death potion, grenades, mysterious fruit (500k),
+ // empty warp crystal, equipment (e.g bows)
// NPC_LYDON: If you have a stand for her
// NPC_QONAN (orc facing right)
diff --git a/npc/functions/event.txt b/npc/functions/event.txt
index ffa0dd014..1d266fc14 100644
--- a/npc/functions/event.txt
+++ b/npc/functions/event.txt
@@ -1019,7 +1019,7 @@ OnClock0000:
$BAZAAR_EXTRASTOCK = 0;
DelChrRegFromEveryPlayer("TULIM_BAZAAR");
callfunc "BazaarToggle", false;
- kamibroadcast("Tulimshar Bazaar has ended!");
+ kamibroadcast("The Bazaar has ended!");
// Time to open the Bazaar
} else if ($BAZAAR_TIMER % BAZAARFREQ == 0) {
.@lof = ($BAZAAR_TIMER / BAZAARFREQ) % 2;
diff --git a/npc/functions/politics.txt b/npc/functions/politics.txt
index d02bb5a7e..3b6edaf78 100644
--- a/npc/functions/politics.txt
+++ b/npc/functions/politics.txt
@@ -438,7 +438,7 @@ function script POL_Manage {
rif(.@left >= 6, l("Exile a player")), 70,
rif(.@left >= 6, l("Revert a player exile")), 71,
rif(.@left, l("Raise server wide EXP")), 80,
- rif(.@left, l("Invest in Tulimshar Bazaar")), 83,
+ rif(.@left, l("Invest in Bimonthly Bazaar")), 83,
rif(Zeny > $ALLIANCE_TAX1, l("Donate to town")), 90,
l("Resign"), 99;
mes "";
@@ -740,7 +740,7 @@ function script POL_Manage {
break;
case 83:
.@cost = 50000 - (.@TX * 8); // TX Cap 12000
- mesc l("Tulimshar Bazaar Investment"), 3;
+ mesc l("Bimonthly Bazaar Investment"), 3;
mesc l("You need @@ GP to make this investment.", fnum(.@cost));
mesc l("Allows players to spend more money during the bimonthly bazaar (held in Tulim and LoF) by increasing vendors stock. This will also increase your town exports and reputation.");
if (.@GP < .@cost)