diff options
Diffstat (limited to 'npc/000-1/chest.txt')
-rw-r--r-- | npc/000-1/chest.txt | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/npc/000-1/chest.txt b/npc/000-1/chest.txt new file mode 100644 index 000000000..46f626a34 --- /dev/null +++ b/npc/000-1/chest.txt @@ -0,0 +1,65 @@ +// Evol scripts. +// Authors: +// 4144 +// gumi +// Hal9000 +// Reid +// Description: +// A treasure chest, with... Treasures inside! +// Variable: +// x ShipQuests_TreasureChest +// Values: +// 0 Treasure Chest has not been opened yet. +// 1 Treasure Chest has been opened. + +000-1,83,70,0 script Chest#000-1 NPC_CHEST,3,3,{ + + if (.busy == false) + { + if (getq(ShipQuests_TreasureChest) == 0) + { + inventoryplace OldBook, 1; + setq ShipQuests_TreasureChest, 1; + npctalk3 l("Chest opened."); + Zeny += 100; + getitem OldBook, 1; + } + + specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid(0)); // closed ? opening : closing + .dir = .dir == 0 ? 2 : 6; // closed ? opening : closing + .busy = true; // lock until available again + initnpctimer; + } + end; + +OnTimer160: + .dir = .dir == 6 ? 0 : 4; // closing ? closed : open + end; + +OnTimer500: + .busy = false; // unlock + + if (.dir == 0) + { + stopnpctimer; // stop here if the chest is closed + } + end; + +OnUnTouch: + if (getareausers(.x - 3, .y - 3, .x + 3, .y + 3) > 0 || .dir == 0) + { + end; + } +OnTimer30000: + .busy = true; + .dir = 6; // closing + specialeffect(25, AREA, getnpcid(0)); // closing + setnpctimer 0; +OnTouch: + end; + + +OnInit: + .distance = 2; + end; +} |