home *** CD-ROM | disk | FTP | other *** search
- levelw=80
- levelh=20
-
- create_world( levelw, levelh)
-
- fill_floor("fl-leaves", 0,0,levelw,levelh)
-
- function renderLine( line, pattern)
- for i=1, strlen(pattern) do
- local c = strsub( pattern, i, i)
- if c =="#" then
- set_stone( "st-glass", i-1, line)
- elseif c == "o" then
- oxyd( i-1, line)
- elseif c == "!" then
- abyss(i-1,line)
- -- fill_floor("fl-water", i-1,line, 1,1)
- elseif c=="z" then
- set_actor("ac-blackball", i-.5,line+.5, {player=0})
- elseif c=="+" then
- set_stone( "st-wood", i-1, line)
- elseif c=="`" then
- mirrorp(i-1,line,FALSE,TRUE, 2)
- elseif c=="/" then
- mirrorp(i-1,line,FALSE,TRUE, 4)
- elseif c=="5" then
- set_item("it-coin", i-1,line,{value=1})
- elseif c=="4" then
- set_item("it-coin", i-1,line,{value=3})
- elseif c=="P" then
- set_item("it-brush",i-1,line)
- elseif c=="a" then
- set_stone("st-switch", i-1,line, {action="callback",target="fa"})
- elseif c=="b" then
- set_stone("st-switch", i-1,line, {action="callback",target="fb"})
- elseif c=="c" then
- set_stone("st-switch", i-1,line, {action="callback",target="fc"})
- elseif c=="d" then
- set_stone("st-switch", i-1,line, {action="callback",target="fd"})
- elseif c=="e" then
- set_stone("st-switch", i-1,line, {action="callback",target="fe"})
-
- elseif c=="f" then
- set_stone("st-switch", i-1,line, {action="callback",target="ff"})
- elseif c=="g" then
- set_stone("st-switch", i-1,line, {action="callback",target="fg"})
- elseif c=="h" then
- set_stone("st-switch", i-1,line, {action="callback",target="fh"})
- elseif c=="i" then
- set_stone("st-switch", i-1,line, {action="callback",target="fi"})
- elseif c=="j" then
- set_stone("st-switch", i-1,line, {action="callback",target="fj"})
- elseif c=="k" then
- set_stone("st-switch", i-1,line, {action="callback",target="fk"})
- elseif c=="l" then
- set_stone("st-switch", i-1,line, {action="callback",target="fl"})
- elseif c=="m" then
- set_stone("st-switch", i-1,line, {action="callback",target="fm"})
- elseif c=="n" then
- set_stone("st-switch", i-1,line, {action="callback",target="fn"})
- elseif c=="O" then
- set_stone("st-switch", i-1,line, {action="callback",target="fo"})
- elseif c=="p" then
- set_stone("st-switch", i-1,line, {action="callback",target="fp"})
- elseif c=="q" then
- set_stone("st-switch", i-1,line, {action="callback",target="fq"})
- elseif c=="r" then
- set_stone("st-switch", i-1,line, {action="callback",target="fr"})
- elseif c=="s" then
- set_stone("st-switch", i-1,line, {action="callback",target="fs"})
- elseif c=="t" then
- set_stone("st-switch", i-1,line, {action="callback",target="ft"})
- elseif c=="u" then
- set_stone("st-switch", i-1,line, {action="callback",target="fu"})
- elseif c=="v" then
- set_stone("st-switch", i-1,line, {action="callback",target="fv"})
- elseif c=="w" then
- set_stone("st-switch", i-1,line, {action="callback",target="fw"})
- elseif c=="x" then
- set_stone("st-switch", i-1,line, {action="callback",target="fx"})
- elseif c=="y" then
- set_stone("st-switch", i-1,line, {action="callback",target="fy"})
- elseif c=="Z" then
- set_stone("st-switch", i-1,line, {action="callback",target="fz"})
- elseif c=="A" then
- doorh( i-1,line, {name="door1"})
- elseif c=="B" then
- doorh( i-1,line, {name="door2"})
- elseif c=="C" then
- doorh( i-1,line, {name="door3"})
- elseif c == "L" then
- abyss(i-1,line)
- draw_stones("st-glass", {i-1,line},{1,1}, 1)
- set_item("it-magicwand",i-1,line)
- elseif c == "G" then
- fill_floor("fl-leaves", i-1,line,1,1)
- draw_stones("st-glass", {i-1,line},{1,0}, 1)
- set_item("it-magicwand",i-1,line)
- elseif c == "Y" then
- fill_floor("fl-sand", i-1,line,1,1)
- draw_stones("st-glass", {i-1,line},{1,0}, 1)
- set_item("it-magicwand",i-1,line)
- elseif c == "K" then
- fill_floor("fl-bluegreen", i-1,line,1,1)
- draw_stones("st-glass", {i-1,line},{1,0}, 1)
- set_item("it-magicwand",i-1,line)
- elseif c == "W" then
- fill_floor("fl-inverse", i-1,line, 1,1)
- draw_stones("st-glass", {i-1,line},{1,0}, 1)
- set_item("it-magicwand",i-1,line)
- elseif c=="I" then
- fill_floor("fl-ice_001", i-1,line, 1,1)
- draw_stones("st-glass", {i-1,line},{1,0}, 1)
- set_item("it-magicwand",i-1,line)
- elseif c=="T" then
- fill_floor("fl-marble", i-1,line, 1,1)
- draw_stones("st-glass", {i-1,line},{1,0}, 1)
- set_item("it-magicwand",i-1,line)
- elseif c=="R" then
- fill_floor("fl-wood", i-1,line, 1,1)
- draw_stones("st-glass", {i-1,line},{1,0}, 1)
- set_item("it-magicwand",i-1,line)
- elseif c=="S" then
- fill_floor("fl-space", i-1,line, 1,1)
- end
- end
- end
-
- -- Floor: " "
- -- Border: "#"
- -- Oxyd: "o"
-
- renderLine(00,"#######################################")
- renderLine(01,"# #o o#")
- renderLine(02,"# edcba #########C#########")
- renderLine(03,"# #########B#########")
- renderLine(04,"# jihgf #########A#########")
- renderLine(05,"# #")
- renderLine(06,"# Onmlk z D #")
- renderLine(07,"# ILT #")
- renderLine(08,"# tsrqp SSK #")
- renderLine(09,"# GRY #")
- renderLine(10,"# yxwvu #")
- renderLine(11,"# Z#")
- renderLine(12,"#######################################")
-
- oxyd_shuffle()
-
- --document(34,6,"What do you want the first gate to do?")
- --document(29,4,"Opposite")
- --document(29,3,"If ten equals three, five equals four, two equals three, four equals four, and thirteen equals eight, what does nine equal?")
- --document(29,2,"Congratulations!")
-
- num1=0
- through=0
- function fa()
- if through==0 then
- num1=num1+1
- through=1
- getletter()
- elseif through==1 then
- num1=num1-1
- through=0
- getletter()
- end
- end
-
- throughb=0
- function fb()
- if throughb==0 then
- num1=num1+2
- throughb=1
- getletter()
- elseif throughb==1 then
- num1=num1-2
- throughb=0
- getletter()
- end
- end
-
- throughc=0
- function fc()
- if throughc==0 then
- num1=num1+4
- throughc=1
- getletter()
- elseif throughc==1 then
- num1=num1-4
- throughc=0
- getletter()
- end
- end
-
- throughd=0
- function fd()
- if throughd==0 then
- num1=num1+8
- throughd=1
- getletter()
- elseif throughd==1 then
- num1=num1-8
- throughd=0
- getletter()
- end
- end
-
- throughe=0
- function fe()
- if throughe==0 then
- num1=num1+16
- throughe=1
- getletter()
- elseif throughe==1 then
- num1=num1-16
- throughe=0
- getletter()
- end
- end
-
- num2=0
- throughf=0
- function ff()
- if throughf==0 then
- num2=num2+1
- throughf=1
- getletter()
- elseif throughf==1 then
- num2=num2-1
- throughf=0
- getletter()
- end
- end
-
- throughg=0
- function fg()
- if throughg==0 then
- num2=num2+2
- throughg=1
- getletter()
- elseif throughg==1 then
- num2=num2-2
- throughg=0
- getletter()
- end
- end
-
- throughh=0
- function fh()
- if throughh==0 then
- num2=num2+4
- throughh=1
- getletter()
- elseif throughh==1 then
- num2=num2-4
- throughh=0
- getletter()
- end
- end
-
- throughi=0
- function fi()
- if throughi==0 then
- num2=num2+8
- throughi=1
- getletter()
- elseif throughi==1 then
- num2=num2-8
- throughi=0
- getletter()
- end
- end
-
- throughj=0
- function fj()
- if throughj==0 then
- num2=num2+16
- throughj=1
- getletter()
- elseif throughj==1 then
- num2=num2-16
- throughj=0
- getletter()
- end
- end
-
- num3=0
- throughk=0
- function fk()
- if throughk==0 then
- num3=num3+1
- throughk=1
- getletter()
- elseif throughk==1 then
- num3=num3-1
- throughk=0
- getletter()
- end
- end
-
- throughl=0
- function fl()
- if throughl==0 then
- num3=num3+2
- throughl=1
- getletter()
- elseif throughl==1 then
- num3=num3-2
- throughl=0
- getletter()
- end
- end
-
- throughm=0
- function fm()
- if throughm==0 then
- num3=num3+4
- throughm=1
- getletter()
- elseif throughm==1 then
- num3=num3-4
- throughm=0
- getletter()
- end
- end
-
- throughn=0
- function fn()
- if throughn==0 then
- num3=num3+8
- throughn=1
- getletter()
- elseif throughn==1 then
- num3=num3-8
- throughn=0
- getletter()
- end
- end
-
- througho=0
- function fo()
- if througho==0 then
- num3=num3+16
- througho=1
- getletter()
- elseif througho==1 then
- num3=num3-16
- througho=0
- getletter()
- end
- end
-
- num4=0
- throughp=0
- function fp()
- if throughp==0 then
- num4=num4+1
- throughp=1
- getletter()
- elseif throughp==1 then
- num4=num4-1
- throughp=0
- getletter()
- end
- end
-
- throughq=0
- function fq()
- if throughq==0 then
- num4=num4+2
- throughq=1
- getletter()
- elseif throughq==1 then
- num4=num4-2
- throughq=0
- getletter()
- end
- end
-
- throughr=0
- function fr()
- if throughr==0 then
- num4=num4+4
- throughr=1
- getletter()
- elseif throughr==1 then
- num4=num4-4
- throughr=0
- getletter()
- end
- end
-
- throughs=0
- function fs()
- if throughs==0 then
- num4=num4+8
- throughs=1
- getletter()
- elseif throughs==1 then
- num4=num4-8
- throughs=0
- getletter()
- end
- end
-
- throught=0
- function ft()
- if throught==0 then
- num4=num4+16
- throught=1
- getletter()
- elseif throught==1 then
- num4=num4-16
- throught=0
- getletter()
- end
- end
-
- num5=0
- throughu=0
- function fu()
- if throughu==0 then
- num5=num5+1
- throughu=1
- getletter()
- elseif throughu==1 then
- num5=num5-1
- throughu=0
- getletter()
- end
- end
-
- throughv=0
- function fv()
- if throughv==0 then
- num5=num5+2
- throughv=1
- getletter()
- elseif throughv==1 then
- num5=num5-2
- throughv=0
- getletter()
- end
- end
-
- throughw=0
- function fw()
- if throughw==0 then
- num5=num5+4
- throughw=1
- getletter()
- elseif throughw==1 then
- num5=num5-4
- throughw=0
- getletter()
- end
- end
-
- throughx=0
- function fx()
- if throughx==0 then
- num5=num5+8
- throughx=1
- getletter()
- elseif throughx==1 then
- num5=num5-8
- throughx=0
- getletter()
- end
- end
-
- throughy=0
- function fy()
- if throughy==0 then
- num5=num5+16
- throughy=1
- getletter()
- elseif throughy==1 then
- num5=num5-16
- throughy=0
- getletter()
- end
- end
-
- door1=enigma.GetNamedObject("door1")
- door2=enigma.GetNamedObject("door2")
- door3=enigma.GetNamedObject("door3")
-
- firstdooropen=0
- seconddooropen=0
- thirddooropen=0
- fdo=0
- sdo=0
- tdo=0
-
- function fz()
- document(34,6,"What do you want the first gate to do?")
- document(29,4,"Opposite")
- document(29,3,"If ten equals three, five equals four, two equals three, four equals four, and thirteen equals eight, what does nine equal?")
- document(29,2,"Congratulations!")
- if fdo==0 and sdo==0 and tdo==0 then
- if num1==15 and num2==16 and num3==5 and num4==14 and num5==29 and fdo==0 then
- enigma.SendMessage(door1, "open", nil)
- firstdooropen=1
- fdo=1
- end
- end
- if fdo==1 and sdo==0 and tdo==0 then
- if num1==3 and num2==12 and num3==15 and num4==19 and num5==5 and sdo==0 and fdo==1 then
- enigma.SendMessage(door2, "open", nil)
- seconddooropen=1
- firstdooropen=0
- sdo=1
- end
- end
- if fdo==1 and sdo==1 and tdo==0 then
- if num1==6 and num2==15 and num3==21 and num4==18 and num5==28 and tdo==0 and fdo==1 and sdo==1 then
- enigma.SendMessage(door3, "open", nil)
- seconddooropen=0
- thirddooropen=1
- tdo=1
- end
- end
- end
-
- function getletter()
- if num1==1 then
- let1="A"
- end
- if num1==2 then
- let1="B"
- end
- if num1==3 then
- let1="C"
- end
- if num1==4 then
- let1="D"
- end
- if num1==5 then
- let1="E"
- end
- if num1==6 then
- let1="F"
- end
- if num1==7 then
- let1="G"
- end
- if num1==8 then
- let1="H"
- end
- if num1==9 then
- let1="I"
- end
- if num1==10 then
- let1="J"
- end
- if num1==11 then
- let1="K"
- end
- if num1==12 then
- let1="L"
- end
- if num1==13 then
- let1="M"
- end
- if num1==14 then
- let1="N"
- end
- if num1==15 then
- let1="O"
- end
- if num1==16 then
- let1="P"
- end
- if num1==17 then
- let1="Q"
- end
- if num1==18 then
- let1="R"
- end
- if num1==19 then
- let1="S"
- end
- if num1==20 then
- let1="T"
- end
- if num1==21 then
- let1="U"
- end
- if num1==22 then
- let1="V"
- end
- if num1==23 then
- let1="W"
- end
- if num1==24 then
- let1="X"
- end
- if num1==25 then
- let1="Y"
- end
- if num1==26 then
- let1="Z"
- end
- if num1==27 then
- let1=" "
- end
- if num1==28 then
- let1="."
- end
- if num1==29 then
- let1="!"
- end
- if num1==30 then
- let1="?"
- end
- if num1==31 then
- let1=","
- end
- if num2==1 then
- let2="A"
- end
- if num2==2 then
- let2="B"
- end
- if num2==3 then
- let2="C"
- end
- if num2==4 then
- let2="D"
- end
- if num2==5 then
- let2="E"
- end
- if num2==6 then
- let2="F"
- end
- if num2==7 then
- let2="G"
- end
- if num2==8 then
- let2="H"
- end
- if num2==9 then
- let2="I"
- end
- if num2==10 then
- let2="J"
- end
- if num2==11 then
- let2="K"
- end
- if num2==12 then
- let2="L"
- end
- if num2==13 then
- let2="M"
- end
- if num2==14 then
- let2="N"
- end
- if num2==15 then
- let2="O"
- end
- if num2==16 then
- let2="P"
- end
- if num2==17 then
- let2="Q"
- end
- if num2==18 then
- let2="R"
- end
- if num2==19 then
- let2="S"
- end
- if num2==20 then
- let2="T"
- end
- if num2==21 then
- let2="U"
- end
- if num2==22 then
- let2="V"
- end
- if num2==23 then
- let2="W"
- end
- if num2==24 then
- let2="X"
- end
- if num2==25 then
- let2="Y"
- end
- if num2==26 then
- let2="Z"
- end
- if num2==27 then
- let2=" "
- end
- if num2==28 then
- let2="."
- end
- if num2==29 then
- let2="!"
- end
- if num2==30 then
- let2="?"
- end
- if num2==31 then
- let2=","
- end
- if num3==1 then
- let3="A"
- end
- if num3==2 then
- let3="B"
- end
- if num3==3 then
- let3="C"
- end
- if num3==4 then
- let3="D"
- end
- if num3==5 then
- let3="E"
- end
- if num3==6 then
- let3="F"
- end
- if num3==7 then
- let3="G"
- end
- if num3==8 then
- let3="H"
- end
- if num3==9 then
- let3="I"
- end
- if num3==10 then
- let3="J"
- end
- if num3==11 then
- let3="K"
- end
- if num3==12 then
- let3="L"
- end
- if num3==13 then
- let3="M"
- end
- if num3==14 then
- let3="N"
- end
- if num3==15 then
- let3="O"
- end
- if num3==16 then
- let3="P"
- end
- if num3==17 then
- let3="Q"
- end
- if num3==18 then
- let3="R"
- end
- if num3==19 then
- let3="S"
- end
- if num3==20 then
- let3="T"
- end
- if num3==21 then
- let3="U"
- end
- if num3==22 then
- let3="V"
- end
- if num3==23 then
- let3="W"
- end
- if num3==24 then
- let3="X"
- end
- if num3==25 then
- let3="Y"
- end
- if num3==26 then
- let3="Z"
- end
- if num3==27 then
- let3=" "
- end
- if num3==28 then
- let3="."
- end
- if num3==29 then
- let3="!"
- end
- if num3==30 then
- let3="?"
- end
- if num3==31 then
- let3=","
- end
- if num4==1 then
- let4="A"
- end
- if num4==2 then
- let4="B"
- end
- if num4==3 then
- let4="C"
- end
- if num4==4 then
- let4="D"
- end
- if num4==5 then
- let4="E"
- end
- if num4==6 then
- let4="F"
- end
- if num4==7 then
- let4="G"
- end
- if num4==8 then
- let4="H"
- end
- if num4==9 then
- let4="I"
- end
- if num4==10 then
- let4="J"
- end
- if num4==11 then
- let4="K"
- end
- if num4==12 then
- let4="L"
- end
- if num4==13 then
- let4="M"
- end
- if num4==14 then
- let4="N"
- end
- if num4==15 then
- let4="O"
- end
- if num4==16 then
- let4="P"
- end
- if num4==17 then
- let4="Q"
- end
- if num4==18 then
- let4="R"
- end
- if num4==19 then
- let4="S"
- end
- if num4==20 then
- let4="T"
- end
- if num4==21 then
- let4="U"
- end
- if num4==22 then
- let4="V"
- end
- if num4==23 then
- let4="W"
- end
- if num4==24 then
- let4="X"
- end
- if num4==25 then
- let4="Y"
- end
- if num4==26 then
- let4="Z"
- end
- if num4==27 then
- let4=" "
- end
- if num4==28 then
- let4="."
- end
- if num4==29 then
- let4="!"
- end
- if num4==30 then
- let4="?"
- end
- if num4==31 then
- let4=","
- end
- if num5==1 then
- let5="A"
- end
- if num5==2 then
- let5="B"
- end
- if num5==3 then
- let5="C"
- end
- if num5==4 then
- let5="D"
- end
- if num5==5 then
- let5="E"
- end
- if num5==6 then
- let5="F"
- end
- if num5==7 then
- let5="G"
- end
- if num5==8 then
- let5="H"
- end
- if num5==9 then
- let5="I"
- end
- if num5==10 then
- let5="J"
- end
- if num5==11 then
- let5="K"
- end
- if num5==12 then
- let5="L"
- end
- if num5==13 then
- let5="M"
- end
- if num5==14 then
- let5="N"
- end
- if num5==15 then
- let5="O"
- end
- if num5==16 then
- let5="P"
- end
- if num5==17 then
- let5="Q"
- end
- if num5==18 then
- let5="R"
- end
- if num5==19 then
- let5="S"
- end
- if num5==20 then
- let5="T"
- end
- if num5==21 then
- let5="U"
- end
- if num5==22 then
- let5="V"
- end
- if num5==23 then
- let5="W"
- end
- if num5==24 then
- let5="X"
- end
- if num5==25 then
- let5="Y"
- end
- if num5==26 then
- let5="Z"
- end
- if num5==27 then
- let5=" "
- end
- if num5==28 then
- let5="."
- end
- if num5==29 then
- let5="!"
- end
- if num5==30 then
- let5="?"
- end
- if num5==31 then
- let5=","
- end
- if num1>0 and num2>0 and num3>0 and num4>0 and num5>0 then
- document(30,8,let1..let2..let3..let4..let5)
- end
- end
-