diff options
Diffstat (limited to 'npc/009-4/torches.txt')
-rw-r--r-- | npc/009-4/torches.txt | 365 |
1 files changed, 0 insertions, 365 deletions
diff --git a/npc/009-4/torches.txt b/npc/009-4/torches.txt deleted file mode 100644 index f4d2cede..00000000 --- a/npc/009-4/torches.txt +++ /dev/null @@ -1,365 +0,0 @@ -//# see detailed description at orum.txt -function script GetTorchColor { - if (@Torch < 0 || @Torch > 2) goto L_Error; - - set @Mask, 15; - set @Shift, 4 * @Torch; - set @TorchColor, (OrumQuestTorch >> @Shift) & @Mask; - return; - -L_Error: - mes "Torch number is out of range."; - close; -} - -function script SetTorchColor { - if (@Torch < 0 || @Torch > 2) goto L_Error; - if (@Color < 1 || @Color > 12) goto L_Error2; - - set @Mask, (15 << (4 * @Torch)); - set OrumQuestTorch, (OrumQuestTorch & (~(@Mask))) | @Color << (4 * @Torch); - return; - -L_Error: - mes "Torch number is out of range."; - close; - -L_Error2: - mes "Torch color is out of range."; - close; -} - -function script GetTorchIntensity { - if (@Torch < 0 || @Torch > 2) goto L_Error; - - set @Mask, 15; - set @Shift, 4 * (@Torch + 3); - set @TorchIntensity, (OrumQuestTorch >> @Shift) & @Mask; - return; - -L_Error: - mes "Torch number is out of range."; - close; -} - -function script SetTorchIntensity { - if (@Torch < 0 || @Torch > 2) goto L_Error; - if (@Intensity < 0 || @Intensity > 2) goto L_Error2; - - set @Mask, (15 << (4 * (@Torch + 3))); - set OrumQuestTorch, (OrumQuestTorch & (~(@Mask))) | @Intensity << (4 * (@Torch + 3)); - return; - -L_Error: - mes "Torch number is out of range."; - close; - -L_Error2: - mes "Torch intensity is out of range."; - close; -} - -function script DoneWithTorches { - if (OrumQuest < 11 && OrumQuest >= 8) - return; - - if (OrumQuest < 7) goto L_Different; - - if (OrumQuest >= 11) - mes "The flame on the torch looks ordinary.. Lowering the final barrier seems to have drained them of their magic."; - - if (OrumQuest < 8) - mes "Without that powder the note mentions there isn't much you can do with this torch.."; - - close; - -L_Different: - mes "The flame on this torch looks different than the rest.. You better tell Orum about it before doing anything."; - set OrumQuest, 6; - close; -} - -// To make sure in range of torches -function script InRangeTorch1 { - if (isin("009-4.gat",67,20,69,25)) - return; - - mes "You're too far away to do anything with that torch."; - close; -} -function script InRangeTorch2 { - if (isin("009-4.gat",65,41,69,46)) - return; - - mes "You're too far away to do anything with that torch."; - close; -} -function script InRangeTorch3 { - if (isin("009-4.gat",33,84,37,88)) - return; - - mes "You're too far away to do anything with that torch."; - close; -} - -// First Torch -009-4.gat,68,21,0 script Torch 127,{ - callfunc "InRangeTorch1"; - callfunc "DoneWithTorches"; - - set @Torch, 0; - callfunc("GetTorchColor"); - callfunc("GetTorchIntensity"); - - set @lastColor, @TorchColor; - setarray @colors$,"transparent","red","dark orange","orange","light orange","yellow","light green","green","dark green","blue","dark purple","purple","light purple"; - setarray @intensities$,"calm","bright","blinding"; - mes "Looking closely you notice that this torch is not like the others.. This one has a " + @intensities$[@TorchIntensity] + " " + @colors$[@TorchColor] + " tint to it."; - goto L_Color_Loop; - -L_Color_Loop: - callfunc("GetTorchColor"); - menu - "Add Red Powder", L_Use_Red, - "Add Yellow Powder", L_Use_Yellow, - "Add Blue Powder", L_Use_Blue, - "Leave it alone.", -; - - mes "The flame flickers as if it's laughing at you.."; - close; - -L_Use_Red: - if (countitem("RedPowder") < 1) goto L_No_Powder; - if (@TorchColor > 6 && @TorchColor < 12) set @Color, @TorchColor + 1; - if (@TorchColor < 6 && @TorchColor > 1) set @Color, @TorchColor - 1; - if (@TorchColor == 12) set @Color, 1; - if (@TorchColor == 0) set @Color, 1; - callfunc("SetTorchColor"); - delitem "RedPowder", 1; - goto L_Show_Color; - -L_Use_Yellow: - if (countitem("YellowPowder") < 1) goto L_No_Powder; - if (@TorchColor < 10 && @TorchColor > 5) set @Color, @TorchColor - 1; - if (@TorchColor >= 1 && @TorchColor < 5) set @Color, @TorchColor + 1; - if (@TorchColor == 0) set @Color, 5; - callfunc("SetTorchColor"); - delitem "YellowPowder", 1; - goto L_Show_Color; - -L_Use_Blue: - if (countitem("BluePowder") < 1) goto L_No_Powder; - if (@TorchColor > 4 && @TorchColor < 9) set @Color, @TorchColor + 1; - if (@TorchColor <= 12 && @TorchColor > 9) set @Color, @TorchColor - 1; - if (@TorchColor == 1) set @Color, 12; - if (@TorchColor == 0) set @Color, 9; - callfunc("SetTorchColor"); - delitem "BluePowder", 1; - goto L_Show_Color; - -L_No_Powder: - mes "You notice you're all out of that color of powder.. Perhaps Orum can make you some more."; - close; - -L_Show_Color: - callfunc("GetTorchColor"); - callfunc("GetTorchIntensity"); - if (@TorchColor == @lastColor) goto L_Wrong_Color; - misceffect 5; - set @lastColor, @TorchColor; - mes "As your pour the powder into the flame you can see its tint transform to a " + @intensities$[@TorchIntensity] + " " + @colors$[@TorchColor] + ".."; - goto L_Color_Loop; - -L_Wrong_Color: - set @Intensity, @TorchIntensity + 1; - if (@Intensity > 2) goto L_Failed; - callfunc("SetTorchIntensity"); - callfunc("GetTorchIntensity"); - misceffect 5; - mes "As you pour the powder into the flame it flares violently for a moment and then turns into a " + @intensities$[@TorchIntensity] + " " + @colors$[@TorchColor] + ".."; - goto L_Color_Loop; - -L_Failed: - mes "As you pour the powder into the flame it flares violently before bursting into your face!"; - misceffect 5; - misceffect 16; - set @Intensity, 0; - callfunc("SetTorchIntensity"); - heal -Hp, 0; - close; -} - -// Second Torch -009-4.gat,67,42,0 script Torch 127,{ - callfunc "InRangeTorch2"; - callfunc "DoneWithTorches"; - - set @Torch, 1; - callfunc("GetTorchColor"); - callfunc("GetTorchIntensity"); - - set @lastColor, @TorchColor; - setarray @colors$,"transparent","red","dark orange","orange","light orange","yellow","light green","green","dark green","blue","dark purple","purple","light purple"; - mes "Looking closely you notice that this torch is not like the others.. This one has a " + @intensities$[@TorchIntensity] + " " + @colors$[@TorchColor] + " tint to it."; - goto L_Color_Loop; - -L_Color_Loop: - callfunc("GetTorchColor"); - menu - "Add Red Powder", L_Use_Red, - "Add Yellow Powder", L_Use_Yellow, - "Add Blue Powder", L_Use_Blue, - "Leave it alone.", -; - - mes "The flame flickers as if it's laughing at you.."; - close; - -L_Use_Red: - if (countitem("RedPowder") < 1) goto L_No_Powder; - if (@TorchColor > 6 && @TorchColor < 12) set @Color, @TorchColor + 1; - if (@TorchColor < 6 && @TorchColor > 1) set @Color, @TorchColor - 1; - if (@TorchColor == 12) set @Color, 1; - if (@TorchColor == 0) set @Color, 1; - callfunc("SetTorchColor"); - delitem "RedPowder", 1; - goto L_Show_Color; - -L_Use_Yellow: - if (countitem("YellowPowder") < 1) goto L_No_Powder; - if (@TorchColor < 10 && @TorchColor > 5) set @Color, @TorchColor - 1; - if (@TorchColor >= 1 && @TorchColor < 5) set @Color, @TorchColor + 1; - if (@TorchColor == 0) set @Color, 5; - callfunc("SetTorchColor"); - delitem "YellowPowder", 1; - goto L_Show_Color; - -L_Use_Blue: - if (countitem("BluePowder") < 1) goto L_No_Powder; - if (@TorchColor > 4 && @TorchColor < 9) set @Color, @TorchColor + 1; - if (@TorchColor <= 12 && @TorchColor > 9) set @Color, @TorchColor - 1; - if (@TorchColor == 1) set @Color, 12; - if (@TorchColor == 0) set @Color, 9; - callfunc("SetTorchColor"); - delitem "BluePowder", 1; - goto L_Show_Color; - -L_No_Powder: - mes "You notice you're all out of that color powder.. Perhaps Orum can make you some more."; - close; - -L_Show_Color: - callfunc("GetTorchColor"); - callfunc("GetTorchIntensity"); - if (@TorchColor == @lastColor) goto L_Wrong_Color; - misceffect 5; - set @lastColor, @TorchColor; - mes "As your pour the powder into the flame you can see its tint transform to a " + @intensities$[@TorchIntensity] + " " + @colors$[@TorchColor] + ".."; - goto L_Color_Loop; - -L_Wrong_Color: - set @Intensity, @TorchIntensity + 1; - if (@Intensity > 2) goto L_Failed; - callfunc("SetTorchIntensity"); - callfunc("GetTorchIntensity"); - misceffect 5; - mes "As you pour the powder into the flame it flares violently for a moment and then turns into a " + @intensities$[@TorchIntensity] + " " + @colors$[@TorchColor] + ".."; - goto L_Color_Loop; - -L_Failed: - mes "As you pour the powder into the flame it flares violently before bursting into your face!"; - misceffect 5; - misceffect 16; - set @Intensity, 0; - callfunc("SetTorchIntensity"); - heal -Hp, 0; - close; -} - - -// Third Torch -009-4.gat,33,86,0 script Torch 127,{ - callfunc "InRangeTorch3"; - callfunc "DoneWithTorches"; - - set @Torch, 2; - callfunc("GetTorchColor"); - callfunc("GetTorchIntensity"); - - set @lastColor, @TorchColor; - setarray @colors$,"transparent","red","dark orange","orange","light orange","yellow","light green","green","dark green","blue","dark purple","purple","light purple"; - setarray @intensities$,"calm","bright","blinding"; - mes "Looking closely you notice that this torch is not like the others.. This one has a " + @intensities$[@TorchIntensity] + " " + @colors$[@TorchColor] + " tint to it."; - goto L_Color_Loop; - -L_Too_Far: - mes "You're too far away to do anything with that torch."; - close; - -L_Color_Loop: - callfunc("GetTorchColor"); - menu - "Add Red Powder", L_Use_Red, - "Add Yellow Powder", L_Use_Yellow, - "Add Blue Powder", L_Use_Blue, - "Leave it alone.", -; - - mes "The flame flickers as if it's laughing at you.."; - close; - -L_Use_Red: - if (countitem("RedPowder") < 1) goto L_No_Powder; - if (@TorchColor > 6 && @TorchColor < 12) set @Color, @TorchColor + 1; - if (@TorchColor < 6 && @TorchColor > 1) set @Color, @TorchColor - 1; - if (@TorchColor == 12) set @Color, 1; - callfunc("SetTorchColor"); - delitem "RedPowder", 1; - goto L_Show_Color; - -L_Use_Yellow: - if (countitem("YellowPowder") < 1) goto L_No_Powder; - if (@TorchColor < 10 && @TorchColor > 5) set @Color, @TorchColor - 1; - if (@TorchColor >= 1 && @TorchColor < 5) set @Color, @TorchColor + 1; - callfunc("SetTorchColor"); - delitem "YellowPowder", 1; - goto L_Show_Color; - -L_Use_Blue: - if (countitem("BluePowder") < 1) goto L_No_Powder; - if (@TorchColor > 4 && @TorchColor < 9) set @Color, @TorchColor + 1; - if (@TorchColor <= 12 && @TorchColor > 9) set @Color, @TorchColor - 1; - if (@TorchColor == 1) set @Color, 12; - callfunc("SetTorchColor"); - delitem "BluePowder", 1; - goto L_Show_Color; - -L_No_Powder: - mes "You notice you're all out of that color powder.. Perhaps Orum can make you some more."; - close; - -L_Show_Color: - callfunc("GetTorchColor"); - callfunc("GetTorchIntensity"); - if (@TorchColor == @lastColor) goto L_Wrong_Color; - misceffect 5; - set @lastColor, @TorchColor; - mes "As your pour the powder into the flame you can see its tint transform to a " + @intensities$[@TorchIntensity] + " " + @colors$[@TorchColor] + ".."; - goto L_Color_Loop; - -L_Wrong_Color: - set @Intensity, @TorchIntensity + 1; - if (@Intensity > 2) goto L_Failed; - callfunc("SetTorchIntensity"); - callfunc("GetTorchIntensity"); - misceffect 5; - mes "As you pour the powder into the flame it flares violently for a moment and then turns into a " + @intensities$[@TorchIntensity] + " " + @colors$[@TorchColor] + ".."; - goto L_Color_Loop; - -L_Failed: - mes "As you pour the powder into the flame it flares violently before bursting into your face!"; - misceffect 5; - misceffect 16; - set @Intensity, 0; - callfunc("SetTorchIntensity"); - heal -Hp, 0; - close; -} |