diff options
author | Jesusaves <cpntb1@ymail.com> | 2023-10-29 00:52:45 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2023-10-29 00:52:45 -0300 |
commit | 2d9e66251582b95764e81e40a27c4d4e0454f3e4 (patch) | |
tree | 18706b4deead977388ec68f50057bf2636921490 /npc/017-3 | |
parent | 73c28414416070895e4558f629d26bc6344ad999 (diff) | |
download | serverdata-2d9e66251582b95764e81e40a27c4d4e0454f3e4.tar.gz serverdata-2d9e66251582b95764e81e40a27c4d4e0454f3e4.tar.bz2 serverdata-2d9e66251582b95764e81e40a27c4d4e0454f3e4.tar.xz serverdata-2d9e66251582b95764e81e40a27c4d4e0454f3e4.zip |
This is the EXPERIMENTAL version of allowing Carts to players.
As well as its most important restrictions.
Diffstat (limited to 'npc/017-3')
-rw-r--r-- | npc/017-3/dimonds.txt | 46 |
1 files changed, 44 insertions, 2 deletions
diff --git a/npc/017-3/dimonds.txt b/npc/017-3/dimonds.txt index f324134de..1252f1642 100644 --- a/npc/017-3/dimonds.txt +++ b/npc/017-3/dimonds.txt @@ -97,16 +97,58 @@ OnInit: 017-3,35,35,0 script Shannon NPC_LOF_NOBLEMAN,{ showavatar NPC_LOF_NOBLEMAN; + if (EPISODE_WINNER && HEROESHOLD_WINNER && REBIRTH && !countitem(RentCart) && (TELEPORTERS & TP_LILIT)) + goto L_Cart; + // Meaningless babbler, mostly. mesn; - mesq l("I'm a traveling poet and admirer of Robert Burns, a bard from the mana world."); + mesq l("I'm a traveling poet, businessman and admirer of Robert Burns, a bard from the mana world."); // FIXME: Robert Burns is from Scotland, not TMW... next; mesn; mesq l("I wonder if he exists on this world too. Because if he doesn't, I could tell many tales about him!"); close; -L_Close: + +L_Cart: + mesn; + mesq l("Hey, you got recommendations from both Dustman and the Doctor, and I can see you're clearly more powerful than you look."); + next; + mesn; + mesq l("As such, I offer to rent you a %s. Keep in mind several places do not accept you to come with it, including the Magic Academy east of here, but it allows you to carry more loot with you from the dungeons.", getitemlink(RentCart)); + next; + // FALLTHROUGH + +// There's a command shortcut for this, which is unlocked after you acquire +// Shannon's trust +OnCall: + if (!EPISODE_WINNER || !HEROESHOLD_WINNER || !REBIRTH || countitem(RentCart)) + end; + .@map$ = getmap(); + if (.@map$ != "017-3" && !(FLAGS & FLAG_SHANNONTRUST)) + end; + // Attempt to bypass Lilit's quest restrictions? Unacceptable. + if (!(TELEPORTERS & TP_LILIT)) + end; + // Other restricted maps... Blanket-style rule, though. + if (instance_id() >= 0 || compare(.@map$,"001-") || compare(.@map$,"soren") || + compare(.@map$,"006-") || compare(.@map$,"016-") || + compare(.@map$,"018-5") || compare(.@map$,"032-")) { + dispbottom l("Shannon cannot reach you where you are."); + end; + } + mesn; + mesq l("I'm charging you %s GP per hour, with a limit of %d hours. The cart is mine, and it won't do if you run away with it. So, for how many hours you want?", fnum(500), 12); + input .@input, 0, 12; + if (.@input < 1 || Zeny < (.@input * 500)) close; + inventoryplace RentCart, 1; + FLAGS=FLAGS | FLAG_SHANNONTRUST; + Zeny-=@input * 500; + rentitem RentCart, .@input * 3600; + mesn; + mesq l("Here you go! You can use %s if you ever need my company services in the future.", b("@rentcart")); + tutmes l("Press the 'C' button in inventory screen to open your cart. The cart must be equipped first."); close; OnInit: + bindatcmd "rentcart", "Shannon::OnCall", 0, 80, 0; .sex=G_MALE; .distance=5; end; |