diff options
Diffstat (limited to 'npc/001-3-0/gates.txt')
-rw-r--r-- | npc/001-3-0/gates.txt | 201 |
1 files changed, 0 insertions, 201 deletions
diff --git a/npc/001-3-0/gates.txt b/npc/001-3-0/gates.txt deleted file mode 100644 index e8accc96..00000000 --- a/npc/001-3-0/gates.txt +++ /dev/null @@ -1,201 +0,0 @@ -// Evol scripts. -// Author: -// Micksha -// Description: -// The Sewer Gates, and Wheels. - -001-3-0,90,62,0 script #ArtisThiefGate_1 NPC_SEWER_GATE,0,0,{ - // Extract the quest ID from name (or fail trying) - explode(.@ni$, .name$, "_"); - .@id=atoi(.@ni$[1]); - - .@q=getq(ThiefQuests_Artis); - .@q2=getq2(ThiefQuests_Artis); - - // Check what you can do with the gate - if (.@q != .@id) { - mes l("This gate is closed."); - mesc l("No need to go through here, so lets not bother with it now."); - } else if (.@q2 != 2) { - mes l("This gate is closed."); - mesc l("It seems that it can be open using the mechanism on the side."); - } else { - mes l("This gate is open."); - mesc l("I should still be careful to don't get caught."); - } - close; - -OnTouch: - updateSpotlight(true); - end; - -OnOpenSesame: - // Opening - if (!.busy) { - .dir=2; - .busy=true; - initnpctimer; - } - end; - -// Open -OnTimer2200: - .dir=4; - end; - -// Closing -OnTimer8000: - .dir=6; - end; - -// Closed -OnTimer10400: - .dir=0; - end; - -// Don't reply immediately, wait a tiny bit -OnTimer11000: - .busy = false; - stopnpctimer; - -OnInit: - .busy = false; - .distance = 1; - end; -} - - - -001-3-0,92,61,0 script #ArtisThiefWheel_1 NPC_SEWER_WHEEL,{ - // Extract the quest ID from name (or fail trying) - explode(.@ni$, .name$, "_"); - .@id=atoi(.@ni$[1]); - - .@q=getq(ThiefQuests_Artis); - .@q2=getq2(ThiefQuests_Artis); - - if (.@q != .@id) { - speech - l("This wheel seems to be connected to the locked gate on the side."), - l("Having to reason to tinker with it, you don't."); - close; - } - speech - l("You try to move this wheel, but it is stuck. Something seems to be missing."), - l("Maybe some monster ate it, but what would be big enough to do that?!"); - - // Switch gearwheel status: 1(looted) 2(unlooted) - switch (.@q2) { - case 1: - // Looted but lost? D: - if (!countitem(Gearwheel)) { - mesc l("If we only had a %s.", getitemlink(Gearwheel)); - close; - } - - // Prompt player - mesc l("Should we install the %s and move it?", getitemlink(Gearwheel)), 1; - if (askyesno() == ASK_NO) - break; - - delitem Gearwheel, 1; - setq2 ThiefQuests_Artis, 2; - // FALLTHROUGH - case 2: - mesc l("With the %s in place, it only takes a bit more effort to make it budge.", getitemlink(Gearwheel)); - next; - closeclientdialog; - // Spin the wheel - if (!.busy) { - .dir = 4; - .busy = true; - initnpctimer; - } - // Open the gate - addtimer 500, "#ArtisThiefGate_"+.@id+"::OnOpenSesame"; - break; - default: - } - close; - -// Done spinning? -OnTimer4000: - .dir = 0; - .busy = false; - stopnpctimer; - -OnInit: - .busy = false; - .distance = 2; - end; -} - - - -// We're missing a gate! -001-3-0,56,44,0 duplicate(#ArtisThiefGate_1) #ArtisThiefGate_4 NPC_SEWER_GATE,2,2 -001-3-0,58,43,0 duplicate(#ArtisThiefWheel_1) #ArtisThiefWheel_4 NPC_SEWER_WHEEL - - -/////////////////////////// -// The controlled warps -001-3-0,90,61,0 script #001-3-0_90_61 NPC_HIDDEN,0,0,{ - end; - -OnTouch: - // No enter except when q1 and q2 matches - .@q=getq(ThiefQuests_Artis); - .@q2=getq2(ThiefQuests_Artis); - if (.@q != 1 || .@q2 != 2) - end; - - // Delete previous timers. Makes easier to cheat but more reliable (FIXME) - deltimer("#ArtisThiefBook_0::OnBust1"); - deltimer("#ArtisThiefBook_0::OnBust2"); - deltimer("#ArtisThiefBook_0::OnBust3"); - deltimer("#ArtisThiefBook_0::OnBust4"); - - // Archives: Begin - addtimer 30000, "#ArtisThiefBook_0::OnBust1"; - warp "001-2-43", 51, 34; - end; -} - -001-3-0,56,43,0 script #001-3-0_56_43 NPC_HIDDEN,0,0,{ - end; - -OnTouch: - // No enter except when quest state allows you to - // I thought in letting you use this passage and get busted anytime... - // ...........Better not. Animation will not like it, anyway. - .@q=getq(ThiefQuests_Artis); - .@q2=getq2(ThiefQuests_Artis); - if (.@q != 4 || .@q2 != 2) - end; - - warp "001-2-40", 56, 40; - addtimer2(rand2(3000, 7000), .name$+"::OnBusted"); - end; - -// Henry said to you don't use the gate, because you are not discrete enough. -// Poor player, this is what happens for not paying attention to Henry's advise. -OnBusted: - if (getmap() != "001-2-40") - end; - - mesn l("Legion Officer"); - mes l("HEY! How you got here!?"); - next; - // Check if you'll be caught - if (ArrestedChances()) { - mesc l("Arrested!"); - mesc l("You'll now spend a few minutes on the jail to reflect on your actions."); - ArrestPlayer(5); - } else { - mesc l("You're almost found out, but manage to make a quick escape!"); - warp "001-1", 41, 36; - } - close; -} - - |