From 3c2304f23560e41ea3faddd1916d293dc7494108 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 16 May 2019 13:12:10 -0300 Subject: Fix bugs: Move Pydisgner and enable him forever (after saving the 1 pt), fix bugs on wizards, fix bugs on flood (maybe?), fix bugs on siege (global announce) --- npc/003-0/wizard.txt | 29 ++++++++++++++++++ npc/003-1/events.txt | 75 --------------------------------------------- npc/011-3/flood.txt | 2 +- npc/017-1/misc.txt | 81 +++++++++++++++++++++++++++++++++++++++++++++++++ npc/functions/siege.txt | 4 +-- 5 files changed, 113 insertions(+), 78 deletions(-) (limited to 'npc') diff --git a/npc/003-0/wizard.txt b/npc/003-0/wizard.txt index 1b9d1e0b5..6322991c0 100644 --- a/npc/003-0/wizard.txt +++ b/npc/003-0/wizard.txt @@ -62,6 +62,7 @@ L_Member: rif(sk_intcost(MG_LIGHTNINGBOLT) && sk_canlvup(MG_LIGHTNINGBOLT), l("Improve Thunder Bolt")), rif(sk_intcost(WZ_EARTHSPIKE) && sk_canlvup(WZ_EARTHSPIKE), l("Improve Earth Spike")), rif(sk_intcost(MG_FIREBOLT) && sk_canlvup(MG_FIREBOLT), l("Improve Fire Bolt")), + rif(sk_intcost(MG_FIREBALL) && getskilllv(MG_FIREBALL) < (3+degree_subclass()), l("Improve Fire Ball")), l("Leave Subclass"), l("Nothing at the moment."); mes ""; @@ -179,6 +180,34 @@ L_Member: } break; case 7: + mesc l("[Fire Ball]"); + mesc l("Standard fireball skill."); + mes ""; + mesn; + mesq l("This useful skill will only require:"); + mesc l("@@/@@ @@", countitem(Curshroom), (getskilllv(MG_FIREBALL)+1)*10, getitemlink(Curshroom)); + mesc l("@@/@@ @@", countitem(FluoPowder), (getskilllv(MG_FIREBALL)+1)*5, getitemlink(FluoPowder)); + mesc l("@@/@@ @@", countitem(PolishedRuby), (getskilllv(MG_FIREBALL)+1)*3, getitemlink(PolishedRuby)); + mesc l("@@/@@ @@", countitem(HerbalTea), (getskilllv(MG_FIREBALL)+1)*1, getitemlink(HerbalTea)); + next; + if (askyesno() == ASK_YES) { + if ( + countitem(Curshroom) < (getskilllv(MG_FIREBALL)+1)*10 || + countitem(FluoPowder) < (getskilllv(MG_FIREBALL)+1)*5 || + countitem(PolishedRuby) < (getskilllv(MG_FIREBALL)+1)*3 || + countitem(HerbalTea) < (getskilllv(MG_FIREBALL)+1)*1) goto L_Missing; + + delitem Curshroom, (getskilllv(MG_FIREBALL)+1)*10; + delitem FluoPowder, (getskilllv(MG_FIREBALL)+1)*5; + delitem PolishedRuby, (getskilllv(MG_FIREBALL)+1)*3; + delitem HerbalTea, (getskilllv(MG_FIREBALL)+1)*1; + + sk_lvup(MG_FIREBALL); + + next; + } + break; + case 8: // All skills related may include the basic class skills if they're related. mesc l("WARNING: If you leave the subclass, you'll lose all skills related to it!"), 1; mesc l("This cannot be undone. Are you sure?"), 1; diff --git a/npc/003-1/events.txt b/npc/003-1/events.txt index 547aa259f..e7ea8a826 100644 --- a/npc/003-1/events.txt +++ b/npc/003-1/events.txt @@ -218,79 +218,4 @@ OnInit: -// Whatever event use #RARE_POINTS -// Which is a script variable, meaning it will be a really special event. -// Side Note: Might as well add a special cap for such situations. -003-1,47,53,0 script Pydisgner#spoints NPC_GUGLI,{ - openshop; -OnInit: - .sex = G_OTHER; - .distance=5; - - tradertype(NST_CUSTOM); - - // Rares - sellitem BlacksmithAxe, 64000; - sellitem MiereCleaver, 32000; - sellitem Kanabo, 13500; - sellitem PiouEgg, 9350; - sellitem AxeHat, 8000; - sellitem Googles, 6000; - - // Uncommon - sellitem CrystallizedMaggot, 7000; - sellitem Sunglasses, 7000; - sellitem BunnyEars, 900; - sellitem StrangeCoin, 10; - - // Gamble - sellitem SupremeGift,30000; - sellitem PrismGift, 11000; - sellitem GoldenGift, 4000; - sellitem SilverGift, 1500; - sellitem BronzeGift, 500; - sellitem CasinoCoins, 35; - - // Equipment - sellitem WoodenSword, 5500; - sellitem Chainmail, 2500; - sellitem LeatherShirt, 800; - sellitem JeansShorts, 600; - sellitem ShortBow, 500; - sellitem RoundLeatherShield,200; - sellitem WoodenBow, 100; - sellitem Dagger, 100; - - // Consumables - sellitem TonoriDelight, 80; - sellitem Aquada, 60; - sellitem Manana, 50; - sellitem Cheese, 40; - sellitem Plushroom, 15; - sellitem Chagashroom, 15; - - // Useful ores and money stuff - sellitem IronIngot, 2500; - sellitem EmptyBottle, 60; - sellitem Arrow, 4; - sellitem TolchiArrow, 1; - sellitem PiouFeathers, 1; - - - if (gettime(7) != 2018) - disablenpc(.name$); - end; - -OnCountFunds: - setcurrency(#RARE_POINTS); - end; - -OnPayFunds: - if( #RARE_POINTS < @price ) - end; - #RARE_POINTS=#RARE_POINTS-@price; - purchaseok(); - end; - -} diff --git a/npc/011-3/flood.txt b/npc/011-3/flood.txt index 1abbdc0dc..06f2ab2dc 100644 --- a/npc/011-3/flood.txt +++ b/npc/011-3/flood.txt @@ -84,7 +84,7 @@ OnSkipFlood: // TODO: Handle players in bridges //debugmes "[Flood] F - Map Timer OK"; - maptimer("011-3", "#EternalSwampCore::OnBridgeDown", 10); + maptimer("011-3", "#EternalSwampCore::OnBridgeDown", 100); } } diff --git a/npc/017-1/misc.txt b/npc/017-1/misc.txt index 1a1009300..3ac1ef089 100644 --- a/npc/017-1/misc.txt +++ b/npc/017-1/misc.txt @@ -227,3 +227,84 @@ OnInit: } + + + + + + +// Whatever event use #RARE_POINTS +// Which is a script variable, meaning it will be a really special event. +// Side Note: Might as well add a special cap for such situations. +017-1,118,83,0 script Pydisgner#spoints NPC_GUGLI,{ + openshop; + +OnInit: + .sex = G_OTHER; + .distance=5; + + tradertype(NST_CUSTOM); + + // Rares + sellitem BlacksmithAxe, 64000; + sellitem MiereCleaver, 32000; + sellitem Kanabo, 13500; + sellitem PiouEgg, 8350; + sellitem AxeHat, 7000; + sellitem Googles, 5000; + + // Uncommon + sellitem CrystallizedMaggot, 6000; + sellitem Sunglasses, 6000; + sellitem BunnyEars, 800; + sellitem StrangeCoin, 10; + + // Gamble + sellitem SupremeGift,30000; + sellitem PrismGift, 11000; + sellitem GoldenGift, 4000; + sellitem SilverGift, 1500; + sellitem BronzeGift, 500; + sellitem CasinoCoins, 35; + + // Equipment + sellitem WoodenSword, 5500; + sellitem Chainmail, 2500; + sellitem LeatherShirt, 800; + sellitem JeansShorts, 600; + sellitem ShortBow, 500; + sellitem RoundLeatherShield,200; + sellitem WoodenBow, 100; + sellitem Dagger, 100; + + // Consumables + sellitem TonoriDelight, 80; + sellitem Aquada, 60; + sellitem Manana, 50; + sellitem Cheese, 40; + sellitem Plushroom, 15; + sellitem Chagashroom, 15; + + // Useful ores and money stuff + sellitem IronIngot, 2500; + sellitem EmptyBottle, 60; + sellitem Arrow, 4; + sellitem TolchiArrow, 1; + sellitem PiouFeathers, 1; + + + end; + +OnCountFunds: + setcurrency(#RARE_POINTS); + end; + +OnPayFunds: + // Due a script bug, you must always retain a point + if( #RARE_POINTS <= @price ) + end; + #RARE_POINTS=#RARE_POINTS-@price; + purchaseok(); + end; + +} diff --git a/npc/functions/siege.txt b/npc/functions/siege.txt index 78529cbb7..f640472e8 100644 --- a/npc/functions/siege.txt +++ b/npc/functions/siege.txt @@ -290,14 +290,14 @@ OnRespawn: OnLieutenantDeath: $MK_TEMPVAR+=1; getitem StrangeCoin, rand(5,10); - mapannounce(getmap(), l("##2The Monster Lieutenant was defeated by @@!", strcharinfo(0)), bc_map); + announce(("##2The Monster Lieutenant was defeated by @@!", strcharinfo(0)), bc_all); end; OnColonelDeath: $MK_TEMPVAR+=10; getitem StrangeCoin, rand(15,25); $MOST_HEROIC$=strcharinfo(0); - mapannounce(getmap(), l("##2The Monster Colonel was defeated by @@!", strcharinfo(0)), bc_map); + announce(("##2The Monster Colonel was defeated by @@!", strcharinfo(0)), bc_all); end; } -- cgit v1.2.3-60-g2f50